Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Looking for a MIDI solution
#21
(09-03-2023, 11:26 AM)SagaraS Wrote: I mean... 2023 and you can't address the Windows MIDI system in a way that you can use it like that?
It would be sad, because many old Win95 games can do that.
So there has to be a solution somehow.

The year doesn't mean any thing when the soul of the project (QB64) is emulating the past.

There is a solution, of course. You could use something else, which does what you want, or do as you have which is report the issue and work towards a fix as a person interested in continuing to use QB64PE for your needs.

I think what has happened is simply you have found a bug that no one else has found thus far, with an unstable feature, where the size of the EXE is a problem. My guess is others who have tried this might not have noticed the size of the EXE.

All this aside, you're right, and the developers will probably be able to fix it.

Thanks for the report for as it does good for QB64PE in general.

While you are frustrated, I think everyone would appreciate it if you chilled out @SagaraS. Specifically: calling something stupid, dumb, and implying whoever programmed the stuff is also so, is a dick thing to do. Don't be a dick.

These folks work hard and for no reward besides it's their passion, and the community itself has their friends in it.

Thanks in advance for your future compassion now that you've been told.

Try to be patient now that you've reported the situation and let the team fix it.

If you need instant gratification maybe don't use this feature right now and come back later.

Take it EASY, man.
grymmjack (gj!)
GitHubYouTube | Soundcloud | 16colo.rs
Reply
#22
Again, I apologize to the QB64 team for my negative comments.

About the soundfont solution of QB64PE:

The difficulty is this:
- An EXE file that has an SF2 font integrated into itself is already very suspect for viruses.
Imagine you take a SF2 font that has more than 100MB. And the generated program that you programmed only plays a MIDI of less than 5KB.
Then the EXE is 100MB in size for a simple MIDI file.
This is an inelegant and unprofessional solution.

- A better solution would be to be able to load an external sound font that is not integrated into the EXE file.

- In terms of programming, the following would be even better:
Load sound font via memory BUFFER or via an offset address. Then you can put the sound font in a self-created archive. QB64 already does this with MIDI files.

As an example:
Soundfont = LoadSoundfont("gm.sf2", 0, size)
or
Soundfont = LoadSoundfont("Archive.DAT", &H0400&, size)

So to speak, where is the soundfont in, from what position does it start and how big is the file.

So the sound font would not be part of the EXE, but external.

The EXE file should not be filled with superfluous. No resource data such as sound fonts should be included in an EXE.

You could definitely solve this across platforms.
Reply
#23
(09-03-2023, 02:36 AM)SagaraS Wrote:
(09-03-2023, 02:22 AM)SMcNeill Wrote: Can you share the gameover.mid file as well, so we can test and troubleshoot?
Found the problem.
You have to delete the two files soundfont.sf2 and soundfont.o from the subfolder qb64pe\internal\temp\

It doesn't do this automatically when the program starts
As soon as you use a smaller sf2 file, the soundfont.sf2 and soundfont.o file will remain.

Say always the larger file remains there. Since only the initial buffer is replaced in these files.

Totally stupid. You really have to delete it manually every time you want to use a different soundfont.
Issue pointed out here should now be fixed in the repo.
Reply
#24
The thing with "old Win95 games" was way back when the toys created by a certain company from Japan were the most desireable...

