Now, there's still some way to go before this is finished, and I'm going to need Delek's help with the details of how he's chosen to implement the Vibrato and Channel Detune effects, since there are lots of different ways that he *could* have done it.

FYI, I've implemented a correction-factor for DefleMask's noise-too-loud/soft issue so that the ROM sounds like the .dmf does in DefleMask, rather than the .hes export where the drums sound too loud.

That seems to be an issue somewhere in DefleMask's use of Ootake internally, causing musicians to dial-up the volume of noise output, which then sounds too loud when played on real hardware, or in Mednafen.

Anyway ... here's the ROM (packed into a zip file because I can't upload a .pce HuCard ROM file) ...

If someone has contact with Delek, could you please direct him to this thread as soon as possible?I mean seriously, elmer's really on to something here, this is gonna enable us to use Deflemask to make music for real PC engine homebrews and demos! Get him on-board!

Glad you answered! It would be really great if you could contact elmer because he's in need of some help understanding how exactly Deflemask does certain things so that he can implement them into his sound driver, by the way, is there any way that this driver could be officially implemented into Deflemask?Also, there are a few things that could be changed/implemented into the PC engine such as fixing the white noise as pointed in this thread: http://www.deflemask.com/forum/general/about-noise-mode-on-the-pc-engine/Allowing for the notes below C#0 that the PC engine can play but aren't supported in Deflemask, and maybe adding a PC engine CD variation with the ADPCM channel as a 7th sound channel?Maybe I'm asking for too much, maybe you're too busy to do these things right now, but maybe, just maybe, you could get elmer to help you with some of these changes? I mean, both of us want Deflemask to be usable for PC engine homebrew, and I want to be able to get more out of the system with this tracker, if you guys could collaborate on this, it would make the lives of us PC engine musicians so much better!Thanks in advance for your attention...

It would be really great if you could contact elmer because he's in need of some help understanding how exactly Deflemask does certain things so that he can implement them into his sound driver

I *think* that I'm sort-of-OK at this point, now that I've looked at the .hes output and figured out basically how the detune and vibrato parameters effect the frequency/period settings of the hardware registers.

It's a bit of a PITA that I need to do a couple of multiplies in there, and implementing the detune is wreaking havoc on the code size, but it's coming along.

It would certainly be really nice to check out the code in Delek's built-in driver, just to make sure that I'm doing things in the same order, and that the math is the same.

I'd definitely like to find out why the vibrato *seems* to be unbalanced in the .hes output (+0.5 & -1.5 semi-tones in a distorted sine-wave).

Quote

Also, there are a few things that could be changed/implemented into the PC engine such as fixing the white noise as pointed in this thread: http://www.deflemask.com/forum/general/about-noise-mode-on-the-pc-engine/Allowing for the notes below C#0 that the PC engine can play but aren't supported in Deflemask, and maybe adding a PC engine CD variation with the ADPCM channel as a 7th sound channel?

These would be lovely, together with the Noise On/Off trigger in the Wave Macro, but I can see that Delek is very busy at the moment, so I'd be surprised (but happy) if he had time to look at them before the 12.1 release.

Some of those features (like the Wave Macro change) are already in Huzak, and some will be implemented as it continues to mature.

It would be really great if you could contact elmer because he's in need of some help understanding how exactly Deflemask does certain things so that he can implement them into his sound driver

I *think* that I'm sort-of-OK at this point, now that I've looked at the .hes output and figured out basically how the detune and vibrato parameters effect the frequency/period settings of the hardware registers.

OK Delek, I'm going to need your help with some information, after all.

I've got the detune and vibrato implemented, and the detune is really *close* to yours, but it's not *perfect*.

I'm multiplying the detune (basically +/-127) by the difference in period to the next note, and then dividing by 128, and adding that to the period.

OK, I tweaked my math a bit more for the Detune Effect, and ripped DefleMask's tone-2-period tables out and am using those now (they're off-by-one on a few tones compared to Hudson), and now I'm getting the same detune values as DefleMask (within the limits of testing).

