First of all Happy new year (2 week later) I haven't work on OBOS (when we will have the real name=3F) this holidays because I have gone snowboarding for 1 week. And I'm back with one more year. Matthijs you do a great job on Midi2. Congratulation. I have found how make the softsynth (in theorie no code for now), and I know how create reverb on sound. I'm writing the milestone 3, but I have never use ioctl function. that what I write: FILE *fichier =3D fopen("/dev/midi/ymf754/1", "rw"); int file =3D fileno(fichier); //result is 3 seems to be OK uchar *data =3D [0x90 0x39 0x64]; midi=5Ftimed=5Fdata DataToSend; DataToSend.when =3D time; DataToSend.size =3D length; DataToSend.data =3D data; int i =3D ioctl(fd, B=5FMIDI=5FTIMED=5FWRITE, &DataToSend, sizeof(midi=5Ftimed=5Fdata)); Like this in midi=5Fdriver.h But I have always i =3D=3D -1 that means an error appear If you have an idea A+ Jerome