VOGONS


Emulating MT-32 on an RPi2

Topic actions

Reply 140 of 292, by kiwa

User metadata
Rank Newbie
Rank
Newbie

Hi,

So i compiled this on my orange pi one, seems to work, but i get high cpu usage and constant Output buffer underrun, idk if my device is just underpowered or i did something wrong compiling munt, can anyone give me some pointers?

Screen Shot 2017-08-25 at 6.56.37 PM.png
Filename
Screen Shot 2017-08-25 at 6.56.37 PM.png
File size
208.84 KiB
Views
3292 views
File license
Fair use/fair dealing exception

thanks

Reply 141 of 292, by gdjacobs

User metadata
Rank l33t++
Rank
l33t++
kiwa wrote:

So i compiled this on my orange pi one, seems to work, but i get high cpu usage and constant Output buffer underrun, idk if my device is just underpowered or i did something wrong compiling munt, can anyone give me some pointers?

It could be either one. This is typical behavior for a build of Munt which is either unoptimized or running on an underpowered platform. Please show what you get from uname -a, identify what processor the OPi in question runs, and what compiler version and compiler flags were used to build Munt.

All hail the Great Capacitor Brand Finder

Reply 142 of 292, by kiwa

User metadata
Rank Newbie
Rank
Newbie

Thanks,

From uname i get:
Linux orangepipc 3.4.113-sun8i #16 SMP PREEMPT Tue Jun 13 14:15:57 CEST 2017 armv7l GNU/Linux

The cpu:
Architecture: armv7l
Byte Order: Little Endian
CPU(s): 4
On-line CPU(s) list: 0-3
Thread(s) per core: 1
Core(s) per socket: 4
Socket(s): 1
CPU max MHz: 1536.0000
CPU min MHz: 480.0000

gcc version and my flags:
gcc version 4.9.2 (Debian 4.9.2-10)

export CCFLAGS="-Ofast -mcpu=cortex-a53 -mfpu=neon-vfpv4 -funsafe-math-optimizations”
export CXXFLAGS="-Ofast -mcpu=cortex-a53 -mfpu=neon-vfpv4 -funsafe-math-optimizations”

Reply 143 of 292, by gdjacobs

User metadata
Rank l33t++
Rank
l33t++

That all looks in order. What does the OrangePi use for a power supply? Could it be downclocking because of low voltage? Could the cores be getting hot and the SoC downclocking to protect itself?

All hail the Great Capacitor Brand Finder

Reply 144 of 292, by mrau

User metadata
Rank Oldbie
Rank
Oldbie

change the governor? in case you see low cpu clocks while under load of course; whats the performance when playing to a file or playing a simple file without emu? how is sound set up in general?

Reply 145 of 292, by gdjacobs

User metadata
Rank l33t++
Rank
l33t++

Excellent thought. What is your audio driver? How extensively have you tested it?

All hail the Great Capacitor Brand Finder

Reply 146 of 292, by mcobit

User metadata
Rank Member
Rank
Member
gdjacobs wrote:

I've got my LCD output going using a hacked version of the ALSA console application. It's not anything special, but if anyone wants a copy just ask.

Could you upload your changed sources or a patchfile somewhere please?
Maybe create a fork on github.

Thanks.

Reply 147 of 292, by bjwil1991

User metadata
Rank l33t
Rank
l33t

Quick question to everyone: is there a way to program, for example, a 16x2 LCD kit for the Raspberry Pi to make it look like the Roland MT-32, such as, showing the instruments, channels, and titles/Easter eggs (SQ III INSERT BUCKAZOID) when starting a specific game? That'll be awesome, wouldn't it?

Discord: https://discord.gg/U5dJw7x
Systems from the Compaq Portable 1 to Ryzen 9 5950X
Twitch: https://twitch.tv/retropcuser

Reply 148 of 292, by gdjacobs

User metadata
Rank l33t++
Rank
l33t++

I modified mt32d to push SYSEX messages to the LCD. Instrument / channel information might be viable, but I'd prefer to ask Serge about it first as it would appear to require more in depth plumbing.

All hail the Great Capacitor Brand Finder

Reply 149 of 292, by mcobit

User metadata
Rank Member
Rank
Member
bjwil1991 wrote:

Quick question to everyone: is there a way to program, for example, a 16x2 LCD kit for the Raspberry Pi to make it look like the Roland MT-32, such as, showing the instruments, channels, and titles/Easter eggs (SQ III INSERT BUCKAZOID) when starting a specific game? That'll be awesome, wouldn't it?

I do something similar with my Raspberry Synthbox and an 20x2 char hd44780 display.
https://youtu.be/_VYdw-AfNGc

I can come up with a way to display the channels on the screen like the original mt32, but right now the channels and even notes are visualized with rgb leds in my setup.

Thread here: Raspberry Pi 3 SoftSynth Box [Buildlog]

Edit: 16x2 will not work as the mt32 had a 20x1 lcd.

Reply 150 of 292, by gdjacobs

User metadata
Rank l33t++
Rank
l33t++

It does in my case, only the last few letters can be cut off. 20x2 is desired as you point out, but there's really no change in terms of the hardware interface as it's all serially encoded.

Do you have a separate decoder for messages and the channel indicator LEDs or have you plumbed into the synthesizers?

All hail the Great Capacitor Brand Finder

Reply 152 of 292, by MKT_Gundam

User metadata
Rank Member
Rank
Member

How bad is the analog audio of Pi2/3?

Retro rig 1: Asus CUV4X, VIA c3 800, Voodoo Banshee (Diamond fusion) and SB32 ct3670.
Retro rig 2: Intel DX2 66, SB16 Ct1740 and Cirrus Logic VLB.

Reply 153 of 292, by bjwil1991

User metadata
Rank l33t
Rank
l33t

I attempted to run mt32emu-qt to no avail as it states Open failed 🙁 for some odd reason. And this is with the custom image you made a while back. It's a Raspberry Pi 3 Model B, and I believe it might be the coding gone wrong, or the Munt revision is too old.

Discord: https://discord.gg/U5dJw7x
Systems from the Compaq Portable 1 to Ryzen 9 5950X
Twitch: https://twitch.tv/retropcuser

Reply 154 of 292, by gdjacobs

User metadata
Rank l33t++
Rank
l33t++

Sounds like some library has broken ABI compatibility. Maybe it's time to write a DH build patch...

All hail the Great Capacitor Brand Finder

Reply 155 of 292, by mcobit

User metadata
Rank Member
Rank
Member
MKT_Gundam wrote:

How bad is the analog audio of Pi2/3?

I'd say it's fine for playing games. There is noticeable hiss and a bit of a small dynamic range but all in all it is ok.
You shouldn't record any music for production with it though.

Reply 156 of 292, by gdjacobs

User metadata
Rank l33t++
Rank
l33t++

It's a PWM output (like class D amplification), so the THD stats are pretty awful.

All hail the Great Capacitor Brand Finder

Reply 157 of 292, by Samiscool51

User metadata
Rank Newbie
Rank
Newbie
hey gdjacobs, you may want to update this in the post for those who want to try this themselves access the rasbian archive image […]
Show full quote
gdjacobs wrote:

-snip-

hey gdjacobs, you may want to update this in the post
for those who want to try this themselves access the rasbian archive images and get the last version of Jessie, if the image you downloaded from rasbberypi.org says "stretch" it won't work as some of the required library's are not in the stretch repository for some reason (probably outdated and are no-longer needed on newer versions)
http://downloads.raspberrypi.org/raspbian/ima … ian-2017-07-05/
use this link, it's the last version of Jessie and should work with the current line up of rasberry pi's:

Raspberry Pi Zero W	
Raspberry Pi Zero WH
Raspberry Pi Zero
Raspberry Pi B
Raspberry Pi A+
Raspberry Pi 3 B+
Raspberry Pi 3
Raspberry Pi 2

(as of the 19/05/2018, newer revisions probably wont work with it, just a heads up)
after this the guide should now work

OK scratch that, jessie is also having problems building, i thought using an older version would give the correct dependices, i was wrong
the requirements for building munt have changed and this means that this guide no-longer works, hey gdjacobs do you think to try and start updating the guide? i really want to get this working on my PI zero

Reply 159 of 292, by Samiscool51

User metadata
Rank Newbie
Rank
Newbie
gdjacobs wrote:

Sounds like a weekend project! I'll get on it.

Awesome, really want to do this, also since munt hasn't been updated for a while i will try and provide a way so people can use it in the future without worry about missing the library's or having to go though the guide and having it not work
although i have no idea how to do it....
but hey, it will be a learning experience!