PCEngineFans.com - The PC Engine and TurboGrafx-16 Community Forum

Tech and Homebrew => Turbo/PCE Game/Tool Development => Topic started by: elmer on December 26, 2016, 07:45:55 AM

Title: Huzak - Yet another music driver
Post by: elmer on December 26, 2016, 07:45:55 AM
As I've said earlier, I've been converting my old music/effects driver over to the PC Engine.

Here's a PCE ROM with the first (reasonable) test result ...

https://www.dropbox.com/s/hu4vcerct79m1v7/huzak-navyseals-test1.pce?dl=0

The test song is from the Gameboy, so it's only 3-channel + drums ... and I didn't want to try to convert the old drum data over, so I just dropped the drum track and then doubled and detuned the other tracks to make everything else a bit more interesting.

The composition is limited by the square-wave channels and envelopes on the GB, but I'm pretty happy with the results as a 1st-test for the driver before enhancing it and getting into converting a tune that's specifically-designed for the PCE.

Programming-wise ... the driver is smaller than 2KB, and currently takes approx 5% CPU-time, and that's when changing the waveforms of all 6 channels in the same frame.

BTW ... I know that some folks don't appreciate quite so much arpeggio ... but tough, I love this track, and thought that Matty Cannon did a great job on the game music!  :wink:
Title: Re: Huzak - Yet another music driver
Post by: Bonknuts on December 26, 2016, 09:07:40 AM
Haha cool! Sometimes I hate the arpeggios.. sometimes I love the arpeggios. Sounds pretty decent here (in other words, it doesn't sound like Impossamole!). Love the name :D
Title: Re: Huzak - Yet another music driver
Post by: Michirin9801 on December 26, 2016, 09:39:12 AM
It's good to be able to listen to some custom-made music on the PC engine on an emulator for once... Pretty good! Not a big fan of arpeggios though, but these are not bad really... Keep it up! ^^
Title: Re: Huzak - Yet another music driver
Post by: SmokeMonster on December 26, 2016, 12:00:05 PM
I just listened to it and it sounds great. Well done Elmer.
Title: Re: Huzak - Yet another music driver
Post by: Arkhan on December 26, 2016, 03:26:38 PM
Hurray for new driver.

Gross for omfgwhyaretheresomanyarps.

Don't take this the wrong way, lol, it's just, the absence of that stuff is one of the reasons I love the PC Engine so much.

I don't have to hear arpaprarparpaprapraprpararparpaprapraprparparparaprparparpaprparpprparpaprp constantly.

I'd like to hear this song done in a more PCE style setup instead of the SID esque warbleystuff.

That stuff was originally put in due to the absence of enough channels to make chords.   We don't have to worry about that anymore.   

arps are always hit or miss.   There's not a middle ground.   Follin did OK with them usually.  Some other dudes needed to hit the nope button and just do some other effect instead, lol.

They're definitely a European thing.  You never hear them in Japanese game soundtracks really.   I can't recall any.


It's good to be able to listen to some custom-made music on the PC engine on an emulator for once... Pretty good! Not a big fan of arpeggios though, but these are not bad really... Keep it up! ^^

You can do that with Insanity and Atlantean, and the demo stuff in Squirrel.   

:D

Maybe I should release an Atlantean Sound Test ROM....

hmm.





Title: Re: Huzak - Yet another music driver
Post by: Michirin9801 on December 26, 2016, 03:45:54 PM
It's good to be able to listen to some custom-made music on the PC engine on an emulator for once... Pretty good! Not a big fan of arpeggios though, but these are not bad really... Keep it up! ^^

You can do that with Insanity and Atlantean, and the demo stuff in Squirrel.   

:D

Maybe I should release an Atlantean Sound Test ROM....

hmm.
Do you sell Atlantean as just a ROM or is it physical only?
Because you know, parallax scrolling on the PC engine (or any system with just one BG layer) makes me orgasm, and that game has a lot of it, but sadly I don't have a real PCE to play it on due to my general lack of disposable income...
Title: Re: Huzak - Yet another music driver
Post by: Arkhan on December 26, 2016, 04:19:03 PM
It's good to be able to listen to some custom-made music on the PC engine on an emulator for once... Pretty good! Not a big fan of arpeggios though, but these are not bad really... Keep it up! ^^


You can do that with Insanity and Atlantean, and the demo stuff in Squirrel.   

:D

Maybe I should release an Atlantean Sound Test ROM....

hmm.

Do you sell Atlantean as just a ROM or is it physical only?
Because you know, parallax scrolling on the PC engine (or any system with just one BG layer) makes me orgasm, and that game has a lot of it, but sadly I don't have a real PCE to play it on due to my general lack of disposable income...


I sell the ROM for 10$ and if you ever go to buy a real copy, I just subtract 10$ from that.   

There's also Santatlantean, which is free, and completely retarded.

http://www.aetherbyte.com/

and Reflectron!
Title: Re: Huzak - Yet another music driver
Post by: elmer on December 26, 2016, 04:30:19 PM
Love the name :D

"husic" was already taken, and as the old saying goes ... "if it's not music, it's musak!".  :wink:


Haha cool! Sometimes I hate the arpeggios.. sometimes I love the arpeggios. Sounds pretty decent here (in other words, it doesn't sound like Impossamole!).

It's good to be able to listen to some custom-made music on the PC engine on an emulator for once... Pretty good! Not a big fan of arpeggios though, but these are not bad really... Keep it up! ^^

I just listened to it and it sounds great. Well done Elmer.

Thanks, guys. Remember ... it's not my music data, I'm just the code-monkey that wrote the driver.

It's the musician that makes these things sound good ... and I have no idea at all, how-on-earth they do it!  :)


Gross for omfgwhyaretheresomanyarps.

Don't take this the wrong way, lol, it's just, the absence of that stuff is one of the reasons I love the PC Engine so much.

I don't have to hear arpaprarparpaprapraprpararparpaprapraprparparparaprparparpaprparpprparpaprp constantly.

Well, some of us are ancient enough to have grown up listening to things like this ...
https://www.youtube.com/watch?v=gY5rztWa1TM  :wink:

... and to remember both decimalization, and Britain entering the "Common Market" (way before the EU).

Oh ... and prog-rock and all of those other things that influenced the generation of English computer-game musicians that you have fond memories for.

And, "yes" ... it's rather out-of-place here on the PCE.

But darn, I still love that track!  :dance:

Again, it's just a proof-of-concept that the driver is basically working, and that song is my favorite among the ones that I have the source-data for.

Michirin9801's "Misty Blue" cover is the one that I really want to get working in order to read from deflemask files, and to add whatever enhancements are practically-needed to the driver.

Don't worry ... I suspect that nobody will ever use the arp-table capability again!  :lol:


Quote
I'd like to hear this song done in a more PCE style setup instead of the SID esque warbleystuff.

Me, too.

I'm not a musician, and I know that I've messed-up the sound balance with my crappy gameboy-emulation volume envelopes, and lack of decent waveforms, and terrible doubling-of-the-channels, etc.

It could be done so much better if someone wanted to.

I just suspect that nobody would be interested-enough to try.  :cry:
Title: Re: Huzak - Yet another music driver
Post by: Arkhan on December 26, 2016, 04:46:36 PM
I hope nobody really uses those kinds of arps, because to me they insult real arpeggiator usage (Baba O'Reilly)

or from more modern times, Hungry like the Wolf.     There, it's not to simulate chords in the presence of 3 channels.   It's there to be like "goddamn that's cool and fits the damn song".    :D

We sit and make fun of them in MSX land...and then people turn around and overuse them there too, lol.

It plays into the MSX vs. C64 warfare.  It's comical.   I've cracked up while driving, because shipping containers here are from some company called ARP.   

It's rare to find a track that uses them well, honestly.

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

This is one of the only ones I can think of that does something good with them.  They used them as upstroke sounding chords, and then a reasonably not-over-powering background noise.

Last Ninja did OK too.

I made a song that used them once just to see about them on PCE.

https://youtu.be/-0bfhixkIvg?t=91

It's in this goofy PSA I made like 5 years ago to show that you don't need CDs anymore.  lol.

I still find bits of that CD on the floor in the corner or something from time to time.

Title: Re: Huzak - Yet another music driver
Post by: Michirin9801 on December 26, 2016, 05:03:45 PM
Michirin9801's "Misty Blue" cover is the one that I really want to get working in order to read from deflemask files, and to add whatever enhancements are practically-needed to the driver.

Oh gosh, hearing that one in a proper rom would make me so happy!
(even happier if you can emulate this look)
http://orig01.deviantart.net/788d/f/2016/361/a/7/n_88_basic_by_michirin9801-dat4sjs.png

Some people love the chunky pixels and drab palette of the C64, what I love is the tall pixels and vibrant (if few) colours of the NEC PCs, and while the resolution might be a little off, I think you can do it with the 512 pixel mode on the PCE... Not saying you have to do it, but... Just a little suggestion ;3
You did an Amstrad CPC prompt for the Game Boy song after all...

Quote
I'd like to hear this song done in a more PCE style setup instead of the SID esque warbleystuff.


Me, too.

I'm not a musician, and I know that I've messed-up the sound balance with my crappy gameboy-emulation volume envelopes, and lack of decent waveforms, and terrible doubling-of-the-channels, etc.

It could be done so much better if someone wanted to.

I just suspect that nobody would be interested-enough to try.  :cry:


Well, I could TRY to do it, but I can't guarantee I'll actually finish it >w>
But hey, there's no harm in trying right?

It's rare to find a track that uses them well, honestly.

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

This is one of the only ones I can think of that does something good with them.  They used them as upstroke sounding chords, and then a reasonably not-over-powering background noise.

Last Ninja did OK too.

Bomberman '93!
https://www.youtube.com/watch?v=k9hahcxx4jk

What's good about this song is that it uses arps sparingly, and in this case I think that they actually enhance the song and I couldn't possibly imagine it with proper chords when these arps are that good!
But yeah, it really is rare to find good arps...
Title: Re: Huzak - Yet another music driver
Post by: Arkhan on December 26, 2016, 05:11:43 PM
Thank you for also stating that the C64 palette is drab.

It's hideous.   It rarely looks OK.   I can't comprehend people that try to honestly defend it as being beautiful.

Which arps do you mean in that BM93 song?  The "wurbleWarb!" noise between the verse/chorus?   Or do you mean the webrwerbwebrwerbwerbwerb noise that's going on in the verse?

Those arps are good either way because they aren't overpowering.

I go more for the MSX and it's overall lack of arps.

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

Microcabin did something majestic with FM + PSG that nobody has ever duplicated, and probably never will.
Title: Re: Huzak - Yet another music driver
Post by: Michirin9801 on December 26, 2016, 05:43:35 PM
Thank you for also stating that the C64 palette is drab.

It's hideous.   It rarely looks OK.   I can't comprehend people that try to honestly defend it as being beautiful.
I tried making some pixel art with the C64 palette to go with my first C64 cover, but I gave up because I just couldn't get it to look any good... Now don't get me wrong, some people can do beautiful works with the C64 palette, but I'm not one of them, I like vibrant and vivid colours!

Which arps do you mean in that BM93 song?  The "wurbleWarb!" noise between the verse/chorus?   Or do you mean the webrwerbwebrwerbwerbwerb noise that's going on in the verse?

Those arps are good either way because they aren't overpowering.
I mean both! They're both good and not overused!
The "webrwebrwebrwebr" noise that goes in the verse is just quiet enough that you have to be paying attention to even notice it, and the "wurbleWarb" just has a perfect wavetable to go with it so it sounds amazing~

I go more for the MSX and it's overall lack of arps.

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

Microcabin did something majestic with FM + PSG that nobody has ever duplicated, and probably never will.
Having an FM chip to go with it already goes a long way, the C64 is stuck with the SID, and as good as the SID can sound, 3 channels only is just WAY too limiting...
But if I'm not mistaken the MSX FM expansion chip is 2OP isn't it? Personally I feel 2OP FM is a little weak... It's good, and when used right it can sound amazing, but when it comes to FM I go for PC-88/98 and X68000 all the way...
https://www.youtube.com/watch?v=XTYD7PKN5M8
https://www.youtube.com/watch?v=dQ2qI7iXHPg
https://www.youtube.com/watch?v=B6BGK26t8iA
^and here's why (or at least a couple of the possibly thousands of examples)

Heck, using PMD and making PC-98 music is probably my biggest incentive to dabble into MML, even bigger than PC engine itself! (It also helps that HVR exports instruments to the PMD format)
All that said though, I still think the PCE sounds better than all of that >w>
(And that the Super Nintendo sounds better than real life xD)
Title: Re: Huzak - Yet another music driver
Post by: Arkhan on December 26, 2016, 05:46:57 PM
Its opl2, but paired with the psg, sounds great.  You can also add konami scc in and have an overload of sound.

Its great.

Sent from my D6708 using Tapatalk

Title: Re: Huzak - Yet another music driver
Post by: touko on December 26, 2016, 06:59:32 PM
Cool a new driver  :mrgreen: .
Excellent job,and how about the music size ??
Title: Re: Huzak - Yet another music driver
Post by: ccovell on December 26, 2016, 07:47:47 PM
A cool sound driver!  The Navy Seals soundtrack is also really good; the Amiga title screen song being one of the best.

They're definitely a European thing.  You never hear them in Japanese game soundtracks really.   I can't recall any.

Magical Chase rather famously and gloriously has arpeggios in a few tracks.  Listen and enjoy!
Title: Re: Huzak - Yet another music driver
Post by: Arkhan on December 26, 2016, 07:54:01 PM
Im not really a fan of magical chase in general lol.

But, it doesnt do that overblown arp onslaught, and i think thats probably the reason they arent annoying.

Sent from my D6708 using Tapatalk

Title: Re: Huzak - Yet another music driver
Post by: ccovell on December 26, 2016, 11:15:10 PM
Different strokes for different folks.  But anyway, I think the PCE is not so well suited for arpeggios as it is detuned pairs of channels.  Games that do that usually sound fantastic.
Title: Re: Huzak - Yet another music driver
Post by: Arkhan on December 26, 2016, 11:36:23 PM
Different strokes for different folks.  But anyway, I think the PCE is not so well suited for arpeggios as it is detuned pairs of channels.  Games that do that usually sound fantastic.

agreed.  I think the C64 really did well with arps because of the filtering.   Other machines that lack that ability never really sound as good.

I can recreate that stuff on my Roland pretty easily since it has a filter built in. 
Title: Re: Huzak - Yet another music driver
Post by: Bonknuts on December 27, 2016, 02:17:51 AM
Phasing + slides(and portamento to note) + sharp waveforms (saw) + vibrato = synthy sounding goodness on PCE. A.K.A. Legend of Xanadu I and Aldynes Stage 4 OST.

 Yeah.. when arps done wrong = shrill.

 elmer: is this what you mean by prog-rock?
Title: Re: Huzak - Yet another music driver
Post by: TailChao on December 27, 2016, 04:37:31 AM
Nice work so far, good to see more sound tools.

Different strokes for different folks.  But anyway, I think the PCE is not so well suited for arpeggios as it is detuned pairs of channels.  Games that do that usually sound fantastic.
Totally, and it has the channel count to pull this off well.

Oh ... and prog-rock and all of those other things that influenced the generation of English computer-game musicians that you have fond memories for.
Welcome back my friends to the show that never ends :D
Title: Re: Huzak - Yet another music driver
Post by: DarkKobold on December 27, 2016, 04:46:25 AM
I had to google arpeggio, and I'm still confused. If its just notes of a chord played in succession, how does that relate to a music driver? Don't you tell the music driver what to play? Couldn't it be any note?

Anyway, is this music driver something that will integrate with HuC, like Squirrel?
Title: Re: Huzak - Yet another music driver
Post by: spenoza on December 27, 2016, 05:09:31 AM
RIP Emerson and Lake. Only Palmer remains.

Also, heresy! Magical Chase is a Sakimoto classic!
Title: Re: Huzak - Yet another music driver
Post by: Michirin9801 on December 27, 2016, 06:16:39 AM
RIP Emerson and Lake. Only Palmer remains.

Also, heresy! Magical Chase is a Sakimoto classic!
Agreed! Magical Chase has one of my favourite soundtracks on the system, it literally does magic with the soundchip! (And with the grafx too, Dat Parallax Tho! 3 overlapping layers anyone?)
Although my favourite tracks are the ones without Arpeggios >w>
Title: Re: Huzak - Yet another music driver
Post by: elmer on December 27, 2016, 08:38:25 AM
I hope nobody really uses those kinds of arps, because to me they insult real arpeggiator usage (Baba O'Reilly)

or from more modern times, Hungry like the Wolf.     There, it's not to simulate chords in the presence of 3 channels.   It's there to be like "goddamn that's cool and fits the damn song".    :D

I could be wrong ... but I thought that their appearance on early monophonic hardware synths was specifically to allow chords to be played on the limited hardware ... pretty much in the same way as early computers with few PSG channels.  :-k

It was then that the musicians found more-interesting uses for them in creating cascading streams of notes faster than a human could hit the keys on a keyboard.  8)


It's rare to find a track that uses them well, honestly.

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

This is one of the only ones I can think of that does something good with them.  They used them as upstroke sounding chords, and then a reasonably not-over-powering background noise.

Yep, they're probably better-off when pushed back in the mix like that C64 tune.

I may have brought them too-far-forward with my quick-and-dirty Navy Seals translation, and my crappy gameboy-style envelope emulation doesn't help the sound.

I'm looking forward to implementing much better envelopes when I start importing deflemask data.


Michirin9801's "Misty Blue" cover is the one that I really want to get working in order to read from deflemask files, and to add whatever enhancements are practically-needed to the driver.

Oh gosh, hearing that one in a proper rom would make me so happy!
(even happier if you can emulate this look)
http://orig01.deviantart.net/788d/f/2016/361/a/7/n_88_basic_by_michirin9801-dat4sjs.png

The driver needs to be able to play deflemask tunes in order to be useful for homebrew ... I'm just lucky to have someone like you that is actually creating good music in deflemask that closely-resembles the way that pro-musicians put stuff together back-in-the-day (i.e. careful use of repeating patterns/sequences and no samples).

I don't know if I'll be able to *practically* recreate all of Delek's effect-processing, but I'll sure give it a try.  :wink:

Recreating the PC88 screen is easy, and might be fun for a laugh!


I just suspect that nobody would be interested-enough to try.  :cry:


Well, I could TRY to do it, but I can't guarantee I'll actually finish it >w>
But hey, there's no harm in trying right?

Your tunes show a love and passion for the originals ... don't feel like you have to play with the Navy Seals tune on my account, only do it if you actually like it.

The Amiga version is a very different take on the same tune, and more to some people's taste. The sampled pan-pipe is much better than the gameboy tone that I'm using on the PCE.

I have to admit that I'm curious if the PCE could make something closer to that sound in the hands of a skilled musician.


Excellent job,and how about the music size ??

Thanks!  :)

The tune data is a bit less than 3KB.


The Navy Seals soundtrack is also really good; the Amiga title screen song being one of the best.

The sampled pipes sound great ... but I actually find that version a bit "empty" sounding after the GB version.

It doesn't help that some of the notes sound a bit cut-off on the Amiga. I don't remember implementing release stages to the volume envelopes on that driver, because nobody asked for them, or asked for a note-off command to trigger them.

I could be wrong ... I'd have to check the source-code.


elmer: is this what you mean by prog-rock?
http://www.youtube.com/watch?v=ypNPxwnppU0

Yep, that's a good example. Very ELP.  :dance:


Nice work so far, good to see more sound tools.

It's a decent start ... but as you know yourself, it's all really about the tools that surround the driver so that the musician can actually create a good tune and get it in exported in a format that the driver can use.

Oh ... then there's getting the driver's effects-processing to reasonably-match the sound that the musician hears in the package that they use to create the tune.   ](*,)


Welcome back my friends to the show that never ends :D

Ahhhh ... ELP, good stuff! I'm really more of a Tull fan, though.  :wink:


I had to google arpeggio, and I'm still confused. If its just notes of a chord played in succession, how does that relate to a music driver? Don't you tell the music driver what to play? Couldn't it be any note?

Arpeggios in sound-drivers (or synthesizers) aren't produced by the musician pressing a different key for each individual note ... the musician just hits a base note/chord, and the driver/keyboard itself goes wild and starts spewing forth notes in a pattern that the musician defines.

The definition of that pattern, and how fast it plays, are "special effects" in the driver itself, and are not seen in the main song data.

See https://www.attackmagazine.com/technique/tutorials/an-introduction-to-arpeggiators/


Anyway, is this music driver something that will integrate with HuC, like Squirrel?

That's the idea.

It's why the interface between HuC's startup.asm and Squirrel has been abstracted out into a few macro calls in the new HuC, so that *any* different sound driver can just slot-in and be used with HuC, without having to change HuC's internal files.


Although my favourite tracks are the ones without Arpeggios >w>

Sacrilege!  :lol:
Title: Re: Huzak - Yet another music driver
Post by: Arkhan on December 27, 2016, 10:01:55 AM
I honestly can't think of any example of an old synth group using a monophonic synth's arpeggiator to produce the typical chiptune arp sound, unless you count Devo doing it to create shrill background noise.   

I'm sure there's probably some song or group who did it that I can't recall, but it definitely did not catch on, and wasn't the common usage of the arpeggiator on a synth. 

By the time good monophonic synths hit the market, there were already solid polyphonic synths if people wanted to play chords.  Shit, the one could be attached to C64s and programmed from there.   That was interesting. 

Now, I can think of countless examples of them using the arpeggiator like normal human beings to create bass riffs, fills, and other musical things, though.

arpeggio is a real musical term of playing the notes of a chord individually.  It's often referred to as raking, or sweeping because of the visual appearance of it while playing (on a stringed instrument).   It's generally used to create a nice, flowing part of a song.   All that fast paced shredding you hear in metal is often just a bunch of sweep arpeggios. 

synth groups like New Order used nicely placed arpeggiation in their songs (Bizzare Love Triangle has some good ones).  Or Kraftwerk, for nice, but weirder stuff.

https://www.youtube.com/watch?v=BnGGkluWtrE  those string sounds in the background around 2 minutes in use an arpeggiator on the synth, and they just hold chords down and let it go.

https://www.youtube.com/watch?v=IscClP8r4_g  lol, this song has them in the background during the intro/outro.   Imagine if they sped the rate up.  It wouldn't sound as nice.  The notes wouldn't be audible.   You lose the flowy-ness of it completely.

Here's a good example of synthesized arpeggios that sound good, and definitely aren't taking a backseat:
https://www.youtube.com/watch?v=jPGTAR3ODSE

And here's some guitar ones:
https://www.youtube.com/watch?v=zhpHKePY9O8

sidenote, too:  People *can* play the piano arpeggios that fast, but it requires concentration and 100% accuracy + timing, which isn't so easy when your other hand is doing something else on another keyboard, lol.   

"arp" or "arps" is a slang term applied to the "arpeggios" you hear in chiptunes.  While technically still "notes of a chord played individually", the rate at which they cycle is so fast it just creates that blurry noise, instead of a nice flowing arpeggio.   they're basically arpeggios by definition, not by execution

When used carefully, it'll be ok.   When used excessively, it just makes songs sound like total horseshit because it just sounds like a bunch of gremlins on motorcycles riding around in circles while jamming forks in blenders.

You never really hear this effect used in the same manner that you'd hear arpeggios in any other situation.   People who want them tend to just punch in arpeggios in a step-sequenced manner.

It's generally the first effect people fudge around with in a tracker, and it sounds reasonably nice, but then everyone gets excited and overdoes it.

That noise has effectively become the "chiptune" sound, now. 

gross.
Title: Re: Huzak - Yet another music driver
Post by: spenoza on December 27, 2016, 11:35:09 AM
Most chiptune arpeggios have more to n common with a trill.
Title: Re: Huzak - Yet another music driver
Post by: Arkhan on December 27, 2016, 11:47:52 AM
Most chiptune arpeggios have more to n common with a trill.

yeah.  pretty much. 
Title: Re: Huzak - Yet another music driver
Post by: esteban on December 28, 2016, 02:21:24 AM

...

I don't know if I'll be able to *practically* recreate all of Dalek's effect-processing, but I'll sure give it a try.  :wink:

Recreating the PC88 screen is easy, and might be fun for a laugh!

I *knew* it. It explains everything...


Title: Re: Huzak - Yet another music driver
Post by: TailChao on December 28, 2016, 08:24:34 AM
It's a decent start ... but as you know yourself, it's all really about the tools that surround the driver so that the musician can actually create a good tune and get it in exported in a format that the driver can use.

Oh ... then there's getting the driver's effects-processing to reasonably-match the sound that the musician hears in the package that they use to create the tune.   ](*,)
Yeah, although I do think you have the right idea by just going straight for Deflemask support. It's a good tool and the time saved from the composer's end will likely justify the investment.

Funny sound languages are outdated and I'm going to eventually have to part with my own (or hide it under several carpets).


Ahhhh ... ELP, good stuff! I'm really more of a Tull fan, though.  :wink:
Nothing wrong with that  :D
Title: Re: Huzak - Yet another music driver
Post by: elmer on December 29, 2016, 06:56:47 AM
Most chiptune arpeggios have more to n common with a trill.

That's actually a really nice way of describing the difference!  :)


I don't know if I'll be able to *practically* recreate all of Dalek's effect-processing, but I'll sure give it a try.  :wink:

I *knew* it. It explains everything...

Yep, deflemask is out to exterminate the competition!  :wink:


Yeah, although I do think you have the right idea by just going straight for Deflemask support. It's a good tool and the time saved from the composer's end will likely justify the investment.

Funny sound languages are outdated and I'm going to eventually have to part with my own (or hide it under several carpets).

Those old languages were the best that was practically available BITD, but the world has moved on.

We're just not getting a flood of musicians turning up with a desire to write MML in order to make a PCE chiptune.

As the saying goes ... 'If the mountain will not come to Muhammad, then Muhammad must go to the mountain'.  :pray:
Title: Re: Huzak - Yet another music driver
Post by: Arkhan on December 29, 2016, 07:23:19 AM
Were not really getting alot of musicians in the first place.

And, like ive said a few times now...

Mml is still being used for Mabinogi, often by like, 15 year olds.

¯(°_o)/¯

Sent from my D6708 using Tapatalk

Title: Re: Huzak - Yet another music driver
Post by: elmer on December 29, 2016, 08:24:10 AM
Were not really getting alot of musicians in the first place.

Yep, and that's a bit of a problem for those (few) folks here that want to create PCE homebrew.


Quote
And, like ive said a few times now...

Mml is still being used for Mabinogi, often by like, 15 year olds.

Absolutely ... in those countries where Mabinogi is actually still popular.

And are those 15 year olds then turning around and creating lots of MML music for the MSX or the PCE?  :-k


In the meantime, we have the appearance of deflemask, which despite its flaws, is being used by people like Michirin9801 and JIR-O and others to create PCE music right now, and we don't currently have a way to harness their creativity and passion to help PCE homebrew developers.

From my POV, it's just a question of how to solve the perceived problem of lack of musicians.

I can't force people to learn MML.
I can try to write something that allows them to use the tools that they know to create music that folks here can use.

BTW, I'm not trying to start a religious war ... I think that I've said this before ... there is very little difference between the data format that my driver is processing now, and the compiled-MML format that the System Card Player uses.

My driver currently uses 1-byte note (including octave), and 1-byte length in 1/60s increments, and it allows transposing segments of music data (what I called a "sequence", and what deflemask calls a "pattern").

The only difference with the System Card Player's data format (when it is used in "Direct" mode), is that it stores the note without an octave, and keeps that infomation in a separate place.

Not a huge difference in the basic data structure.

While I find it ugly, I'm not really against MML. I'm just not convinced that continuing down that path moves us forwards at all.

Folks can already use MML with Squirrel ... and if you desired to do so, then you should be able to modify Squirrel to spit out something that my driver could be changed to read, quite easily.
Title: Re: Huzak - Yet another music driver
Post by: Arkhan on December 29, 2016, 01:17:16 PM
Protip:  Mabinogi is popular in USA, and people like my high school dropout cousin dick around with MML in it, lol.

The downside is, most of the Mabinogi players don't really do any retro gaming at all.

You might not be trying to start a religious war.  It's just that you sort of constantly make remarks implying that MML is inadequate or obsolete, and it errs on the side of ignorance.   Doing this is precisely what people have been doing for a decade or more with regards to MML, and all it's done is perpetuate the ignorance, and cause people to run away screaming.     

While you and some others may not prefer it, this certainly doesn't mean it's obsolete or inadequate. 

One great perk to using MML is that it's sort of more portable.   I can move a song from MSX to PCE or back again pretty easily.   Or I can turn it back into a MIDI and make it sound like real instruments were involved.  This is a nice side effect.
Title: Re: Huzak - Yet another music driver
Post by: Gredler on December 29, 2016, 07:36:43 PM
As bad ass as MML and Squirrel can be, it really has been difficult finding someone who is a musician that is not only interested in retro games but is also technically proficient enough to create a specific midi that converts cleanly to mml that is then cleaned up for export through squirrel. I have found multiple friends who do deflemask, for whatever reason.

If only the rest of us were on the same level as you Arkhan, but most of us are not as much as I would like to be or have friends that could be. We're dumber than 15 year olds, sorry :(

Title: Huzak - Yet another music driver
Post by: esteban on December 29, 2016, 10:24:08 PM
Protip:  Mabinogi is popular in USA, and people like my high school dropout cousin dick around with MML in it, lol.

The downside is, most of the Mabinogi players don't really do any retro gaming at all.


Perfect. I look forward to hearing an album's worth of PSG songs from your cousin. I don't care* what genre of music it is, just guide him (so it sounds halfway decent on PCE). Tell him that constraints (PSG PCE) are actually an engine for creativity. He is not shackled. He will benefit from this. So will I.

Thank you, in advance, for agreeing to convert all of his music to PCE. :)

*Disclaimer: Naturally, there is no need to convert Rush/Pink Floyd covers. It'll be our secret.
Title: Re: Huzak - Yet another music driver
Post by: Arkhan on December 30, 2016, 07:38:18 PM
As bad ass as MML and Squirrel can be, it really has been difficult finding someone who is a musician that is not only interested in retro games but is also technically proficient enough to create a specific midi that converts cleanly to mml that is then cleaned up for export through squirrel. I have found multiple friends who do deflemask, for whatever reason.

If only the rest of us were on the same level as you Arkhan, but most of us are not as much as I would like to be or have friends that could be. We're dumber than 15 year olds, sorry :(



whoever you have that has issues with Squirrel, have them get in touch with me.   They might just be making one tiny stupid error
Title: Re: Huzak - Yet another music driver
Post by: elmer on January 01, 2017, 03:44:20 PM
You might not be trying to start a religious war.  It's just that you sort of constantly make remarks implying that MML is inadequate or obsolete, and it errs on the side of ignorance.   Doing this is precisely what people have been doing for a decade or more with regards to MML, and all it's done is perpetuate the ignorance, and cause people to run away screaming.     

While you and some others may not prefer it, this certainly doesn't mean it's obsolete or inadequate. 

I will happily admit to being ignorant when it comes to the actual creation of music, and the magic that goes on in a composer's head.

The recent thread about the musician in Japan who is still creating wonderful-sounding stuff with husic shows that, in the right hands, there's nothing inadequate about MML.

It's just another musical notation.


But ... looking purely at the process that's involved, I can only agree with TailChao ...

Funny sound languages are outdated and I'm going to eventually have to part with my own (or hide it under several carpets).


I tend to point out flaws in all sorts of things ... including my own work.

If you want some "balance", then I'm happy to start ragging on some of the things in deflemask, especially now that I'm getting further into exploring its data format, and how I can process it into something that I can use.

For instance, apart from the half-dozen times that deflemask has crashed while I've been poking around with it ... I got to ask ... why doesn't there seem to be any way to transpose sections of music/pattern data?

I thought that was supposed to be a common occurrence in music data.

Without that, I expect that the converted data will be considerably larger than I'd like.  :roll:
Title: Re: Huzak - Yet another music driver
Post by: Arkhan on January 01, 2017, 04:48:30 PM
transpose?  that's pretty easy in MML...  you just type like 2 characters.  lol


:)

I suspect that most of the issue with MML is that the people trying to use it are "musicians" in the sense that they can doodle around in a tracker, and play by ear, but the actual sheet music/theory portion of it has eluded them.

It's like when you find someone that kills it with a flute or something, but if you hand them sheet music they go "uh".

If you can't read sheet music, it seems that MML is extra effort.
Title: Re: Huzak - Yet another music driver
Post by: spenoza on January 02, 2017, 07:17:56 AM
I suspect that most of the issue with MML is that the people trying to use it are "musicians" in the sense that they can doodle around in a tracker, and play by ear, but the actual sheet music/theory portion of it has eluded them.

There's also the baggage of time. Various tracker software packages have been free for a while, whereas good DAW packages typically cost money, and not cheap money, and are a bit more complex and fully featured. For those with less proper musical experience, a more functionally limited and non-expert environment is more useful. Also, folks who actually know music AND are comfortable in DAW environments are likely doing something with music that's more interesting to them than composing tunes for the PCE and then dealing with the environmental limitations (waveforms and envelope shaping). It's the non-trained music hobbyists (maybe gamers first, hobbyist non-musician music crafters second) who will have more time or inclination to make PCE tunes.

So basically, Arkhan is backing MML, which is a better format for musicians, who are, annoyingly, less likely to be interested in our homebrew scene. Elmer is trying to accommodate the less professional tracker scene, which has a lot of hobbyist music makers (often without any education or training in music), but is maybe more likely to be coaxed into composing for a homebrew project.

Basically, Arkhan's a (talented) freak. He has some music training and education AND is interested in older technology. Elmer, I think, is a little more of a pragmatist on this front, and I suspect the direction he's going will be more helpful to homebrew developers who are not Arkhan and will need to rope in others to make music for them. But Elmer's approach would not be helpful to Arkhan for developing music for his own titles, so it's a wash. Both systems will work just great for their respective audiences, and having both present in our homebrew scene is the best solution, because it means that more people will be able to find tools better-suited to their own skills or available talent pools. Win-win!

I know if I were to try and get my wife (music therapist, so LOTS of traditional music education and experience) into composing PCE tracks, a tracker-based setup would be a complete bust for her. She would probably do better working in something that could give her MIDI to convert to MML, and thus Arkhan's music path. Trackers wouldn't suite her at all. And then I would have to work with her to craft proper waveforms and envelopes, because she's not a technologist.
Title: Re: Huzak - Yet another music driver
Post by: Arkhan on January 02, 2017, 10:21:35 AM
I dunno, there are free things:
https://routenote.com/blog/the-10-best-free-daws-available/


But, I can't tell how daunting they are to people.   I find that trackers are more hard to get into because to me they've never exactly been intuitive.   I hated using octamed on my Amiga as a kid.

I think a lot of it simply has to do with this strange chain of events everyone seems to follow.

1) I want to make a chiptune
2) This chiptune was made with a tracker.
3) What is a tracker
4) I found a tracker, time to get good at it
5) I got good at it.  It took awhile, and it was annoying.   I'll forget this detail.
6) What's an MML. 
7) No
8) DAWs are hard. I like trackers.

I think if you swapped parts 3 and 6, you'd get the same effect in reverse.

lol
Title: Re: Huzak - Yet another music driver
Post by: spenoza on January 02, 2017, 10:50:56 AM
Trackers seem to make an amazing amount of sense to non-musicians, and I'm not entirely sure why. It's like people who don't understand music just don't know what to do with a DAW at all. They go cross-eyed staring at it. But you put them in front of a tracker and they're happy to poke away at shit until they have an ear-bending mess. The world is a strange place.
Title: Re: Huzak - Yet another music driver
Post by: elmer on January 04, 2017, 12:16:48 PM
Basically, Arkhan's a (talented) freak. He has some music training and education AND is interested in older technology.

This is the problem, in a nutshell ...

1: You take the folks that learned to play sheet music at school, and who probably played in the band.
2: Take the few that actually still want to keep on playing when they're older.
3: Take the few of those that want to compose instead of just playing in their garage band or cover band.
4: Take the few of those that have a passion for old videogame consoles.
5: Take the few of those that have the technical skills to deal with the limitations of PSG chips.
6: Take the few of those that have the detailed technical desire to deal with waveforms and volume envelopes.
7: Take the few of those that are willing to enter those waveforms and envelopes in a very-specific format in a text editor.
8: Take the few of those that hang around in English-speaking forums that are interested in old consoles that failed badly in the commercial marketplace in the Western World, and are barely known.

... and you've got a very small pool of people to go to.


Both systems will work just great for their respective audiences, and having both present in our homebrew scene is the best solution, because it means that more people will be able to find tools better-suited to their own skills or available talent pools. Win-win!

That's the hope.


Trackers seem to make an amazing amount of sense to non-musicians, and I'm not entirely sure why. It's like people who don't understand music just don't know what to do with a DAW at all. They go cross-eyed staring at it. But you put them in front of a tracker and they're happy to poke away at shit until they have an ear-bending mess. The world is a strange place.

I suspect that it's like most creative-endeavors.

Getting *started* is often the hardest thing, and lowering that hurdle to make it as easy-as-possible to start creating a noise, no matter how horrible that noise is ... at least gives people some quick feedback that they start iterating on to improve it.

Trackers provide a simple-but-rigid framework that give folks somewhere to start.

I'm sure that it can/would feel like a straight-jacket to someone like Arkhan ... but for others, it would allow them to just jump right in.

At the end of the day, it's not the tool that makes the song, it's the musician.

I've heard horrible-sounding MML tracks, and I've heard horrible-sounding Deflemask tracks.

What is actually surprising to me, is that there are a couple of people out there, like Michirin9801 and JIR-O, that have created really excellent-sounding music within the limitations of the Deflemask sound engine, and have worked-out some really creative ways around those limitations.


**********************

For instance, apart from the half-dozen times that deflemask has crashed while I've been poking around with it ... I got to ask ... why doesn't there seem to be any way to transpose sections of music/pattern data?

I thought that was supposed to be a common occurrence in music data.

Without that, I expect that the converted data will be considerably larger than I'd like.  :roll:

I've done the 1st tests at converting deflemask pattern data into something semi-efficient that I'll be able to write out and have my sound driver process, and I'm quite happy with the results.

It's definitely bigger than the sort of hand-optimized compiled-MML-descendant that you'd have seen back-in-the-day, but with some careful encoding, it's not bad at all.

Michirin9801's "Misty Blue" cover is using approx 3.5KB of pattern data (for notes, effects and timing).

The largest track that I've seen so far uses approx 5KB of pattern data.

The total usage will get bigger as things like waveforms and effects-envelopes, and samples are added, but I don't see why a complex tune (excluding samples) shouldn't easily fit in less than 8KB.

I don't really see (yet) why the sound driver itself should get much larger than its current 2KB size ... but lets allow for 3KB in order to add the sample-playback code ... hmmm, maybe 4KB max if I add the code for the ADPCM chip in the CD hardware.

BTW ... the driver allows for a complete set of sound effect channels, with per-channel override, so when it's all done, it should be immediately-usable in a game.
Title: Re: Huzak - Yet another music driver
Post by: Gredler on January 04, 2017, 12:34:52 PM
I imagine it's the difference between using a pre-developed engine vs coding your own; modern pre-developed engines are full of limitations but the barrier to entry is very low.

whoever you have that has issues with Squirrel, have them get in touch with me.   They might just be making one tiny stupid error

The dude's so burned out on trying and keeps telling me we should be making it a mobile game with micro transactions. I don't have a friend who is interested in TG16 development, I was just trying to get a favor and convince them to do so.
Title: Re: Huzak - Yet another music driver
Post by: touko on January 04, 2017, 07:56:28 PM
I think the goal,is to have 2/3 drivers, you'll have just to include the desired one as you did with sgx or AC support .
Title: Re: Huzak - Yet another music driver
Post by: TailChao on January 05, 2017, 05:49:49 AM
At the end of the day, it's not the tool that makes the song, it's the musician.

This is a fairly important point which I don't see addressed much.

Creating a game soundtrack is already a significant time investment, making it within the limitations of old hardware can be worse. Sometimes it can be easier to split the job into composition and sound programming with some back and forth between both parties.

Really - it's not whether trackers, sound languages, or whatever driver is best that matters. Just use what works best for your group. You're all lucky enough to be working with a console with a CD upgrade and can just toss all these dumb requirements out the window anyway.
Title: Re: Huzak - Yet another music driver
Post by: Michirin9801 on January 05, 2017, 11:37:21 AM
If I may offer my own perspective (also, sorry for my absence in the last few days)
I don't have a whole lot of experience with music, just a little over 2 years of self-taught covering of whatever I can listen to on Hoot or JCOM-SPC, among others, and I started off with Musagi which is an amateur-friendly DAW (sort of), but I saw a lot of people using Famitracker to make music for the Nintendo, and to me the thing looked like a bloody mess, I mean, it's a spreadsheet with a bunch of numbers and letters, dafuq? How does that work? But then I've heard that the music they were making would run in real hardware (so long as they aren't using expansion chips) and that was like: Wow! I wish I could make music that would run in real hardware! But you know, I don't wanna make music for the Nintendo, everyone and their moms already do Nintendo, it's so overdone, I wanna do something more powerful, more capable, more sophisticate! I wanna do chiptunes for the 16 bit systems!
And then I discovered Deflemask, and again, I thought it was a mess, but after a friend of mine explained to me how it worked it simply clicked with me and I started doing music for the PC engine! And after I started using Deflemask I never went back to Musagi (well, I did once, but then never again)

I'm a bit of a lazy and impatient person, and I like immediate feedback, and with Deflemask I get that immediate feedback! The software may be really flawed, but it's really quick and easy to make something awesome-sounding in it! But as I've said before, I would attempt to learn MML if I had to, but PC engine music isn't really my main motivation to do MML, it's PC-98 music, I mean, I can already do PCE music in Deflemask, but the only way to make music for the PC-98 as far as I'm concerned is by using PMD, which requires MML, but even that I have a work-around for, which is to use 6 FM channels of the YM2151 and 1 ADPCM channel in Deflemask for custom samples, then I use the other ADPCM channels for the RSS, and 3 channels of the PCE doing only square waves and/or noise in another instance of Deflemask to simulate the SSG, and then I put the two together and voila! I have something pretty close to PC-98 sound! (Why not just use Genesis you ask? Because it just doesn't sound as good, I have to sacrifice 1 FM channel to get a really s***ty PCM and the SMS PSG can't go low enough in pitch)

Having to learn MML would require me to pretty much start over, I might do it if I have to, but I'm not in a hurry... But that's not all, having the knowledge of one tracker helps you work on pretty much any other tracker, after much stubborn hesitation I gave in and tried out Famitracker, but with two rules:
1 - Triangle bass is Forbidden! It's Sunsoft DPCM bass or nothing!
2 - No expansion chips, raw NES only!
And yeah, Famitracker is also pretty easy and fun to use! And then I tried OpenMPT, which is NOT easy and fun to use, but after a whole lot of tinkering with it I've managed to get it to control almost like Deflemask, it's close enough, but still really clunky in comparison... But hey! I can make Super Nintendo music with it! And it WILL run in real hardware! My dreams had come true~ (Well, some of them at least)
It's kinda like Fighting games you know? Some people think the button commands are a mess, but once it clicks with you they're a lot of fun and you don't wanna stop playing them, and the knowledge of one fighting game transfers into pretty much all others! (The good ones at least)

So what's the point of this wall of text? Well there's a few:
One: Me and a few other people are passionate retro-gamers and hobbyist musicians who want to hear their songs playing in real hardware, and maybe even in a real game, but can't be arsed to start over with a whole other method of making music than the ones they're used to just to go through with that desire...
Two: NINTENDO MUSIC IS OVERDONE! Do more PC engine and Super Nintendo music goddamnit! (Or at least do more DPCM bass!)
Three: I want an OPN/OPNA compatible tracker, but that's a matter for another forum entirely...
Title: Re: Huzak - Yet another music driver
Post by: Arkhan on January 05, 2017, 01:42:33 PM
So you sort of just confirmed what I said, lol.

Trackers were painful / weird to you in the beginning as well.   You had to have someone explain it, and show you it, on top of probably loading up other people's examples to figure out how the wall of text somehow equates to sounds. 

This is what a lot of people did, and now they like trackers by default.  They're popular by virtue of being the only real option. 

Oddly enough, I grew up on Octamed, Protracker, and then OpenMPT on Windows... and Impulse/Scream Tracker/FastTracker.     I'm pretty experienced with using them.    I just hate using them.   I used to sample crap on my Amiga500 all the time.   It was pretty janky, to be honest.   I liked this program called EMS on C64 way more, but nobody uses that anymore I don't think.   EMS 7 had a tight intro song.

https://www.youtube.com/watch?v=ch8ntVgcH4k   and the demo for 10 belts out some YMO, so that's cool.    The MSX YMO mix is better though...   https://www.youtube.com/watch?v=5YjYEJ9WHt4    :D 

I think the bit lots of people miss is that you don't really compose in MML.   It's a clunky, mental thing to try to do.   

You just translate your stuff over to it once you write a thing.   You don't realize it but you're sort of almost doing MML by punching crap into a tracker, to be honest.   The durations are changed into the space between notes.   If you turn your head sideways while doing MML, it's close to a tracker, lol.   You can translate (or convert) your tracker tunes to MML.    You'll probably have to redo slides/etc.. 

Here's an example of what I mean though:

Chimera for C64, the original song:
https://www.youtube.com/watch?v=w6Jxkyhtjdw

put onto the C64:
https://www.youtube.com/watch?v=RcfXbHLQyQQ

It wasn't composed on the C64.   It was just put there later.

This has become my preferred method, because I often find it easier to just compose a song on a keyboard or with a guitar.   I can imagine what I would want stuff to sound like, so then I just do the sound shaping once I've converted the actual song.

and it also means I can recycle the music.    Insanity's entire soundtrack exists as FruityLoops files.   I can barf the midi out to real synthesizers and drum machines, or, what I did at the time, was run the lead MIDI out into a real C64, and let fruity loops control a real C64 for the lead and bass sounds... and then the audio came back to the PC to record it and put it in the song. 

You get more options if you break into a piece of software designed for professional music.   Being able to create CD/chip music simultaneously is also a nice perk.   

This doesn't work for everyone though, since it requires knowing how to use music instruments (or punching notes in via a piano roll with the mouse).

You might enjoy trying it out sometime though, because it will give you the added benefit of accidentally picking up how to play a keyboard or something.    there's lots of free DAWs out there, and free VSTs that emulate a bunch of old machines.



Also, I agree that Nintendo music is overdone.  The word chiptune isn't even completely accurate anymore.   It's become slang for "NES/Gameboy wankmusic". 

That's what everyone does.   So, I am glad there are more people coming to TurboTown to make music.    I made sure to avoid creating music for all the Aetherbyte games that sounded like typical chiptune hoojoo nonsense.   

f*ck arps.
Title: Re: Huzak - Yet another music driver
Post by: esteban on January 05, 2017, 02:10:12 PM

...f*ck arps.



Unacceptable.
Title: Re: Huzak - Yet another music driver
Post by: Bonknuts on January 05, 2017, 02:12:36 PM
If I may offer ..

Please make this song for PCE
Title: Re: Huzak - Yet another music driver
Post by: Michirin9801 on January 05, 2017, 03:09:55 PM
So you sort of just confirmed what I said, lol.

Trackers were painful / weird to you in the beginning as well.   You had to have someone explain it, and show you it, on top of probably loading up other people's examples to figure out how the wall of text somehow equates to sounds. 
Well, kind of... The point I was kinda trying to make is that they look harder to use than they actually are, but once it clicks with you you don't wanna go back to other music-making methods because using a tracker is a lot easier, quicker and more fun!
Or at least I didn't want to go back to using Chip32 and C-700 with Musagi, it's really slow and clunky in comparison, it looks more intuitive, but there's a reason why I never went back to it...

That said though I don't have to use a DAW to make a MIDI when OpenMPT can export MIDIs! If I were to use the MIDI-to-MML alternative I'd just use OpenMPT, however I'd still have to learn how to clean up the MML so that it would sound the way I want it to sound, and then comes the part where I said I'm lazy, impatient, not in a hurry and like the immediate feedback that I get from a tracker, which is more of a 'Me' problem than an MML problem... Someday it will be nice to get into in order to make real PC-98 music, but for PC engine, I'm just glad that there's people like elmer making a sound engine that can actually put the stuff I can make right now to good use!

Now I completely understand and respect that you prefer to use DAWs and use MML to make real chiptunes, but a whole lot of people have grown accustomed to trackers, and I believe the reason why I like them is the reason why most of the other tracker-users do...

Also, I agree that Nintendo music is overdone.  The word chiptune isn't even completely accurate anymore.   It's become slang for "NES/Gameboy wankmusic". 

That's what everyone does.   So, I am glad there are more people coming to TurboTown to make music.    I made sure to avoid creating music for all the Aetherbyte games that sounded like typical chiptune hoojoo nonsense.   

f*ck arps.
Hooray! I'm not the only one o//
But still, Sunsoft's DPCM Bass is cool, it's the one thing that people don't do a lot on NES but should, and Game Boy is WAY better than NES because channel 3 does 4 bit wavetables instead of a bloody triangle, triangle makes for a terrible bass, but heck, you're better off putting the bass on one of the pulse channels and using the DAC to play the lead, that way you can make the GB sound less like a 'better NES' and more like a 'not-as-good PCE' which is high praise coming from me...
Title: Re: Huzak - Yet another music driver
Post by: Arkhan on January 05, 2017, 05:57:47 PM
I use Fruity Loops.   I settled on it after trying CuBase, Cakewalk, that other overrated piece of crap on Mac, and TMidity on Linux.   It's turned out to be one of the best things ever to use.

I assure you, in the end, this way is quicker and more intuitive than a tracker for making music.    It may not be for getting a chiptune once this Deflemask stuff gets going, but for the act of writing a song, these things tend to work better.    Huelsbeck and such aren't even trackering nowadays. 

There is a slight learning curve (like a tracker) where you have to learn what each menu does, but then you realize it's broken down like a real instrument's parts:

1) Step sequencer (pick your instruments)
2) Piano roll (slap notes in!)
3) Timeline (Put your patterns together)
4) Mixer (duh)

I looked up Musagi.   It looks like an eyesore designed by someone who doesn't know what contrast is.  I am sorry you had to use that.  It looks awful! 

and yep, you can definitely use OpenMPT to get midis.  4 songs from Insanity were old, old, old MOD files from Amiga that I made as a kid.  I opened them in OpenMPT and saved the MML out, lol.

