Besserer Sound bei ScummVM Spielen auf einen Raspberry Pi mit Roland MT-32 und CM-32L Synthesizer Modulen Emulator. So klingen die beinahe 30 Jahre alten Spiele nicht mehr nach 8Bit Soundtechnik.
Im folgenden Tutorial wird gezeigt, wie Ihr die Synthesiser-Software Munt auf einem RPi 3B+ installieren und verwenden könnt. Windows-Benutzer können das Programm PuTTY für Aufgabe nutzen, Linux-Benutzer machen das über das Terminal mittels SSH-Verbindung. Falls nicht geändert, dann sollten die Standardlogin Daten gelten (Login: pi PW: raspberry).
1. Notwendige Pakete installieren:
sudo apt-get install build-essential cmake portaudio19-dev qtmobility-dev libx11-dev libxt-dev libxpm-dev
2. Software Munt downloaden:
Hier gibt es nun zwei Möglichkeiten, zu einem die Source Quelle und zum anderen die git Quelle. Ich arbeite am liebsten mit git, da diese einfacher sind zu updaten.
git clone https://github.com/munt/munt.git
3. betreten und build Ordner erstellen:
cd munt mkdir -p build-munt cd build-munt
4. Compiler-Flags setzen (RPi3):
export CCFLAGS=”-Ofast -march=armv8-a+crc -mtune=cortex-a53 -mfpu=neon-fp-armv8 -mfloat-abi=hard -ftree-vectorize -funsafe-math-optimizations”
export CXXFLAGS=”-Ofast -march=armv8-a+crc -mtune=cortex-a53 -mfpu=neon-fp-armv8 -mfloat-abi=hard -ftree-vectorize -funsafe-math-optimizations”
5. Munt kompilieren/bauen und installieren:
cmake -DCMAKE_BUILD_TYPE=Release -Dmunt_WITH_MT32EMU_QT:BOOL=OFF ../ make -j 4 sudo make install
6. Munt ALSA MIDI Treiber kompilieren/bauen und installieren:
cd ../mt32emu_alsadrv/ make sudo make install
7. Kontrolle der Installation:
ls -la /usr/local/bin/mt32d
pi@retropie:~ $ ls -la /usr/local/bin/mt32d
-rwxr-xr-x 1 root staff 229068 Aug 29 17:29 /usr/local/bin/mt32d
pi@retropie:~ $
8. MT32 Autostart:
Hierfür tragen wir in die Datei “/etc/rc.local” folgendes vor dem “exit 0” ein.
sudo nano /etc/rc.local
/usr/local/bin/mt32d -i 12 &
9. Das Jamming verringern:
Um das Jamming des Sounds zu verringern, können diese On-Demand-CPU-Regler-Optimierungen in der “/etc/rc.local” Datei, unter der mt32d-Befehlszeile, eingetragen werden.
echo -n 100 > /sys/devices/system/cpu/cpufreq/ondemand/sampling_down_factor
echo -n 50000 > /sys/devices/system/cpu/cpufreq/ondemand/sampling_rate
Eine andere Alternative dazu ist
echo performance > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
jedoch macht treibt dieser die RPi deutlich höher und die CPU wird wärmer.
10. Neustart und erster Device Test:
Neustart mit: sudo reboot
Nachdem das System wieder oben ist und wir uns erneut eingeloggt haben, testen wir ob der Device vorhanden ist.
aconnect -o
pi@retropie:~ $ aconnect -o
client 14: ‘Midi Through’ [type=Kernel]
0 ‘Midi Through Port-0’
client 128: ‘MT-32’ [type=User,pid=619]
0 ‘Standard ‘
1 ‘GM Emulation ‘
pi@retropie:~ $
11. ROM Dateien:
Es fehlen noch die gewissen ROM Datei(en) zu dem ganzen (MT32_PCM.ROM, MT32_CONTROL.ROM und CM32L_PCM, CM32L_CONTROL.ROM). Diese packt ihr euch erstmal ins Home-Verzeichnis (/home/pi/) Eures RPi (mit WinSCP z.B.) um sie dann in PuTTY oder mittels SSH-Verbindung zu verschieben.
sudo mkdir -p /usr/share/mt32-rom-data sudo mv ~/*.ROM /usr/share/mt32-rom-data
12. ScummVM einstellen:
Die Soundeinstellungen können entweder für alle Spiele oder einzeln gemacht werden.
In dem Beispiel hier werden die Einstellungen für alle gemacht.
Standard Audio-Einstellung
MT32 Audio-Einstellung