I did make my Vibrato Effect behave almost identically to DefleMask's odd off-balanced sine-wave, but then I changed it back to a real sine-wave and just reduced the Vibrato Depth a bit in order keep the same depth, but avoid messing up my Vibrato Mode implementation.

As far as I can tell, it *sounds* the same as DefleMask, but the actual values are a bit different. There's a bit more room for differences in Vibrato than in Detune while keeping the same sound, so I'm happy with the result.

I'd post some ROMs, but since nobody had downloaded the last one, there doesn't seem much point.

Anyway, now it's on to implementing other effects.

Oh ... the driver currently peaks (worst-case) at 5-6% CPU usage, which means that we're on well on track for in-game usage. ;D

Sounds awesome. And yes, maybe the Defle vibrato have balanced issues on non FM based soundchips. I will check that out later.Btw, I need to document how my tracker parses the commands but is a FUCK TON of code. The good thing is that if I do this the amount of apps that uses the Defle engine will skyrocket maybe.

Which was a total PITA since DefleMask is NOT processing those in the way that I'd expect, but ... ho, hum.

The $07xy Tremolo effect is also working, but needs another hour or so of testing to confirm that the "range" is correct.

After this, it's just the $00xy Arpeggio, and $1701 Sample processing left to do.

Oh ... there are also the $12xx & $13xx hardware LFO effects, but since I've never seen anyone waste a channel to use those, they'll only be implemented if someone provides a useful .dmf example that actually needs them.

Oh ... there are also the $12xx & $13xx hardware LFO effects, but since I've never seen anyone waste a channel to use those, they'll only be implemented if someone provides a useful .dmf example that actually needs them.

EHHHHHHH.

Actually having tried to do something with the LFO it's pretty garbage. The effect is used in the last few patterns....

I've thought about covering Stab & Stomp! from Battle Garegga, and attempting to use the PCE's LFO effect to simulate that far warbling effect that comes in at around ~0:30 and again at around ~1:30

https://www.youtube.com/watch?v=Q01VRTyO5Yk

Not sure if it could/should be done with LFO, but I still might cover that song

That effect can't exactly be achieved with LFO, you see, the LFO works more like a vibrato, it doesn't modulate the waveforms like that...You could achieve a kinda-sorta similar effect with wave-phasing, or with some really extreme use of 2 out-of-phase vibrato channels, but the former would be your best bet and the easiest to accomplish...

I've thought about covering Stab & Stomp! from Battle Garegga, and attempting to use the PCE's LFO effect to simulate that far warbling effect that comes in at around ~0:30 and again at around ~1:30

https://www.youtube.com/watch?v=Q01VRTyO5Yk

Not sure if it could/should be done with LFO, but I still might cover that song

That effect can't exactly be achieved with LFO, you see, the LFO works more like a vibrato, it doesn't modulate the waveforms like that...You could achieve a kinda-sorta similar effect with wave-phasing, or with some really extreme use of 2 out-of-phase vibrato channels, but the former would be your best bet and the easiest to accomplish...

Yea, that's about the ONLY effect I've been able to get out of experimenting with the LFO feature is some vibrato... but I could always just use, you know... the actual vibrato effect haha.

Yea, that's about the ONLY effect I've been able to get out of experimenting with the LFO feature is some vibrato... but I could always just use, you know... the actual vibrato effect haha.

And that's exactly why the LFO is useless... Anything it can do, you can do even better with the Vibrato and Detune effects, while freeing up a channel at the same time! So just don't use the LFO, it's a waste of a channel...

The LFO isn't really that useful indeed because of software can just replicate it without losing a channel.

I attached a .dmf that shows what it does and it's not that special lol

Thanks!

Yeah, I don't think that there's any point in implementing that effect in Huzak.

You can use the Vibrato effect for a normal frequency-warble, and you can use manual Detune effects for a really-low-speed variation over time if that's what you want to do, both without sacrificing a channel.

Not much since Huzak was used to make the PCE ROMs for Michirin9801's last album.

https://michirin9801.bandcamp.com/album/best-of-michirin-vol-1