This is what FruityLoops looks like, with an FM VST. 
(https://pbs.twimg.com/media/Cmv-YfHW8AE6lod.jpg:large)

I've never had great luck getting any of my VSTs to work with a tracker.  It sucks.  MilkyTracker and reNoise would just go retarded.

In theory, you could use 3MLE to write songs in MML with a piano roll.  It has an on-screen keyboard, and might do MIDI input. 

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

It's pretty straightforward.   It's a shame there's no PCE sounds with it, though.   It's all MIDI.   

Title: Re: Huzak - Yet another music driver
Post by: elmer on January 07, 2017, 05:22:42 AM
I use Fruity Loops.   I settled on it after trying CuBase, Cakewalk, that other overrated piece of crap on Mac, and TMidity on Linux.   It's turned out to be one of the best things ever to use.

I assure you, in the end, this way is quicker and more intuitive than a tracker for making music.    It may not be for getting a chiptune once this Deflemask stuff gets going, but for the act of writing a song, these things tend to work better.

Abso-frickin-lutely!

Modern tools are wonderful for creating real music, and for modern CD/DVD based consoles, or even for MIDI and sample-based sound drivers like the game-professional's choice ... FMOD (which has nothing to do with a tracker).


Quote
Huelsbeck and such aren't even trackering nowadays.

I might point out that they aren't creating MML music for 30-year-old consoles, either!  :wink:


Quote
In theory, you could use 3MLE to write songs in MML with a piano roll.  It has an on-screen keyboard, and might do MIDI input. 

...

It's pretty straightforward.   It's a shame there's no PCE sounds with it, though.   It's all MIDI.   

It seems to be the best-solution that's available if you want to create MML in something with a reasonably-modern interface. I've certainly not seen any mention of a better tool being available.

That could be a really good way to lay out your basic MML tracks.

But then what?

To actually get envelopes and waveforms and vibrato and glides and percussion and ... all the things that really go into making your basic note-sequence sound good on the PCE ...

... that will actually work with the System Card Player ...

... you've got to export from 3MLE into a text format, and add all of the extras by-hand into a text file, without being able to interactively preview it and modify it on-the-fly.

"Yes", it can be done that way, and it can be done well. It's definitely possible.

But who-on-earth would really *want* to do things that way, if they had another choice???


BTW ... deflemask does (apparently) support input from a MIDI keyboard.
Title: Re: Huzak - Yet another music driver
Post by: Michirin9801 on January 07, 2017, 06:18:52 AM
I've never had great luck getting any of my VSTs to work with a tracker.  It sucks.  MilkyTracker and reNoise would just go retarded.

In theory, you could use 3MLE to write songs in MML with a piano roll.  It has an on-screen keyboard, and might do MIDI input. 

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

It's pretty straightforward.   It's a shame there's no PCE sounds with it, though.   It's all MIDI.
I've also tried reNoise and yeah, it's awful...
But I don't need either reNoise or FL Studio because OpenMPT also supports VSTs! But the only VST I still use is C700, and I only use it to rip SNES samples, the VST can export the samples to the .xi format supported by OpenMPT, then I can just compose a song like normal with SNES samples... But if I wanted to I could also use MIDI instruments with OpenMPT (which I've done once) and export a MIDI file, and heck, I could just sample whatever wavetables I wanted from Deflemask and use them in OpenMPT to make PCE sounding stuff and export a MIDI of it to turn into MML! (Or use Chip32 which I'm honestly not a fan of)

I just think it's pointless for me to learn FL Studio or 3MLE to do the same things that I can already do on OpenMPT, as I said, if or when I go the MML route, I'll just use OpenMPT to compose whatever I need to compose...
Title: Re: Huzak - Yet another music driver
Post by: Arkhan on January 07, 2017, 09:28:37 PM
I've never had great luck getting any of my VSTs to work with a tracker.  It sucks.  MilkyTracker and reNoise would just go retarded.

In theory, you could use 3MLE to write songs in MML with a piano roll.  It has an on-screen keyboard, and might do MIDI input. 

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

It's pretty straightforward.   It's a shame there's no PCE sounds with it, though.   It's all MIDI.
I've also tried reNoise and yeah, it's awful...
But I don't need either reNoise or FL Studio because OpenMPT also supports VSTs! But the only VST I still use is C700, and I only use it to rip SNES samples, the VST can export the samples to the .xi format supported by OpenMPT, then I can just compose a song like normal with SNES samples... But if I wanted to I could also use MIDI instruments with OpenMPT (which I've done once) and export a MIDI file, and heck, I could just sample whatever wavetables I wanted from Deflemask and use them in OpenMPT to make PCE sounding stuff and export a MIDI of it to turn into MML! (Or use Chip32 which I'm honestly not a fan of)

I just think it's pointless for me to learn FL Studio or 3MLE to do the same things that I can already do on OpenMPT, as I said, if or when I go the MML route, I'll just use OpenMPT to compose whatever I need to compose...

Hmm, I never had fantastic luck with VSTs in OpenMPT, but I also haven't tried since maybe 2002 or so.  Some of them would just crash the software, or they sounded awful.   Also, the interfaces for them covered up the columns, which made that a bad time in the first place, lol.

My perspective about using a DAW stem more from assuming you might want to make music outside of the confines of the chiptune world.  Trackers are not exactly fantastic for that sort of thing. 



Abso-frickin-lutely!

Modern tools are wonderful for creating real music, and for modern CD/DVD based consoles, or even for MIDI and sample-based sound drivers like the game-professional's choice ... FMOD (which has nothing to do with a tracker).
Yeah, this is part of why I sort of went this route, as it also tends to be more comfortable since I can use things I was playing with anyways.



Quote
I might point out that they aren't creating MML music for 30-year-old consoles, either!  :wink:
Agreed, but, I can't say I see them going and dealing with trackers straight up these days.  If they had to go do chipstuff again, I would expect that they would compose elsewhere and import into Deflemask, or ProTracker, or whatever. 

Though, their musical backgrounds would make the conversion easier.



Quote
... you've got to export from 3MLE into a text format, and add all of the extras by-hand into a text file, without being able to interactively preview it and modify it on-the-fly.

"Yes", it can be done that way, and it can be done well. It's definitely possible.

But who-on-earth would really *want* to do things that way, if they had another choice???
3MLE files are already simple text files.  You can open a 3MLE file in Notepad and be presented with what you were looking at in 3MLE already.  This helps.  To go from 3MLE to Squirrel you just copy paste the text from 3MLE's template to Squirrels.  I've debated writing a utility to do it for people. 

But, for me, I've hotkey'd Geany to launch a "go.bat" file that rebuilds and launches the player so I can hear the song in it's current state.   It's hardly any slower than hitting play in a tracker, so the only thing you really lose is being able to smack at the waveform.

Honestly, it's minimally tedious to hear the parts of the songs I want to hear, and you tend to know if an envelope or waveform sucks balls by about the 3rd note anyways.   I'm constantly just changing values and pressing F5 and having it start blaring out of the headphones pretty quickly

Quote
BTW ... deflemask does (apparently) support input from a MIDI keyboard.


Is it any good at it?   I'm tempted to at least try it.  Usually, the midi input on a tracker is not so great.   You either get balls latency, or it just sucks.  Especially if you're doing the whole polyphony thing.
Title: Re: Huzak - Yet another music driver
Post by: DarkKobold on January 10, 2017, 09:11:23 AM
So, where is this at?
Title: Re: Huzak - Yet another music driver
Post by: Arkhan on January 10, 2017, 09:46:13 AM
So, where is this at?


In my pants.   
Title: Re: Huzak - Yet another music driver
Post by: elmer on January 10, 2017, 03:05:53 PM
So, where is this at?

It's going to be at least few months to get the driver solid, and playing back a decent subset of Deflemask's effects, or even longer if Delek decides not to help out with some information about his effect-processing.

And when the Xanadu dub starts and I'm needed again on that, then everthing else will be shelved until that's done. That project is my top-priority.

If you're really itching to get finished on Catastrophy, then IMHO your best option is to try to get Arkhan to do the tunes/sfx in Squirrel (running in the vblank), and then see if he can figure out how you can play those extra samples that you want.

If Arkhan doesn't have the time/interest, and you can wait a few months for sound, then this *will* get done to at-least a usable-if-not-perfect level. It isn't rocket-science, just finicky.
Title: Re: Huzak - Yet another music driver
Post by: elmer on January 10, 2017, 05:35:31 PM
Quick question for you music folks ...

What-on-earth do you guys *practically* use the row-speed effects commands 09xx and 0Fxx for in Deflemask?

I can see that fragmare used a regular pattern of alternating 0903/0902 settings to achieve a 260 BPM tempo ... ((225 BPM + 300 BPM) / 2)

But apart for a regular repeating pattern like that throughout a song, have you folks used, or seen them used, in any other fashion?

How about just for part of a song, or for a single row?

<edit>

The reason why I'm asking is that I'm considering just stripping them out of the pattern data, and using a repeating set of of 4 or 8 values, like the 2 (even/odd) now, but providing more granularity.

A set of 8 values would allow 1/60s changes in the length of a 1/4 note ... which seems about as fine a tempo control as we're going to get while still running the driver in the vblank every 1/60s.
Title: Re: Huzak - Yet another music driver
Post by: Arkhan on January 10, 2017, 11:58:11 PM
My guess is people would use it for strange and/or syncopated tempos, and that's about it.

Title: Re: Huzak - Yet another music driver
Post by: Michirin9801 on January 11, 2017, 12:03:51 AM
Quick question for you music folks ...

What-on-earth do you guys *practically* use the row-speed effects commands 09xx and 0Fxx for in Deflemask?

I can see that fragmare used a regular pattern of alternating 0903/0902 settings to achieve a 260 BPM tempo ... ((225 BPM + 300 BPM) / 2)

But apart for a regular repeating pattern like that throughout a song, have you folks used, or seen them used, in any other fashion?

How about just for part of a song, or for a single row?

<edit>

The reason why I'm asking is that I'm considering just stripping them out of the pattern data, and using a repeating set of of 4 or 8 values, like the 2 (even/odd) now, but providing more granularity.

A set of 8 values would allow 1/60s changes in the length of a 1/4 note ... which seems about as fine a tempo control as we're going to get while still running the driver in the vblank every 1/60s.

Well, we generally use it so that we can get different tempos than the ones supported natively in hardware without having to change the clock speed you know, but there are a few more uses to that, for example, one that I've used in one of my songs for my game's OST is the same one used in this song:
https://www.youtube.com/watch?v=vQZj71irgPE
around 00:10 you can hear a 'break' in the song's tempo for a short while, the way I've replicated that is that for half a pattern I've used 09xx to get a faster tempo, and then I broke the pattern and returned to the original tempo with the 09xx effect in the next pattern

I've also started using the patterns of 09xx and 0Fxx effects in order to get my desired tempos because I realised that changing the clock speeds to get my tempo isn't exactly gonna work in real hardware, especially not in a proper game, and changing the tempo this way is the next best thing...
Title: Re: Huzak - Yet another music driver
Post by: Arkhan on January 11, 2017, 12:09:02 AM
It might also be useful for sound effects, when someone starts bothering to use Deflemask for that.



Title: Re: Huzak - Yet another music driver
Post by: elmer on January 11, 2017, 04:43:29 AM
OK, thanks guys, those are useful answers, and I'll ask more questions later on, but first, perhaps I should go back and explain what my problem is ...

It's all a case of exactly *when* you change the row timing, and the interaction of that new timing with some of the effects commands, and especially, how to process things efficiently so that we're not paying an undue cost for something that rarely (if ever) happens.

The issue that I have, is that you can change the row speed, and that it effects the length of the exact row that you issue the new speed on.

So if you're on the 1st row in a pattern, and you change Speed1 (with effect 09xx), then that speed is used (or it appears to be used, to me) as the duration of that row.

You can set that effect *anywhere* in the row, which means that the driver will process some, or all, of the other channel's notes/effects before the row speed is changed.

The problem is that some effects commands (particularly Note Delay and Note Cut) need to know what the exact row speed *will* be, and they need to know it as soon as they're encountered during the notes/effects for that row.

Deflemask can get around this chicken-and-egg problem just by scanning the row first and setting the new row speed (if there is one) before processing any of the other notes/effects on the row.

We can't do that (practically) in a sound driver.

I need to decide how to work around that problem.

BTW ... the issue here is really with the "Note Delay" effect.

Is that effect even useful anymore, now that you can achieve so much with the Envelope/Arpeggio/Wave Macros? (Which AFAIK eliminate the need for the weird 1:7 timings that I've seen used).

FYI ... just ignoring that *one* effect would make all of my problems go away (the Note Cut *can* be processed a little-less efficiently, but still work).



One solution is to automatically create a separate invisible "timing" channel, and move all of the changes in row speed into that channel while converting the .dmf file.

It's a bit of a PITA, and will waste some memory for songs that don't change their timings, and cost a *little* bit of extra processing time ... but it has the advantage that it will work reliably, and keep the what-you-see-is-what-you-hear advantage that Deflemask offers.



The alternate solution, is to strip out the timing info, and have the driver use its own timing, for example, the 8 different row speeds that I suggested earlier.

The advantage here is that it is practically free to process, takes almost no extra memory, it gives you very fine-grained control over the tempo for a song, and that it makes changing the tempo *inside-the-game* very, very easy (for boss-rush tracks when the tune gets faster and faster).

But ... even though those 8 speed-settings could be initialized from the settings in the .dmf file when it is converted, you would lose the flexibility to change the row-speed at *any* time within the song data itself, and so you'd lose a bit of the what-you-see-is-what-you-hear advantage.



Now, as a programmer, I find the 2nd solution to be the most-elegant and efficient ... but I'm not the guy that makes the music.

What do you guys feel? Which alternative sounds better to you, and/or can you just live without "Note Delay"?  :-k

Or ... perhaps I'll just take a very long walk and *possibly* figure out a way to work around the problem.  ](*,)
Title: Re: Huzak - Yet another music driver
Post by: Gredler on January 11, 2017, 05:21:28 AM
So, where is this at?

DK I gotta request you to improve your bedside manner :P I think you mean "Is there an ETA on when the driver will be usable?" or something along the lines of a timetable if we should be trying to recruit a deflemask sound person now or is it far off to where it'd be too early to do that now (he and I have not talked, but I am assuming this is the case as we currently don't have any sound person who's committed to help)

If you're really itching to get finished on Catastrophy, then IMHO your best option is to try to get Arkhan to do the tunes/sfx in Squirrel (running in the vblank), and then see if he can figure out how you can play those extra samples that you want.

The last time DK and I spoke about Catastrophy we both agreed that we hope to finish at one point this year. Enthusiastically our prospects seemed more likely because of your help with making HuC more efficient and stable; and now this potential new pool of musicians to possibly recruit from would be the deal sealer that we have the ability to finish everything we want to do. As awesome as it would be to finish Catastrophy this year we do not have some obligation to do so (no kick starter/people waiting/funding/etc), and I sincerely doubt that this music driver would be the bottle neck - my pension for lagging and re-working my crappy art to look acceptable will much more likely delay the project than the lack of a musician; like you said if we needed this thing tomorrow I am sure Arkhan would be a champion and help us out.

To be honest, I would think it'd be great to see a homebrew with a third pillar in terms of sound style. I played Atlantian last night and that squirrel sound is so distinct to me now, it reminds me of how unique the various studio's games sounded, and made me hopeful that in a world with Squirrel Aetherbyte, and CD Henshin, it would be rad to have a Deflemaskedasstrophy :P


If Arkhan doesn't have the time/interest, and you can wait a few months for sound, then this *will* get done to at-least a usable-if-not-perfect level. It isn't rocket-science, just finicky.

Thanks dude, any deflemask HuC support will be better than none, juding by the community support of deflemask it should open the door to a lot of projects having musicians rather than fumbly passionate non-musicians trying to pack some sound into their projects (see: me :P )
Title: Re: Huzak - Yet another music driver
Post by: Michirin9801 on January 11, 2017, 07:08:51 AM
OK, thanks guys, those are useful answers, and I'll ask more questions later on, but first, perhaps I should go back and explain what my problem is ...

It's all a case of exactly *when* you change the row timing, and the interaction of that new timing with some of the effects commands, and especially, how to process things efficiently so that we're not paying an undue cost for something that rarely (if ever) happens.

The issue that I have, is that you can change the row speed, and that it effects the length of the exact row that you issue the new speed on.

So if you're on the 1st row in a pattern, and you change Speed1 (with effect 09xx), then that speed is used (or it appears to be used, to me) as the duration of that row.

You can set that effect *anywhere* in the row, which means that the driver will process some, or all, of the other channel's notes/effects before the row speed is changed.

The problem is that some effects commands (particularly Note Delay and Note Cut) need to know what the exact row speed *will* be, and they need to know it as soon as they're encountered during the notes/effects for that row.

Deflemask can get around this chicken-and-egg problem just by scanning the row first and setting the new row speed (if there is one) before processing any of the other notes/effects on the row.

We can't do that (practically) in a sound driver.

I need to decide how to work around that problem.

BTW ... the issue here is really with the "Note Delay" effect.

Is that effect even useful anymore, now that you can achieve so much with the Envelope/Arpeggio/Wave Macros? (Which AFAIK eliminate the need for the weird 1:7 timings that I've seen used).

FYI ... just ignoring that *one* effect would make all of my problems go away (the Note Cut *can* be processed a little-less efficiently, but still work).



One solution is to automatically create a separate invisible "timing" channel, and move all of the changes in row speed into that channel while converting the .dmf file.

It's a bit of a PITA, and will waste some memory for songs that don't change their timings, and cost a *little* bit of extra processing time ... but it has the advantage that it will work reliably, and keep the what-you-see-is-what-you-hear advantage that Deflemask offers.



The alternate solution, is to strip out the timing info, and have the driver use its own timing, for example, the 8 different row speeds that I suggested earlier.

The advantage here is that it is practically free to process, takes almost no extra memory, it gives you very fine-grained control over the tempo for a song, and that it makes changing the tempo *inside-the-game* very, very easy (for boss-rush tracks when the tune gets faster and faster).

But ... even though those 8 speed-settings could be initialized from the settings in the .dmf file when it is converted, you would lose the flexibility to change the row-speed at *any* time within the song data itself, and so you'd lose a bit of the what-you-see-is-what-you-hear advantage.



Now, as a programmer, I find the 2nd solution to be the most-elegant and efficient ... but I'm not the guy that makes the music.

What do you guys feel? Which alternative sounds better to you, and/or can you just live without "Note Delay"?  :-k

Or ... perhaps I'll just take a very long walk and *possibly* figure out a way to work around the problem.  ](*,)
The Note Delay effect (EDxx) works by, well, delaying the note by the number of ticks you set it to, say if your song plays at 3 ticks per row in both the even and odd rows, but you want a note in one row to play 2 ticks afterwards than it should, so that note would play in between the two rows, then you can set the effect to ED02 and voila! The note will play in between the two rows!
Its 'usefulness' is debatable as a work-around can be reached by using the 09xx and 0Fxx effects for the pattern that uses it, however I have used it in a couple of my songs and it does its job pretty well!
But its job is to give you more freedom of where to put your notes in the slower songs, and in order to work around that you'd have to do some pretty complicated tempo-changing and pattern breaking which is only gonna further clutter the patterns... That said though, its use is relatively rare...

Personally I feel that the "Invisible Timing Channel" alternative would be much easier to deal with on my end, but I could live with the 8 different row speeds alternative, as for the 09xx/0Fxx and the Note Delay effects, you're gonna have to pick one of the two to support, because dropping both would really limit what we can do...
Oh and, the Note Cut effect is a must-have, I use it constantly!

My suggestion is to look for these specific effects and give them priority in this order:
09xx > 0Fxx > EDxx > ECxx
And after checking if any one or more of these effects is in the row, you then check the notes and the other effects, because that way the driver would be sure to know how many ticks that particular row will last for, then would know to delay a note by a set amount of ticks, and then would know to cut that note that set amount of ticks later, and after it knew all of that it would actually go and play the notes!

But in the case you use the 8 different row speeds solution, maybe you could check the clock speed value in Deflemask to make an approximation of the speed you should use depending on what clock speed is used instead of actually changing the clock speed, that way the users would be able to use that to know what tempo their song would use and have more of an idea of what the song would sound like in your driver!
Title: Re: Huzak - Yet another music driver
Post by: elmer on January 11, 2017, 09:02:19 AM
Personally I feel that the "Invisible Timing Channel" alternative would be much easier to deal with on my end, but I could live with the 8 different row speeds alternative, as for the 09xx/0Fxx and the Note Delay effects, you're gonna have to pick one of the two to support, because dropping both would really limit what we can do...
Oh and, the Note Cut effect is a must-have, I use it constantly!

I don't want to remove any of the capabilities, unless I absolutely *have* to ... it would be both ugly, and rather spoil the point of using a pre-exisiting GUI tool like Deflemask in the first place.

Having said which ... there's definitely an "order" in which individual effects will be implemented, and some, like Global Fine Tune, Arpeggio (the effect, not the macro), and the LFO effects, all very low on my priority list.

Now, since you mentioned "Note Cut" ... can you tell me if it acts as a non-row-aligned Note OFF, or if it actually fades out the note over the time of the "Note Cut" length parameter?  :-k


My suggestion is to look for these specific effects and give them priority in this order:
09xx > 0Fxx > EDxx > ECxx
And after checking if any one or more of these effects is in the row, you then check the notes and the other effects, because that way the driver would be sure to know how many ticks that particular row will last for, then would know to delay a note by a set amount of ticks, and then would know to cut that note that set amount of ticks later, and after it knew all of that it would actually go and play the notes!

Hahaha ... yah ... well sure, I understand that that is the *behavior* that needs to be implemented, but it's rather more complicated than that in terms of converting the deflemask data efficiently, and making the driver actually run fast.  :wink:

I took that long walk, and have come up with a decent solution to the problem, but it still uses up a few more cycles of CPU time than I really like ... and that irks me.  :(


The root-cause of the problem is really one of whether you decide on exactly how many 1/60s increments every row & note takes when you actually convert the .dmf file on your PC, or whether you leave that until you are actually running on the PCE.

You've arrived here in the middle of a longer-running argument/debate ... and that's the question of how to practically achieve both different, and differing tempos in songs.

I think that we pretty much all agree (now) that songs can have different tempos from each other, or within a tune, just by changing how many 1/60s increments a 1/4 note lasts ... basically, in the case of Deflemask, by setting those row speed values when you create your tune.

The question then becomes ... how do you achieve differing tempos, i.e. a tempo that keeps on speeding up as the tune keeps on playing?

There are 2 ways to make that happen ...


One way is to actually make your tune speed up in Deflemask, just by copying patterns and changing the row speeds.

You end up with a longer tune in Deflemask that way, potentially *much* longer, but at least it is the musician that has complete control of when/how the tune speeds up.


The other way is to avoid using row-speed-effects in the tune at all, and give the game programmer some way to change those row-speed values inside the game, especially when the player does something ... like actually land a blow on the boss monster.

That's probably going to both sound and feel the best for the player ... but it's a bit of a PITA for the driver guy, because the exact timings of things like your Note Delay and Note Cut cannot be determined when the .dmf file is converted on the PC, so the driver itself has to know how to handle them at runtime ... and everything that the driver has to keep track of and decide at runtime adds extra processing cycles and memory usage for code.  ](*,)


The question is ... what do both musicians and developers really want (and everything is NOT an acceptible answer)?

It is *much* easier (for me) to make all of these timing decisions on the PC, when the tune is converted.
Title: Re: Huzak - Yet another music driver
Post by: Michirin9801 on January 11, 2017, 09:42:33 AM
Now, since you mentioned "Note Cut" ... can you tell me if it acts as a non-row-aligned Note OFF, or if it actually fades out the note over the time of the "Note Cut" length parameter?  :-k
It's a non-row-aligned Note OFF trigger, nothing more, but there is a fade out effect which is the 0Axx effect, but it's rubbish and I never use it, if I want to fade out a note I manually lower the volume of the channel in the volume column...
Using the Note Cut effect I can give the bass a little more punch by cutting it off on the very tick right before the next note on every note, it makes baselines on the PCE sound noticeably better ;3
I also use the Note Cut effect on various other instances like when I want to play the same note again in the lead or the harmonic support and make it more noticeable or more punch-y depending on what I want to do... It's a VERY useful effect ^^

I took that long walk, and have come up with a decent solution to the problem, but it still uses up a few more cycles of CPU time than I really like ... and that irks me.  :(


The root-cause of the problem is really one of whether you decide on exactly how many 1/60s increments every row & note takes when you actually convert the .dmf file on your PC, or whether you leave that until you are actually running on the PCE.

You've arrived here in the middle of a longer-running argument/debate ... and that's the question of how to practically achieve both different, and differing tempos in songs.

I think that we pretty much all agree (now) that songs can have different tempos from each other, or within a tune, just by changing how many 1/60s increments a 1/4 note lasts ... basically, in the case of Deflemask, by setting those row speed values when you create your tune.

The question then becomes ... how do you achieve differing tempos, i.e. a tempo that keeps on speeding up as the tune keeps on playing?

There are 2 ways to make that happen ...


One way is to actually make your tune speed up in Deflemask, just by copying patterns and changing the row speeds.

You end up with a longer tune in Deflemask that way, potentially *much* longer, but at least it is the musician that has complete control of when/how the tune speeds up.


The other way is to avoid using row-speed-effects in the tune at all, and give the game programmer some way to change those row-speed values inside the game, especially when the player does something ... like actually land a blow on the boss monster.

That's probably going to both sound and feel the best for the player ... but it's a bit of a PITA for the driver guy, because the exact timings of things like your Note Delay and Note Cut cannot be determined when the .dmf file is converted on the PC, so the driver itself has to know how to handle them at runtime ... and everything that the driver has to keep track of and decide at runtime adds extra processing cycles and memory usage for code.  ](*,)


The question is ... what do both musicians and developers really want (and everything is NOT an acceptible answer)?

It is *much* easier (for me) to make all of these timing decisions on the PC, when the tune is converted.

Umm... Now that you put it like that...
You know, I've only once needed to make a song that goes faster after a while, but it only increased its tempo once so just one extra pattern was enough to carry the effect over to the whole rest of the song, so I personally think that having the different tempos is what really is more important, but in the cases where the composer/programmer/team wants to have a song that has differing tempos, which I believe to be very specific, then maybe give them the option to ignore the row speed effects and let the programmer handle the song's tempo (I mean, if they really want the song to get faster or slower dynamically they might as well)

Of course this is just my own narrow perspective, maybe a ton of people do want differing tempos and I just don't see that? Well I know I pretty much don't need them, but I do need the different tempos...
Title: Re: Huzak - Yet another music driver
Post by: DarkKobold on January 11, 2017, 10:27:29 AM
So, where is this at?

DK I gotta request you to improve your bedside manner :P


Hah, I was trying to get things back on topic, rather than the endless MML debate that seemed to flood this thread. And yeah, I'm a bit rough around the edges.
Title: Re: Huzak - Yet another music driver
Post by: Arkhan on January 11, 2017, 11:20:15 AM
To be honest, I would think it'd be great to see a homebrew with a third pillar in terms of sound style. I played Atlantian last night and that squirrel sound is so distinct to me now, it reminds me of how unique the various studio's games sounded, and made me hopeful that in a world with Squirrel Aetherbyte, and CD Henshin, it would be rad to have a Deflemaskedasstrophy :P


Well, Squirrel only sounds like that because I'm basically the only one using it.  That's not Squirrel sound, that's just how stuff I write tends to sound, lol.

Other musicians will get different results.
Title: Re: Huzak - Yet another music driver
Post by: Gredler on January 11, 2017, 11:37:57 AM
Well, Squirrel only sounds like that because I'm basically the only one using it.  That's not Squirrel sound, that's just how stuff I write tends to sound, lol.

Other musicians will get different results.

Oh I don't doubt it. Cabbage has made some stuff for us that sound different than what you make, I was more referring that if we had to beg you to do music for us then it would sound similar to Atlantean
Title: Re: Huzak - Yet another music driver
Post by: Michirin9801 on January 11, 2017, 02:40:42 PM
To be honest, I would think it'd be great to see a homebrew with a third pillar in terms of sound style. I played Atlantian last night and that squirrel sound is so distinct to me now, it reminds me of how unique the various studio's games sounded, and made me hopeful that in a world with Squirrel Aetherbyte, and CD Henshin, it would be rad to have a Deflemaskedasstrophy :P


Well, Squirrel only sounds like that because I'm basically the only one using it.  That's not Squirrel sound, that's just how stuff I write tends to sound, lol.

Other musicians will get different results.
I'd also say that about Deflemask's PCE users, each one has pretty much their own style, some people make PCE music that just uses the system as an "NES on-steroids" (Which honestly, I disapprove) Others have a style closer to early Hudson but with samples, others can really take advantage of what the system can sound like, but with no regard for sound effects so a noticeable chunk of the song would have to be cut off to play SFX if used in a real game, as for me, I tend to cover a lot of Japanese Computer FM songs so I borrow my style a lot from them with my instruments, but I'm also always trying to get all the reverb that I can out of the system because SNES fan...
One thing that I really like to do, is whenever there's a repeating note progression (which happens a lot in the songs I like) or just one channel playing a new note on every other row, I can manage some single-channel delay/reverb by filling in the empty rows with whichever note came 3 rows before, but at a lower volume and panned slightly... To do that of course I have to constantly adjust the panning and the volume of the channel being used for that, but it works wonders and I free up a channel to do reverb on another instrument ;3
Do any other Deflemask users do that? I haven't seen a single one, the same way that there are things that they do that I don't... (Like use triangles, Half Pulses and Quarter Pulses, I only use those waveforms when absolutely needed)
Title: Re: Huzak - Yet another music driver
Post by: Arkhan on January 12, 2017, 01:28:51 AM
Well, Squirrel only sounds like that because I'm basically the only one using it.  That's not Squirrel sound, that's just how stuff I write tends to sound, lol.

Other musicians will get different results.

Oh I don't doubt it. Cabbage has made some stuff for us that sound different than what you make, I was more referring that if we had to beg you to do music for us then it would sound similar to Atlantean

Nah, I could switch it up and make it sound retarded to fit your game.

I mean this in a good way, lol.

Your game has like, a cat vacuum.    PCE chiptune thrash metalesque stuff doesn't really go well.

It needs something more dorky.   If you do need music, let me know.   I have to do Barbarian for Duderdudes, too.   I might get to the title of that tonight for them.

Title: Re: Huzak - Yet another music driver
Post by: Gredler on January 12, 2017, 06:38:06 AM
Nah, I could switch it up and make it sound retarded to fit your game.

I mean this in a good way, lol.

My brother and I used to volunteer coach floor hockey at the Special Olympics, and the hockey helmets back then from the 90's looked like megaman's catastrophy's helmet, so maybe there is a subconscious homage to those days - but retarded is kinda a harsh word I would say lol. It was a lot of fun and very rewarding; we would play in a mini tournament where the coaching staff of each team from around the country would play against each other - and it was fun and fast paced. After the tournaments the kids would ask for autographs and assumed we were professionals, it was very cute and heartwarming. Maybe we can do a Special Olympics fundraiser using catastrophy somehow some day :)

Your game has like, a cat vacuum.    PCE chiptune thrash metalesque stuff doesn't really go well.

It needs something more dorky.

If you think jazz is dorky then you're right :) Something more jazzy than metal

As much as I enjoy thrash metal, and if I were to ever make a game design myself it would either be hip-hop or metal themed / scored.

 I agree that it's not the fit for catastrophy and DK's already put the kibosh on that idea, as my first squirrel attempts were metal bass and drum lines, and the only song we have now is the one I made which is a very basic hip hop drum line my ignorant ass thinks :P

We will want to try to do Jazz standard songs if we don't have someone who wants to compose for the game; to give you an idea of what we had in mind would be something like SingSing:
https://www.youtube.com/watch?v=r2S1I_ien6A ("8 bit" vesion came up in earch, https://www.youtube.com/watch?v=rsXtkFEpm7A).

I tried to do Sweet Georgia Brown in squirrel using royalty free midis, and it was turning out like hot garbage before I gave up :P https://www.youtube.com/watch?v=0jE2g055zRA
Title: Re: Huzak - Yet another music driver
Post by: Arkhan on January 12, 2017, 06:50:04 AM
I can try to do something for you.   lol.

Jazz isn't my thing though really. 
Title: Re: Huzak - Yet another music driver
Post by: elmer on January 13, 2017, 04:25:47 PM
Now, since you mentioned "Note Cut" ... can you tell me if it acts as a non-row-aligned Note OFF, or if it actually fades out the note over the time of the "Note Cut" length parameter?  :-k
It's a non-row-aligned Note OFF trigger, nothing more, but there is a fade out effect which is the 0Axx effect, but it's rubbish and I never use it, if I want to fade out a note I manually lower the volume of the channel in the volume column...

Thanks!  :)

Yep, that's easy-enough to implement.

BTW ... the "issue", such-as-it-is (*was*, actually, since I figured-out how to do it semi-efficiently), is what to do if the Note Delay or Note Cut time is longer than the row speed.  :-k

Sure ... that *shouldn't* ever happen, but it *could*, especially if the game is speeding-up the tempo ... and so the driver needs to have code written to handle the possibility.

The deflemask manual states that both effects will be "ignored" if that happens ... but then doesn't state what "ignored" will actually sound like.  #-o

I've chosen to implement "Note Delay" so that if the delay is longer than the row speed, then the note will get triggered at the end of the row (and possibly be *immediately* overwritten, in the same update, by a note on the next row).

For the "Note Cut", I have the option of either triggering the "OFF" at the end of the row, or just leaving it to continue counting-down, or even just "ignoring" the Note Cut and throwing it away.

I don't know which choice would sound "best" to a musician.


**********************

The next question that I have is about those "Fixed Arpeggio" macros, that allow you to enter a note value of 0..99.

What is a "0" note in that macro? Is it deflemask's C#0?

What note value is 440Hz A (A3 in deflemask)?

BTW ... it's a bit annoying that Deflemask says that the PCE is limited to C#0..B6 and then allows you to enter higher octave values than that.  ](*,)

The PCE allows 4 notes lower than that, and a whole octave higher, too, but with a probably-unacceptable error drift on a couple of the note frequencies at the high end (i.e. the higher octave isn't worth it).


**********************

Quick update ... the converted .dmf data (including waveforms and instruments, but NOT samples) is now being spit out as a source file for the PCEAS assembler, and I'm working on rewriting bits of the huzak driver itself to handle the new data.  :D
Title: Re: Huzak - Yet another music driver
Post by: Michirin9801 on January 13, 2017, 04:50:36 PM
For the "Note Cut", I have the option of either triggering the "OFF" at the end of the row, or just leaving it to continue counting-down, or even just "ignoring" the Note Cut and throwing it away.

I don't know which choice would sound "best" to a musician.
I'd say do the former, if the musician put the note off effect in there, it's because they want that note to be cut, and would probably miss the note cut if it wasn't there...

The next question that I have is about those "Fixed Arpeggio" macros, that allow you to enter a note value of 0..99.

What is a "0" note in that macro? Is it deflemask's C#0?

What note value is 440Hz A (A3 in deflemask)?
I just went and checked, both the "0" and "1" notes in the fixed arpeggio are the same note: C#0.
A-3 is note 45.

BTW ... it's a bit annoying that Deflemask says that the PCE is limited to C#0..B6 and then allows you to enter higher octave values than that.  ](*,)

The PCE allows 4 notes lower than that, and a whole octave higher, too, but with a probably-unacceptable error drift on a couple of the note frequencies at the high end (i.e. the higher octave isn't worth it).
Considering how dead the Deflemask forum is at the moment, I doubt asking about it will do anything... He's yet to even answer to the suggestions I've made aeons ago...

Quick update ... the converted .dmf data (including waveforms and instruments, but NOT samples) is now being spit out as a source file for the PCEAS assembler, and I'm working on rewriting bits of the huzak driver itself to handle the new data.  :D

Hooray~!!
Oh, don't worry about samples right now, first get the thing up and running! I can't wait to hear the results ^^
Title: Re: Huzak - Yet another music driver
Post by: elmer on January 17, 2017, 11:26:08 AM
Oh, don't worry about samples right now, first get the thing up and running! I can't wait to hear the results

Getting there!

May I just take the opportunity to say that Deflemask's .hes export if full of totally-redundant register writes! Arrggghhh!!!  #-o


Anyway here's the current work-in-progress HuCard image ...

http://www.dropbox.com/s/rikzc643iafmpkr/Huzak1stWIP.pce?dl=0


I think that it shows that there's been at least a little progress.  :-k
Title: Re: Huzak - Yet another music driver
Post by: Michirin9801 on January 17, 2017, 12:30:36 PM
Oh, don't worry about samples right now, first get the thing up and running! I can't wait to hear the results

Getting there!

May I just take the opportunity to say that Deflemask's .hes export if full of totally-redundant register writes! Arrggghhh!!!  #-o


Anyway here's the current work-in-progress HuCard image ...

http://www.dropbox.com/s/rikzc643iafmpkr/Huzak1stWIP.pce?dl=0


I think that it shows that there's been at least a little progress.  :-k

Hooray~!!
This is great! I'm so glad to be able to hear my cover being used on a proper Rom ^^
The only thing that's missing from what I can hear is the note slide effect (03xx) and other than that, the only issue is that the Noise mode is noticeably louder in here than it is in Deflemask, but the same thing happens in Deflemask's own .hes exports so I'm sure this is a Deflemask problem and not a Huzak problem...

Great job mate! Keep it up ^^
Title: Re: Huzak - Yet another music driver
Post by: ccovell on January 17, 2017, 12:35:45 PM
Sounds great!

Will your final ROMs/binaries be in a format that can be easily INCBINed and JSRed to from inside of a demo? :)
Title: Re: Huzak - Yet another music driver
Post by: elmer on January 17, 2017, 02:37:22 PM
Great job mate! Keep it up ^^

Thanks!   :D


Quote
The only thing that's missing from what I can hear is the note slide effect (03xx) and other than that, the only issue is that the Noise mode is noticeably louder in here than it is in Deflemask, but the same thing happens in Deflemask's own .hes exports so I'm sure this is a Deflemask problem and not a Huzak problem...

Yep ... the Portamento Effects ($01xx, $02xx & $03xx) are the next things to implement.  :wink:

Misty Blue uses both "Portamento Down" and "Porta to Note".

The difference between the drums in Deflemask and Huzak was driving me nuts ... and then I checked the .hes and found that I was writing exactly the same values to the PSG registers.

I've been using Mednafen for long enough now that I completely trust its emulation ... so I *suspect* that it's a problem with the Ootake emulator that Delek is using inside Deflemask.

I've seen that the problem has been talked about on the Deflemask forums for a while now.

I might try putting in some code to decrease the volume when the noise is enabled.

That would be *nasty* ... but it might be good-enough for a while until a proper fix can be found, or until we find out that something else is causing the problem.


Will your final ROMs/binaries be in a format that can be easily INCBINed and JSRed to from inside of a demo? :)

I'd kinda rather not output the song data as a binary, if I can avoid it.  :-k

The whole idea is to have a toolchain that *developers* can use.

The PCE ROM is just a testbed that I hope to keep improving on so that a musician can hear how things will sound in the game.

The driver itself is completely separate.

There are just a simple functions to hook into your game's own handlers, effectively just ...

KillAllSound()
PlayTune()/KillTune()
PlaySfx()

UpdateAt60Hz()


The converter spits out a source file with some predefined table names that the driver is looking for.

Here's the page on the Deflemask forum where you can download Michirin9801's original .dmf file ...

http://www.deflemask.com/forum/show-off-your-work/cover-game-music-on-a-different-system/msg4232/#msg4232


And here's the converted output for the Misty Blue track ...

http://www.dropbox.com/s/d7l8j7wdceaaof6/MistyBlueOpening.s?dl=0


As a programmer, you'll see that the structure is pretty simple.

The only real complexity is in the encoding of the pattern data, and that's a simple bytestream with the following coding ...

Code: [Select]
; Huzak Notes ($00..$57)
;
; Note equates (PC Engine, 440Hz = A4).
;
; HK_CMD_C4 = MIDI note #60 for A440 tuning.
;
; Deflemask displays notes 1 octave lower (440Hz = A3).

HK_CMD_A0 .equ $00 ; T (+0) 0x00..0x57
..
HK_CMD_C1 .equ $03
..
HK_CMD_C8 .equ $57

; Huzak Commands (with data parameter, if needed)

HK_CMD_END .equ $58 ; . (+0) End-of-Pattern
HK_CMD_PAG .equ $59 ; . (+0) Span a 256-byte page offset
HK_CMD_BRK .equ $5A ; . (+0) Pattern Break
HK_CMD_JMP .equ $5B ; . (+1) Set next Matrix Row
HK_CMD_SP0 .equ $5C ; . (+1) Set Even Row Speed
HK_CMD_SP0_TIE .equ $5D ; T (+1) Set Even Row Speed + TIE
HK_CMD_SP1 .equ $5E ; . (+1) Set Odd Row Speed
HK_CMD_SP1_TIE .equ $5F ; T (+1) Set Odd Row Speed + TIE

HK_CMD_PSG .equ $60 ; . (+0) Sample Mode Off
HK_CMD_PCM .equ $61 ; . (+0) Sample Mode On
HK_CMD_NZ0 .equ $62 ; . (+0) Noise Mode Off
HK_CMD_NZ1 .equ $63 ; . (+0) Noise Mode On

HK_CMD_BNK .equ $64 ; . (+1) Select Sample Bank
HK_CMD_INS .equ $65 ; . (+1) Select Instrument
HK_CMD_TIE .equ $66 ; T (+0) Note Tie
HK_CMD_OFF .equ $67 ; T (+0) Note Off

HK_CMD_CDT .equ $68 ; . (+1) Channel Detune
HK_CMD_DEL .equ $69 ; T (+1) Note Delay
HK_CMD_CUT .equ $6A ; . (+1) Note Cut
HK_CMD_CUT_TIE .equ $6B ; T (+1) Note Cut + TIE

HK_CMD_PAN .equ $6C ; . (+1) Set Panning
HK_CMD_PAN_TIE .equ $6D ; T (+1) Set Panning + TIE
HK_CMD_PFF .equ $6E ; . (+0) Set Panning to $FF
HK_CMD_PEE .equ $6F ; . (+0) Set Panning to $EE

HK_CMD_GLI .equ $70 ; . (+1) Volume Slide/Glide
HK_CMD_GLI_VIB .equ $71 ; . (+1) Volume Slide/Glide + Vibrato

HK_CMD_VIB .equ $72 ; . (+1) Vibrato
HK_CMD_PUP .equ $73 ; . (+1) Portamento Up
HK_CMD_PDN .equ $74 ; . (+1) Portamento Down
HK_CMD_PTN .equ $75 ; . (+1) Portamento to Note

; Huzak Commands (with embedded data value)
;
; LEN & WAV both use an embedded value of 0 to signal that the
; true value is in the next byte.

HK_CMD_LEN .equ $80 ; . (+V) $80..$9F Event length (in rows)
HK_CMD_VOL .equ $A0 ; . (+0) $A0..$BF Channel Volume
HK_CMD_WAV .equ $C0 ; . (+V) $C0..$FF Select Wavetable
Title: Re: Huzak - Yet another music driver
Post by: Michirin9801 on January 17, 2017, 03:53:32 PM
Great job mate! Keep it up ^^

Thanks!   :D

No problem ^^

And here's the converted output for the Misty Blue track ...

http://www.dropbox.com/s/d7l8j7wdceaaof6/MistyBlueOpening.s?dl=0

That link was for an outdated version, but I've just updated it with the current version so no worries now ^^

Also, I appreciate your solution for the noise mode's volume, but I've also been taking it into account in the songs I've been making lately! I'm currently covering the Asuka 120% Burning Fest soundtrack on the PCE, all of them with the noise volume in mind...
But still, I'm not the only one who's gonna be making songs for this driver, and the others might not know about the noise volume issue, so I do encourage you to implement this change, at least while the issue persists, as for me, it's all a matter of cranking the volume of the noise mode back up in the DMFs, so no biggy... Keep it up! ^^
Title: Re: Huzak - Yet another music driver
Post by: DarkKobold on January 17, 2017, 04:06:12 PM
Will your final ROMs/binaries be in a format that can be easily INCBINed and JSRed to from inside of a demo? :)
I'd kinda rather not output the song data as a binary, if I can avoid it.  :-k

The whole idea is to have a toolchain that *developers* can use.



Hey elmer, I'm having a real hard time following this. (Hell, I've been lost since this whole music issue came to light, so nothing new. :D ) How would you see someone include a delfmask song, or a 5bit sample in their code, if its not an 'include' statement?
Title: Re: Huzak - Yet another music driver
Post by: elmer on January 18, 2017, 04:44:52 AM
How would you see someone include a delfmask song, or a 5bit sample in their code, if its not an 'include' statement?

You'd do an assembly-language-source ".include", rather than a ".incbin" or a HuC "#incbin".

It's more like a HuC "#include", but for assembly-language source.

Wrapping it all up into something that you guys can use on Catastrophy may well require moving to some binary format so that you can switch which banks hold the tune and sound-effects data for each level.

I suspect that the current data format (without banking) is going to be limited to 2 or 3 tunes (there is maximum of 255 "patterns").
Title: Re: Huzak - Yet another music driver
Post by: elmer on January 21, 2017, 01:36:22 PM
That link was for an outdated version, but I've just updated it with the current version so no worries now ^^

Also, I appreciate your solution for the noise mode's volume, but I've also been taking it into account in the songs I've been making lately! I'm currently covering the Asuka 120% Burning Fest soundtrack on the PCE, all of them with the noise volume in mind...

Thanks for the updated version ... I love it!  :D

If I'm not misreading things, you actually moved a whole bunch of stuff around between channels ... or perhaps I'm just having another "senior moment".  :-k

I really appreciate that you're trying to compensate for the difference, but I really, really, really hope that we can come up with a better solution so that "what you hear is what you get".

I hope that Delek will fix the volume issue, or just start using Mednafen as the base for the PCE emulation, and so there won't be a need for a nasty hack in the future ... sometime.  :pray:

In the meantime, here's the latest version of huzak, with all of the Portamento effects implemented ($01xx, $02xx, $03xx, $E1xy, $E2xy).

I've also implemented the hack to change the volume on any channels that are in "noise" mode, and have included a bunch of different HuCard ROMs with different settings.

Michirin9801: Can you please try these different ROMs and let me know what the proper volume-reduction is?

I've included 5 versions of Misty Blue, with reductions ranging from -1 to -5.

I *think* that the correct setting is either -2 or -3, but I don't trust my ears enough to make the call myself ... so I'm going to have to rely on your superior knowledge of your own track.  :wink:


At this point, once we've got that "correction" sorted-out, I'm *thinking* that "Misty Blue" is playing correctly in Huzak. If anyone can hear a problem ... I'd love to know.

I'm not sure what to tackle next. Probably the volume-slides, since that should be fairly easy.

The big problems are going to be with the Vibrato and Detune effects, because those are going to be horrible to reverse-engineer, and it would make much more sense to just ask Delek what he's doing ... except that he's currently awol from the Deflemask forums.

Anyway, here is the current set of ROMs, they sound pretty good to me ...

http://www.dropbox.com/s/vlj2ktwdhom34n6/huzak2ndWIP.zip?dl=0
Title: Re: Huzak - Yet another music driver
Post by: DarkKobold on January 21, 2017, 02:21:46 PM
How would you see someone include a delfmask song, or a 5bit sample in their code, if its not an 'include' statement?

You'd do an assembly-language-source ".include", rather than a ".incbin" or a HuC "#incbin".

It's more like a HuC "#include", but for assembly-language source.

Wrapping it all up into something that you guys can use on Catastrophy may well require moving to some binary format so that you can switch which banks hold the tune and sound-effects data for each level.

I suspect that the current data format (without banking) is going to be limited to 2 or 3 tunes (there is maximum of 255 "patterns").


This sounds super complicated. Also, would it be possible to have one bank have all the sound effects?
Title: Re: Huzak - Yet another music driver
Post by: Michirin9801 on January 21, 2017, 02:30:47 PM
The -2 version sounds about right, the only inaccuracy I can spot from what I've put in Deflemask is on channel 4 when the song loops, the thing is that Deflemask automatically cuts off notes when it loops back to the beginning of the song (I don't recall if it happens when it loops with the 0Bxx effect though, it probably does), but in the rom the note that was still playing on channel 4 when the song loops keeps on playing instead of being cut off...
Why does it only happen on channel 4 you ask? Because all the other channels have notes playing immediately as the song starts/loops, I'm sure the same thing would happen in more channels if they didn't have notes right at the start... One way to fix that one my end would be to just put a note off in the beginning of the song in channel 4, but I can already imagine how you're gonna feel about that...
Otherwise, it's great! Just like how I remember it on Deflemask ^^
Great job!

If I'm not misreading things, you actually moved a whole bunch of stuff around between channels ... or perhaps I'm just having another "senior moment".  :-k
The version I had sent you before through my sta.sh was the updated version already >w>
But the version that was still there on the Deflemask forum was old, the most notable change I did was replace one of the wavetables with a new one, but I forgot what else I did in the update... Still it's better and more accurate to the original than the old version which you can still hear in my youtube channel...
Title: Re: Huzak - Yet another music driver
Post by: elmer on January 23, 2017, 01:35:07 PM
The -2 version sounds about right, the only inaccuracy I can spot from what I've put in Deflemask is on channel 4 when the song loops, the thing is that Deflemask automatically cuts off notes when it loops back to the beginning of the song (I don't recall if it happens when it loops with the 0Bxx effect though, it probably does), but in the rom the note that was still playing on channel 4 when the song loops keeps on playing instead of being cut off...

OK, thanks!  :D

I'll use the -2 setting from now on, until we can get a better fix.

Nice catch on hearing the problem with the looping!  :wink:

Actually, it prompted me to finally implement the Pattern Break and Position Jump effects properly, so it was a good time to find that problem.


Quote
Why does it only happen on channel 4 you ask? Because all the other channels have notes playing immediately as the song starts/loops, I'm sure the same thing would happen in more channels if they didn't have notes right at the start... One way to fix that one my end would be to just put a note off in the beginning of the song in channel 4, but I can already imagine how you're gonna feel about that...

Well, I've tested what DefleMask does, and I think that I've replicated it, now.

From what I can see, it cuts off notes when you do a Position Jump backwards, but it keeps on playing them if you do a Position Jump forwards, or do a Pattern Break.

I would have thought that you'd actually want to keep the notes playing, even when you loop around ... I can easily imagine that a musician might make use of that.

It's always easy to put a Note Off on a channel at the start of a loop if you want it to stop.

A Note Off is a cheap and easy to do, so I'd rather allow the musician to be able to take advantage of keeping notes playing across the loop-point, if that's what they want.

But ... it doesn't really matter what I think, it's more important to make it behave the same.


***********

Anyway, here's another build with the channel cutting off properly now, and, just-for-laughs, I've also tried to implement the appropriate PC-8801 look to the screen.

The PC-8801 font looks like it's 10-pixels high instead of 8, which we can't do without an expensive bitmap, so I've had to reuse the current font (with a few changes).

So it doesn't really look like the PC-8801, it's more "inspired-by".

Then I added a drop-shadowed version, too, because I firmly believe that drop-shadows make everything better!  :lol:

After some serious squeezing, it's all packed down into an 8KB ROM, but this is probably the last time that I'll try to do that, because it was a severe PITA.


http://www.dropbox.com/s/l3lt0s4ko40c93g/MistyBlueHuzak.zip?dl=0

Go ahead and share this one, if you like; I'm going to post a link to it on the DefleMask forum later on.  :wink:
Title: Re: Huzak - Yet another music driver
Post by: Michirin9801 on January 24, 2017, 03:42:11 AM
I would have thought that you'd actually want to keep the notes playing, even when you loop around ... I can easily imagine that a musician might make use of that.

It's always easy to put a Note Off on a channel at the start of a loop if you want it to stop.

Here's the thing, we certainly would want that, it would make it a lot easier to optimise the song to use less patterns, you have no idea how many times I had to repeat patterns upon patterns in order to have the songs sound the way I want it to sound, or make a new instrument that was just the note still playing, but Deflemask just cuts off the notes when you jump backwards in the song and doesn't care whether you wanted the note to keep playing or not...

Anyway, here's another build with the channel cutting off properly now, and, just-for-laughs, I've also tried to implement the appropriate PC-8801 look to the screen.

The PC-8801 font looks like it's 10-pixels high instead of 8, which we can't do without an expensive bitmap, so I've had to reuse the current font (with a few changes).

So it doesn't really look like the PC-8801, it's more "inspired-by".

Yaaay~ Now it looks a lot more fitting ^^
Oh and, don't worry about that! Yeah it's not an exact replica, but it's plenty close enough!
I also really like the drop-shadow version, great job! ;3

I can no longer spot any inaccuracies with this, it's spot-on with what I've put in Deflemask!
If you can, I'd love to hear you try out these songs with Huzak:
Super Adventure Island 2 - Poka Poka Island:
http://sta.sh/0a46xfxbn2z

Thunder Force IV - Fighting Back:
http://sta.sh/01l3peenzmer

Dragon's Curse - Sidecrawler's Dance:
http://sta.sh/016eybd647y4

None of them has any samples!
Title: Re: Huzak - Yet another music driver
Post by: elmer on January 26, 2017, 10:49:51 AM
If you can, I'd love to hear you try out these songs with Huzak:

Definitely! But they're all going to need me to implement some of the "missing" effects.

Super Adventure Island 2 - Poka Poka Island:

  Ch2 Mtx05 vibrato $0464 by itself, this effect is used LOTS!

  Detune $E588 on Octave 2 notes G
  Detune $E588 on Octave 3 notes D E
  Detune $E590 on Octave 3 notes F

  Mtx 32 Pattern Break in Ch1 and note later in Ch5


Thunder Force IV - Fighting Back:

  Detune $E590 on Octave 4 notes F C G

  Ch2 Mtx25 vibrato $0464 by itself.


Dragon's Curse - Sidecrawler's Dance:

  Detune $E588 on Octave 2 notes A B E F# G#
  Detune $E588 on Octave 3 notes C# D E

  Pattern Break, again.


Now, the Pattern Breaks should already be working, and I've noted them just to remind my to check on that, but the Detune and Vibrato effects are the exact ones that I've mentioned before that I need information from Delek in order to implement.  ](*,)


Well, I've done some digging, and some looking at .hes files, and have found the original ProTracker source code online, and that has given me a good idea of how Delek is processing those effects in DefleMask.

The most-important thing is that I can see now how he's implemented the Vibrato sine-wave, and what its "speed" parameter means.

So I have a decent chance of implementing those effects now, even without Delek's help, but it will take a little time, and it is definitely going to take up some extra memory.

I'm can't see any way around needing to have a fast-multiply available in order to get those effect running, and that means that I'm going to need to include another 2KB of tables to do that quickly-and-efficiently.

Then there's a question of the "Vibrato" effect itself.

Can you tell me how it is *supposed* to work?

From the documentation, it looks like setting Vibrato Depth of "F" should give you a one semitone range for the effect, +/- 1/2 semitone from the original note.

As it is, it looks like there is a bug in Delek's math, because what is actually spit out in the .hes file is + 0.5 semitones, but - 1.5 semitones.

Even worse, it's not a pure sinewave, but the +ve part of the cycle takes the same amount of time as the 3-times-greater -ve part of the cycle, creating a very strange-sounding result.  #-o

Is that intentional, or is it just a bug?  :-k
Title: Re: Huzak - Yet another music driver
Post by: Gredler on January 26, 2017, 11:12:00 AM
I just wanted to pop in and thank you for doing all this hard work Elmer, and Michirin9801 thank you for providing him with such useful examples, awesome work everyone!

Looking forward to hearing more!
Title: Re: Huzak - Yet another music driver
Post by: Michirin9801 on January 26, 2017, 11:41:14 AM
Then there's a question of the "Vibrato" effect itself.

Can you tell me how it is *supposed* to work?

From the documentation, it looks like setting Vibrato Depth of "F" should give you a one semitone range for the effect, +/- 1/2 semitone from the original note.

As it is, it looks like there is a bug in Delek's math, because what is actually spit out in the .hes file is + 0.5 semitones, but - 1.5 semitones.

Even worse, it's not a pure sinewave, but the +ve part of the cycle takes the same amount of time as the 3-times-greater -ve part of the cycle, creating a very strange-sounding result.  #-o

Is that intentional, or is it just a bug?  :-k
Now you caught me off-guard, I'm unsure on how 'exactly' it's supposed to work, but from what I can hear on the tracker itself, setting it to 04xF really has a difference of 1 semitone both upwards and downwards, but it seems to linger on the higher pitch of the vibrato effect a little longer than it does on the lower pitch, but maybe I'm mishearing things...
I tried exporting a .hes file with just a note playing in vibrato on a single channel but it doesn't want to work with Mednafen, and well, if it doesn't work with Mednafen, it won't work with anything because Mednafen runs Deflemask's .hes exports better than anything else I've ever tried using...

I just wanted to pop in and thank you for doing all this hard work Elmer, and Michirin9801 thank you for providing him with such useful examples, awesome work everyone!

Looking forward to hearing more!

Oh no problem! In fact, I'm just as excited about this ^^
Title: Re: Huzak - Yet another music driver
Post by: elmer on January 26, 2017, 07:01:26 PM
Here's the thing, we certainly would want that, it would make it a lot easier to optimise the song to use less patterns ...

OK, we'll have to see if Delek can be persuded to change that behavior in a future version, then.

Using less patterns would be a big benefit!  :)


You'd do an assembly-language-source ".include", rather than a ".incbin" or a HuC "#incbin".
...
I suspect that the current data format (without banking) is going to be limited to 2 or 3 tunes (there is maximum of 255 "patterns").


This sounds super complicated. Also, would it be possible to have one bank have all the sound effects?

I'm sure that it can all be wrapped up into something that's reasonably-easy to use.  :wink:

And "yes", it is fairly easy to have separate banks for music/effects if I move to a "binary" format for the music data.

That format would just put all of the tables that point to the interesting bits of the music data in constant locations in a bank. It will waste some space, but allow more flexibility.

It's probably more useful for a HuCard game than a CD game.


I just wanted to pop in and thank you for doing all this hard work Elmer, and Michirin9801 thank you for providing him with such useful examples, awesome work everyone!

You're welcome!

It's really good to hear all of this PCE music that's being created these days. I love it!  :dance:


Now you caught me off-guard, I'm unsure on how 'exactly' it's supposed to work, but from what I can hear on the tracker itself, setting it to 04xF really has a difference of 1 semitone both upwards and downwards, but it seems to linger on the higher pitch of the vibrato effect a little longer than it does on the lower pitch, but maybe I'm mishearing things...

Just so that we're on the same-page with the language ...

http://en.wikipedia.org/wiki/Vibrato
http://en.wikipedia.org/wiki/Finger_vibrato

And this has a good picture of "depth" vs "speed" ...

http://www.listening-singing-teacher.com/Vibrato.html


Finally, this link from Wikipedia, is a good example of a simple sine-wave vibrato ...

http://upload.wikimedia.org/wikipedia/commons/e/e7/Frequenzmodulation.ogg



It's a very "regular" and, to-my-ears, "pleasing" sound.


Here is my DefleMask test, which is your Misty Blue, with the 1st Matrix Row changed to have empty patterns everywhere except for one test-channel ...

http://www.dropbox.com/s/s98ax5vk1o75xca/vibrato-test.dmf?dl=0

Playing that in DefleMask gives what I'd describe as a wah-wah sound.

It seems audibly less "regular" than the example from Wikipedia.

It's a C1 note, with an $041F effect (speed 1, depth 15).

That's a Vibrato Speed of 1/64th cycle per 1/60s -> 64/60s -> 1.07s-per-cycle, and a Vibrato Depth of, according to the docs, "Maximum depth is a full note.".

