====== MT32-Pi, 286 Installation ====== This is part of my [[blog:286_pc|286 PC adventures]], a bit of a //finishing touch//, if you like. I already have a MIDI card for the machine, and was intending on adding a connection to my bank of physical MIDI devices... however I caught wind of the latest state of the [[https://github.com/dwhinham/mt32-pi/|MT32-Pi project]] and considered adding a software emulation of a Roland MT-32 synth //inside the PC itself//... The aim, //in short//, is to put a virtual one of these: {{:blog:386:mt32.jpg?400|}} inside this: {{blog:p1020532.jpg?500}} //In more detail:// The emulation of the Roland MT-32 has come on significantly in recent years, with the [[https://github.com/munt/munt|Munt]] project releasing a very accurate software emulation of the device - //good enough// for most purposes. More recently, a project to run the [[https://github.com/dwhinham/mt32-pi|Munt emulator on a Raspberry Pi]] (on 'bare metal', i.e. no Linux OS to boot), called MT32-pi, has reached a milestone where packaging a working MT-32 emulator on a device that can fit in the palm of your hand is possible. Lots of people are now building these devices, packaging them in to small instrument cases or similar. However, I really liked the idea of having one or two computers where all of the MIDI functionality was //entirely built-in//, and not reliant on external boxes or power supplies. "//Hmm...//" I thought; "//...that 5.25 drive bay looks like just the place I could fit such a device//". ===== Parts ===== * Raspberry Pi 3B * 20x2 alphanumeric LCD display * Emulates the LCD display of the MT-32, as well as display MT32-Pi configuration options on button press * https://www.buydisplay.com/character-lcd-display-module/20x2-character * M-Audio Uno USB MIDI interface * USB input to the Pi, provides one MIDI __IN__ (to accept input from the PC's MIDI card __OUT__), one MIDI OUT (not needed at present). * https://m-audio.com/products/view/uno * 5.25" PC disk drive drawer * To fit the device inside the PC neatly, you could also fasten it to the back of a 3d-printed 5.25" blanking plate if you had the facilities * https://www.amazon.co.uk/IOCrest-SY-ACC65085-5-25-Inch-Computer-Accessories/dp/B01LY3YDLN/ref=sr_1_7?dchild=1&keywords=disk+drive+drawer&qid=1621843403&sr=8-7 * Rotary encoder * Used to control device volume/navigate menus * Any //relatively standard// 5-pin controller should work * Two momentary push buttons * At least 2 buttons are needed - one to switch between MT-32 and Soundfont mode, and one to select the type of MT-32 or soundfont being used * //Not latching// * Micro-USB to 4-pin PC 'Molex' power connector * To power the Pi from the standard PC disk drive connector * Innomaker HiFi DAC 'hat' * https://www.inno-maker.com/product/hifi-dac-hat/ * Stereo phono cable (HiFi DAC end) to MPC-2 CD audio 'in' cable (Soundblaster 16 end) * This can be made up with a simple 1x4 dupont plug to go on the sound card end of the phono cable {{:blog:386:raspberry_pi_hifi_dac_hat_pcm5122_hifi_dac_audio_card_expansion_board_raspberry_pii_4_3_b_pi_zero_06-450x450.jpg?200|}} {{:blog:386:71kg54rj4ml._ac_sl1500_.jpg?200|}} {{:blog:386:377-03_600x.jpg?200|}} {{:blog:386:uno.jpg?200|}} {{:blog:386:91zsu44_34l._ac_sl1500_.jpg?200|}} {{:blog:386:61rop2zmvtl._ac_sl1500_.jpg?200|}} {{:blog:386:connect_black_20x2_character_display_to_i2c_adapter_board_with_dupont_wire.jpg?200|}} {{:blog:386:dsc_0098_f7105b71-2252-43e2-8654-112666eb3fc7_600x.jpg?200|}} ===== Logical Connections ===== ===== Progress Images ===== Modifying the enclosure to fit the front panel and controls: {{:blog:286:img20210530114639.jpg?600|}} {{:blog:286:img20210530114648.jpg?400|}} {{:blog:286:img20210530114706.jpg?600|}} Painting the enclosure in the same shade Plastikote blue as the case: {{:blog:286:img20210530115410.jpg?600|}} Blanking card made up to block most of the backlight bleeding around the edge of the LCD panel: {{:blog:286:img20210530141340.jpg?400|}} {{:blog:286:img20210530141352.jpg?400|}} Buttons, volume control and tinted plastic fitted to front of enclosure: {{:blog:286:img20210530141418.jpg?300|}} {{:blog:286:img20210530141512.jpg?300|}} {{:blog:286:img20210530141521.jpg?300|}} Early mockup of the match to the 286 case: {{:blog:286:img20210530142303.jpg?400|}} {{:blog:286:img20210530142308.jpg?400|}} Volume control fitted and testing how well the panel fits into the front bezel: {{:blog:286:img20210602122630.jpg?300|}} {{:blog:286:img20210602122617.jpg?300|}} {{:blog:286:img20210602122609.jpg?300|}} {{:blog:286:img20210613120942.jpg?400|}} Micro USB to Molex power fitted, controls and screen wired up and being tested: {{:blog:286:img20210613120948.jpg?300|}} {{:blog:286:img20210613121014.jpg?300|}} {{:blog:286:img20210613121018.jpg?300|}} {{:blog:286:img20210613121020.jpg?300|}} {{:blog:286:img20210613121024.jpg?300|}} {{:blog:286:img20210613121026.jpg?300|}} ===== Problems... ===== **[Update 13/June/2021]** - Unfortunately, it looks like the M-Audio Uno interface that I picked up is a different revision to the one being used on my 386, and it throws errors whenever an MT-32 game loads: {{:blog:286:img20210613161944.jpg?400|}} ... in addition to the error message the instruments don't get set correctly and notes are missing or stuck during music playback. **[Update 14/June/2021]** - Bought a Roland UM One mk2 MIDI interface to replace the M-Audio Uno. This is on the MT32-Pi compatability list, so fingers crossed it should solve the problems described above.