Working on that pointed out a few important bugs in Huzak that have been fixed, and now all of that album's PCE .dmf files (that don't use samples), play back fine with Huzak.

As does SpoonyBard's track that I converted, and a couple of Fragmare's tracks that don't use samples.

I still need to add arpeggio, retrigger and sample support to Huzak, but have taken a break from the tedious (and totally pointless waste-of-time) of reverse-engineering Delek's playback choices from .hes files.

It's on my list of things to get back to, but since there's only one homebrew project that currently needs it, and they don't need it *yet* ... I've been working on other higher-priority tasks.

P.S. I'm also kinda waiting to see what Delek does with v12.1, and whether it's going to implement the noise-mode switching in the Wave Macro that people have been asking for.

Appreciating the work you are doing here! Looking forward to making some PCE tunes with Defle.

I got half way though coding and cobbling together an OpenMPT > MML > HuSIC > Compiler workflow and gave up due to my early tests misinterpreting commands and additional tuning / timing issues. For a simple converter that just did note on / off with a similar sounding result to the preview, it worked for some of the note range - but anything beyond that just started getting too tricky. (Making a wav generator to create preview samples was fun though!)

If I get some time, I'll try and get you some additional DMF source files. (I only have a bunch of test phrases at this point).

I'm happy to do hardware testing for you if you need it (have 2 PC engines + flash card kit)

I got half way though coding and cobbling together an OpenMPT > MML > HuSIC > Compiler workflow and gave up due to my early tests misinterpreting commands and additional tuning / timing issues. For a simple converter that just did note on / off with a similar sounding result to the preview, it worked for some of the note range - but anything beyond that just started getting too tricky.

Ouch, that must have been an absolute monster to try to get working! I sympathize.

If Delek had actually released a C-code standalone .dmf player, then at-least people could have seen how he was processing his effects-chain, and a lot of the mind-numbingly tedious reverse-engineering and guessing could have been avoided, especially when it comes to things like the complex interactions between the Channel-Volume/Volume-Slide/Tremolo/Volume-Macro.

Quote

If I get some time, I'll try and get you some additional DMF source files. (I only have a bunch of test phrases at this point).

I'm happy to do hardware testing for you if you need it (have 2 PC engines + flash card kit)

More PCE .dmf files are always useful, thanks!

As for real hardware, thanks again, but I have plenty of it and Huzak seems to be working fine.

The most-important tests (from my POV) are having the people that create music in DefleMask actually try out Huzak, and point out if it sounds different to DefleMask (it generally shouldn't).

Although some of the things that DefleMask supports will never be usable in Huzak, because it's targeted for in-game usage, and can't afford the lunacy of things like 32KHz/22KHz/11KHz samples.

Even then, as people like Falcom (back in the day) and Michirin9801 (in the modern day) have shown, you don't need samples to make good drumkits and percussion on the PCE ... although (IMHO) Delek badly needs to add support for the Wave Macro Noise Switching capability that people are asking for, and also support the extra Noise Frequencies that the PCE hardware supports.

Hey Elmer, I made an account for the PC Engine forum, currently waiting on getting an active account.

Wanted to let you know I have a file that will probably put Huzak to the test.It does have PCM, but I am not interested in having the PCM converted; the PSG stuff is quite heavy enough I think.Here's a link to it. https://soundcloud.com/deltarazero/masked-byte

If you're interested, I'll hear that from you and I'll send the .dmf your way.

Wanted to let you know I have a file that will probably put Huzak to the test.It does have PCM, but I am not interested in having the PCM converted; the PSG stuff is quite heavy enough I think.Here's a link to it. https://soundcloud.com/deltarazero/masked-byte

If you're interested, I'll hear that from you and I'll send the .dmf your way.

Hi! Sorry I've been so quiet recently.

That tune sounds really nice, and I think that I can hear a few effects in there that will give me some new features to test. 8)

I'm not opposed to PCM ... but just dreading the amount of programming time-and-fiddling that it will take to have my DMF2HUZ program automatically convert the samples to 7KHz for playback, and then lay them out in a form that HuC won't choke on (since most of huzak's target modern PCE developers don't write in assembly).