YM2612 MIDI synth

Аватар автора
Вокальные тренировки для актёров
An experiment with YM2612 sound generator chip (not sure if genuine… but still kinda OK), which is connected to an Arduino Uno. The MIDI events are streamed to the Arduino via Hairless MIDI–Serial Bridge. I have borrowed some instrument presets from DefleMask Tracker, except for piano sound, which is taken from the infamous YM2612 test code. Currently this thing is limited to 16 instruments, which correspond to General MIDI instrument families. For a long time I had trouble switching instruments on the fly, so I thought that 74595 shift register is too slow and I would have to use a whole 8-bit port on Arduino, and the only port to suit my needs is PORTD (pins 0 to 7). The serial RX/TX is connected to pins 0 and 1, so I had ordered a USB to TTL serial converter. I would probably use software serial on another port. Meanwhile I decided to rewrite the shiftOut() function for my needs, and it unexpectedly appeared to be fast enough to change instrument for every particular note. So I will probably add drums soon. 6 voices is kind of few, though… Currently implemented: note on, note off, velocity, program change, channel volume, pitch bend. But there is always something to make it better :)

0/0


0/0

0/0

0/0