PyMusic Instrument
1.0.0
ห้องสมุด Python ที่สามารถสร้างเสียงที่เล่นโดยเครื่องมือส่วนใหญ่กีตาร์และเปียโน มันใช้ 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 ()หรือ spectogram
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/