OK, if I choose to read "note" as "tone" instead, then we're talking about a range of +/- 1 semitone.

+1 ... -1 = 2 semitones = 1 tone.


Now, looking at the data that's output in the .hes file, the original "period" (not frequency) is $06ae.
And with the vibrato, the period varies between $0673 and $073C.

Here's a quick table of the period values that surround C1 ...

C1# $064F
C1  $06AE
B0  $0714
A0# $0780


Looking at that, you can see that the frequency varies between - 1.5 semitones and + 0.5 semitones.

But looking at the timing data as well shows that the pattern of the vibrato is like this ...

-----
|   |
|   |
    |   |
    |   |
    |   |
    |   |
    |   |
    |   |
    -----


... instead of ...

-----
|   |
|   |
|   |
|   |
    |   |
    |   |
    |   |
    |   |
    -----


Which is why it *sounds* different, to my ear.

BUT, and it's a huge "but", there is nothing "wrong" in absolute terms in having that unbalanced vibrato waveform.

AFAIK it is a valid, if very unusual, choice.

I'm trying to figure out if it's a deliberate "choice", or just a math-error in Delek's implementation.  :-k
Title: Re: Huzak - Yet another music driver
Post by: Michirin9801 on January 27, 2017, 04:52:54 AM
AFAIK it is a valid, if very unusual, choice.

I'm trying to figure out if it's a deliberate "choice", or just a math-error in Delek's implementation.  :-k
Which is one of the many reasons why you need contact with him...
Either way, I think you should try to implement it the way he does, at least for now, so that it's more accurate to what it sounds like on Deflemask...
Title: Re: Huzak - Yet another music driver
Post by: elmer on January 28, 2017, 09:20:49 AM
Either way, I think you should try to implement it the way he does, at least for now, so that it's more accurate to what it sounds like on Deflemask...

Unfortunately, I believe that you're right.

Which means that now I've got to figure out a reasonably-efficient way to recreate the imbalance.  #-o
Title: Re: Huzak - Yet another music driver
Post by: Michirin9801 on January 28, 2017, 10:37:08 AM
Either way, I think you should try to implement it the way he does, at least for now, so that it's more accurate to what it sounds like on Deflemask...

Unfortunately, I believe that you're right.

Which means that now I've got to figure out a reasonably-efficient way to recreate the imbalance.  #-o
Or maybe not? To be honest, I don't think it would be such a big deal to implement it the most CPU-efficient way possible... I mean, yeah it would sound slightly different, but I wouldn't mind the difference, and maybe some other people would find that it sounds better that way? Maybe?
The way I use the sine vibrato isn't because I want the note to play those very specific frequencies, I don't really care what frequencies it plays, I use it in a subtle manner because I want long notes not to be flat you know, and sometimes I also do it to make the channel stand out a little, without necessarily worrying about how far up and down in pitch they go or how long do they take to go up and down in pitch...
Title: Re: Huzak - Yet another music driver
Post by: elmer on February 05, 2017, 01:30:44 PM
OK, sorry for the delay!  :roll:

It's been a bit of a battle to get DefleMask's Vibrato and Detune effects implemented, and doing so has bloated up the size of the driver because I've needed to allocate 2KB for the fast-multiply tables.

I've split the ROMs into 3 banks (for a 24KB ROM) ...

1) Startup code & Font (approx 1700 bytes)
2) Huzak & Tables-of-Squares (approx 4900 bytes)
3) Music Data (varies, the largest is approx 7KB)

Anyway, adding those effects opens-up a whole bunch of tunes that couldn't play correctly before, so here's 5-at-once ...

Fighting Back - Thunder Force IV
Poka-Poka Island - Super Adventure Island 2
Pressure - Flame Zapper Kotsujin
Sidecrawler's Dance - Wonder Boy III
Stage 1 - Sega's Quartet

http://www.dropbox.com/s/qpx9iognjg27l80/Huzak3rdWIP.zip?dl=0


Michirin9801 ... could you please listen to these and let me know if you hear any problems???

My ears are a bit too weary to be really discerning after listening to the driver mess up or crash so many times.

I *think* that these are right now, but I may be missing something.

<edit>

Yeah ... I need a 2nd-opinion, but I think that I may need to look at the drum roll at the end of Poka Poka Island ... it doesn't sound quite right.  :-k
Title: Re: Huzak - Yet another music driver
Post by: Michirin9801 on February 05, 2017, 03:33:25 PM
OK, sorry for the delay!  :roll:

It's been a bit of a battle to get DefleMask's Vibrato and Detune effects implemented, and doing so has bloated up the size of the driver because I've needed to allocate 2KB for the fast-multiply tables.

I've split the ROMs into 3 banks (for a 24KB ROM) ...

1) Startup code & Font (approx 1700 bytes)
2) Huzak & Tables-of-Squares (approx 4900 bytes)
3) Music Data (varies, the largest is approx 7KB)

Anyway, adding those effects opens-up a whole bunch of tunes that couldn't play correctly before, so here's 5-at-once ...

Fighting Back - Thunder Force IV
Poka-Poka Island - Super Adventure Island 2
Pressure - Flame Zapper Kotsujin
Sidecrawler's Dance - Wonder Boy III
Stage 1 - Sega's Quartet

http://www.dropbox.com/s/qpx9iognjg27l80/Huzak3rdWIP.zip?dl=0


Michirin9801 ... could you please listen to these and let me know if you hear any problems???

My ears are a bit too weary to be really discerning after listening to the driver mess up or crash so many times.

I *think* that these are right now, but I may be missing something.

<edit>

Yeah ... I need a 2nd-opinion, but I think that I may need to look at the drum roll at the end of Poka Poka Island ... it doesn't sound quite right.  :-k


Oh don't worry about that ^^
Taking your time to make something means that said something will most likely be well polished!
But it sure is sounding like a lot of optimization needs to be made to Deflemask considering the amount of data these songs are eating up >w>

About the songs:
- Sidecrawler's Dance sounds A-OK
- Fighting Back sounds almost A-OK, just one very tiny part in the 2nd half of the song has a little problem, when that note that does the portamento up and goes really high-pitched, it should have a little bit of vibrato at the very end, but the vibrato seems to be missing, or isn't strong enough, but otherwise it's spot-on...
- Quartet sounds a little weird, the detuning has gone a bit too far up in spots, particularly when the song loops, also, you're using a bit of an outdated version of the .dmf, I don't remember if I sent you the newest version but this sounds like the version I've posted on the Deflemask forum, most of what I've posted there is outdated >w>
Here's my current version of it: http://sta.sh/01k7o5ak0iz8 (It has a better intro than what was posted on Youtube)
- Pressure is too fast and the snare drums sound weird, that should be fixed when I can make Huzak-specific drums...
You should be able to get it with the correct tempo with this DMF: http://sta.sh/01jfb21ayfx5
- Poka Poka Island is pretty much A-OK, the only issue I can hear is when the song loops one of the channels seems to be turned off for a good chunk of the song, but other than that the only real issue is that I'm using wave-phasing for one of the instruments playing in the end of the song, so there's a little bit of popping, but I can live with it, it's barely noticeable...
Title: Re: Huzak - Yet another music driver
Post by: elmer on February 06, 2017, 03:31:40 PM
But it sure is sounding like a lot of optimization needs to be made to Deflemask considering the amount of data these songs are eating up >w>

Yep, they're coming out bigger than I expected, but that's because you're doing a *lot* of stuff in them.  :clap:

With all of the panning changes that you've got going on, even if the track were redone in MML/Squirrel, it would probably still be large.

Removing some of the redundancy inside each of the patterns themselves would help a bit, and I could try to do that ... but I don't really think that we have a problem.  :-k

The music data is still smaller than one tiny sample, and we're nowhere near as tightly constrained on memory as developers were back in the original System Card 1 days.

Some of your tracks are downright frugal ... it's just the ones that add all of the extra ear-candy that folks like to hear, and that makes them *feel* like complex tracks.

Note that something like the Xanadu PSG tracks are very sparse in comparison, and they'd probably be tiny in either MML or DefleMask.

**********

Quote
About the songs:
- Sidecrawler's Dance sounds A-OK

Excellent!  :D

Quote
- Fighting Back sounds almost A-OK, just one very tiny part in the 2nd half of the song has a little problem, when that note that does the portamento up and goes really high-pitched, it should have a little bit of vibrato at the very end, but the vibrato seems to be missing, or isn't strong enough, but otherwise it's spot-on...

Could you please let me know what matrix row and channel that's on, and I'll investigate.

Quote
- Pressure is too fast and the snare drums sound weird, that should be fixed when I can make Huzak-specific drums...
You should be able to get it with the correct tempo with this DMF: http://sta.sh/01jfb21ayfx5
- Poka Poka Island is pretty much A-OK, the only issue I can hear is when the song loops one of the channels seems to be turned off for a good chunk of the song, but other than that the only real issue is that I'm using wave-phasing for one of the instruments playing in the end of the song, so there's a little bit of popping, but I can live with it, it's barely noticeable...

I'll take a look at these next, but first ...

Quote
- Quartet sounds a little weird, the detuning has gone a bit too far up in spots, particularly when the song loops, also, you're using a bit of an outdated version of the .dmf, I don't remember if I sent you the newest version but this sounds like the version I've posted on the Deflemask forum, most of what I've posted there is outdated >w>
Here's my current version of it: http://sta.sh/01k7o5ak0iz8 (It has a better intro than what was posted on Youtube)


OK, I've used you new .dmf, and there's one small problem.

The new intro uses Porta-To-Note with really high speed values ... much higher than I've seen in any other DefleMask track.  #-o

I've got a limit  of +/- 127 on the speed in order to use simpler (faster) math, and so my converter refuses to handle the track as it is written.

I changed the speed values to stay within range, and it messes up the sound of the intro, but at least I could keep on looking for the problem.

Can you live with that +/- 127 range? Perhaps Arp Macros could be used for that 1/5s "thump"???


Anyway, I reworked the math on the detune, and now it's a lot more accurate.

The particular notes that you're talking about at the loop point are a bit troublesome.

You've got a couple of high notes in there which have steps of 7 and 8 "period" values to the next semi-tone.

You're using a detune of that's basically 1/16th of a semi-tone.

Now my old math was a bit hokey, but the new math turns those into 7/16th of a step, and 8/16th of a step.

That (now) gets rounded to detune values of 0 and 1 steps.

That math seems right now, but it may not be what you're expecting to hear.

I don't know if Delek forces a minimum value of "1" whenever the math rounds to "0".

Anyway, take a listen, and let me know what you think ...

http://www.dropbox.com/s/ls96xar85eb0uha/Huzak3rdWIP2ndTry-QuartetStage1.pce?dl=0


Thanks!
Title: Re: Huzak - Yet another music driver
Post by: Michirin9801 on February 07, 2017, 05:44:30 AM
Quote
- Fighting Back sounds almost A-OK, just one very tiny part in the 2nd half of the song has a little problem, when that note that does the portamento up and goes really high-pitched, it should have a little bit of vibrato at the very end, but the vibrato seems to be missing, or isn't strong enough, but otherwise it's spot-on...

Could you please let me know what matrix row and channel that's on, and I'll investigate.

Matrix row 25, channel 2

Quote
- Quartet sounds a little weird, the detuning has gone a bit too far up in spots, particularly when the song loops, also, you're using a bit of an outdated version of the .dmf, I don't remember if I sent you the newest version but this sounds like the version I've posted on the Deflemask forum, most of what I've posted there is outdated >w>
Here's my current version of it: http://sta.sh/01k7o5ak0iz8 (It has a better intro than what was posted on Youtube)


OK, I've used you new .dmf, and there's one small problem.

The new intro uses Porta-To-Note with really high speed values ... much higher than I've seen in any other DefleMask track.  #-o

I've got a limit  of +/- 127 on the speed in order to use simpler (faster) math, and so my converter refuses to handle the track as it is written.

I changed the speed values to stay within range, and it messes up the sound of the intro, but at least I could keep on looking for the problem.

Can you live with that +/- 127 range? Perhaps Arp Macros could be used for that 1/5s "thump"???


Anyway, I reworked the math on the detune, and now it's a lot more accurate.

The particular notes that you're talking about at the loop point are a bit troublesome.

You've got a couple of high notes in there which have steps of 7 and 8 "period" values to the next semi-tone.

You're using a detune of that's basically 1/16th of a semi-tone.

Now my old math was a bit hokey, but the new math turns those into 7/16th of a step, and 8/16th of a step.

That (now) gets rounded to detune values of 0 and 1 steps.

That math seems right now, but it may not be what you're expecting to hear.

I don't know if Delek forces a minimum value of "1" whenever the math rounds to "0".

Anyway, take a listen, and let me know what you think ...

http://www.dropbox.com/s/ls96xar85eb0uha/Huzak3rdWIP2ndTry-QuartetStage1.pce?dl=0


Thanks!



I've listened to it and now it sounds pretty much A-OK, it's not 100% accurate, but it's about 98.01% accurate which is totally acceptable, if anything it no longer sounds weird so that's great!
As for the intro, It's just a matter of me reworking it, and I have an idea of how to do it... Just don't expect me to do it too soon because I don't feel like doing it right now >w>

Note that something like the Xanadu PSG tracks are very sparse in comparison, and they'd probably be tiny in either MML or DefleMask.

And yet they still sound better than anything I can put out =w=';
But that has more to do with music theory than actually pushing the limits of the soundchip, I'm just a self-taught amateur who loves detuned reverb...
Title: Re: Huzak - Yet another music driver
Post by: elmer on February 07, 2017, 07:17:01 AM
Matrix row 25, channel 2

Thanks, I'll take a look!


Quote
I've listened to it and now it sounds pretty much A-OK, it's not 100% accurate, but it's about 98.01% accurate which is totally acceptable, if anything it no longer sounds weird so that's great!
As for the intro, It's just a matter of me reworking it, and I have an idea of how to do it... Just don't expect me to do it too soon because I don't feel like doing it right now >w>

I'm glad that it sounds OK now, but I'd like to get as-close-as-possible-within-reason.

I've posted on the DefleMask forum asking Delek for the exact math that he's using, and if he responds, we'll see if it is implementable.

As for the portamento ... no rush. I'll take another look at the code and see what the cost is of implementing the full 8-bit range.
Title: Re: Huzak - Yet another music driver
Post by: Michirin9801 on February 07, 2017, 08:14:12 AM
As for the portamento ... no rush. I'll take another look at the code and see what the cost is of implementing the full 8-bit range.
That would be very nice ^^

I'm also looking forward to any progress on the other songs, but no rush mate, take your time and make sure they're working well okay? ;3
Title: Re: Huzak - Yet another music driver
Post by: elmer on February 07, 2017, 09:30:18 AM
That would be very nice ^^

I wanted to do some timing tests to see how much CPU time the driver is currently using before seeing what it'll take, and it looks like I don't need to be too paranoid, IF it can be done reasonably nicely.

The following are worst-case costs, because that's what a programmer needs to budget for.

The average cost looks like it will be rather lower.

"Pressure", "Quartet" and "Sidecrawler's Dance" are maxing out at 5.1% of CPU time.

"Poka Poka Island" is a bit higher.

"Fighting Back" is using the most time at 5.5% of CPU time.

That includes processing all the empty SFX channels, and allowing for the channel-overrides.

That's not at all bad, and makes me thing that we'll be well-within the 10% CPU budget that I'm used to leaving for music/SFX.

Sample playback will, of course, play havoc with that, but there's not much I can do about that.


Quote
I'm also looking forward to any progress on the other songs, but no rush mate, take your time and make sure they're working well okay? ;3

Thanks for letting me know where to look for that lack-of-vibrato in "Fighting Back".

It was actually playing, but it wasn't deep enough.

I've applied the same more-accurate-math fix from the Detune code to the Vibrato code, and Fighting Back sounds much better now.

"Pressure" seems to sound OK to me with the latest .dmf. I'll upload some new ROMs later on.

That last builds were using the same "undefined" $1F noise setting as DefleMask, but I've switched that back to the legal $1E setting again now.


One thing that I'm noticing in "Pressure", and a few of the other tracks, is that you're using Arp Macros that keep on looping back 1 step and repeating the very last note in the macro.

Is there a reason for this? Does DefleMask stop doing something when that Arp Macro ends?

For Huzak ... it costs time to keep on processing that Arp Macro change, even if it's not really a change, and it may also mess up the logic in the driver, because things like Portamento and Vibrato are skipped while  there is an active Arpeggio (either the effect, or the Macro).

That's because there doesn't seem to be any sane way of processing frequency shifts (Portamento/Vibrato) at the same time that you're forcing a different note anyway.

Am I missing something that you'd want to do as a musician?  :-k
Title: Re: Huzak - Yet another music driver
Post by: Michirin9801 on February 07, 2017, 09:55:05 AM
One thing that I'm noticing in "Pressure", and a few of the other tracks, is that you're using Arp Macros that keep on looping back 1 step and repeating the very last note in the macro.

Is there a reason for this? Does DefleMask stop doing something when that Arp Macro ends?

For Huzak ... it costs time to keep on processing that Arp Macro change, even if it's not really a change, and it may also mess up the logic in the driver, because things like Portamento and Vibrato are skipped while  there is an active Arpeggio (either the effect, or the Macro).

That's because there doesn't seem to be any sane way of processing frequency shifts (Portamento/Vibrato) at the same time that you're forcing a different note anyway.

Am I missing something that you'd want to do as a musician?  :-k
When you use an instrument that uses the 'Fixed Arpeggio' in Deflemask, as soon as that arpeggio effect ends the note you've put in the note column will play like normal unless you add a loop to the arpeggio macro, that loop is there in order to make drums easier to deal with on the tracker, so I can just put whatever note I feel like on the channel without a care in the world and the drum will play the same way every time, so I can just use C notes for everything except for when I need the drums to do different tones (like the Toms for example)

That last builds were using the same "undefined" $1F noise setting as DefleMask, but I've switched that back to the legal $1E setting again now.
If I may make a suggestion, whenever an instrument uses the $1F noise frequency, play back the $1E frequency but with its volume lowered by 4 okay?
I've already adjusted my Hi-Hats to not use the $1F frequency and I'll be using only the legal $1E for all my future songs, and from what I could hear, lowering the volume by 4 produces the closest/most acceptable results...
Title: Re: Huzak - Yet another music driver
Post by: elmer on February 08, 2017, 01:37:31 PM
When you use an instrument that uses the 'Fixed Arpeggio' in Deflemask, as soon as that arpeggio effect ends the note you've put in the note column will play like normal unless you add a loop to the arpeggio macro.

Yeeks! That's not in the manual (I think). Then again, so much isn't.

Is that the same with the "normal" Arpeggio Macros ... i.e. it returns to the base note when it ends???

I can see that would make some sense, especially if that's how it works on the "fixed" Arpeggio Macro.


Do either of the other Volume or Wave Macros have similar features?

I think that I've seen you loop a Volume Macro once-or-twice.

Thanks!  :)


If I may make a suggestion, whenever an instrument uses the $1F noise frequency, play back the $1E frequency but with its volume lowered by 4 okay?

I could certainly do that, at least temporarily, just to get stuff working.

But I really, really, really don't like doing it long-term, because even testing for that value just wastes CPU time.

I'll probably implement it like that in a day-or-so when the my horror at the sheer-waste dies down a little.

It's a good idea ... thanks! But ... YUK!  #-o
Title: Re: Huzak - Yet another music driver
Post by: Michirin9801 on February 08, 2017, 01:51:40 PM
When you use an instrument that uses the 'Fixed Arpeggio' in Deflemask, as soon as that arpeggio effect ends the note you've put in the note column will play like normal unless you add a loop to the arpeggio macro.

Yeeks! That's not in the manual (I think). Then again, so much isn't.

Is that the same with the "normal" Arpeggio Macros ... i.e. it returns to the base note when it ends???

I can see that would make some sense, especially if that's how it works on the "fixed" Arpeggio Macro.


Do either of the other Volume or Wave Macros have similar features?

I think that I've seen you loop a Volume Macro once-or-twice.

Thanks!  :)
Nope! That only happens with the Fixed Arpeggio, doesn't happen with the relative arpeggio or the volume macros, also, looping volume envelopes is a great way to get tremolo, MUCH better than doing it in the effect column... (Take note of that Fragmare! I remember you wanted to do a tremolo in Simon Belmont's theme but wanted more control of it, doing it this way is really useful!)

If I may make a suggestion, whenever an instrument uses the $1F noise frequency, play back the $1E frequency but with its volume lowered by 4 okay?

I could certainly do that, at least temporarily, just to get stuff working.

But I really, really, really don't like doing it long-term, because even testing for that value just wastes CPU time.

I'll probably implement it like that in a day-or-so when the my horror at the sheer-waste dies down a little.

It's a good idea ... thanks! But ... YUK!  #-o

Oh you don't really have to do it long-term, when Deflemask has its PCE quirks fixed I'm sure you'll be able to optimise Huzak quite a bit to not waste nearly as much CPU time ^^
In the meantime though, it will be a useful thing to have...
Title: Re: Huzak - Yet another music driver
Post by: elmer on February 08, 2017, 02:00:22 PM
Nope! That only happens with the Fixed Arpeggio, doesn't happen with the relative arpeggio or the volume macros, also, looping volume envelopes is a great way to get tremolo, MUCH better than doing it in the effect column...

What!!! That's crazy!!! Why do it in the Fixed Arp, but not in the Relative Arp???  ](*,)

OK, whatever, it's easy-enough to handle, now that I know about the behavior.

Using the Volume Macro for Tremolo makes a lot of sense, and it's a lot more controllable than the effect.

But I could have sworn that I'd seen you do a repeat of just the last value in a Volume Macro.

If there's no "special" meaning to that, then it might be temping to automatically remove it during conversion.

