I would like to have a python implementation of a musical instrument library (for instance, a piano object) that I can use to convert a list of notes and a duration into sound. For instance, something like:
import Piano
pn = Piano()
pn.play([note, note, ..., note], duration)
Does something like this exist for python 2.7? I would like to implement it if it doesn't. I currently have something that uses audiere, but its just sine waves so it sounds horrible. Is there any way to hook into a midi piano or something like that- I am using windows 7? Are there any implementing steps that I might not expect?
A student of mine has just started using mingus to do just this so here's quick guide on how to get going on linux (ubuntu):
Install fluidsynth and mingus if you don't have them already:
$
sudo apt-get install fluidsynth
$
sudo easy_install mingus
Now you should be able to open python and type:
>>> from mingus.midi import fluidsynth
>>> fluidsynth.init('/usr/share/sounds/sf2/FluidR3_GM.sf2',"alsa")
This imports the necessary stuff from mingus and initialises fluidsynth to play through alsa (not jack which is the default). Then:
>>> fluidsynth.play_Note(64,0,100)
...and you should hear a note played on the piano (arguments are: note number, channel number and velocity).
For more information go here: