VOGONS


Emulating MT-32 on an RPi2

Topic actions

Reply 260 of 292, by fsmith2003

User metadata
Rank Member
Rank
Member

I have been trying to use the Pi3 image from this thread on my Pi3b+ and a Roland UM-One cable. After writing this image to a sd card and booting it up it just hangs at a grey desktop screen after logging in with username "pi" and password "raspberry". Am I supposed to do anything to the image before first booting into it? Am I using the correct credentials?

Reply 261 of 292, by appiah4

User metadata
Rank l33t++
Rank
l33t++
fsmith2003 wrote on 2020-10-21, 21:02:

I have been trying to use the Pi3 image from this thread on my Pi3b+ and a Roland UM-One cable. After writing this image to a sd card and booting it up it just hangs at a grey desktop screen after logging in with username "pi" and password "raspberry". Am I supposed to do anything to the image before first booting into it? Am I using the correct credentials?

There are many images on this thread which one are you using?

Retronautics: A digital gallery of my retro computers, hardware and projects.

Reply 262 of 292, by 7F20

User metadata
Rank Member
Rank
Member
fsmith2003 wrote on 2020-10-21, 21:02:

I have been trying to use the Pi3 image from this thread on my Pi3b+ and a Roland UM-One cable. After writing this image to a sd card and booting it up it just hangs at a grey desktop screen after logging in with username "pi" and password "raspberry". Am I supposed to do anything to the image before first booting into it? Am I using the correct credentials?

I'm assuming you are referring to the link in the first post. I would also assume it should work fine on a Pi3b+, unless there is some important difference in the firmware you have on your pi and the one the image was written for. I think that could possibly make a difference.

You would need confirmation from gdjacobs on the firmware revision, and then you would have to check your own hardware. Then you would need to figure out a way to make them agree, which might be a PITA.

I would say that your best course of action (path of least resistance) is probably just start from scratch and do it yourself. It's not actually that big of a lift if you follow the directions.

Before you start, I would install the OS and follow current best recommendations from the RPF on updating your firmware to be current.

I also found it useful to compare Jacobs instructions with this copycat guide over on the retropie forum, and read the comments down below. https://retropie.org.uk/forum/topic/12549/tut … lation-on-rpi-3

Reply 263 of 292, by fsmith2003

User metadata
Rank Member
Rank
Member

Well I went through and did everything manually. Installed the latest Raspbian OS and then installed munt. Everything went smoothly except I can not see the Roland UM-One USB MIDI device inside of munt. There is just a blank window when I choose New Midi port. Is there something special I am supposed to do to get it to see the UM-One?

Reply 264 of 292, by 7F20

User metadata
Rank Member
Rank
Member
fsmith2003 wrote on 2020-10-23, 00:14:

Well I went through and did everything manually. Installed the latest Raspbian OS and then installed munt. Everything went smoothly except I can not see the Roland UM-One USB MIDI device inside of munt. There is just a blank window when I choose New Midi port. Is there something special I am supposed to do to get it to see the UM-One?

Ok. I'm not 100% sure about it because I don't have that device, but I think you have to first make sure the device is there in ALSA. I think someone else is going to have to pick up on helping figure out the interface in munt. You'll probably want to explain what you are trying to accomplish as well. I know that people have experienced issues trying to get the pi to act as a connected device. (I think it can only be a host)

But don't quote me on that, I'm not an expert on this stuff. I was just hoping to help you get the munt image setup and I didn't realize that you'd need more help with the actual midi device stuff.

Maybe GDJacobs can help, but you might consider trying the raspberry pi forums. There's many threads on midi stuff in the "Graphics, sound and multimedia" sub-forum.
If you skim to the end of this one there's some info on different programs you can use, and solutions to the host issue if you have problems with that. Again, I'm not sure what you're even trying to do.
https://www.raspberrypi.org/forums/viewtopic.php?t=144287

Best,

Reply 265 of 292, by fsmith2003

User metadata
Rank Member
Rank
Member

I am simply trying to hook up an old computer with midi out to the Pi3b+ using a Roland UM-One cable. I have been able to get this to work using Fluidsynth and Qsynth by going into qjackctl and connecting Fluidsynth to the UM-One. I try the same process with Munt and still nothing.

Reply 266 of 292, by appiah4

User metadata
Rank l33t++
Rank
l33t++
fsmith2003 wrote on 2020-10-23, 02:39:

I am simply trying to hook up an old computer with midi out to the Pi3b+ using a Roland UM-One cable. I have been able to get this to work using Fluidsynth and Qsynth by going into qjackctl and connecting Fluidsynth to the UM-One. I try the same process with Munt and still nothing.

You have to use alsa command line tools (alsconnect specifically) to route the midi from the interface cable to the munt service. There has been discussion on how to do this earlier in the thread, gdjacobs has helped me with it and I even set it up to autostart at boot and autodetect USB insertions. using udev rules Try going back some pages.. Start here: Re: Emulating MT-32 on an RPi2

Retronautics: A digital gallery of my retro computers, hardware and projects.

Reply 267 of 292, by sergm

User metadata
Rank Oldbie
Rank
Oldbie

appiah4
I gather that qjackctl works well for the task too 😉

fsmith2003
If qjackctl could do it for other synths, I see no reason for it not to work with mt32emu-qt. It should also work with mt32emu_alsadrv. Both these programs create MIDI endpoints for the ALSA sequencer, and qjackctl should show that.

Note, the "New MIDI port..." menu option won't help anyhow while you're connecting ALSA sequencer ports. It is dedicated for ALSA raw MIDI ports only. If you want to go this way, perhaps you should create virtual ports with snd_virmidi kernel driver.

Reply 268 of 292, by appiah4

User metadata
Rank l33t++
Rank
l33t++
sergm wrote on 2020-10-23, 07:47:

appiah4
I gather that qjackctl works well for the task too 😉

Yes, if you want to do that manually with a GUI qjackctl would work.

Retronautics: A digital gallery of my retro computers, hardware and projects.

Reply 269 of 292, by gdjacobs

User metadata
Rank l33t++
Rank
l33t++

Qjackctl or any of the visual patch bay utilities (patchage, for instance) should do the trick. IIRC there was some difference in terms of which API layers have been activated by Munt. Testing required!

I usually use the 'Midi Through' devices to make the virtual connections a little more flexible.

All hail the Great Capacitor Brand Finder

Reply 270 of 292, by lion2

User metadata
Rank Newbie
Rank
Newbie
appiah4 wrote on 2020-10-23, 07:38:
fsmith2003 wrote on 2020-10-23, 02:39:

I am simply trying to hook up an old computer with midi out to the Pi3b+ using a Roland UM-One cable. I have been able to get this to work using Fluidsynth and Qsynth by going into qjackctl and connecting Fluidsynth to the UM-One. I try the same process with Munt and still nothing.

You have to use alsa command line tools (alsconnect specifically) to route the midi from the interface cable to the munt service. There has been discussion on how to do this earlier in the thread, gdjacobs has helped me with it and I even set it up to autostart at boot and autodetect USB insertions. using udev rules Try going back some pages.. Start here: Re: Emulating MT-32 on an RPi2

This is the method I got my MIDI Keyboard controller working on MUNT32 with a Raspberry pi. You can also install the gui for alsaconnect which is called "aconnectgui." It lets you drag an drop connections between devices instead of specifying them in a command line.

Reply 271 of 292, by fsmith2003

User metadata
Rank Member
Rank
Member

I have attached a link of a video I just took of my issue to maybe help someone see the problem I am running into. It shows my vintage PC running Space Quest IV. The Um-One cable is hooked up to it and directly into the Pi3B+. The sound you hear is because the connection is made between Fluidsynth and the UM-One, which works fine. However, when this connection is turned off and only the Munt and UM-One connection are left the sound stops. There is no messages on the Munt side of it showing there is any communication.

