Author Topic: HuSound  (Read 3730 times)

Arkhan

  • Hero Member
  • *****
  • Posts: 14142
  • Fuck Elmer.
    • Incessant Negativity Software
Re: HuSound
« Reply #45 on: March 10, 2015, 03:19:20 PM »
I'm sure it's not hard, but if I have to type anything I'm not doing it. It sounds lame, but ever since my music when fully hardware my productivity has skyrocketed. I'm not typing anymore ever.


http://www.kvraudio.com/product/chip32_by_sam/details

You just use this in a DAW and drag the mouse around and press a key on your MIDI controller of choice and see if you like the noise you just drew.

I rock FruityLoops for all this crap.  There's no typing.  Just clicky stuff followed by keyboard-smacky-stuff.




Moving a mouse is way worse than a typing on a keyboard. Since this is a VST I'll give it a shot. I'll try mapping it to something.

I really hate "computer user" type actions while recording music. It's my creative kryptonite.


Oh, you only need to use the mouse for the VST for drawing your waveform.  It all responds to MIDI though from what I remember.   It's worth checking out, especially since it's all free!




and yeah, the HuCard version of the player is more or less the BIOS one.   Why radically rewrite something that is already there, and working.
[Fri 19:34]<nectarsis> been wanting to try that one for awhile now Ope
[Fri 19:33]<Opethian> l;ol huge dong

I'm a max level Forum Warrior.  I'm immortal.
If you're not ready to defend your claims, don't post em.

elmer

  • Hero Member
  • *****
  • Posts: 2153
Re: HuSound
« Reply #46 on: March 10, 2015, 06:08:55 PM »
In other news, I've released HuSound v1.2cz which is the first proper open source release of HuSound, HuListen, and HSCC as per Elmer's request. After some thought, I've gone with the zlib license.


Thank you!  :) Putting a license on it clarifies how people like me can use it ... and you've chosen a generous license that's perfect for library code.

I look forward to hearing your demo tunes played back on a PC-FX!  :wink:

I kinda want to see a side-by-side write up of HuSound and Squirrel. I'm curious to know how they are similar and how they are different. What does one do that the other does not, and so on.


I just looked at Squirrel again ... and Arkhan seems to be marketing it as an MML compiler that produces files that are compatible with Hudson's built-in MML player that is built into the System Card.

Very sensibly, Squirrel also has it's own player that can be used on HuCards that obviously don't have the System Card available.

Back-in-the-day when the PCE came out, MML was big in Japan because of the MSX, and it made sense for Hudson to include a music driver in the CD BIOS in order to avoid every developer having to include their own music driver in the very limited 64KB of RAM that was available on the original PCE CD. MML must have seemed like the obvious choice.

MML still survives today, and there seem to be a few other MML compilers/players for the PCE ... such as XPMCK and HuSIC. Arkhan would be the guy to ask to tell you if/why Squirrel is better than those others.

But back in the 80's and 90's, MML wasn't the only way for musicians to write music for the sound chips that were built into home computers/consoles.

MML wasn't used much in the West (MSX flopped) ... the "big" thing for many years were "trackers" ... originally coming from the Amiga (which flopped in Japan). Like MML, "trackers" still exist, and it looks like Bonknuts has developed a "tracker" player for the PCE.

The 3rd option for developers were "custom" drivers, often specific to the musician/company that used them.

These were often created in order to provide more flexible/better environments (in their author's opinions) than the alternative "standard" environments.

HuSound comes out of that tradition, being based on Epyx's Sound Programming Language.

In practice ... these days, when musicians basically want to write their songs on real keyboards or using powerful PC-or-MAC-based DAWs ... Squirrel, Trackers and HuSound are all anachronisms.

The problem is more going to be in finding a musician that's willing to work with such primitive tech, more than whether one driver or the other has a "slight" technical advantage.

If you're a programmer or a musician, then just look at each and see which one feels more "comfortable" to you.

If you're a game-player, then I'd be very surprised if you'd every know the difference by the results that a good musician could produce with either.
« Last Edit: March 10, 2015, 06:10:39 PM by elmer »

Arkhan

  • Hero Member
  • *****
  • Posts: 14142
  • Fuck Elmer.
    • Incessant Negativity Software
Re: HuSound
« Reply #47 on: March 10, 2015, 06:25:04 PM »
The counter to this is that Squirrel, being MML, is easy for people who are borderline clueless to get up and running.   It was made and designed to be accessible and practical.   

Trackers are not really accessible, and really are not too intuitive. 

They're clunky/archaic/annoying.   They worked at the time because that's all you had.   Now?  They're a pain.

MML has a strong presence still in Japan today because of a game called Mabinogi.   

Anyway, Squirrel comes with a sample setup where you can practically click a few things and get a song going.

For example, I don't recall NinjaSpirit injuring himself too hard doing this:



The upside to using Squirrel over the other MML solutions is that those other ones are f*ck-all annoying to setup and use.  I know how to do MML, and do it on a daily basis, and even I find them annoying.

Squirrel is far easier and more user friendly.  It was made to be similar to Musica on MSX, which is still used in commercial stuff today.

AKA: You don't have to screw around with too many parameters and various blobs of bullshit.   

Using the template file, the (hopefully helpful) manual that I wrote, and a little bit of experimenting, you can get songs going, fast.

Make a MIDI, convert it using the various utilities out there that do that.. copy paste... hit go.

done.




I am not saying HuSound is bad, though.  I've honestly never used it, so I can't comment.   I looked at it a little, shrugged, and said "f*ck it, I already have a working thing to do tunes.".

[Fri 19:34]<nectarsis> been wanting to try that one for awhile now Ope
[Fri 19:33]<Opethian> l;ol huge dong

I'm a max level Forum Warrior.  I'm immortal.
If you're not ready to defend your claims, don't post em.

TailChao

  • Full Member
  • ***
  • Posts: 156
Re: HuSound
« Reply #48 on: March 11, 2015, 04:02:31 AM »
In practice ... these days, when musicians basically want to write their songs on real keyboards or using powerful PC-or-MAC-based DAWs ... Squirrel, Trackers and HuSound are all anachronisms.

The problem is more going to be in finding a musician that's willing to work with such primitive tech, more than whether one driver or the other has a "slight" technical advantage.

If you're a programmer or a musician, then just look at each and see which one feels more "comfortable" to you.

If you're a game-player, then I'd be very surprised if you'd every know the difference by the results that a good musician could produce with either.
Basically this. It's up to the composer and programmer to choose what is most comfortable for them and for the game. Much of what is "better" here is just preference.
The SASS language was made based upon my brother's and my own opinions regarding the shortcomings of both SPL and MML. So I made something that was easy for us to use.

The drivers are very different, though. HuSound uses a macro setup which lets you do completely chaotic things with instruments, but also generates large binaries and uses more memory.

Arkhan

  • Hero Member
  • *****
  • Posts: 14142
  • Fuck Elmer.
    • Incessant Negativity Software
Re: HuSound
« Reply #49 on: March 11, 2015, 06:27:13 AM »
TailChao, do you have any plans for a sane/easy way to convert from a MIDI into your format?

I think that's basically what makes Squirrel so powerful.   You don't really have to actually do the MML.  You just copy paste.

You only generally have to do MML if you're optimizing because your songs are 900 miles long.
[Fri 19:34]<nectarsis> been wanting to try that one for awhile now Ope
[Fri 19:33]<Opethian> l;ol huge dong

I'm a max level Forum Warrior.  I'm immortal.
If you're not ready to defend your claims, don't post em.

TailChao

  • Full Member
  • ***
  • Posts: 156
Re: HuSound
« Reply #50 on: March 11, 2015, 06:40:40 AM »
TailChao, do you have any plans for a sane/easy way to convert from a MIDI into your format?

I think that's basically what makes Squirrel so powerful.   You don't really have to actually do the MML.  You just copy paste.

You only generally have to do MML if you're optimizing because your songs are 900 miles long.

There's a general MIDI to SASS converter I wrote available here.
As of version 1.1, it seems to be fairly compatible and will happily split MIDI channels into individual SASS tracks based upon detected activity. Of course, you still have to create your own instruments, set up looping, apply any effects, etc. But this is not a really big deal.
« Last Edit: February 11, 2016, 11:03:42 AM by TailChao »

Arkhan

  • Hero Member
  • *****
  • Posts: 14142
  • Fuck Elmer.
    • Incessant Negativity Software
Re: HuSound
« Reply #51 on: March 11, 2015, 06:45:01 AM »
Cool.   When I have some down time, I might give it a closer look.   What kind of space/resource overhead does using it incur?
[Fri 19:34]<nectarsis> been wanting to try that one for awhile now Ope
[Fri 19:33]<Opethian> l;ol huge dong

I'm a max level Forum Warrior.  I'm immortal.
If you're not ready to defend your claims, don't post em.

TailChao

  • Full Member
  • ***
  • Posts: 156
Re: HuSound
« Reply #52 on: March 11, 2015, 06:52:27 AM »
Cool.   When I have some down time, I might give it a closer look.   What kind of space/resource overhead does using it incur?

I put up some visuals regarding this back on the first page. The only difference between that version and the current one is that we're using ~7 bytes more RAM in v1.2cz.

There are two major things to keep in mind with this driver:
*The performance is extremely variable based upon activity. Playing PCM samples on all six channels will obviously eat your cycles.
*The RAM usage is high and music binaries are large, but I consider these moot because the sound tools are designed for use with the MCGenjin mapper. I think the Wario Land Boss cover was like 17KB or so.
« Last Edit: March 11, 2015, 06:58:36 AM by TailChao »

Bonknuts

  • Hero Member
  • *****
  • Posts: 3292
Re: HuSound
« Reply #53 on: March 11, 2015, 08:46:43 AM »
Sort of off side topic, but I see 'tracker' and 'mml' (or script based stuff) as the interface in creating music - and not necessarily the music driver itself (though they can be write specifically this way). The last sound driver I wrote could run both formats: pattern based or command string based. I liked the idea of applying the strengths of command string structure to that of a simpler pattern/list format.

Arkhan

  • Hero Member
  • *****
  • Posts: 14142
  • Fuck Elmer.
    • Incessant Negativity Software
Re: HuSound
« Reply #54 on: March 11, 2015, 09:13:12 AM »
Unfortunately, a tracker is not a very musical interface, so I've always found it to be a clunky trainwreck to use.   The more modern, functional equivalent to me, is a piano roll.    I find that worlds more effective than a tracker's interface.

Since MML is a text representation of sheet music, it seems a bit more fluid.   
[Fri 19:34]<nectarsis> been wanting to try that one for awhile now Ope
[Fri 19:33]<Opethian> l;ol huge dong

I'm a max level Forum Warrior.  I'm immortal.
If you're not ready to defend your claims, don't post em.

spenoza

  • Hero Member
  • *****
  • Posts: 2751
Re: HuSound
« Reply #55 on: March 11, 2015, 01:59:03 PM »
Sounds like Squirrel is going to be easier for a n00b to get up and running, but HuSound might be a little more powerful/robust in terms of raw capabilities, if you can spare the memory and CPU cycles for it.
<a href="http://www.pcedaisakusen.net/2/34/103/show-collection.htm" class="bbc_link" target="_blank">My meager PC Engine Collection so far.</a><br><a href="https://www.pcenginefx.com/forums/" class="bbc_link" target="_blank">PC Engine Software Bible</a><br><a href="http://www.racketboy.com/forum/" c

elmer

  • Hero Member
  • *****
  • Posts: 2153
Re: HuSound
« Reply #56 on: March 11, 2015, 03:24:00 PM »
Sort of off side topic, but I see 'tracker' and 'mml' (or script based stuff) as the interface in creating music - and not necessarily the music driver itself (though they can be write specifically this way).

That's a very good point ... the musician's workflow, and how that workflow enhances (or sometimes crushes) their creativity, is all that's really important.

It's only the progammers of this world that really have to worry about "drivers" and how to actually get the tune to play. From a programmer's POV, whatever the format, it's all just the reasonably simple juggling of bits and bytes and then writing to the PSG's registers.

Quote
The last sound driver I wrote could run both formats: pattern based or command string based. I liked the idea of applying the strengths of command string structure to that of a simpler pattern/list format.

Cool! Is there a demo of that anywhere?

Do you have any plans to release your xm player?

Sounds like Squirrel is going to be easier for a n00b to get up and running, but HuSound might be a little more powerful/robust in terms of raw capabilities, if you can spare the memory and CPU cycles for it.

That's certainly what Arkhan would have you believe.

The best thing is for you to experiment yourself.

There's an online MML editor that you can play with and see if you like it ...

http://benjaminsoule.fr/tools/vmml/

And here's a tune from http://www.reddit.com/r/gamedev/comments/1f9l62/visual_mml_a_text_music_editor

Code: [Select]
#TABLE0{(0,0,-32,32,-32,32,-32,32,-32,32,-32,32,-32,32,-32,32,-32,32,-32,32,-32,32,-32)128};
#TABLE1{(255,0)5};

%1 @2 na1 t 110 l16 v8
[[[o>> g+ o>r d+ d+]][[o>> a+ o>r f f]][o> c r g g] o> c r o>> g r a+ r o> f r[[o> c r g g]]
[[o> d+ r a+ a+]][[o>> a+ o>r f f]][o> c r g g] o> c r o>> g r a+ r o> f r[[o> c r g g]]]c;

%1 @2 na1 t 110 l16 v4 l16 r r l16
[[[o>> g+ o>r d+ d+]][[o>> a+ o>r f f]][o> c r g g] o> c r o>> g r a+ r o> f r[[o> c r g g]]
[[o> d+ r a+ a+]][[o>> a+ o>r f f]][o> c r g g] o> c r o>> g r a+ r o> f r[[o> c r g g]]]c;

%1 @8 np0
o< l2 g l4 r r l4 f. l16 f d+ l4 f g f l16 r r l4 d+ l16 r r l2 c l4 r r l16 c d d+ f l4
o< g^ l16 r r g+ g f^ d+^ l4 f r o<< c r o< a+^ r r r l16 r^^^^^^^^^ g a+
o< l2 g l4 r a+ f. l32 f g f d+ l4 f g f l16 r r l4 d+ l16 r r l2 c l4 r r l16 c d d+ f l4
o< g^ l8 r l16 g+ g l8 f d+ l2 f o<< d c^;

%1 @8 np0 l32 r r r r v4
o< l2 g l4 r r l4 f. l16 f d+ l4 f g f l16 r r l4 d+ l16 r r l2 c l4 r r l16 c d d+ f l4
o< g^ l16 r r g+ g f^ d+^ l4 f r o<< c r o< a+^ r r r l16 r^^^^^^^^^ g a+
o< l2 g l4 r a+ f. l32 f g f d+ l4 f g f l16 r r l4 d+ l16 r r l2 c
l4 r r l16 c d d+ f l4 o< g^ l8 r l16 g+ g l8 f d+ l2 f o<< d c^;

%1 @8 np0
l32 r r r r r r r r v3
o< l2 g l4 r r l4 f. l16 f d+ l4 f g f l16 r r l4 d+ l16 r r l2 c l4 r r l16 c d d+ f l4
o< g^ l16 r r g+ g f^ d+^ l4 f r o<< c r o< a+^ r r r l16 r^^^^^^^^^ g a+
o< l2 g l4 r a+ f. l32 f g f d+ l4 f g f l16 r r l4 d+ l16 r r l2 c l4 r r l16 c d d+ f l4
o< g^ l8 r l16 g+ g l8 f d+ l2 f o<< d c^;

I don't know about you ... but that doesn't look fun to edit to me!

Unfortunately, a tracker is not a very musical interface, so I've always found it to be a clunky trainwreck to use.   

Although Arkhan obviously doesn't like the tracker interface, there seem to be enough other people that do to support the commercial Renoise editor, and the open-source OpenMPT project.

http://en.wikipedia.org/wiki/Music_tracker
http://en.wikipedia.org/wiki/OpenMPT

As mentioned on Wikipedia ... OpenMPT is still being used in game development at places like PopCap.

Arkhan

  • Hero Member
  • *****
  • Posts: 14142
  • Fuck Elmer.
    • Incessant Negativity Software
Re: HuSound
« Reply #57 on: March 12, 2015, 06:44:13 AM »
Or, rather than dive into some other example and editor, you could just download Squirrel and use one of the many preincluded examples that are much simpler.

and if you look at the nice manual I wrote, it's all explained pretty good. 

I use 3MLE for MML editing in a modern interface, complete with piano roll: http://3ml.jp/


If you do the right amount of investigation before starting and scaring yourself, you'll find that MML is simple.

It's not like trackers are an easily accessible, approachable interface.   It's columns of bullshit, often with hex values, and it's all fairly unintuitive.


I made some demonstration videos awhile back too, to demonstrate how non-painful it honestly is:




EDIT: also, that MML example is pretty terrible looking.   Don't blame MML for someone else doing a crappy job at editing the thing.
« Last Edit: March 12, 2015, 06:49:04 AM by Arkhan »
[Fri 19:34]<nectarsis> been wanting to try that one for awhile now Ope
[Fri 19:33]<Opethian> l;ol huge dong

I'm a max level Forum Warrior.  I'm immortal.
If you're not ready to defend your claims, don't post em.

nodtveidt

  • Guest
Re: HuSound
« Reply #58 on: March 12, 2015, 01:21:15 PM »
MML is so easy that a braindead raccoon could understand it. 3MLE makes it easy enough for a completely dead raccoon to use it.

spenoza

  • Hero Member
  • *****
  • Posts: 2751
Re: HuSound
« Reply #59 on: March 13, 2015, 05:38:08 PM »
I suspect a dead parrot is another story altogether, however. Are your raccoons zombies, perchance?
<a href="http://www.pcedaisakusen.net/2/34/103/show-collection.htm" class="bbc_link" target="_blank">My meager PC Engine Collection so far.</a><br><a href="https://www.pcenginefx.com/forums/" class="bbc_link" target="_blank">PC Engine Software Bible</a><br><a href="http://www.racketboy.com/forum/" c