@@ -34,6 +34,16 @@ On Windows, yet another name is used:
34
34
But double-check that the device name is correct for yor system. See the
35
35
section "Finding the MIDI device name".
36
36
37
+ For FS-UAE 4.0.XXX FIXME:
38
+
39
+ Alternatively, you can split the option into two:
40
+
41
+ serial_port = mt32:
42
+ mt32_device = Mt-32 Synth Emulator
43
+
44
+ You can also in many cases drop specifying ` mt32_device ` . In this case, FS-UAE
45
+ will try the following devices depending on platform: "Standard" (Linux), "Mt32EmuPort" (macOS), "Mt-32 Synth Emulator" (Windows).
46
+
37
47
## Linux
38
48
39
49
You can run ` acconnect -o ` to give a listing of ALSA MIDI sequencer names.
@@ -47,29 +57,65 @@ Example output while having both fluidsynth and munt/mt32 running:
47
57
0 'Standard
48
58
49
59
The names you need to use with the ` serial_port ` option _ with this exact setup_
50
- is 'Synth input port (11883:0)' and 'Standard'.
60
+ is 'Synth input port (11883:0)' and 'Standard'. You might want to rename the
61
+ port name of FluidSynth. See the "FluidSynth" section for more information.
51
62
52
63
Note, you can now also use ` fs-uae-device-helper list-portmidi-devices ` to find
53
64
the device names.
54
65
55
- ## Fluidsynth
66
+ ## FluidSynth
67
+
68
+ The default FluidSynth sequencer name on Linux includes the process PID, which
69
+ will change each time FluidSynth is started. It is a good idea to run
70
+ FluidSynth with a static name, for example ` --portname=FluidSynth ` :
56
71
57
- The default fluidsynth sequencer name on Linux includes the process PID, which
58
- will change each time fluidsynth is started. It is a good idea to run
59
- fluidsynth with a static name, for example ` --portname=Fluidsynth ` :
72
+ fluidsynth -a alsa -m alsa_seq -l -i -s --portname=FluidSynth \
73
+ /usr/share/sounds/sf2/FluidR3_GM.sf2
60
74
61
- fluidsynth -a alsa -m alsa_seq -l -i /usr/share/sounds/sf2/FluidR3_GM.sf2 \
62
- -s --portname=Fluidsynth
75
+ In this case, the device will always remain the same, and you can then use the
76
+ option ` serial_port = midi:FluidSynth ` and it will work across reboots.
63
77
64
- You can then use the option ` serial_port = midi:Fluidsynth ` .
78
+ On macOS, a relatively easy way to get fluidsynth installed is to install it
79
+ via Homebrew:
80
+
81
+ brew install fluidsynth
82
+
83
+ You need a soundfount as well. A good choice is FluidR3_GM.sf2.
84
+ FIXME: Download link for FluidR3_GM.zip on fs-uae.net
85
+
86
+ fluidsynth -l -i -s --portname=FluidSynth FluidR3_GM.sf2
65
87
66
88
## Suggestions for future improvements
67
89
68
90
Split midi device name out from the serial port option? ` serial_port_type ` ?
69
91
70
- serial_port_type = serial|midi|midi- mt32 ?
92
+ serial_port_type = serial|midi|mt32 ?
71
93
midi_device = xxx ?
72
- midi_mt32_device = yyy ?
94
+ mt32_device = yyy ?
95
+
96
+ Maybe also allow ` midi_device = fluidsynth ` and dynamically try to deduce the
97
+ port name ("Synth input port" on Linux, etc). Even more, with midi_device
98
+ missing, perhaps try to default to FluidSynth on Linux (if found), the default
99
+ software midi sequencer on Windows, and (???) on macOS?
100
+
101
+ ### Package FluidSynth as a plugin?
102
+
103
+ Maybe include as Utilities/FluidSynth? Soundfonts can be included in the
104
+ FluidSynth package.
105
+
106
+ ### Notes
107
+
108
+ Default device names (process numbers are examples):
109
+
110
+ Fluidsynth:
111
+
112
+ Linux: Synth input port (547769:0)
113
+ macOS: FluidSynth virtual port (17220)
114
+
115
+ MT32Emu-qt:
116
+
117
+ Linux: Standard
118
+ macOS: Mt32EmuPort
73
119
74
120
## Credits
75
121
0 commit comments