Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Set synth.device-id to 16 by default #1382

Closed
spessasus opened this issue Sep 17, 2024 · 3 comments · Fixed by #1385
Closed

Set synth.device-id to 16 by default #1382

spessasus opened this issue Sep 17, 2024 · 3 comments · Fixed by #1385
Milestone

Comments

@spessasus
Copy link
Contributor

Is your feature request related to a problem?

When I first started getting into the MIDI stuff, I found a cool GS MIDI this one to be precise and it sounded amazing under virtualMIDISynth or MSGS, but not in fluidsynth. It used GS to set drums on channel 9 and 11, which didn't happen on fluidsynth as it ignored the sysEx since the device-id was not set.

Only later when I discovered the concept of system exclusives and device id i realized that I had to add -o synth.device-id=16 to make it sound properly.

Now imagine a new user wanting to play a MIDI they found on the internet. They google "synthesizer" and soundfonts and fluidsynth comes up (that's how I found out about this project too!). So they download it, type fluidsynth soundfont.sf2 song.mid and the song sounds wrong. That's why I propose to change the default device-id in the command line to 127 (i.e. accept all sysExes)

Rationale

  • it doesn't hurt the existing API (only the command line gets changed)
  • it doesn't require setting options for various MIDI song to play correctly
  • the MIDI Just Works™
  • it doesn't modify synth's behavior itself (again, command line fluid only)
  • it can still be disabled

Describe the solution you'd like

Change default device-id in the command line to 127 (i.e. accept all sysExes)

Describe alternatives you've considered

It could also default to 16 since it's the default device-id and most MIDIs call these.

@hikari-no-yume
Copy link

Using 16 as the default seems better to me. If a MIDI file actually has several different device IDs in it (which must be very rare), they wouldn't be intended to all go to the same synth.

@derselbst
Copy link
Member

I also find fluidsynth's current behavior unintuitive in that regard. I am open to change the default value. Since we are expecting a minor version update 2.4 somewhen soon, I would be open to change the default value of the setting itself. I find that a bit more transparent than changing the default value only for the command line world.

I also have a slight preference to a default value of 16.

@spessasus
Copy link
Contributor Author

Alright, that's fine too, since all MIDIs I have do use 16 as device id. And setting it as a default in the entire synth is good too (it will enable sysEx support in vlc!!!)

@spessasus spessasus changed the title Set synth.device-id to 127 by default in command line Set synth.device-id to 16 by default Sep 19, 2024
@derselbst derselbst added this to the 2.4 milestone Sep 21, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants