Shop OBEX P1 Docs P2 Docs Learn Events
(HSS) The Musical Propeller. (Hydra Sound System) - Page 4 — Parallax Forums

(HSS) The Musical Propeller. (Hydra Sound System)

124

Comments

  • BaggersBaggers Posts: 3,019
    edited 2007-08-23 18:35
    yeah, any news on your Sid player [noparse]:D[/noparse]
  • Ym2413aYm2413a Posts: 630
    edited 2007-09-19 06:26
    tekochip said...
    I've been messing with the music system for a while, so here is the very beta HMUS converter, and you will need the .net framework to use it. This will convert a Modplug S3M file over to HUMS, but remember that there are plenty of limitations.


    All samples must be 8 bit mono and you'll want to keep them as short as possible. They should also be at 8363 HZ or an octave there of. All samples are converted to 4 bit for now just for better memory management. Since HMUS can only handle four tracks and 8 samples, that's all your allowed. There is a little error checking for bad formats, notes out of range and the like, but you can still make bad files or cause the program to break.



    So, to sum up:



    Only 4 tracks.

    Only 8 samples.

    8 bit mono samples at 8363.

    File size no larger than 64K.

    Use Position Jump, Bxx, for loops, but only to start of a pattern.

    Use Cxx for pattern breaks, but only to first row of next pattern.

    HMUS effects work but the portamento is a little strange.


    The Loop End on samples will always be the end of the sample, so only move the Loop Start when you are editing your samples.

    The first track event must have a SET VOLUME in the note property, or you won't hear the track.


    Updated to Version 1.0.1.0 corrects null file name issue and only saves changed volume attributes for smaller files


    Good Luck

    Interesting program. [noparse]:)[/noparse]
    I just tested it out. It seems to work pretty well.
    Only a few errors in the rednering of the mod files I used to create the first wave of Hmus files. [noparse]:)[/noparse]

    Also Hmus supports 16 samples max so 8 only makes use of half the allowed sample space. [noparse]:)[/noparse]

    But either way GREAT job!
  • Ym2413aYm2413a Posts: 630
    edited 2007-09-19 06:42
    (Hss) News Update:

    Version 1.5 releasing soon... With better sound FX synthesis.
    Also a new wave of song are coming out. [noparse]:)[/noparse]

    So be sure to check the website.
    Thanks everyone! ... and sorry for the delay. [noparse]:([/noparse]

    --Andrew Arsenault.
  • JT CookJT Cook Posts: 487
    edited 2007-09-20 01:32
    I have·a request. Please please please make it so you can disable the music player and get access to all available sound channels. Please smile.gif .
  • Ym2413aYm2413a Posts: 630
    edited 2007-09-20 02:40
    JT Cook said...
    I have a request. Please please please make it so you can disable the music player and get access to all available sound channels. Please smile.gif .

    Okay!!! That's a good idea. [noparse]:)[/noparse]
    I'll be sure to add that in. I'll look into maybe doing some Channel Stealing as well.
    Basically what that does is when you use a channel other then 5 and 6 for the FX synth engine. It'll steal a channel from the music player for the time needed.
    Maybe 6 channel music should be supported too as well. [noparse];)[/noparse]

    Thanks for the idea JT!

    --Andrew Arsenault.
  • Oldbitcollector (Jeff)Oldbitcollector (Jeff) Posts: 8,091
    edited 2007-09-20 02:44
    /me checks the website for the fifth time today for an HSS update...

    <SIMPSON>DOH!</SIMPSON>

    Oldbitcollector

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Buttons . . . check. Dials . . . check. Switches . . . check. Little colored lights . . . check.

    — Calvin, of 'Calvin and Hobbes.
  • Ym2413aYm2413a Posts: 630
    edited 2007-09-20 02:54
    Oldbitcollector said...
    /me checks the website for the fifth time today for an HSS update...

    <SIMPSON>DOH!</SIMPSON>

    Oldbitcollector

    Oh wow!! *lol*
    I don't think the update will come that quick. [noparse]:)[/noparse]
    I'm aiming for within the next few days though.

    After I work on some stuff for one of my clients tonight... I'm going to code some more for (Hss).

    I'll post a list of new features soon as well.
    Version 1.5 should be the same HUB-ram size as version 1.0 or smaller. [noparse]:)[/noparse]
    Target size: ~2.7k
    Since (Hss) is all about doing the most with the least.

    Thanks Everyone!
    --Andrew Arsenault.
  • Alex SilvaAlex Silva Posts: 10
    edited 2007-09-20 03:36
    Alright! I have been looking forward to this one for awhile [noparse]:)[/noparse]
  • Ym2413aYm2413a Posts: 630
    edited 2007-10-11 20:57
    New .HMUS music files have been added to the website for your listening pleasure. [noparse]:)[/noparse]
    Be sure to check them out.
    More are on the way along with the updated code.

    Thanks Everyone!

    --Andrew Arsenault.

    Website:
    www.andrewarsenault.com/hss/hmedia.html
  • computer guycomputer guy Posts: 1,113
    edited 2007-10-12 12:26
    Ym2413a

    What would be involved in getting HSS to load sound files from an SD card slot attached to the propeller?

    Thank you smile.gif

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Check out my robot using the propeller RECONAUTOR
  • tekochiptekochip Posts: 56
    edited 2007-10-13 18:27
    What you want to do is include a song in your propeller project and then when you want to change songs, stop playing the current song and copy the new song from the SD card over to the address of the old song. It's also possible to modify HSS so you can stream ADPCM. I'm using a uALFAT with I2C, rather than an SD card, but you only need 5.4KB/Sec to keep up with HSS.
  • computer guycomputer guy Posts: 1,113
    edited 2007-10-14 02:12
    tekochip

    Thank you I hadn't thought of that.
    Am new to using external storage with propeller but I hope that I will pick it up rather fast.

    Thank you smile.gif

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Check out my robot using the propeller RECONAUTOR
  • Ym2413aYm2413a Posts: 630
    edited 2007-10-14 16:04
    Allocate a buffer for the .hmus files. Either with a Stack, emtpy Dat block or large varaible array.
    Good sizes are 4k, 6k and 8k. (kilobytes)

    A lot of songs will play in 4k or less, most songs written for Back Ground Music are designed to fit in a 4k foot print.
    Demo tunes tend to be a bit larger.

    NES/C64 like music could be written and played back in a 2k or less buffer if needed.

    Anyway here is an example of how to use a buffer playback system. (Hss was designed with this in mind)

    <...starting code>
         hss.hmus_load(@musicbuffer) 'Load Hmus file into player.
         hss.hmus_play 'Play loaded file.
    <...some program code>
         hss.hmus_stop 'Stop music from playing. 
    <...load new file into @musicbuffer>
         hss.hmus_load(@musicbuffer) 'Load NEW Hmus file into player.
         hss.hmus_play 'Play NEW loaded file.
    
    



    Hope that helps!
    computer guy said...
    Ym2413a

    What would be involved in getting HSS to load sound files from an SD card slot attached to the propeller?

    Thank you smile.gif
  • Oldbitcollector (Jeff)Oldbitcollector (Jeff) Posts: 8,091
    edited 2007-10-14 16:34
    That give me enough code to load from SD.. Very cool.. Something I can play with tonight.

    Oldbitcollector

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Buttons . . . check. Dials . . . check. Switches . . . check. Little colored lights . . . check.

    — Calvin, of 'Calvin and Hobbes.
  • computer guycomputer guy Posts: 1,113
    edited 2007-10-15 00:16
    Thank you Ym2413a.

    That will help a lot, Am waiting on some hardware to come, once that arrives I will try out HSS and post my results with the SD card.

    Thank you smile.gif

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Check out my robot using the propeller RECONAUTOR
  • Sachiel7Sachiel7 Posts: 41
    edited 2007-10-18 05:57
    Hello again,

    Sachiel7 with the Retrosys here. I've still been working on a basic system and game framework, and HSS is the primary audio interface for the system.

    I downloaded tekochip's converter and have been playing with it. I'm still tinkering, but it brought to my attention something that I hadn't noticed - I'm not getting stereo output.

    I know HSS supports a left/right channel, and the Retrosys is setup for stereo output, but is·HSS only supporting mono output at present (the demoboard version)? Or do I have my configuration wrong...?

    Thanks for your help. Once I write a few game tracks, I wouldn't mind submitting them for others to use!

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    -=Sachiel7=-

  • Ym2413aYm2413a Posts: 630
    edited 2007-10-19 14:20
    Sachiel7 said...
    Hello again,

    Sachiel7 with the Retrosys here. I've still been working on a basic system and game framework, and HSS is the primary audio interface for the system.

    I downloaded tekochip's converter and have been playing with it. I'm still tinkering, but it brought to my attention something that I hadn't noticed - I'm not getting stereo output.

    I know HSS supports a left/right channel, and the Retrosys is setup for stereo output, but is HSS only supporting mono output at present (the demoboard version)? Or do I have my configuration wrong...?

    Thanks for your help. Once I write a few game tracks, I wouldn't mind submitting them for others to use!

    Mono only for most boards and versions todate. : )
    Also depends on where you port it from.

    Both the Hydra and Hybrid are mono, They're the most targetted boards as of the current moment.

    Sachiel if you would like some insight into how to write .hmus files. Let me know. I'll show you the ropes sometime.
    Thanks!
  • BaggersBaggers Posts: 3,019
    edited 2007-10-19 16:34
    Ym2413a, congrats on new version download [noparse]:)[/noparse]

    Any tools / info on creating hwav and hmus files?

    Baggers.
  • Ym2413aYm2413a Posts: 630
    edited 2007-10-19 21:21
    Baggers said...
    Ym2413a, congrats on new version download [noparse]:)[/noparse]

    Any tools / info on creating hwav and hmus files?

    Baggers.
    Yeah, there are new tools and docs ready.
    Those are going to release soon as well.
  • Ym2413aYm2413a Posts: 630
    edited 2007-10-19 21:28
    (Hss) Version 1.2 is ready for download. [noparse]:)[/noparse]
    BIG improvements in the FXsynth engine allow for more complex sounds to be synthesized.
    Now supports programmable noise waveforms as well as the old FM noise waveforms used in version 1!
    Also other little fixes and improvements as well.

    Thanks Everyone!
    ...and sorry for the delay in this release.

    --Andrew Arsenault.

    www.andrewarsenault.com/hss/
  • Oldbitcollector (Jeff)Oldbitcollector (Jeff) Posts: 8,091
    edited 2007-10-20 05:25
    Drop in replacement for 1.0 --> Working great over here.
    (Check the screenshot in my last post on the 8x8Char thread)

    Request: How about a step-by-step tutorial on how to create our own .hmus files?
    I'm thinking it's about time to start creating a propeller christmas card with animation. [noparse]:)[/noparse]
    (Some of my 3-voice SID files converted to .midi should fit nicely into HSS)

    Oldbitcollector

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Buttons . . . check. Dials . . . check. Switches . . . check. Little colored lights . . . check.

    — Calvin, of 'Calvin and Hobbes.
  • Ym2413aYm2413a Posts: 630
    edited 2007-10-21 09:15
    The FXsynth datasheet is now up. [noparse]:)[/noparse]
    Now you can have a better understanding of how to synthesize awesome sounds on this little soft-synth included in (HSS)!

    www.andrewarsenault.com/hss/sfx.html

    Enjoy!! and happy noise making!

    --Andrew Arsenault.
  • Oldbitcollector (Jeff)Oldbitcollector (Jeff) Posts: 8,091
    edited 2007-10-21 17:05
    Yaa! Looking at this, it looks like I'm taking the wrong approach converting my SIDs to HMUS.

    Now I just need to work on some conversion software....

    Thanks for posting this!

    Oldbitcollector

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Buttons . . . check. Dials . . . check. Switches . . . check. Little colored lights . . . check.

    — Calvin, of 'Calvin and Hobbes.
  • Ym2413aYm2413a Posts: 630
    edited 2007-11-02 11:56
    New updates are coming!

    More music files.
    ADPCM conversion tool.
    And more Documentation!

    So be sure to keep an eye out. [noparse]:)[/noparse]

    Thanks!
    --Andrew Arsenault.
  • Sachiel7Sachiel7 Posts: 41
    edited 2007-12-08 07:04
    Ym2413a,

    I'd like to make a few modifications to the basic HSS out there to do the following:

    -Support Stereo Output (Basically map output to 2 pins, and have a pan variable for each track that affects the volume level of that track output on each· pin)

    -Some Basic Effects (Reverb, Delay, etc) to be mapped to full output (mostly that old-school delay reverb·games used to use to give it a concert hall-ish effect)

    I know I'm probably biting off a bit more than I can chew here, but I would love to· add these features to HSS for the Retrosys, since I have Stereo Output. I'm mostly focused on these effects acting on the music, and not so much the FXSynth.

    Also, you had offered to show me the basics of creating HMUS files from ModPlug? If you could give me (us, really)·a brief descrption, that would be great.

    Have you considered modifying ModPlug Tracker to create a dedicated HMUS sequencer?

    http://sourceforge.net/project/showfiles.php?group_id=100385&package_id=108021

    Thanks again for all your hard work! smile.gif

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    -=Sachiel7=-

  • Ym2413aYm2413a Posts: 630
    edited 2007-12-12 22:01
    Yeah, I've been thinking of adding support for Hmus into a tracker program. [noparse]:)[/noparse]

    As or the effects such as Reverb and Delay... Both would need RAM to store the samples for the effects.
    That would quickly eat into the HUB ram of the prop.

    Although Stereo support wouldn't be hard to add in. [noparse];)[/noparse]
    Sad thing is, only your board supports stereo output. [noparse]:([/noparse]

    Thanks!
    --Andrew Arsenault.
  • Sachiel7Sachiel7 Posts: 41
    edited 2007-12-14 05:41
    Yeah, I was just wondering if you could give me some pointers at what sections of the DemoBoard HSS I should start with to attempt to modify it for stereo for my programs.

    I also would like to put together at least a simple command-line ModPlug->HMUS Converter. I need some basics on the HMUS format. I tried tekochips converter, and it worked pretty well, but there were several problems that were consistent with every file I cut.

    tekochip, if you're·around, I'm getting these issues when converting files:
    -last beat of each pattern is skipped
    -each pattern change the octaves/instrument seem to increase in value

    Any way you could take a look at adjusting this?
    Thanks a bunch,


    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    -=Sachiel7=-

  • tekochiptekochip Posts: 56
    edited 2007-12-14 15:32
    Yup, I'm around.

    I'm swamped but I'll see what I can do about looking into the conversion errors.· The octave jump seems a little odd, but I can see how the last note is missing.

    I also wrote a WAV to DPCM converter too, and I'll see if I can pack that up.· I modified the sound engine to stream the DPCM from external memory, like USB or EEPROM, so I need to make sure that the converter works with the original HSS.

    Mine is in stereo, of sorts.· The music is common to both channels, but the sound effects and DPCM are split into two channels.· I ran out of execution for the engine to run in just one cog, so you go stereo you will probably run into the same problem too, unless you lower the sampling rate or add another cog.
  • Ym2413aYm2413a Posts: 630
    edited 2007-12-15 06:59
    Here's a quick something for you guys. [noparse]:)[/noparse]
    Sorry for the mess. This is sort of my own personal DataSheet of the Hmus format. *lol*

    HSS Music Stream Commands:

    c = channel
    n = variable

    000000|00 == advance tick
    000000|01 == repeat
    000000|10 == end
    000000|11 == flag (transpose -24)(instrument +8)

    nnnnn1|cc == low note (32)
    nnnn10|cc == volume / effect
    nnn100|cc == instrument
    nn1000|cc == hi note (4)
    n10000|cc == detune

    100000|cc == ext

    Sampling Freqs:
    $085F, $08DF, $0966, $09F5, $0A8C, $0B2D, $0BD7, $0C8B, $0D4A, $0E14, $0EEB, $0FCE 'Octave 2
    $10BE, $11BD, $12CB, $13E9, $1519, $165A, $17AE, $1916, $1A94, $1C29, $1DD6, $1F9C 'Octave 3
    |217D, $237B, $2597, $27D3, $2A31, $2CB3, $2F5C, $322D, $3528, $3852, $3BAB, $3F37 'Octave 4
    $42FA, $46F6, $4B2E, $4FA6, $5463, $5967, $5EB8, $645A, $6A52, $70A4, $7757, $7E70 'Octave 5
    $85F4, $8DEB, $965B, $9F4C, $A8C5, $B2CE, $BD70, $C8B4, |D4A3, $E148, $EEAD, $FCDE 'Octave 6

    $85F4, $8DEB, $965B, $9F4C, $A8C5, $B2CE, $BD70, $C8B4, |D4A3, $E148, $EEAD, $FCDE 'Octave 6
    div8+r div2+r

    S3M ---> HSS commands.
    HF1 := Vib light.
    HF2 := Vib hard.
    JCC := Tremlo

    S00 := Reset FX

    FF3 := Detune(64)

    G55 := ~glide 4.
    G66 := ~glide 5.
    G77 := ~glide 7
    G88 := ~glide 8.
    G99 := ~glide C.
    GAA := ~glide F.

    Hope that helps. [noparse]:)[/noparse]
    PS: Just a warning. Glides are linear!
  • Ym2413aYm2413a Posts: 630
    edited 2007-12-15 07:05
    Also Tekochip.
    If you'd like some S3M files of the Hmus tunes, then I can send you those as well. [noparse]:)[/noparse]

    They should convert 1-to-1 into the Hmus format as in sound output.
    When they do, you'll know your converter has done a perfect job. [noparse]:)[/noparse]

    I've tried to teach people how to convert songs over into (Hss) before, but with no luck.
    Most programmers aren't very good musicians and give up on channel mapping and tracking. [noparse]:([/noparse]
    Most give up once they see tracker programs like ModTracker.

    But if anyone does wanna write hmus music, let me know. [noparse]:)[/noparse]
    I'll include it on the website if they'd like!

    Thanks Everyone!
    --Andrew Arsenault.
Sign In or Register to comment.