A baremetal kernel that turns your Raspberry Pi 3 or later into a Roland MT-32 emulator and SoundFont synthesizer based on Circle, Munt, and FluidSynth.
- A work-in-progress baremetal MIDI synthesizer for the Raspberry Pi 3 or above, based on Munt, FluidSynth and Circle.
- Turn your Raspberry Pi into a dedicated emulation of the famous multi-timbre sound module used by countless classic MS-DOS, PC-98 and Sharp X68000 games!
- Add your favorite SoundFonts to expand your synthesizer with General MIDI, Roland GS, or even Yamaha XG support for endless MIDI possibilities.
- Includes General MIDI and Roland GS support out of the box thanks to GeneralUser GS by S. Christian Collins.
- No operating system, no complex Linux audio configuration; just super-low latency audio.
- Easy to configure and ready to play from cold-boot in a matter of seconds.
- The perfect companion for your vintage PC or MiSTer FPGA setup.
✔️ Project status
- Supports Raspberry Pi Zero 2 W, Raspberry Pi 3 Model A+, B, and B+, Raspberry Pi 4 Model B, and CM4 series.
- Pi 2 works, but only with concessions on playback quality.
- Pi Zero (original) and Pi 1 are unfortunately too slow (even with an overclock) and unsupported.
- PWM headphone jack audio.
- Quality is known to be poor (aliasing/distortion on quieter sounds).
- It is not currently known whether this can be improved or not.
- I²S Hi-Fi DAC support.
- This is the recommended audio output method for the best quality audio.
- MIDI input via USB, GPIO MIDI interfaces, or the serial port.
- Configuration file for selecting hardware options and fine tuning.
- LCD status screen support (for MT-32 SysEx messages and status information).
- Simple physical control surface using buttons and rotary encoder.
- MiSTer FPGA integration via user port.
- Network MIDI support via RTP-MIDI and raw UDP socket.
- Embedded FTP server for remote access to files.
- A user interface with menu system is planned.
- More advanced MIDI routing is planned.
Quick-start guide
If you have a Linux computer or MiSTer FPGA device, you may wish to try the new interactive mt32-pi installer script.
Otherwise, for a manual installation:
- Download the latest release from the Releases section.
- If you are updating an old version, read the Updating mt32-pi wiki page for the correct procedure.
- Extract contents to a blank FAT32-formatted SD card.
- Read the SD card preparation wiki page for hints on formatting an SD card correctly (especially under Windows).
- For MT-32 support, add your MT-32 or CM-32L ROM images to the
romsdirectory – you have to provide these for copyright reasons.- You will need at least one control ROM and one PCM ROM.
- For information on using multiple ROM sets and switching between them, see the MT-32 synthesis wiki page.
- The file names or extensions don’t matter; mt32-pi will scan and detect their types automatically.
- Optionally add your favorite SoundFonts to the
soundfontsdirectory.- For information on using multiple SoundFonts and switching between them, see the SoundFont synthesis wiki page.
- Again, file names/extensions don’t matter.
- Edit the
mt32-pi.cfgfile to enable any optional hardware (Hi-Fi DAC, displays, buttons). Refer to the wiki to find supported hardware.- MiSTer users: Read the MiSTer setup section of the wiki for the recommended configuration, and ignore the following two steps.
- Connect a USB MIDI interface or GPIO MIDI circuit to the Pi, and connect some speakers to the headphone jack.
- Connect your vintage PC’s MIDI OUT to the Pi’s MIDI IN and (optionally) vice versa.
Documentation
More detailed documentation for mt32-pi can now be found over at the mt32-pi wiki. Please read the wiki pages to learn about all of mt32-pi’s features and supported hardware, and consider helping us improve it!
Help
Take a look at our FAQ page for answers to the most common questions about mt32-pi.
If you need some help with mt32-pi and the wiki doesn’t answer your questions, head over to the discussions area and feel free to start a topic.
⚠ Note: Please don’t use the Issues area to ask for help – Issues are intended for reproducible bug reports and feature requests. Thank you!
mt32-pi-midi-hat



Leave a Reply