SCREEN 0 MOD Player with Spectrum Analyzer
#11
Quote:"The people" might ask for the OPL simulation. Might not be difficult, just lame FM synthesis, right, but have to replicate that General MIDI soundset the best possible, not necessarily like Soundblaster Pro. I say this because OpenMPT didn't have OPL support in a long while, at least five years it had been "Open". Now I have revealed what is my favorite Windows app to run on Linux with Wine. [Image: heart.png]

I've been researching FM synthesis lately. There are plenty of FM-synth libs out there (DBOpl, Nuked, ymfm comes to mind). And yeah, S3M is an oddball. It supports FM instruments along with sample-based ones. It's a shame that LibXMP (the engine that we use internally in QB64-PE) does not support FM-synth for S3M files. If I get enough time, I'll might try to write an FM-synth in QB64 and then implement complete S3M support.

Quote:Warning: do not play back "black_queen.mod" in this program if you have a mentally-ill condition!

Big Grin
Reply
#12
Whoa. I had no idea s3m supported FM instruments! Did screamtracker??
grymmjack (gj!)
GitHubYouTube | Soundcloud | 16colo.rs
Reply
#13
(01-10-2023, 02:31 AM)grymmjack Wrote: Whoa. I had no idea s3m supported FM instruments! Did screamtracker??

Yes. Also Schism Tracker. Even though it's a little bit lame. In Schism, cannot save to Impulse Tracker module, however to save to S3M cannot have instruments. It's a bit frustrating but some sounds are pretty good and even better put through reverb, chorus and other audio effects.

OpenMPT could do OPL-type stuff too as S3M file but it's better to compose in that format for the FM sounds then export to wave, import those sounds into an MPTM module so you could use VST effects on the sounds. Smile

EDIT: actually could begin an MPTM project in the first place. Create an OPL "instrument" by going to the Sample tab and choosing "new sample" icon (looks like a bright sun). Choose "OPL instrument" from the radio buttons. Note that MPTM is not portable with other and older trackers and it was also meant to support VST2 plug-ins. I don't think it would support VST3 with "M6" around.
Reply
#14
Just want to say thanks for making this and providing the source. I'm studying the crap out of it, as it has things relevant to what I'm trying to do (but had no clue even where to start). It's not easy, so I'm trying to digest it bit by bit. The main challenge is isolating the relevant things from the other stuff - reducing it to the basics, as opposed to what is being done with them in this particular app. If I can get my head around the basics, I can start building up the software I have in my head from there.
Reply
#15
(05-12-2023, 05:22 PM)Roland_Beat_Boxer Wrote: Just want to say thanks for making this and providing the source. I'm studying the crap out of it, as it has things relevant to what I'm trying to do (but had no clue even where to start). It's not easy, so I'm trying to digest it bit by bit. The main challenge is isolating the relevant things from the other stuff - reducing it to the basics, as opposed to what is being done with them in this particular app. If I can get my head around the basics, I can start building up the software I have in my head from there.

You are welcome. I started writing this when I was just entering the QB64 scene. The code evolved into whatever it is today while I was learning how to use QB64. You can check the git commits to see what I mean.  Big Grin 

If I ever re-write it, it'll look different (probably better) than what it does today. I am planning to add some more features like STM, S3M, MTM support whenever I get some time. I'll try to refactor the code a bit while doing that.
Reply
#16
awesome!

where im at with my project is basically that I designed how it works over the last 15 years or so in my head, and more recently got a good ways into programming the gui (which is highly complex and challenging in this case for several reasons). It's hard to say if I'll ever get to the point where I can pull off the actual stuff that makes the program do stuff, so I made the gui with hooks into all the controls to keep it sort of separate. But I learn a little bit each time I try! Lol.
Reply
#17
This is a real treasure! I will try to study this source code (after finishing the current work), it is a very valuable source code. Thanks for sharing. It plays perfectly (with three-way speakers and an amplifier) Smile


Reply




Users browsing this thread: 1 Guest(s)