Main Menu

Recent posts

#81
Development Corner / Re: SoundFont Format Extensio...
Last post by Saga Musix - February 09, 2025, 14:50:27
Okay, I tried to, but I really don't know how to put this nicely. What a train wreck.
How can you claim to write a standard when there isn't a single reference implementation? (A demo soundfont file is not a reference implementation, it is reference data.)
How can you design all of this without directly involving any of the people that you expect to implement your specification, or without having apparently ever written a soundfont player yourself?
I hope you realize that this is not a viable approach when the first thing that happens after releasing your specification is people coming out pointing out the errors in the design.

Random observation just by skimming the specification: Why is sample compression a bitset and not an enum?! A bitset implies that several bits can be set at the same time, but how can a sample be both a FLAC sample and an Opus sample at the same time?  Why do you design a file format in 2025 that can contain MP3 samples, without even going into detail how you intend to address inherent problems of the MP3 format for this use case, such as encoder pre-delay and the inability to have samples of arbitrary length (unless you are using LAME/Xing extensions)? Both of these problems have already been solved by Ogg Vorbis, 25 years ago.
This smells very much like a feature you thought would be cool to have, without ever having implemented it.

And yet another inconsistency regarding compressed samples: "Compressed samples are always 16-bit samples" (page 48). So what happens if I were to store a compressed 32-bit FLAC sample? You probably meant to say instead that the sm24 chunk simply does not apply to compressed samples, but the language is too vague for that. Specifications must use watertight language or someone is bound to implement them incorrectly.

And seriously, Silicon SoundFonts?! Do you seriously think anyone is going to build a hardware soundfont player based on this 30-year old specification in the year 2025? And the worst thing is, the "improved" documentation actually makes many things less clear than the "poor documentation" of the original spec, it seems like you just wanted to write documentation for the sake of writing documentation, and not because there is an actual need for it.
Not that it would even matter, but here's just one extremely obvious example, where the new documentation is actually worse than the original:
You renamed "checksum" and "checksum2sComplement" to "bankChecksum" and "bankChecksum2sComplement", probably because you assumed that the checksum includes just the soundfont itself, but not the ROM header. At the same time, you claim that it's a CRC-16 checksum. Both of these things are, very obviously, in direct contradiction to the original documentation, which becomes clear if you read the documentation on the "checksum2sComplement" value: "for updating checksum variable w/o changing file checksum value".
Anyone that has ever worked with checksummed ROMs would be able to tell you that this implies that the checksum is for the entire ROM contents, including this very header, and that a CRC-16 checksum would be technically impossible to use that way, because adding the checksum and its complement to the ROM would change the CRC-16. Most likely the checksumming algorithm that Creative intended to use here was a simple running sum of all bytes (or words) in the ROM modulo 65536, because adding the checksum and its complement to such a sum would not change the final checksum. Nobody would have added circuitry for calculating a CRC-16 checksum 30 years ago, just for verifying the correctness of ROM contents.

Please remove my name from the credits. All I have ever told you is the things you shouldn't be doing (like in this post, again), and I really don't want to be associated with such a half-baked specification.
#82
Development Corner / SoundFont Format Extensions S...
Last post by stgiga - February 08, 2025, 22:07:54
After 2 years and a computer failure, I and some other people have managed to put our 2023 attempt at extending the SoundFont specification into an actual and proper specification, called SFe, available here:

https://github.com/SFe-Team-was-taken/SFe/releases/tag/4.0

We have Polyphone's developer, as well as other player developers, in on this.

We have also resurrected Silicon SoundFonts (Section 11 of the SoundFont spec, which is an official SF2-to-ROMpler mode, and I've documented it with a reference implementation here: https://github.com/stgiga/siliconsfe/tree/main and it's factored in to our new spec.)

I've talked about this with Saga before, and I'm willing to wait until the format gets adopted before it's added. This post is just to signify that it exists in a dedicated spec now rather than just a bunch of documentation as a post.
#83
Free Music Downloads / Existence [mp3]
Last post by n0cturn - February 08, 2025, 19:33:16
A slight change of pace, but only slight. Normal service will resume shortly (I had a headache)

https://drive.google.com/file/d/14udcDJbpqxgK8x2eWMQAzrpA_6-NIQMx/view?usp=sharing

#84
Free Music Downloads / [Folk] WowMinority (mptm)
Last post by Suumar-21-Taw - February 01, 2025, 11:51:16
Using ethnic instruments
Samples are saved in a separate folder(to compress them)
Plugins(extra):TDR Nova
Maybe I'll remix it as a House soon.
#85
General Chatter / Re: Video: I made one song a w...
Last post by Saga Musix - February 01, 2025, 11:22:23
Cool stuff, especially the custom tools :)
#86
Help and Questions / Re: Drum Loop in a Pattern - k...
Last post by Saga Musix - February 01, 2025, 11:20:43
It's not built into OpenMPT, but this calculator is really handy for all sorts of BPM and sample length related calculations:

https://mp3.deepsound.net/eng/samples_calculs.php

In particular, you are probably looking for the "To find the bpm of a loop when its length in milliseconds is known" section.
#87
General Chatter / Video: I made one song a week ...
Last post by chr15m - January 28, 2025, 07:23:09
Hey all,

In 2024 I took part in Weekly Beats and made 52 songs with OpenMPT. I made a video about my stack and process:

https://youtu.be/9Up_W2jcAh4

Hope it's useful!

BTW you can hear the music here: https://weeklybeats.com/chr15m
#88
Help and Questions / Re: Drum Loop in a Pattern - k...
Last post by herodotas - January 28, 2025, 06:49:19
No any fancy ways, all with your hands and head. This is oldschool.
#89
Help and Questions / Re: Drum Loop in a Pattern - k...
Last post by Abrimaal - January 27, 2025, 23:35:48
I wanted to
1. import the original (low quality) drum loop,
2. insert it to a pattern, adjust tempo, to play the whole loop in a single pattern.
3. add high quality drum samples to other channels, in the same note positions.
4. mute the original drums
5. save to .wav at the same speed and total duration.
6. replace the drums in the original song, in an audio mixer.

I think, the most important is the point 2, adjusting speed, pitch and pattern length to the original sample.
I can do it manually, by ear and stopwatch, balancing between higher and lower error levels.
but isn't there really a mathematical way? such as "adjust pattern playing time to the sample length"?

#90
Help and Questions / Re: Drum Loop in a Pattern - k...
Last post by n0cturn - January 27, 2025, 20:49:55
I've come across similar issues with loaded samples playing at an unexpected pitch, for me it was usually the transpose setting on the sample page (bottom left on sample page) and from your pictures its set at F7 which seems high, try lowering it to F4 or lower.

Just a guess I'm the expert at nothing! (but I do that quite well)