I *think* that it might be used by folks that want to fade up/down from a Volume Envelope, by using the Volume Slide of individual Volume settings.  :-k
Title: Re: Huzak - Yet another music driver
Post by: Michirin9801 on February 08, 2017, 02:40:07 PM
What!!! That's crazy!!! Why do it in the Fixed Arp, but not in the Relative Arp???  ](*,)
I know it makes no sense if you're just thinking about it, but when you're actually using the arpeggio macros it's actually quite convenient to have only the Fixed arpeggio do it, because you know, sometimes you want to put in a kick in the beginning of a bass instrument, but you want that kick to play the same notes every time without affecting the note of the bass, so you use the Fixed arp to do the kick, only without adding a loop, and when that kick finishes playing the bass plays like normal! I've never really used this for PC engine because the system has enough channels to accommodate for the percussion and the bass being each on their own channels, but this has been a god-send for my Game Boy music! And heck, maybe someday I might actually want to put the bass and the percussion on the same channel in a PCE song so that I can free up a channel to do a triad and a lead melody at the same time and still have a channel left for delay/reverb and sound effects! Who knows?

It's not as useful on the relative arpeggio though because when you're using it you can just set the last tick to 00 in order to play the note you're actually putting in the note column, so it doesn't really need to do that...
Title: Re: Huzak - Yet another music driver
Post by: elmer on February 09, 2017, 04:51:48 PM
I know it makes no sense if you're just thinking about it, but when you're actually using the arpeggio macros it's actually quite convenient to have only the Fixed arpeggio do it, because you know, sometimes you want to put in a kick in the beginning of a bass instrument, but you want that kick to play the same notes every time without affecting the note of the bass, so you use the Fixed arp to do the kick, only without adding a loop, and when that kick finishes playing the bass plays like normal!
...

Thanks, that makes sense.  :)

It's not difficult to implement, so no worries.

Things have been a bit slow with all of the Xanadu Script stuff going on, but I've done another tweak to the detune code to make it a tiny bit more accurate in the Detune $80-$FF range, and I've implemented the $E3xx Vibrato Mode effect.

I've also made the change to the Portamento so that I can handle the large step values that you're using in Quartet ... but the track still sounds "off".

