Instrument.Instrument

class Instrument.Instrument.Instrument(bit_rate: int = 44100, no_play: bool = False)

Can play any piano notes, you have to input the key number for corresponding frequencies.

Parameters:
  • bit_rate – Generally value of bit rate is 44100 or 48000, it is proportional to wavelength of frequency generated.

  • no_play – Use this if you don’t want to play the sample but use it for other purposes.

Attributes:
graphing_sample:

Used for graphing see the usage page.

total_time:

Numpy array representing time at split seconds.

play_time:

Total time for which the sample has been recorded.

clear_sample() None

Clears the sample.

close() None

Terminates PyAudio.

static get_hz(key_number: int) float

Get frequency of the key via its key number.

Returns:

frequency of the key.

play() None

Plays the sample.

record_chord(chords: Iterable, duration: float) None

Adds the given chords in the sample.

Parameters:
  • chords – The iterable of chords that you want to play at same time.

  • duration – Duration of each chord.

record_key(key: int, duration: float) None

Adds the key in the sample.

Parameters:
  • key – The key number of the key’s name.

  • duration – Time for which the key it to be played.

Returns:

None

property sample

Numpy array containing sample data.

to_wav(path: str) None

Convert the sample to wav file format.

Parameters:

path – Path of the file where it will be written.