WavePi: Use Raspberry pi (2/3/4) as a AIO MIDI synth

Topic actions

Reply 200 of 201, by t9999clint

User metadata
Rank Member

I've been running into various noise issues and compatibility issues with different soundcards. This looks like it'll be a little trickier than I though with the current design.
Software wise it's working ok, but the schematic might need a entire redesign. Sadly I don't think the price will be anywhere near my original $20 goal.

So I'm thinking of forking this into two projects based off the same codebase. Both will still use the same code, it's just the PCB designs and goals will be quite different.

Project one - This will run on basically anything with Debian and USB ports, A external box with MIDI and Audio inputs and outputs. 3D print a case and make it look like a SC-55 or something. Keep the size within the specs of a 5 1/4" drive bay so you can still mount it internally if you wish. - I think I'll still call this project WavePi so I don't have to rename the Core OS. This project will be the software side of things will be.

Project two - A custom PCB designed to integrate with (and eventually replace) a sound card. Using a wavetable header, and a Raspberry Pi compute unit. This should allow for a slim attachment to a soundcard and a super clean look.
Ideally I'd love to just have a PCB connected directly to the ISA slot as a HardMPU replacement with some sort of GPL soundblaster clone chip on it, but that's well beyond my current abilities. That being said, this is my final goal so it will happen eventually. It'll probably just take about 6yrs or so for me to figure out (That is if I don't get any help with it). - Not sure what I should name this, maybe PiBlaster16?

My Youtube Channel: https://www.kor.ninja/
My Soundfont Project: K.O.R. Soundfont Project V.5.0
My Soundcloud Page: https://soundcloud.com/clint-theriault

Reply 201 of 201, by t9999clint

User metadata
Rank Member

Ok, here's a bit of a brain dump of my plan for the new direction for the PCB part of this plan. The PiBlaster 16 (name is not final)

Been looking at this for a while...
https://www.raspberrypi.org/documentation/har … e/schematics.md
This has some usefull information of the pinouts and voltage requirements of a CM3+ (likely the main target platform for now).

End Goal, Make a Soundblaster 16 clone using the CM3+ for all the heavy lifting. OPL3 and MIDI Synth emulation, use some microcontrollers to handle the SB16 digital audio, use Jack to mix audio in RT on the Pi. The system will see it as a SB16 with a intelligent MPU-401 and OPL3 attached.

How I plan on doing this... (this will most definitely be wrong)
Take the design of a HardMPU ISA, take the MPU controller stuff, wire it to the serial output of the CM3+.
Use a common USB DAC design and use that for audio in/out. It will appear to the pi as a USB audio device.
I forget the name of the project but I remember there being a reverse engineered SB16 chip that can near perfectly emulate it's digital audio processing. Take the design of that and wire the digital audio into the Pi somehow. (I think it was the BlasterBoard project, but that's only SB2 not 16...)
Use the USB line in for other inputs? CD-ROM, Speaker, Etc... (not sure how mixing will be handled)
Have some sort of communication bus over i2c between the ISA PCB and the pi to handle OPL information. (Might be a good idea to use this instead of serial for MPU-401 as well). Use software emulation on the Pi to emulate OPL3 sounds.
Maybe make a PCI version as well?

In theory this should allow for near perfect support for SC-55, MT-32, OPL and SB-16 all in one card, while adding some nice extra features like large (700mb+) soundfont support. I have no idea how windows would tread this hypothetical card, but it should in theory work just see it as a normal SB-16

First things first though. Now that the end goal is set, how do we get there? Well babysteps of course.
First step... Wavetable adapter board.
Something simple, just a wavetable header with some pinout connectors for MIDI in an out translated to 3.3v ttl, and some audio in an out jacks. This will also be helpfull for people who want to use the WavePi in the CDRom bay attach things internally. I'm ditching the 12v power circuitry from it for now because that's more complicated than it's worth and not really something you can safely attach to a soundcard.

Second step... some sort of MPU-401 ISA board that has the CM3+ connected to it. It still passes through the audio to the soundcard through the adapter made in step one. Not exactly a babystep, but in theory it shouldn't be too hard. I might have to add a molex for additional power for the Pi. The USB Dac will just be plugged into a usb port on the side of the PCB for now.

Third Step... add support for OPL (I have no idea how to do this), hardware wise it should be pretty simple, I just need to add a bit of controller logic to the ISA board. All the audio stuff is still being done through the Pi.

Fourth Step... wire in a USB Dac directly into the PCB and start looking at how to get digital audio into the pi.

Fifth Step... Integrate the clone SB16 digital audio circuitry into the PCB making it a AIO solution.

Sixth Step... Work on getting it to sound good with headphones and stuff. Start testing audio amp chips and various caps. Maybe add a digital audio output. Add mixing support.

Seventh Step... Add a gameport with proper MPU-401 support. Probably also add a serial connection to talk directly to the Pi. Maybe even a wavetable header, 🤣

Nth step... Start all over again but aiming at PCI instead of ISA. Then maybe a PCMCIA version for laptops?

My Youtube Channel: https://www.kor.ninja/
My Soundfont Project: K.O.R. Soundfont Project V.5.0
My Soundcloud Page: https://soundcloud.com/clint-theriault