I need to do some investigating to find out what's going wrong.
Title: Re: Huzak - Yet another music driver
Post by: fragmare on February 09, 2017, 08:55:09 PM
Sooooo, Elmer, about that Tremololololo!!!!`1 function in Deflemask.  I'm currently stripping out all the volume slides and replacing them with manual volume fades (which i like better anyway, gives way more options/control) as part of a final "everybody better f*ckin be happy" revision on the Castlevania tune, and also make it Huzak friendly.  But doing the tremolo effect manually PLUS manual volume slide is much, MUCH trickier than a simple fade/slide.  The "set it and forget it" feature that Deflemask provides really does come in handy... at least in this particular instance.

I mean, I could create new instruments with the tremolo built-in to the volume envelope, but the problem is the tremolo pace itself changes in the song.  And I don't want to create three all new instruments for just one small part of the song... seems wasteful, if you know what i mean.

Definitely something to look into adding.

P.S., i didn't say I wasn't still doing it.  I just said it was tricky.  ;)
Title: Re: Huzak - Yet another music driver
Post by: elmer on February 10, 2017, 04:15:44 AM
Definitely something to look into adding.

P.S., i didn't say I wasn't still doing it.  I just said it was tricky.  ;)

Yep, I can imagine it being an absolute PITA to do it all manually.

I definitely want to add both the Tremolo and Volume Slide effects, they shouldn't be too horrible to add.

But, just like the mess that I'm going through with the Detune and Vibrato ... it's less about implementing the basic effect, and more about implementing it in a way that gives identical, or nearly-identical results to DefleMask so that it *sounds* the same.

As I said earlier ... it's "finicky" work.  ](*,)
Title: Re: Huzak - Yet another music driver
Post by: Gredler on February 10, 2017, 04:54:05 AM

As I said earlier ... it's "finicky" work.  ](*,)


I can only imagine how arduous it must be, thanks for dealing with it for us. I keep having dreams where suddenly there are a lot of people willing to make music like artists willing to make sprites and tilemaps.

Elemer the bridge builder, thank you sir and hope all is well!
Title: Re: Huzak - Yet another music driver
Post by: Michirin9801 on February 10, 2017, 08:59:26 AM
Elemer the bridge builder, thank you sir and hope all is well!
You've said it all mate!
Title: Re: Huzak - Yet another music driver
Post by: elmer on February 11, 2017, 10:05:28 AM
I keep having dreams where suddenly there are a lot of people willing to make music like artists willing to make sprites and tilemaps.

Thanks! Me, too.  :pray:

Things are looking really good with Michirin9801 and now Fragmare both having fun cranking out tunes, and I know that there are one or two others on the DefleMask forum that have done PCE chiptunes.

When I've finally implemented sample-support, and can play back JIR-O's "Noroi No Fuuin" cover, and TobiKomi's "Area Completed", I'll have to go on a fishing expedition and try to reel in a few more folks from over there!  :wink:

*******************


I'm also looking forward to any progress on the other songs, but no rush mate, take your time and make sure they're working well okay? ;3

OK, here's a new batch to test, with the following changes ...

Using DefleMask's Note2Period tables instead of Hudon's.
Detune math tweaked to give the same results as DefleMask (in my testing).
Vibrato tweaked to have a depth equivalent to DefleMask's.
Portamento Speed now allows +/- 255, just like DefleMask.
Portamento-to-Note now starts immediately that it is enabled (there was a 1 frame delay).
Vibrato Mode implemented (for Guitar slide/vibrato).



I tried "breaking" Vibrato in the same way that it seems to be going "wrong" on DefleMask, and while I can actually replicate that, very accurately, doing so would mess up the math for the different Vibrato Modes, so I'd prefer not to do it.

Instead, I've tweaked the math for the Vibrato Depth a little in order to get as-close-as-reasonable to the results that DefleMask gets, but just shifted on the axis by a bit.

The result sounds good to me, but now it needs the musician's critical-ear to give it the OK, or request further changes.

Here are the latest versions, including Battle Xtasy now that I've got my hands on the latest version of that.  :wink:

http://www.dropbox.com/s/xrhwf8jkuhgfygg/Huzak3rdWIP3rdTry.zip?dl=0


Michirin9801: How are these?  8-[


As for the portamento ... no rush. I'll take another look at the code and see what the cost is of implementing the full 8-bit range.

That would be very nice ^^

Well, now that the 8-bit range is implemented, the Quartet intro plays fine, but just letting you know, it's not *identical* to the .hes.

There's a bug in DefleMask's .hes output where it sometimes just fails to update one channel's frequency on a frame during the portamento, and then doesn't-quite-catch-up with where it is supposed to be on the next frame.

This causes a *tiny* drift between the channels in the Quartet intro that shouldn't be there.

I hope that the result that you hear in the Huzak version of the track sounds good to you ... there's no way that I can replicate whatever random screwup is going on inside DefleMask to produce its output!

I've gone through the intro frame-by-frame, and I'm producing *exactly* the same values that DefleMask does, right up until it glitches ... and then in perfect lock-step afterwards, except for the tiny offset that DefleMask's glitch produces.


- Poka Poka Island is pretty much A-OK, the only issue I can hear is when the song loops one of the channels seems to be turned off for a good chunk of the song ...

I just can't seem to repeat this problem with the current code.

All channels *appear* to keep on playing fine (except for the note-cut on loop-back that I implemented).

Can you still hear something wrong with this version?  :-k


<edit>

Whoops ... forgot to mention earlier ... Quartet starts the first note in Channel 2, Matrix Row 00, without actually setting an instrument.

That's a no-no in Huzak, so I now bail-out with an error message during the conversion if that happens. Thanks for providing an example that showed-up a bug that I needed to fix!  :wink:
Title: Re: Huzak - Yet another music driver
Post by: Michirin9801 on February 11, 2017, 01:07:20 PM
I keep having dreams where suddenly there are a lot of people willing to make music like artists willing to make sprites and tilemaps.

Thanks! Me, too.  :pray:

Things are looking really good with Michirin9801 and now Fragmare both having fun cranking out tunes, and I know that there are one or two others on the DefleMask forum that have done PCE chiptunes.

When I've finally implemented sample-support, and can play back JIR-O's "Noroi No Fuuin" cover, and TobiKomi's "Area Completed", I'll have to go on a fishing expedition and try to reel in a few more folks from over there!  :wink:

That's the result of a good tracker making PCE music really easy and fun to make ;3
I mean seriously, you just mash your head against the keyboard for a couple of hours and you've got Devil's Crush! (Okay, maybe not something THAT good but still)

Oh and, make sure to talk to SpoonyBard when you're on that 'fishing expedition', he's really good and he does PCE sometimes! (And doesn't use samples very often so that's a bonus!)

Here are the latest versions, including Battle Xtasy now that I've got my hands on the latest version of that.  :wink:

http://www.dropbox.com/s/xrhwf8jkuhgfygg/Huzak3rdWIP3rdTry.zip?dl=0


Michirin9801: How are these?  8-[

- I've noticed something weird when listening to Sidecrawler's dance, I don't remember whether or not it was in the previous version but... When the song loops the delay/reverb (channel 5) seems to be a little louder than it should...
- Quartet's intro actually sounds better than it sounds in Deflemask now! No complaints.
- No complaints with Pressure either, it's spot-on!
- Poka Poka Island is 100% perfect now
- In Misty Blue there seems to be a tiny problem with the bass on channel 1 Pattern 02, the instrument's volume isn't exactly obeying the volume macro while the portamento-to-note is happening, but somehow it sounds better on the second loop... Maybe it's because by the time the 2nd loop is playing I'm already zoning out >w> (It's a long song after all)
- Fighting Back is perfect!
- Battle Xtasy is also perfect!

Well, this has been the best attempt thus far, most of the songs are on-point, and the only issues I could spot were very minor...
Great job mate ^^
Title: Re: Huzak - Yet another music driver
Post by: elmer on February 11, 2017, 02:09:03 PM
Oh and, make sure to talk to SpoonyBard when you're on that 'fishing expedition', he's really good and he does PCE sometimes! (And doesn't use samples very often so that's a bonus!)

Definitely!

He comes-and-goes there, but his tracks are already on my list of test-tracks.  :wink:

He's been very keen on using a 1:5/6/7 timing in order to switch from tone to noise for his drums, and then using Note Cut everywhere!

He also like 96-row patterns.

His tracks will definitely be a test of how well the Huzak driver and dmf2huz converter actually work with "difficult" data.  :-k


- I've noticed something weird when listening to Sidecrawler's dance, I don't remember whether or not it was in the previous version but... When the song loops the delay/reverb (channel 5) seems to be a little louder than it should...

Awwww ... cr*p ... you caught me being a lazy programmer!  :oops:

I was doing some tests to try to find/fix the Poka-Poka Island track, and was resetting a few extra things like the Volume and Panning, and was too lazy to rebuild Sidecrawler's Dance after I figured out that those things weren't causing the problem.

Yep ... I've checked in Mednafen (thanks for letting me know the track to look for) ... and resetting the volume was causing the track to sound too loud on the loop.

I've rebuilt Sidecrawler's Dance with the "current" code (i.e. the same as Poka-Poka Island), and have updated the zip file that I linked to in the last message.

You can download that and try it again, if you wish.

Sorry for wasting your time ... pure laziness on my part.  :oops:


- In Misty Blue there seems to be a tiny problem with the bass on channel 1 Pattern 02, the instrument's volume isn't exactly obeying the volume macro while the portamento-to-note is happening, but somehow it sounds better on the second loop... Maybe it's because by the time the 2nd loop is playing I'm already zoning out >w> (It's a long song after all)

Now this one is something that I'll need to investigate.

An active Portamento will override and active Vibrato ... but the Macros should be processed in either/all cases.  :-k

I'll have to get back to you on that.
Title: Re: Huzak - Yet another music driver
Post by: Michirin9801 on February 11, 2017, 02:19:38 PM
I've rebuilt Sidecrawler's Dance with the "current" code (i.e. the same as Poka-Poka Island), and have updated the zip file that I linked to in the last message.

You can download that and try it again, if you wish.

Sorry for wasting your time ... pure laziness on my part.  :oops:
Sounds on-point now ^^
Oh and, don't worry about that!
Title: Re: Huzak - Yet another music driver
Post by: elmer on February 12, 2017, 06:09:22 PM
OK ... HELPPPPP!!!  ](*,)

I've generated and dissected a lot of .hes files, and have figured out exactly how the Volume Slide and Tremolo effects are processed so that I can re-create them.

But something is making me scratch my head and go ... WTF???

DefleMask has the following effects ...

0Axy : Volume Slide
05xy : Volume Slide + continue existing Portamento-to-Note
06xy : Volume Slide + continue existing Vibrato

07xy : Tremolo


Now, I can see that the 07xy Tremolo overrides an 0Axy Slide on the same row.

0Axy will stop a previously-triggered 07xy, and continue on from their last volume.
07xy will stop a previously-triggered 0Axy, and continue on from their last volume.

But what is the point of 05xy and 06xy????

They don't make any sense, because even with 0Axy ... an existing Vibrato or Portamento-to-Note is continued anyway.

So why do they exist???

What are they supposed to do???
Title: Re: Huzak - Yet another music driver
Post by: fragmare on February 12, 2017, 06:35:30 PM
Never messed with the 05 or 06, but one thing of note is that the 07 Tremolo command OVERRIDES the normal "green" 0-1F volume commands, while it's working, in Deflemask.  The only volume commands that have any overall effect while the 07 is active are the 08 volume/panning commands.  Something you might need to know.

I suspect other commands exhibit this behavior as well.

And, I believe, from my understanding of the manual... the 05 and 06 are for if you've ALREADY got a portamento or vibrato effect going, and want to KEEP it going (without resetting it), but also want to add a volume slide into the mix.  I could be wrong, but that was my crude take on it.  Seems like the logical usage, and useful if you ever run into a scenario where you need/want to use both at once, but don't want the porta/vibrato effect to be reset.

I'm sure Michirin could offer some more insight into this.
Title: Re: Huzak - Yet another music driver
Post by: Michirin9801 on February 13, 2017, 05:01:09 AM
I'm sure Michirin could offer some more insight into this.

Sorry but no >w>
I've never used those effects, or even seen them being used in a song, like, at all...
Heck, I've only used the tremolo effect once, I much prefer to use the volume macro to control my tremolo, whenever that is necessary...

I tried using the effects and they appear to do the same thing as the 0Axy effects, the exact same thing regardless of tremolo, portamento or vibrato, so these effects are pretty much redundant...
http://sta.sh/02asxg172nx9
^Here's a test DMF using those effects and as you can see, they all behave the exact same...
If you can notice any difference in their behaviour that I'm not seeing let me know, maybe they just behave the same in the outdated version of Deflemask I'm using, but as far as I'm concerned these effects are useless...
Title: Re: Huzak - Yet another music driver
Post by: elmer on February 13, 2017, 03:24:19 PM
Never messed with the 05 or 06, but one thing of note is that the 07 Tremolo command OVERRIDES the normal "green" 0-1F volume commands, while it's working, in Deflemask.  The only volume commands that have any overall effect while the 07 is active are the 08 volume/panning commands.  Something you might need to know.

Thanks, got it!  :wink:

Both the Tremolo and the main Volume command obviously use the same internal DefleMask "register".

An interesting thing (to me) that I'm NOT going to replicate, is that you can use one of the green Volume commands to reset a Volume Slide Down *while* it's in-progress, but once the Volume Slide hits 0, then subsequent green Volume commands are ignored. Weird!  ](*,)

That just seems like a bug to me.

Quote
And, I believe, from my understanding of the manual... the 05 and 06 are for if you've ALREADY got a portamento or vibrato effect going, and want to KEEP it going (without resetting it), but also want to add a volume slide into the mix.

Yep, that sounds like the description.

And their existence would make sense if an 0Axy Volume Slide actually cancelled a currently-in-progress Portamento or Vibrato ... but it doesn't!  :roll:


I tried using the effects and they appear to do the same thing as the 0Axy effects, the exact same thing regardless of tremolo, portamento or vibrato, so these effects are pretty much redundant...

Thanks for doing that test!  :D

You're getting the same results that I'm seeing.

I guess that the 05xy and 06xy commands are "inherited" from the ProTracker2 command set that Delek says that he based DefleMask on, where the 0Axy command really did cancel an existing Portamento or Vibrato.

Back-in-the-day that was how a lot of effects operated in order to reduce the "maximum" processing time that the driver would use.

There's very little audible reason that I can think of for allowing Portamento and Vibrato at the same time ... but DefleMask actually does allow that.

IHMO it would always be more-sensible to process a Portamento effect, and then when that effect was finished, THEN you start processing the Vibrato.

That would keep the maximum CPU time down.

Even checking whether Vibrato is enabled, after processing Portamento on a channel, still costs you some CPU time (x12 for the 6 tune channels, and the 6 SFX channels).  #-o
Title: Re: Huzak - Yet another music driver
Post by: fragmare on February 20, 2017, 12:15:23 PM
Heya, Elmer, does Huzak support the [0C] Note Retrig command yet?
Title: Re: Huzak - Yet another music driver
Post by: elmer on February 20, 2017, 12:25:23 PM
Heya, Elmer, does Huzak support the [0C] Note Retrig command yet?

That's one that Huzak will *never* support, unless I'm reading the description wrong.

The Huzak code is only called every 1/60s, so I can't possibly retrigger a note more often than that.

Why would you want to?

Am I reading the description wrong?  :-k


Title: Re: Huzak - Yet another music driver
Post by: fragmare on February 20, 2017, 03:52:40 PM
Lol, I think you have the wrong idea about it.  It's meant to retrigger a note more than once on a single Deflemask row, so you *CAN* get a note to play every 1/60th (no matter how your song timing is set up)....

Let's say, you have an instrument set up with a pretty sharp decay.  Sounds awesome for most notes, but a few notes you come across have a longer sustain than the others... and to top it off, the sustaining notes have all kinds of different lengths.  What do you do?  You *COULD* set up separate instruments for each different length of note, but that's wasteful and you'd end up with a lot of instruments.  You could try to set up the sustain/decay manually in the pattern through volume commands and note cuts, but that doesn't get you per-tick control (unless you happen to be using 1/1 timing).

You see, if you have an instrument with a really sharp decay, but you need it to sustain for a few ticks WITHOUT the volume decaying, the best way I know of (without running into the aforementioned issues) is to play the note on successive rows in Deflemask... but if the decay is sharp, simply playing the note each row, by itself, will sound jittery and weird if your timing is, say, 3/2, or 3/3 or basically anything other than 1/1.  BUT!  If you force the note the retrigger on each row until the row is done, it plays seamlessly into the next note on the next row without any jitter or decay.  I *just* discovered the usefulness of it, and yea, it's pretty handy.  I wish I had started experimenting with it before.  It's more or less a "force sustain" command for a few ticks.  Or at least, that's how I'm using it.

PS I have a doozy coming up for you guys.  ;)
Title: Re: Huzak - Yet another music driver
Post by: elmer on February 20, 2017, 04:25:49 PM
Lol, I think you have the wrong idea about it.  It's meant to retrigger a note more than once on a single Deflemask row, so you *CAN* get a note to play every 1/60th (no matter how your song timing is set up)....

OK, so it's just poor English in the DefleMask manual.  ](*,)

Now then ... what does the "xx" parameter to the $0Cxx effect mean???  :-k

If you use $0C01, does the note retrigger every-frame (1/60s), or just once on the pattern row (whatever the "speed" setting currently is)?

If you use $0C02, does the note retrigger every-other-frame, or just twice on the pattern row?


Quote
PS I have a doozy coming up for you guys.  ;)

I look forward to hearing it!  :)
Title: Re: Huzak - Yet another music driver
Post by: Michirin9801 on February 20, 2017, 04:26:15 PM
Wow, I didn't even know this effect existed... (Goes to show how much I care about reading manuals >w>)

I don't know if I'll ever use it, but thanks to your explanation I have an idea on how it could be used in case I'd ever need it...
But hey ho, if you find it useful then great!

PS I have a doozy coming up for you guys.  ;)

So do I! Right now in fact!
http://sta.sh/011rbp9iix8n

I hope you like drifting in 16 bits! I think that's hint enough as to what it is ;3
Title: Re: Huzak - Yet another music driver
Post by: fragmare on February 20, 2017, 04:43:47 PM
Lol, I think you have the wrong idea about it.  It's meant to retrigger a note more than once on a single Deflemask row, so you *CAN* get a note to play every 1/60th (no matter how your song timing is set up)....


OK, so it's just poor English in the DefleMask manual.  ](*,)

Now then ... what does the "xx" parameter to the $0Cxx effect mean???  :-k

If you use $0C01, does the note retrigger every-frame (1/60s), or just once on the pattern row (whatever the "speed" setting currently is)?

If you use $0C02, does the note retrigger every-other-frame, or just twice on the pattern row?


Quote
PS I have a doozy coming up for you guys.  ;)


I look forward to hearing it!  :)



I'm pretty sure that [0Cxx] variable is the number of times/ticks to retrigger a note on a row, and if the total number of note triggers exceeds the number of ticks for that particular row (controlled by your timing), then the 0C command is simply ignored.

I'm still experimenting with it myself and seeing how it behaves in a more exact way...

Wow, I didn't even know this effect existed... (Goes to show how much I care about reading manuals >w>)

I don't know if I'll ever use it, but thanks to your explanation I have an idea on how it could be used in case I'd ever need it...
But hey ho, if you find it useful then great!

PS I have a doozy coming up for you guys.  ;)

So do I! Right now in fact!
http://sta.sh/011rbp9iix8n

I hope you like drifting in 16 bits! I think that's hint enough as to what it is ;3


Glad I could help!  :)  I'll check out that DMF here in a bit.  I have unsaved stuff open in Deflemask at this very second
Title: Re: Huzak - Yet another music driver
Post by: fragmare on February 20, 2017, 07:52:12 PM
Lol, I think you have the wrong idea about it.  It's meant to retrigger a note more than once on a single Deflemask row, so you *CAN* get a note to play every 1/60th (no matter how your song timing is set up)....

OK, so it's just poor English in the DefleMask manual.  ](*,)

Now then ... what does the "xx" parameter to the $0Cxx effect mean???  :-k

If you use $0C01, does the note retrigger every-frame (1/60s), or just once on the pattern row (whatever the "speed" setting currently is)?

If you use $0C02, does the note retrigger every-other-frame, or just twice on the pattern row?


Quote
PS I have a doozy coming up for you guys.  ;)

I look forward to hearing it!  :)


Preliminarily, from what i'm observing, it would appear that the [0C] command is retriggering the note every [xx] ticks until the row ends, ignoring values equal to or larger than the tick value of the row.  So to clarify, let's say, for shits n' giggles, your song timing was 5/2, and you stick a 0C command on the first row (5 ticks long).  If you use [0C01], then that note is going to repeat every 1/60th until the row ends, thus giving you 5 full ticks of sustain.  If you used, say [0C02] instead, it would repeat every OTHER tick until the row ends.  [0C03] would retrigger every THIRD tick, etc. etc.

So you can start to see where if your instrument has a sharp decay that drops off after the first tick or two, but you NEED a few ticks of sustain on some select notes without making all new volume macros for each individual note, then 0C is definitely the command for you.

This command seems to go hand-in-hand with the note cut, and note delay command to give more per-tick control over notes, in general.
Title: Re: Huzak - Yet another music driver
Post by: elmer on February 21, 2017, 03:33:48 AM
Preliminarily, from what i'm observing, it would appear that the [0C] command is retriggering the note every [xx] ticks until the row ends, ignoring values equal to or larger than the tick value of the row.  So to clarify, let's say, for shits n' giggles, your song timing was 5/2, and you stick a 0C command on the first row (5 ticks long).  If you use [0C01], then that note is going to repeat every 1/60th until the row ends, thus giving you 5 full ticks of sustain.  If you used, say [0C02] instead, it would repeat every OTHER tick until the row ends.  [0C03] would retrigger every THIRD tick, etc. etc.

OK, if it's really just a case of using a delay-counter to reset the Instrument Macro positions back to the beginning, then yeah, that's easy to implement.

I'll have to run some tests of my own to confirm that from the .hes file contents.
Title: Re: Huzak - Yet another music driver
Post by: elmer on March 05, 2017, 09:02:17 AM
I definitely want to add both the Tremolo and Volume Slide effects, they shouldn't be too horrible to add.

But, just like the mess that I'm going through with the Detune and Vibrato ... it's less about implementing the basic effect, and more about implementing it in a way that gives identical, or nearly-identical results to DefleMask so that it *sounds* the same.

As I said earlier ... it's "finicky" work.  ](*,)

So, nearly a month later, those darned effects are finally working "properly" ... which, to me, means outputting the same volume values that DefleMask produces.

After spending weeks of making tests and dissecting .hes files trying to figure out what is going on, I can say that Delek has made a few *really* strange decisions, and that there are some crazy interactions between things, that were not-at-all-fun to figure out.

Working on the ROMs for Michirin9801's recent Album (http://www.pcenginefx.com/forums/index.php?topic=22018.0) showed up a few bugs in the dmf2huz converter, and in Huzak itself.

It looks like those are fixed now!

So, to celebrate, from the DefleMask forums, here's SpoonyBard's PCE cover of Blood-Stained Lake from Elemental Master.

DefleMask original ...
http://www.deflemask.com/forum/show-off-your-work/cover-game-music-on-a-different-system/msg5203/#msg5203

Huzak ROM ...
https://www.dropbox.com/s/hpg2b5wqglcvzdl/Huzak5thWIP-BloodStainedLake.pce?dl=0


And updated versions of Fragmare's Simon Belmont Theme, where the version with Volume Slides and Tremolo now works properly (I think) ...

Thread here ...
http://www.pcenginefx.com/forums/index.php?topic=21963.0

Huzak ROMs ...
https://www.dropbox.com/s/j6tw4l8bxpigd2r/Huzak5thWIP-SimonBelmontTheme-WithSlides.pce?dl=0
https://www.dropbox.com/s/wyogeb3wjizd051/Huzak5thWIP-SimonBelmontTheme-NoSlides.pce?dl=0
Title: Re: Huzak - Yet another music driver
Post by: DarkKobold on June 07, 2017, 06:37:20 AM
Hey, so has there been any chance of implementing a beta of this? I'd also love to see/help get some early sample-based sfx going!
Title: Re: Huzak - Yet another music driver
Post by: elmer on June 08, 2017, 09:40:18 AM
Sorry, I've be snowed-under with the whole LoX Dub process.

I didn't think that my help would be needed on that, but with the massive turnout, it has been.


Michirin9801 has a sort-of-beta that she can use to test tunes ... but there is still no sample support built in, yet.

Do you already have your Deflemask background tune(s)? Have you left channels unused or with minimal-use so that sound-effects can override them?

Do you have your samples done? Each sound effect will need to be its own Deflemask file, with 1:1 row timing.
Title: Re: Huzak - Yet another music driver
Post by: Gredler on June 08, 2017, 10:20:23 AM
Do you already have your Deflemask background tune(s)? Have you left channels unused or with minimal-use so that sound-effects can override them?

Do you have your samples done? Each sound effect will need to be its own Deflemask file, with 1:1 row timing.

I don't want to speak for DK but I do not believe we have anything prepped. but this bit if info gives us the foundation we need to start planning and trying to lock in some potentially useable assets :) Thanks, and good luck with that beast of a dub!
Title: Re: Huzak - Yet another music driver
Post by: Michirin9801 on June 09, 2017, 03:25:26 PM
Do you already have your Deflemask background tune(s)? Have you left channels unused or with minimal-use so that sound-effects can override them?

Do you have your samples done? Each sound effect will need to be its own Deflemask file, with 1:1 row timing.

I don't want to speak for DK but I do not believe we have anything prepped. but this bit if info gives us the foundation we need to start planning and trying to lock in some potentially useable assets :) Thanks, and good luck with that beast of a dub!
I'm kinda busy AF at the moment, but if you need any help with PSG SFX and Drums I'll be glad to help!
(So long as you're okay with waiting a little bit for an answer, you know, college and stuff)
Also, if elmer wouldn't mind, or hasn't already sent it to you, I can send you the beta he's given me...
Title: Re: Huzak - Yet another music driver
Post by: elmer on June 10, 2017, 09:07:17 AM
I'm kinda busy AF at the moment, but if you need any help with PSG SFX and Drums I'll be glad to help!
(So long as you're okay with waiting a little bit for an answer, you know, college and stuff)
Also, if elmer wouldn't mind, or hasn't already sent it to you, I can send you the beta he's given me...

I absolutely don't mind you sending the beta to them ... but they'll probably want some of the build settings changed.

Your version is customized for the 240Hz bass/drum updates, and the proper noise channel settings (i.e. no correction for DefleMask's bug).

If somebody other than you is composing the Catastrophy music in DefleMask, then those should be switched back to their "compatibility-mode" settings.
Title: Re: Huzak - Yet another music driver
Post by: Michirin9801 on June 11, 2017, 12:53:25 PM
I'm kinda busy AF at the moment, but if you need any help with PSG SFX and Drums I'll be glad to help!
(So long as you're okay with waiting a little bit for an answer, you know, college and stuff)
Also, if elmer wouldn't mind, or hasn't already sent it to you, I can send you the beta he's given me...

I absolutely don't mind you sending the beta to them ... but they'll probably want some of the build settings changed.

Your version is customized for the 240Hz bass/drum updates, and the proper noise channel settings (i.e. no correction for DefleMask's bug).

If somebody other than you is composing the Catastrophy music in DefleMask, then those should be switched back to their "compatibility-mode" settings.
Yeah you're right, but they'd probably be fine if they just didn't use the very first instrument...
At this point I'm just waiting for their answer before I decide on sending it or not, or maybe you could just restore the "compatibility settings" and send it to them if they want... I'd still be fine with sharing my drum instruments though!
Title: Re: Huzak - Yet another music driver
Post by: Gredler on June 12, 2017, 12:47:13 PM
I'm kinda busy AF at the moment, but if you need any help with PSG SFX and Drums I'll be glad to help!
(So long as you're okay with waiting a little bit for an answer, you know, college and stuff)
Also, if elmer wouldn't mind, or hasn't already sent it to you, I can send you the beta he's given me...

Thank you that's really appreciated!

I think DK is just looking to plug in some temp music and sound effects to test with to plan how hte code will work, but we don't currently have a musician/sound person, so having access to instruments/tools is not really useful for us.

Like I said earlier, we are thankful for Elmer's work on the tool, and the musicians out there working with him to make it flexable and useable, but unless someone wants to give us music to use as a placeholder there's not a lot we can do with the tools even if Elmer gave them to us.

I have offered to try to learn this stuff, but barely have/take the time to work on the art so adding music and sound to my plate would only further slow things down :P

I should change my username to "bottleneck" hahaha
Title: Re: Huzak - Yet another music driver
Post by: DarkKobold on June 12, 2017, 03:23:58 PM
I think DK is just looking to plug in some temp music and sound effects to test with to plan how hte code will work, but we don't currently have a musician/sound person, so having access to instruments/tools is not really useful for us.

Like I said earlier, we are thankful for Elmer's work on the tool, and the musicians out there working with him to make it flexable and useable, but unless someone wants to give us music to use as a placeholder there's not a lot we can do with the tools even if Elmer gave them to us.


This is exactly it. The majority of potential musicians we've interacted with wanted money first, which neither gredler or I have the ability to front. However, I'd like to be able to start adding placeholder tracks, to make sure it works, doesn't slow my code down, or if it does, edit my code so the speed is maintained. Additionally, I'd love to be able to add downsampled sound effects in the proper places. Really, it'd be nice to be at a point where we're both comfortable the game will be finished, and thus we'd be in a better place to front the cash for actual good music. At this point, its just a hobby project between two bros. (We've also agreed we won't kickstarter anything until its pretty much ready for manufacture.)

Regarding SFX, I'm capable of downsampling WAV files into 5bit numbers, but I'm going to need hand holding past that... Really, just getting these things started would help us accelerate, and have a more 'complete' feeling game.
Title: Re: Huzak - Yet another music driver
Post by: Gredler on June 12, 2017, 03:30:11 PM
(We've also agreed we won't kickstarter anything until its pretty much ready for manufacture.)

To be clear, if someone wanted a physical copy it would require money manufacture, so we would ask for people to help pay for any physical copies that would be made - I don't want to get people thinking we're planning on putting this project on kickstarter - that is NOT something I want to do if at all possible.
Title: Re: Huzak - Yet another music driver
Post by: Michirin9801 on June 13, 2017, 02:55:52 AM
I'm tempted to just send you some of my music for you to test...
Title: Re: Huzak - Yet another music driver
Post by: Gredler on June 13, 2017, 07:24:13 AM
I'm tempted to just send you some of my music for you to test...

Thanks, if you've heard the music I made I am sure anything you record while on the toilet would sound better than my attempts ;)
Title: Re: Huzak - Yet another music driver
Post by: DarkKobold on June 14, 2017, 10:42:18 AM
I'm tempted to just send you some of my music for you to test...

We would promise that none of it would make it to the final version of the game, unless you specifically wanted it to! It will be played during various game play demos, whether they are posted to youtube or played at the various gaming conventions. We'd be sure to give you credit, even if none of your songs were in the final version. Let us know if that is cool for you.
Title: Re: Huzak - Yet another music driver
Post by: Michirin9801 on June 14, 2017, 12:33:19 PM
I'm tempted to just send you some of my music for you to test...

We would promise that none of it would make it to the final version of the game, unless you specifically wanted it to! It will be played during various game play demos, whether they are posted to youtube or played at the various gaming conventions. We'd be sure to give you credit, even if none of your songs were in the final version. Let us know if that is cool for you.


That's perfectly fine with me!
I'll PM you this weekend with a few songs, but mind you, they're all covers, none of them is original by me >w>
Title: Re: Huzak - Yet another music driver
Post by: MooZ on July 27, 2017, 09:52:24 PM
Damn I'd definitively need this.
I'm tired of 200KB vgm :/
Title: Re: Huzak - Yet another music driver
Post by: elmer on July 29, 2017, 09:56:56 AM
Yes, I really need to get back to this and finish it off enough for a release.

The big thing that's stopping that (apart from sample-support), is adding the modifications to the converter to process multiple DefleMask files so that you can convert a few different tunes and add sound effects as well, all into the same bank of music.

That's ongoing.
Title: Re: Huzak - Yet another music driver
Post by: MooZ on July 29, 2017, 11:04:13 AM
Maybe you can postpone the multi song stuff for a v2 :)
Title: Re: Huzak - Yet another music driver
Post by: Gredler on July 29, 2017, 11:39:49 AM
Elmer is a man of many projects, all of them so appreciable!

I know how important and anticipated the translation projects are, but huzak is tip top of my Christmas list this year, I have to agree how exciting this is!

After working in pro motion ng for a bit over the laat couple weeks, and making some small progress on the third of five planned levels, I can't wait to start getting some tuneage in there! We have not locked down a composer/artist, but even Michirin9801's graciously donated covers for now would be raaad :)
Title: Re: Huzak - Yet another music driver
Post by: elmer on July 29, 2017, 01:38:14 PM
Maybe you can postpone the multi song stuff for a v2 :)

Yeah, sorry, can't do that ... I need that capability so that Gredler & DK can have both Sound Effects and Tunes.

Kinda important for homebrew.

If you have a real pressing use for it ... send me a PM, and we can talk.

Some people already have copies of the current WIP ... but even though they've got it, it's not much use to Gredler & DK at the moment without HuC hooks.
Title: Re: Huzak - Yet another music driver
Post by: Michirin9801 on July 29, 2017, 03:20:19 PM
but even mirichans graciously donated covers for now would be raaad :)
You're talking about me?
If so you kinda misspelled my name >w>';
Title: Re: Huzak - Yet another music driver
Post by: Gredler on July 29, 2017, 08:20:38 PM
Yeah I was, sorry I fixed it:)
Title: Re: Huzak - Yet another music driver
Post by: MooZ on July 31, 2017, 04:15:07 AM
Well I'm not in a hurry. I don't think I'll have enough new material to release something at datastorm this september anyway.
Title: Re: Huzak - Yet another music driver
Post by: elmer on July 31, 2017, 07:24:54 PM
No problem! I'm busy myself at the moment.

This month is going to be lost to "vacation" preparations, so I'm not going to get much more PCE-stuff done until September.
Title: Re: Huzak - Yet another music driver
Post by: DeltaRazero on October 21, 2017, 08:28:44 AM
Damn I'd definitively need this.
I'm tired of 200KB vgm :/

Amen. I even have a 1.6 MB .vgm and it only uses 2 samples that are small and short, so that's even more annoying when it's almost all PSG.

I'd also be temped to use Muzak when it releases as exporter if I can get HuC6280's audio code from Mednafen to work in 0CC-FamiTracker. Need to study its code some more.
Title: Re: Huzak - Yet another music driver
Post by: Michirin9801 on October 21, 2017, 08:45:19 AM
I'd also be temped to use Muzak when it releases as exporter if I can get HuC6280's audio code from Mednafen to work in 0CC-FamiTracker. Need to study its code some more.
Why not just use Deflemask though? I mean, Huzak was written to support that...
Title: Re: Huzak - Yet another music driver
Post by: DeltaRazero on October 21, 2017, 10:49:36 AM
Because 0CC-FamiTracker provides a better workflow, atleast for me.
Making wavetables and them being more easily switchable (basic wavetable sampling made more easy as well) and being more organised the way FamiTracker does it is more convenient, having arp schemes and grooves are my most important reasons.

Besides, Deflemask misses some functions or are broken. Take the noise volume differences: I know Huzak makes up for that difference and corrects it, but maybe I want to have it louder at a certain point in a song. Elmer mentioning missing noise frequencies and no switch mode between wavetable and noise (though Delek said he added that).
While reading documentation there's apparently a global- volume and -stereo volume function there.
More sound engine options are also nowhere or badly to be seen in Deflemask (sample rate, and the buffer option is better in FamiTracker).
More convenient controls, echo buffer... I think I've said reasons enough.

No offence, I'd use Huzak for with Deflemask, but I hope you can agree that a dedicated tracker specialized for a sound driver would eventually be the best. 0CC-FT is also opensource, so there's way less hassle figuring out the inner workings of the program.
Title: Re: Huzak - Yet another music driver
Post by: Michirin9801 on October 21, 2017, 12:43:44 PM
Because 0CC-FamiTracker provides a better workflow, atleast for me.
Making wavetables and them being more easily switchable (basic wavetable sampling made more easy as well) and being more organised the way FamiTracker does it is more convenient, having arp schemes and grooves are my most important reasons.

Besides, Deflemask misses some functions or are broken. Take the noise volume differences: I know Huzak makes up for that difference and corrects it, but maybe I want to have it louder at a certain point in a song. Elmer mentioning missing noise frequencies and no switch mode between wavetable and noise (though Delek said he added that).
While reading documentation there's apparently a global- volume and -stereo volume function there.
More sound engine options are also nowhere or badly to be seen in Deflemask (sample rate, and the buffer option is better in FamiTracker).
More convenient controls, echo buffer... I think I've said reasons enough.

No offence, I'd use Huzak for with Deflemask, but I hope you can agree that a dedicated tracker specialized for a sound driver would eventually be the best. 0CC-FT is also opensource, so there's way less hassle figuring out the inner workings of the program.
If you say so... But personally, I think Deflemask has the best workflow of any tracker I've ever used (although Famitracker is a close 2nd because it's near-identical, except it requires more clicking around to do the same things) It doesn't need "arp schemes" because it has polyphony, and I don't like arpeggios, and it already supports the PC engine, not to mention Delek is fixing its inaccuracies (not that they were very pronounced in the first place) and making instruments even better in the next release...
The only thing Famitracker is better for IMO is wave-phasing, which is something you should avoid doing too much on the PCE anyways...
Here's the thing though, this is all subjective, no one tracker is "better" than any other, it's all up to personal preference...
Title: Re: Huzak - Yet another music driver
Post by: DeltaRazero on October 21, 2017, 10:43:11 PM
I can agree with it being subjective.

I just like 0CC-FT's flow work better for me, and it's another challenge to gain some programming experience in C++.
Title: Re: Huzak - Yet another music driver
Post by: Arkhan on October 21, 2017, 11:20:15 PM
It doesn't need "arp schemes" because it has polyphony, and I don't like arpeggios,

You actually like arpeggios.   Everyone likes arpeggios. 

You don't like "arps".   They're not the same thing.   Arps are arpeggios played at a rapid enough speed to give a simulation of a chord. 

AKA: Arps are people trying to make arpeggios stop being arpeggios, lol.

This is a normal arpeggio:

https://youtu.be/BnGGkluWtrE?t=119

I'd find it really hard to believe anyone doesn't like those. 


Also, all this "best tracker/ tracker workflow" stuff is funny.

It's like watching people debate which turd is the coolest.

ayyyyyy
Title: Re: Huzak - Yet another music driver
Post by: Michirin9801 on October 22, 2017, 04:52:39 AM
You don't like "arps".   They're not the same thing.   Arps are arpeggios played at a rapid enough speed to give a simulation of a chord. 
Yeah, that's what I don't like...
Title: Re: Huzak - Yet another music driver
Post by: Arkhan on October 22, 2017, 06:12:56 AM
Yeah, those are the product of soundchips with 3 channels, and the need for some depth, basically.

The warble noise from those is really only good for sweeps, or actual attempts at chords like:

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

For some reason though, people became obsessed with spewing that into every portion of a song ever, probably because they heard Tim Follin do it, and tried to emulate it a little too hard.   He found the perfect balance with those.

It pretty much ruins a lot of other tunes because it's overbearing as hell.

Title: Re: Huzak - Yet another music driver
Post by: Michirin9801 on October 22, 2017, 06:51:34 AM
Tim Follin is one of the very few composers who actually made arps not sound bad...
Jeroen Tel was another one, I like his songs too...
Title: Re: Huzak - Yet another music driver
Post by: Arkhan on October 22, 2017, 08:32:55 AM
Well, as is the case with a lot of people who emulate something, they just mimic it without understanding exactly what it is they're doing.   People like Follin and Tel, and Hubbard all did it for a reason.

Now the noise sounds kind of cool so people get excited and end up going overboard.

see: Gameboy chiptunes.
Title: Re: Huzak - Yet another music driver
Post by: Michirin9801 on October 22, 2017, 10:38:00 AM
see: Gameboy chiptunes.
And some people give me s*** for 'not listening to European chiptunes' whenever I say "Not a lot of people used the GB soundchip right"
And I'm like: "But I DO listen to European chiptunes, it's just that none of the ones I like are on the Game Boy!"
Title: Re: Huzak - Yet another music driver
Post by: MooZ on October 24, 2017, 11:25:34 PM
Tim Follin ZX Spectrum 1 bit tunes are awesome.

By the way any news on a possible release before Christmas ? :)
Title: Re: Huzak - Yet another music driver
Post by: Gredler on October 25, 2017, 04:53:09 AM
Can't wait to hear this running in a homebrew or two! Thanks for the hard work elmer :)
Title: Re: Huzak - Yet another music driver
Post by: elmer on October 25, 2017, 12:03:27 PM
By the way any news on a possible release before Christmas ? :)

Nope, no real news.

I'm not able to do much to help SamIAm with the LoX dubs, so I really should get back to it.
Title: Re: Huzak - Yet another music driver
Post by: DarkKobold on November 10, 2017, 11:22:15 AM
By the way any news on a possible release before Christmas ? :)

Nope, no real news.

I'm not able to do much to help SamIAm with the LoX dubs, so I really should get back to it.


Hey, any progress would be great progress! I look forward to hearing about it!
Title: Re: Huzak - Yet another music driver
Post by: DarkKobold on March 05, 2018, 08:56:21 AM
Still hoping for some updates on this - we are working on Catastrophy again, however, as we are trying to keep the final level spoiler free, there isn't much to show.
Title: Re: Huzak - Yet another music driver
Post by: Black Tiger on March 06, 2018, 06:18:47 AM
Still hoping for some updates on this - we are working on Catastrophy again, however, as we are trying to keep the final level spoiler free, there isn't much to show.

Thanks for the update. :)
Title: Re: Huzak - Yet another music driver
Post by: DarkKobold on March 06, 2018, 08:14:07 AM
Still hoping for some updates on this - we are working on Catastrophy again, however, as we are trying to keep the final level spoiler free, there isn't much to show.

Thanks for the update. :)

It was for Elmer, so he doesn't think we've abandoned the project. Since we are really hoping to use Huzak and it's planned sample support, it's good to let him know the project isn't totally dead. Hence why I talked about it in this thread. Perhaps a PM would have been more appropriate.