PyMusic Instrument
1.0.0
악기가 연주하는 사운드를 주로 기타와 피아노로 생성 할 수있는 파이썬 라이브러리. Pyaudio를 의존성으로 사용합니다.
이 라이브러리를 사용하려면 기본 Python 구문을 알아야합니다.
당신의 기계에 이전에 pyaudio를 설치 한 적이 없다면 다음을 수행하십시오.
sudo apt-get install libasound-dev portaudio19-dev libportaudio2 libportaudiocpp0
여기에서 바이너리를 다운로드하십시오
이제 이것을하십시오
pip install PyAudio‑0.2.11‑cp39‑cp39m‑win_amd64.whl
그 다음에
python3 -m pip install PyMusic-Instrument
피아노 노트 연주.
from Instrument import Instrument
piano = Instrument ( bit_rate = 44100 )
piano . record_key ( 52 , duration = 0.3 ) # C5
piano . record_chord ([( 52 , 56 , 61 )], duration = 0.3 ) # C5 E5 A5
piano . play ()
piano . close () # Terminates PyAudio기타 줄을 연주합니다.
guitar = Instrument ( 44100 )
guitar . record_key ( 25 , duration = 0.5 ) # A
guitar . play ()
guitar . clear_sample () # clears the sample
guitar . close ()여기에서 해당 주파수의 키 숫자를 볼 수 있습니다.
또는 그래프를 플로팅 할 수도 있습니다
import matplotlib . pyplot as plt
key_colors = { 40 : [ "red" , 1 ], 42 : [ "blue" , 1 ], 44 : [ "green" , 1 ], 45 : [ "gray" , 1 ],
47 : [ "orange" , 1 ], 35 : [ "purple" , 1 ], (( 51 , 56 , 61 ),): [ 'black' , 1 ]}
# piano.graphing sample contains key, time take as an array, wave equation as an array.
for key , time , wave in piano . graphing_sample :
if key_colors [ key ][ 1 ]:
plt . plot ( time , wave , label = key , color = key_colors [ key ][ 0 ])
key_colors [ key ][ 1 ] = 0
else :
plt . plot ( time , wave , color = key_colors [ key ][ 0 ])
plt . show ()또는 스펙 토 그램
import librosa . display
amplitude = librosa . stft ( piano . sample )
db = librosa . amplitude_to_db ( abs ( amplitude ))
plt . figure ( figsize = ( 14 , 5 ))
librosa . display . specshow ( db , sr = 44100 , x_axis = 'time' , y_axis = 'hz' )
plt . colorbar ()
plt . show ()https://pymusic-instrument.readthedocs.io/en/latest/