Author Topic: SoundFont Format Special Features Proposal  (Read 209 times)

stgiga

  • Posts: 4
Great news!

So apparently SF2 can have Bank Select LSB in it, because the value SF2 stores the bank number in (wBank) is 16 bits.
Me and a collaborator have made an infographic on the subject. One of them is attached (the bit layout). The SF2 spec does not reject this. Here is a test SoundFont we have made for this, using Yamaha XG patches equivalent to the Roland SC-8850 patches in my FOSS JummBox SoundFont (available here, and is free: http://stgiga.itch.io/jummboxsoundfont). The test SoundFont is available here: https://drive.google.com/file/d/1cerpko6kL4SctyHG9ozYFtwePmbHX7CW/view. This is hosted by my collaborator. She and I have found even more ways to improve on the format than just the addition of Bank Select LSB.

I'm hoping that apps such as BassMIDI, OpenMPT, and the other players start supporting this. I know that BassMIDI was the first player to support my 4 gigabyte Roland SC-88Pro SoundFont that I made back when I was a 15yo trans girl (I am now a 20yo nonbinary person). Perhaps BassMIDI could be one of the first players to support these new features. Since the OpenMPT developers frequent this forum, I feel like this would go nicely with the fact that OpenMPT has Bank Select LSB code for the DLS side of things. Well now, SF2 has LSB support now!
« Last Edit: 5 Mar '23 - 01:21 by stgiga »

stgiga

  • Posts: 4
Re: SoundFont Format Special Features
« Reply #1 on: 4 Mar '23 - 07:23 »
The post formatting features are honestly unlike anything I've seen on most forums. Oh and for the record, I've been making SF2s for 8 years. Some of mine were made in 2015. None of what I have posted above is in any way a joke. This is a completely serious proposal.
« Last Edit: 4 Mar '23 - 07:34 by stgiga »

Hanuman

  • Posts: 107
Re: SoundFont Format Special Features Proposal
« Reply #2 on: 4 Mar '23 - 16:29 »
> that I made back when I was a 15yo trans girl (I am now a 20yo nonbinary person)

How is that related to the topic? Is it really necessary to bring that into technical discussions?

stgiga

  • Posts: 4
Re: SoundFont Format Special Features Proposal
« Reply #3 on: 4 Mar '23 - 18:45 »
It was just the truth.

Ian @ un4seen

  • Administrator
  • Posts: 25060
Re: SoundFont Format Special Features Proposal
« Reply #4 on: 6 Mar '23 - 15:25 »
I think it would be possible to add an option in BASSMIDI to support soundfonts like yours, but I'm not sure about enabling it by default (I'll first have to think about any possible conflicts). Were you hoping to have it enabled by default or will enabling it programmatically be fine?

QuentinC

  • Posts: 77
Re: SoundFont Format Special Features Proposal
« Reply #5 on: 8 Mar '23 - 16:48 »
Hello,

It looks quite interesting !  I'm curious to know which could be your other improvements.

I imagine that, if that support is added, changes will be needed to font mapping (BASS_MIDI_StreamGet/SetFont and struct BASS_MIDI_FONT/EX/EX2).

I'm also thinking about another possible improvement: the support of SF3 with compressed samples in any format supported by BASS including addons, and not only OGG.
It's maybe already the case, but I wasn't able to test since Polyphone only compress in OGG.
The best would be to upgrade BASS_MIDI_FontPack/Unpack to save into SF3 as well.

Ian @ un4seen

  • Administrator
  • Posts: 25060
Re: SoundFont Format Special Features Proposal
« Reply #6 on: 9 Mar '23 - 15:41 »
BASSMIDI should currently be able to handle any codec in SF3 files that it has support for (either internally or via add-ons loaded with BASS_PluginLoad), the same as with SF2PACK files.

Zenxia

  • Posts: 172
Re: SoundFont Format Special Features Proposal
« Reply #7 on: 19 Mar '23 - 10:44 »
Great news!

So apparently SF2 can have Bank Select LSB in it, because the value SF2 stores the bank number in (wBank) is 16 bits.
Me and a collaborator have made an infographic on the subject. One of them is attached (the bit layout). The SF2 spec does not reject this. Here is a test SoundFont we have made for this, using Yamaha XG patches equivalent to the Roland SC-8850 patches in my FOSS JummBox SoundFont (available here, and is free: http://stgiga.itch.io/jummboxsoundfont). The test SoundFont is available here: https://drive.google.com/file/d/1cerpko6kL4SctyHG9ozYFtwePmbHX7CW/view. This is hosted by my collaborator. She and I have found even more ways to improve on the format than just the addition of Bank Select LSB.

I'm hoping that apps such as BassMIDI, OpenMPT, and the other players start supporting this. I know that BassMIDI was the first player to support my 4 gigabyte Roland SC-88Pro SoundFont that I made back when I was a 15yo trans girl (I am now a 20yo nonbinary person). Perhaps BassMIDI could be one of the first players to support these new features. Since the OpenMPT developers frequent this forum, I feel like this would go nicely with the fact that OpenMPT has Bank Select LSB code for the DLS side of things. Well now, SF2 has LSB support now!

Modify .sf2 i don't sure if is possible, for this un4seen needs get soundfont creator source or make own (like as polyphone) and add more features. But i like more DLS than .sf2. But add DLS support not is bad idea.

But what hack uses you to set MSB more than 128?

« Last Edit: 19 Mar '23 - 10:49 by Zenxia »

stgiga

  • Posts: 4
Re: SoundFont Format Special Features Proposal
« Reply #8 on: 21 Mar '23 - 00:49 »
Great news!

So apparently SF2 can have Bank Select LSB in it, because the value SF2 stores the bank number in (wBank) is 16 bits.
Me and a collaborator have made an infographic on the subject. One of them is attached (the bit layout). The SF2 spec does not reject this. Here is a test SoundFont we have made for this, using Yamaha XG patches equivalent to the Roland SC-8850 patches in my FOSS JummBox SoundFont (available here, and is free: http://stgiga.itch.io/jummboxsoundfont). The test SoundFont is available here: https://drive.google.com/file/d/1cerpko6kL4SctyHG9ozYFtwePmbHX7CW/view. This is hosted by my collaborator. She and I have found even more ways to improve on the format than just the addition of Bank Select LSB.

I'm hoping that apps such as BassMIDI, OpenMPT, and the other players start supporting this. I know that BassMIDI was the first player to support my 4 gigabyte Roland SC-88Pro SoundFont that I made back when I was a 15yo trans girl (I am now a 20yo nonbinary person). Perhaps BassMIDI could be one of the first players to support these new features. Since the OpenMPT developers frequent this forum, I feel like this would go nicely with the fact that OpenMPT has Bank Select LSB code for the DLS side of things. Well now, SF2 has LSB support now!

Modify .sf2 i don't sure if is possible, for this un4seen needs get soundfont creator source or make own (like as polyphone) and add more features. But i like more DLS than .sf2. But add DLS support not is bad idea.

But what hack uses you to set MSB more than 128?

Via using the other byte of the 16-bit value used to store banks.