But today not everyone cares for that General MIDI soundset. From MusicTech Magazine based in the United Kingdom, I picked up a c. 256MiB Soundfont from Pinknoise Studio from Hungary (I hope I'm correct) which had better sounds IMHO. However some of the drum sounds sucked. At one point, that magazine was providing high-quality multisamples from Pinknoise Studio.

https://pinknoisestudio.com/

(Very shabby when there's a different company which web address differs by one letter.)

This cross-platform thing, more than likely is Fluidsynth. I had lost faith in Qsynth a long time ago because it cannot even detect multiple parts calling on the same Soundfont, to prevent it from loading the same Soundfont multiple times and therefore wasting RAM. In the past I used the Fluidsynth Soundfont player as native machine in Psycle, and as DSSI plug-in for 32-bit Ubuntu Studio. It was a bit better than loading Soundfonts into instrument plug-ins created with Synthedit. For a long time, Synthedit didn't support layered Soundfont patches. After stepping up from 32-bit and VST2 to 64-bit and VST3, even loading a plug-in for anything is bugged. The GUI elements have to come with the modules and everything else the plug-in needs.

I have an instrument created with Synthedit in 2009 which has four "oscillators", each one bearing a Soundfont as large as 170MiB! If the same Soundfont is loaded into all four "oscillators", the system cannot detect it. So it was better to use the smallest Soundfont available.

I was supposed to check out Fluidsynth in Csound but the CSD format "scripting" could be a pain. Have to import a MIDI file, or trigger it with a MIDI keyboard, or pretend to trigger MIDI by creating a MIDI note event. This is after the Soundfont is loaded and the bank and program are selected for it. This is not familiar to me or most people.

I also have OpenMPT, free software music tracker for Windows. It supports SF2 and DLS. It was the only way I could make use of DLS extra soundsets I got from buying Sony (earlier Sonic Foundry) ACID Pro. Sadly it could load one sound at a time into a sample slot, so it's a pain using it with layered patches.

These days I use Soundfonts only in LMMS music creation application.
Reply
#25
(09-03-2023, 09:30 PM)SMcNeill Wrote:
(09-03-2023, 02:36 AM)SagaraS Wrote:
(09-03-2023, 02:22 AM)SMcNeill Wrote: Can you share the gameover.mid file as well, so we can test and troubleshoot?
Found the problem.
You have to delete the two files soundfont.sf2 and soundfont.o from the subfolder qb64pe\internal\temp\

It doesn't do this automatically when the program starts
As soon as you use a smaller sf2 file, the soundfont.sf2 and soundfont.o file will remain.

Say always the larger file remains there. Since only the initial buffer is replaced in these files.

Totally stupid. You really have to delete it manually every time you want to use a different soundfont.
Issue pointed out here should now be fixed in the repo.

Awesome! Wow, that was fast! Smile

@SagaraS FYI
grymmjack (gj!)
GitHubYouTube | Soundcloud | 16colo.rs
Reply
#26
@mnrvovrfc Awesome! Pink Noise Studio - I bought their Renoise Refills back in the day they make some amazing sounds!

Was your SF2 file Proton?

Dude, you use SytnthEdit! Nice! I can share a bunch of EMU soundfonts with you if you like. I bought the old Soundfont CD from Walnut Creek and later the EMU stuff for now defunct Cakewalk Dimension PRO. I have a bunch of soundfonts if you're interested.

I also use a tool to cross-convert between library formats that you might like. It's quite good, and cheaper than Chicken Systems Translator, for example.
grymmjack (gj!)
GitHubYouTube | Soundcloud | 16colo.rs
Reply
#27
Synthedit stuff built around 2009 and earlier works great under Wine. Even the old one for Debian "Bullseye" and Ubuntu LTS "Focal Fossa". Heart

Some of the bigger synths require more messing around, especially in free programs like OpenMPT. Such as KX-SYNTH-X16, probably the greatest built with Synthedit IMHO. Must use v4 or earlier. OpenMPT does not support VST3 and its bit bridge sucks, refuses to show any GUI's, just forget about using 32-bit plugs in the 64-bit application. (I downloaded one just now called MOLOSS II. Just like the first one, the 64-bit edition has to be used, under Wine, even Wine v8 with Arch, Debian, Fedora, Slackware etc. The 32-bit edition causes an exception thrown trying to show the GUI. Cannot load presets as a result. But that doesn't play Soundfonts LOL.)

Another thing, cannot use anything built with Synthedit v1.4, doesn't matter the architecture, with certain free music software. It's because of the new style of putting everything in the same folder, ie. DLL, SEM's, picture elements and more. Saying that, I think I got the 32-bit TED Synth working but didn't show a GUI which I thought was strange for Synthedit. Sadly, Kushview Element can't be used with Wine at all at this time, even without plug-in hosting.

I used to build a bit but didn't have a lot of patience. Other people had already executed my ideas. The last synth I built was unstable, soon after my registered copy of Synthedit v1.1 and tried to use as many EVM modules as I could. :/

I was about to go into it again, picked up Polyphone program to create a Soundfont having only waveforms of 1024 samples each one but gave up. I don't have a lot of patience. (no-no)

Otherwise for Soundfonts I focused almost entirely on H.G.Fortune's synths. My first one was Protoplasm21 Free from MusicTech Magazine. I bought a bunch of stuff from him as well as the Big Wave Set, which were three Soundfonts of "The Best of the Best of the Soundbanks of HGF Synthesizer". LOL.

I had also used Phenom, I think it was called by "sonicfire" a.k.a. Prodyon. That might have been one of the best but it showed that Soundfont support outside E-Mu was never going to be complete. It supported layered programs but stuff like amplitude envelope and effects were left entirely at the mercy of synthesizer settings, not Soundfont settings.

Oh well but Fluidsynth is like that mostly. It's too bad Psycle is no longer being developed, there was never a Linux version and most of the native machines were buggy but the Fluidsynth one was a keeper.
Reply
#28
@SagaraS Good job figuring out the MCI stuff. It's been a long time since I've used it and all my code is buried in a zip folder somewhere. I completely forgot about coming back here to help out but I'm glad you were able to get it working.
Tread on those who tread on you

Reply




Users browsing this thread: 3 Guest(s)