[LINUX] Überprüfen Sie Punkte, wenn MIDI in einem Programm mit SDL_mixer nicht funktioniert

Im Spiel Simutrans ist die Hintergrundmusik eine MIDI-Datei, und ich hatte Probleme, weil die Hintergrundmusik nicht funktionierte. Wenn ich also nach einer Lösung suchte, habe ich SDL_mixer unter Linux verwendet. Ich kann es mit einer gemeinsamen (vermutlich) Lösung lösen, wenn ich dort bin, und ich kann keine japanischen Informationen finden, so dass ich sie weitergeben werde.

Betriebsumgebung

Wie oben erwähnt, habe ich diesmal nur ein Spiel ausprobiert. Darüber hinaus ist die Umgebung, die diesmal gut funktioniert hat, wie folgt.

Es ist auch eine Geschichte in der Pulse Audio-Umgebung.

Bestätigungspunkte

Ti Midity ++ oder Fluid Synth

Zunächst müssen Sie mindestens eine davon einschließen, um MIDI unter Linux spielen zu können. In diesem Fall habe ich eins nach dem anderen überprüft, wobei beide enthalten waren, aber da jedes normal funktionierte, scheint es, dass eines in Ordnung ist. Sie können es auch nicht einfach installieren, sondern müssen es zu einem Daemon mit timidity -iA oder fluidsynth -a pulseaudio -malsa_seq -o midi.autoconnect 1 [SOUND_FONT] machen. Passen Sie die einzelnen Optionen an Ihre Umgebung an.

Sound-Schriftart

Ich denke, es hängt vom Betriebssystem ab, aber zumindest in ArchLinux werden Sound-Schriftarten nicht enthalten sein, selbst wenn TiMidity ++ oder FluidSynth installiert ist. Daher ist es notwendig, sie separat einzuschließen. Wenn Sie die installierte Soundschrift in einen Daemon konvertieren, geben Sie sie im Argument wie "/ etc / timidity ++ / timidity.conf" bei TiMidity ++ und bei FluidSynth an.

SDL_SOUNDFONTS Wenn Sie ein Programm mit SDL_mixer ausführen, geben Sie den Pfad der oben festgelegten Soundschriftart als "SDL_SOUNDFONTS = / path / to / soundfont.sf2. / Program" an. Ich habe es nicht ausprobiert, aber ich denke, es ist in Ordnung, es mit ".bashrc" usw. einzustellen.

stumm

Es sollte bisher von der Arbeit gespielt werden, aber wenn es nicht abgespielt wird, überprüfen Sie bitte, ob es für alle Fälle stummgeschaltet ist. In diesem Fall wurde es bisher gut gespielt.

Schließlich

Die Informationen zu "SDL_SOUNDFONTS" wurden nicht gefunden und wurden angepasst. Als sie gefunden wurden, wurden sie als Informationen geschrieben, wenn Fluid Synth mit SDL_mixer kombiniert wurde, sodass es schwierig war, sie zu finden. Obwohl ich es in der Betriebsumgebung geschrieben habe, ist es außerdem möglich, dass es sich in SDL2 geändert hat, weil es ** eine Geschichte in SDL anstelle von SDL2 ** ist.

Informationsquelle

Recommended Posts

Überprüfen Sie Punkte, wenn MIDI in einem Programm mit SDL_mixer nicht funktioniert
Befehl, wenn das Herunterfahren von ACPI in VirtualBox nicht funktioniert
Beim Schreiben eines Programms in Python
Wenn das auf Mac / Marvericks installierte Programm pip nicht funktioniert
Überprüfen Sie Elemente, wenn das importierte Python-Modul nicht wie erwartet funktioniert
Der Fehler beim Aufrufen des tkinter-Moduls in einem Texteditor funktioniert nicht wie erwartet
Erstellen Sie eine MIDI-Datei in Python mit pretty_midi
Wenn die Platzhalterspezifikation mit Pylint nicht funktioniert
Patch, wenn die Volltextsuche in der lokalen GAE / Python-Umgebung nicht funktioniert
Es gibt ein Muster, das das Programm bei Verwendung von Python-Threading nicht gestoppt hat
[Python] Vorsichtsmaßnahmen, wenn es nicht funktioniert, auch wenn TimedRotatingFileHandler in basicConfig in Python2 festgelegt ist
Überprüfen Sie, wann die Version nicht in pyenv wechselt
Zusammenfassung der Punkte, die beim Schreiben eines Programms zu beachten sind, das unter Python 2.5 ausgeführt wird
Ein Hinweis beim Erstellen eines gerichteten Diagramms mit Graphviz in Python
Überprüfen Sie, ob der Docker-Container keine Verbindung zum Internet herstellt
Probleme bei der Verwendung von Elasticsearch als Datenquelle in Redash
(Persönliche) Punkte bei Verwendung von ctypes
Beim Inkrementieren des Werts eines Schlüssels, der nicht vorhanden ist
Ich habe einen TypeError: 'int'-Objekt ist bei Verwendung von Keras nicht iterierbar
[Python] Erscheint bei Verwendung von iterdir () usw. [Errno 20] Kein Verzeichnis: '*** / .DS_Store'
Lösung, wenn die Hintergrundabdeckung von VS Code für Linux nicht funktioniert
Bei Verwendung von @property in Python wird ein Attribut nicht festgelegt