https://www.youtube.com/watch?v=y3OkaXhv8tk

Reply 272 of 292, by sergm

User metadata
Rank Oldbie
Rank
Oldbie

The routing looks correct to me, so it's weird that there is no MIDI input. I could speculate that the hardware MIDI port can serve just 1 connection though.

But given that you have already updated mt32emu-qt to the version with JACK support, I'd try JACK audio and JACK MIDI routing instead. JACK MIDI will certainly support sharing of a single hardware MIDI port among multiple consumers.

Reply 273 of 292, by fsmith2003

User metadata
Rank Member
Rank
Member

Well I was able to get everything working by downgrading to the last version of Raspbian Stretch! Was not working on the latest Buster version. Is this a known issue that I just overlooked?

Reply 274 of 292, by 7F20

User metadata
Rank Member
Rank
Member
fsmith2003 wrote on 2020-10-26, 01:05:

Well I was able to get everything working by downgrading to the last version of Raspbian Stretch! Was not working on the latest Buster version. Is this a known issue that I just overlooked?

Not with Munt in-general. I have Munt running on Buster from around July or so, after they upgraded to USB-3.0 bootable.

If it's a distro issue, then it's very specifically for what you're trying to do.

Reply 275 of 292, by stamasd

User metadata
Rank l33t
Rank
l33t

So I'm revisiting this project after a number of years. I recently found a great little SBC that was being liquidated at a very deep discount, the Rock64 which is a quad-core Cortex-A53 with loads of RAM and stuff https://wiki.pine64.org/wiki/ROCK64 . I got several of them, and figured I mat as well convert one to a dedicated MT32 machine. The version I have also came with a case and a 20x2 LCD display which is a bonus.

I installed Armbian on the one I want to convert, compiled and installed munt, all went without a glitch. I plan on using a USB sound card for output (because I have some issues with the onboard sound), and GPIO or TTY for input.

mt32d works from CLI, but I have run into a stoopid problem. I can't seem to have mt32d autostart at boot. I put a line for it in /etc/rc.local, but it does not start. Everything else I put in rc.local does start correctly at boot, but not mt32d.

Is there anything particular about mt32d that would prevent it from starting this way? Again, it works fine when I start it manually from CLI.

(FWIW this was the listing of the combo being liquidated - unfortunately there aren't any left https://www.amazon.com/gp/product/B0868WSTXH/ … 0?ie=UTF8&psc=1 )

I/O, I/O,
It's off to disk I go,
With a bit and a byte
And a read and a write,
I/O, I/O

Reply 277 of 292, by stamasd

User metadata
Rank l33t
Rank
l33t

Except when I have hardware that can be used for the same purpose, and is not directly compatible with that project. MT32-Pi runs on RaspiOS and that is not compatible with the Rock64. I need a setup that works on Armbian for that board.

I/O, I/O,
It's off to disk I go,
With a bit and a byte
And a read and a write,
I/O, I/O

Reply 278 of 292, by stamasd

User metadata
Rank l33t
Rank
l33t

I solved the above. I had to add a delay before the mt32d starts, because apparently it gets started too soon in the boot sequence when called directly from /etc/rc.local and fails.

So I made a little script that waits 20 seconds, then starts mt32d. I call that script from rc.local instead of directly calling the binary. This way it starts successfully at each boot.

I/O, I/O,
It's off to disk I go,
With a bit and a byte
And a read and a write,
I/O, I/O

Reply 279 of 292, by darry

User metadata
Rank l33t++
Rank
l33t++
stamasd wrote on 2021-08-27, 20:11:

I solved the above. I had to add a delay before the mt32d starts, because apparently it gets started too soon in the boot sequence when called directly from /etc/rc.local and fails.

So I made a little script that waits 20 seconds, then starts mt32d. I call that script from rc.local instead of directly calling the binary. This way it starts successfully at each boot.

If you want to.make it more reliably deterministic, a systemd unit with an after= statement would be an option .