Chat

Author Topic: Huzak - A DMF-based sound driver for PC Engine homebrew.  (Read 4373 times)

Offline Michirin9801

  • Full Member
  • Posts: 266
    • My YouTube Channel
Huzak - A DMF-based sound driver for PC Engine homebrew.
« Reply #15 on: February 26, 2017, 06:53:13 PM »
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...

Offline elmer

  • Newbie
  • Posts: 31
  • Delek FTW
Huzak - A DMF-based sound driver for PC Engine homebrew.
« Reply #16 on: March 05, 2017, 07:08:13 PM »
The $0Axy, $05xy, $06xy Volume Side effects are now working.  :D

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.

Well ... whoops, I was wrong about that, and I'd gotten the Tremolo totally wrong!  :o

After another many, many days of creating tests and staring at .hes output, I think that I've finally got all of DefleMask's "quirks" replicated when it comes to the Volume Slide and Tremolo effects.

There are some very strange things going on in there, some of which must surprise the heck out of musicians when they're making their tracks.

Anyway, to celebrate, here's the PCE ROM of Spoony Bard's Blood-Stained Lake.

Offline RazerBlue6

  • Newbie
  • Posts: 36
  • TurboGrafx16 supremacist
    • Twitter
    • Email
Huzak - A DMF-based sound driver for PC Engine homebrew.
« Reply #17 on: March 06, 2017, 08:54:09 AM »
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

Offline elmer

  • Newbie
  • Posts: 31
  • Delek FTW
Huzak - A DMF-based sound driver for PC Engine homebrew.
« Reply #18 on: March 07, 2017, 03:07:05 PM »
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.

Offline RazerBlue6

  • Newbie
  • Posts: 36
  • TurboGrafx16 supremacist
    • Twitter
    • Email
Huzak - A DMF-based sound driver for PC Engine homebrew.
« Reply #19 on: April 28, 2017, 11:04:38 AM »
Has there been any progress on this still?

Offline elmer

  • Newbie
  • Posts: 31
  • Delek FTW
Huzak - A DMF-based sound driver for PC Engine homebrew.
« Reply #20 on: April 28, 2017, 03:32:21 PM »
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.

Offline cTrix

  • Newbie
  • Posts: 2
    • ctrix.net
Huzak - A DMF-based sound driver for PC Engine homebrew.
« Reply #21 on: May 04, 2017, 03:10:25 PM »
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)

Offline elmer

  • Newbie
  • Posts: 31
  • Delek FTW
Huzak - A DMF-based sound driver for PC Engine homebrew.
« Reply #22 on: May 07, 2017, 06:58:06 PM »
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.

7KHz (which DefleMask doesn't support) is the "sane" game-usable sample-rate on the PCE, unless you're using the CD's ADPCM chip (which DefleMask also doesn't support).

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.

Offline RazerBlue6

  • Newbie
  • Posts: 36
  • TurboGrafx16 supremacist
    • Twitter
    • Email
Huzak - A DMF-based sound driver for PC Engine homebrew.
« Reply #23 on: October 08, 2017, 08:44:01 PM »
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.

Offline Delek

  • Salí para ver
  • Administrator
  • Hero Member
  • Posts: 1777
    • Delek's Website
    • Email
Huzak - A DMF-based sound driver for PC Engine homebrew.
« Reply #24 on: October 10, 2017, 07:35:55 PM »
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.
This is already working in the Develop version of the tracker. Will be released soon.

Offline Michirin9801

  • Full Member
  • Posts: 266
    • My YouTube Channel
Huzak - A DMF-based sound driver for PC Engine homebrew.
« Reply #25 on: October 11, 2017, 02:46:06 AM »
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.
This is already working in the Develop version of the tracker. Will be released soon.
Yay~ Looking forward to that!

Offline elmer

  • Newbie
  • Posts: 31
  • Delek FTW
Huzak - A DMF-based sound driver for PC Engine homebrew.
« Reply #26 on: October 27, 2017, 04:08:28 PM »
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).


This is already working in the Develop version of the tracker. Will be released soon.
That's absolutely excellent, thanks!  ;D

I really hope that you'll document how you've implemented those features so that I can make huzak compatible without spending too many hours staring at dumps of .hes files!