Yet another FPGA MIDI synth video, indeed!
My recent work on it was to enable it to play multiple voices at once, to make it polyphonic. I've converted the digital design so the digital audio is ouput through PWM, which only requires one wire per audio stream. This way, I can have 8 audio outs with just 8 wires.
The breadboard basically holds 8 low pass filters, which filter out the high frequency component of the outputs, and create a resulting analog voltage. Also on the breadboard is a typical summing circuit around a 741 operation amplifier. I need to tweak it a little bit, namely try some other resistor values, because it tends to distort a bit when using more than 3 voices, as you can probably hear.
More work is left to be done on the new Midi interpretation part of the digital design, since it tends to miss some key releases, which results in unwanted sustained notes. (You can see me pressing a button here and there; that's the reset button which sets all the voices back to the default status, and thus quiets down any playing notes).
Some more information: Since we're now using PWM, the previous 8 bit DAC is no longer required. That DAC was also connected up to an audio amplifier and the vintage speaker you could see in my previous two synth videos. Now I've replaced that amp + speaker with a 3.5mm jack plug which is connected to my speakers.
Sounds amazing :)
Is it too hard to output the sum of all channels through PWM?
NinoScript 7 months ago
@NinoScript Thanks!
It's the digital addition of the channels that poses problems. It may be due to the differing sample rates of different pitches, or just because I can't properly divide each channel's amplitude before adding them together, I'm not too sure. The way it's set up now provides an analogue addition, so I don't even have to sacrifice the resolution of the channels. :)
MICHhimself 7 months ago