Well I've gotten my Hydra in, So now I can start porting my engine other.
I'm going to support both the Demo-Board and Hydra. So both will be able to use (Hss).
This way people who want sound for other things as well can take advantage of my sound engine.
The update is looking good. Since now FX synth supports even more Modulation and Carrier waveforms then before and overall the engine takes up even less hub-RAM.
Things are looking good!
Also, I'm about ready to release some PC tools to convert (hss) file over to work directly with your propeller chip.
Wav to Hwav compressor/converter is going to be the first of these tools released.
I am building myself a midified bass pedal (think moog taurus) and was going to use propeller
for handling the midi and reading the pedal switches.
But now seeing your stuff I'm starting to think that I could ditch the midi and use Propeller as sound source.
So I am eagerly awaiting for the docs on using the FXSynth as soundchip/synth.
I only need 1 cog for the pedal switches and midi handling.
I could easily use·like 4 cogs for doubling just to make the sound really fat.
Since after all, I am only trying to produce 1 note at a time, but that 1 note should sound really really good.
Sorry that I've been away from this project.
But yes, I have the docs for FXsynth sitting around here somewhere, I'll upload them to the HSS website for ya'.
Good to see you are still working on HSS! IMHO, this is one of the most impressive projects going. What's the chances we could get you to add .SID compatibility (http://www.hvsc.c64.org/) so we can create a portable SID player? I suspect there's a bunch of guys who would fall all over themselves for this..
Ym2413a, great player, thanks, is there any way to get it working with the tv graphics lib? or would I have to make a none double buffered version? as I'd like to add this to my game.
or am I going to have to write a character map mode display with sprites routine/s ?
Baggers said...
Ym2413a, great player, thanks, is there any way to get it working with the tv graphics lib? or would I have to make a none double buffered version? as I'd like to add this to my game.
or am I going to have to write a character map mode display with sprites routine/s ?
Cheers,
Baggers.
It really comes down to what kind of game you are trying to write. Some games will need sprite generaters along side a tile layer.
Other game designs work fine with a single frame buffer BMP layer.
So it really comes down to what you are looking for. Really I wish someone would write an open source/licence graphics engine that supports these kind of things.
The Hydra already has a few that come with it, but all are under a licence and can't be freely given out.
(Hss)'s licence agreement is much like anything else up here. "Use as you wish in part or full and do whatever you want with it"
I have still been following the progress on this impressive project. I was just wondering if you made any more progress on the below! Keep up the great work!
"Also, I'm about ready to release some PC tools to convert (hss) file over to work directly with your propeller chip. Wav to Hwav compressor/converter is going to be the first of these tools released."
"Also, I'm about ready to release some PC tools to convert (hss) file over to work directly with your propeller chip. Wav to Hwav compressor/converter is going to be the first of these tools released."
Yes GUFF. Progress has been made there. Really I'm starting to consider some better tools for (hss).
Like maybe a full out music tracker. Right now converting songs over is a process of using a bunch of low level tools and a hex editor.
The Hwav converter so far works with raw PCM data and is command line based. I'm going to add .wav support and maybe make it have a simple GUI.
Really though, I'm questioning what to do next.
I'm thinking of writing support for C64's .MUS file format so people could use the propeller to play back SID6581 music.
Also on the other hand I'm thinking of maybe just writing better support and documentation for what (hss) already has.
Andrew, C64's MUS files would be sweet to have playback on the propeller.
Also, I've split graphics demo to use a single buffer now, and I've removed lots of stuff, and left it frame locked etc.
Which has given me enough memory to put the keyboard and HSS back in there [noparse]:)[/noparse] which I'm glad about.
I'm new to the prop, so about getting another cog to do a sprite layer, how would I go about this? as isn't the TV's cog data going to coincide with it.
has anyone done one that wouldn't mind submitting to shared objects?
If anyone wants what I have working at the moment, let me know and I'll post it.
but if you want a day or so, I'm going to start doing space invaders, which I will post when done.
Baggers said...
Andrew, C64's MUS files would be sweet to have playback on the propeller.
Also, I've split graphics demo to use a single buffer now, and I've removed lots of stuff, and left it frame locked etc.
Which has given me enough memory to put the keyboard and HSS back in there [noparse]:)[/noparse] which I'm glad about.
I'm new to the prop, so about getting another cog to do a sprite layer, how would I go about this? as isn't the TV's cog data going to coincide with it.
has anyone done one that wouldn't mind submitting to shared objects?
If anyone wants what I have working at the moment, let me know and I'll post it.
but if you want a day or so, I'm going to start doing space invaders, which I will post when done.
Baggers.
Yeah, I'm interested in seeing what you got so far. So do please post it.
Maybe I might have a few pointers.
I know if I add support for C64 MUS files. That would allow some 10,000 songs playable by the Propeller for any chiptune fan. (lol)
Only thing is those old SID6581 files doesn't make full use of what (Hss) can do.
Another option would be .mid file support. Only thing is .mid would need a large lookup table for instrument data.
"Really though, I'm questioning what to do next.
I'm thinking of writing support for C64's .MUS file format so people could use the propeller to play back SID6581 music.
You'll suddenly have around 3000 songs that work with HSS if you do this..
There might even be an editor in existence for the PC already as well..
Forget the hordes of retrogeeks who will suddenly bow and worship you.
You'll suddenly have around 3000 songs that work with HSS if you do this..
There might even be an editor in existence for the PC already as well..
Forget the hordes of retrogeeks who will suddenly bow and worship you.
I currently have 6,507 sid MUS files at hand. I collect chiptunes from most every sound platform ever made from 1970 to now.
This might not come as any surprise. (lol)
So yeah... I'm really considering your idea and writing a player to play some of these back.
Along with writing a tracker for Hmus.
Oldbitcollector said...
* Oldbit considers the possibility of portable stereo (6 voice) MUS file playback and faints...
Did I understand that you are already mod tracker compatible?
Oldbitcollector
Yes and no. Hmus is a mod based music format.
BUT, It's not the amiga MOD format. It's another differrent file format made to work with the propeller.
Think (.IT and .XM), both are the same thing but different formats.
There is no reason why a player for (Hss) couldn't be written to play amiga .MOD files.
The only problem is size. The old .MOD format didn't have any score or sample compression. So a file could very well be over 32k.
A 32k tracker music file isn't a big deal when you got 512k or more of memory to play with. But when your limited to 32k of system memory for EVERYTHING! Files being small makes all the difference.
.Hmus over comes this with lots of realtime compression of both samples and score data.
Thats why .Hmus file are normally only a few Kilobytes big but store samples, instruments and music.
There are samples embedded in your music files as well?!
Good grief! I thought you were generating that stuff on the fly due to the filesize!!
Then with SD support there is truly no limit to what your HSS software could do.
Baggers said...
Andrew, C64's MUS files would be sweet to have playback on the propeller.
Also, I've split graphics demo to use a single buffer now, and I've removed lots of stuff, and left it frame locked etc.
Which has given me enough memory to put the keyboard and HSS back in there [noparse]:)[/noparse] which I'm glad about.
I'm new to the prop, so about getting another cog to do a sprite layer, how would I go about this? as isn't the TV's cog data going to coincide with it.
has anyone done one that wouldn't mind submitting to shared objects?
If anyone wants what I have working at the moment, let me know and I'll post it.
but if you want a day or so, I'm going to start doing space invaders, which I will post when done.
Baggers.
Yeah, I'm interested in seeing what you got so far. So do please post it.
Maybe I might have a few pointers.
I know if I add support for C64 MUS files. That would allow some 10,000 songs playable by the Propeller for any chiptune fan. (lol)
Only thing is those old SID6581 files doesn't make full use of what (Hss) can do.
Another option would be .mid file support. Only thing is .mid would need a large lookup table for instrument data.
--Andrew Arsenault.
No probs, will do, just hopefully get enough time to sort out spacies either today or tomorrow, timing being the issue, on what little·I have at the mo, and timing with the raster chasing [noparse]:)[/noparse]
I'm now looking into partial re-writing graphics.spin, or at least my own version of graphics.spin as it's gonna need some customised drawing routines now that it's not double buffered.
And yes, I'll post once it's done, for all to share.
Oldbitcollector said...
There are samples embedded in your music files as well?!
Good grief! I thought you were generating that stuff on the fly due to the filesize!!
Then with SD support there is truly no limit to what your HSS software could do.
(Somehow, Even more impressed)
Oldbit
Let just say all samples are only a few bytes big. : )
Snare drum might only be 100bytes.
Kick Drum: 200bytes
SynthLead: 32bytes
Piano: 240 bytes
Bass: 64Bytes
and so on.
It's a mixture of smart use of samples along with compression.
I'm really wanting to write a tracker for this now.
I just got my Hydra hooked up again and I had to try this out. I saw there was only a demoboard version, so I ported it over to the Hydra. The only difference is that since the Hydra has only one audio channel, I just mapped both left and right to the audio out.
I haven't played with it other than listening to the demo, but it sounds pretty sweet. Nice job!
Could you tell me a little bit about the ADPCM file, and what was used to convert it? Most of the tools I saw were for 8 bit, and this looks like 16 bit.
Hwavs are really 1bit adpcm over a range of 7 bits.
Tekochip? have you worked with RAW waves before in programs like Goldwave? I do have a tool that will convert raw files into Hwavs. [noparse]:)[/noparse]
I still wanna add support for .wav files though.
I've been using your audio driver; pulling song files from extended EEPROM and adding a master volume control to the code.· I've also written a Prop application that can be used as a synthesizer to create sound effects for·your driver.· You've done an excellent job, so any additional tools or information would be fantastic.· I've been looking at·the packed·music file format and ModPlug too, so if you have any conversion utilities for converting to hmus, no matter how ragged they may be, that would be great.
My goal is to keep one song and maybe two samples in·main memory and shuffle everything out of EEPROM as needed.· A 4K song will move into·main memory in only 500mS, so swapping songs is blinding fast and I can always use a sound effect to cover up the lull in the music if I need to.· The samples would probably only be speech, and a 1/4S delay in the speech call wouldn't be noticed either, but I may use the samples for·an important explosion or something that doesn't quite sound good as a sound effect.
Awesome! Alright I feel another update is coming on right about now. [noparse]:)[/noparse]
Hmus also has some low level conversion tools, But you get to be good with your hands and numbers to use them.
Ironically, I wrote (Hss) version 1.5 like a month ago. I just got to release it.
It's a little more compact and the FX synth supports new waveforms including white noise. [noparse]:)[/noparse]
Currently FM is used to generate noise waveforms.
Everything is still backwards compatible as well.
I'm glad you figured out the song buffer trick. [noparse]:)[/noparse]
When I was working on (Hss).
I had the idea of games opening up a single 4k buffer in the HUB-RAM and then transfer the song out of extended EEPROM into that little area of member.
Set the Hmus pointer to that buffer and hit play.
When a new song is needed. Hit stop, reload the buffer with a new song from EEPROM, reset the pointer and press play! [noparse]:)[/noparse]
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
This sounds so amazing, how did you do it? did you take advantage of the 32-bit architecture? Cause that music sounds godly, like...wow how could you make 16-bit music get on the Hydra? or is it 32-bit? There is minor disturbances in the music, but it's still amazing!
How did you get such awesome sound without a better PWM? 1-bit pwm isn't the best you know?
comments by Bob'
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔ Realize that I am really a mad scientist··· and
Comments
I'm going to support both the Demo-Board and Hydra. So both will be able to use (Hss).
This way people who want sound for other things as well can take advantage of my sound engine.
The update is looking good. Since now FX synth supports even more Modulation and Carrier waveforms then before and overall the engine takes up even less hub-RAM.
Things are looking good!
Also, I'm about ready to release some PC tools to convert (hss) file over to work directly with your propeller chip.
Wav to Hwav compressor/converter is going to be the first of these tools released.
--Andrew Arsenault.
I am building myself a midified bass pedal (think moog taurus) and was going to use propeller
for handling the midi and reading the pedal switches.
But now seeing your stuff I'm starting to think that I could ditch the midi and use Propeller as sound source.
So I am eagerly awaiting for the docs on using the FXSynth as soundchip/synth.
I only need 1 cog for the pedal switches and midi handling.
I could easily use·like 4 cogs for doubling just to make the sound really fat.
Since after all, I am only trying to produce 1 note at a time, but that 1 note should sound really really good.
excellent job,
petri.
·
Sorry that I've been away from this project.
But yes, I have the docs for FXsynth sitting around here somewhere, I'll upload them to the HSS website for ya'.
Thanks All!
--Andrew Arsenault.
Thanks!
--Andrew Arsenault.
Good to see you are still working on HSS! IMHO, this is one of the most impressive projects going. What's the chances we could get you to add .SID compatibility (http://www.hvsc.c64.org/) so we can create a portable SID player? I suspect there's a bunch of guys who would fall all over themselves for this..
Oldbitcollector
or am I going to have to write a character map mode display with sprites routine/s ?
Cheers,
Baggers.
It really comes down to what kind of game you are trying to write. Some games will need sprite generaters along side a tile layer.
Other game designs work fine with a single frame buffer BMP layer.
So it really comes down to what you are looking for. Really I wish someone would write an open source/licence graphics engine that supports these kind of things.
The Hydra already has a few that come with it, but all are under a licence and can't be freely given out.
(Hss)'s licence agreement is much like anything else up here. "Use as you wish in part or full and do whatever you want with it"
--Andrew Arsenault.
I have still been following the progress on this impressive project. I was just wondering if you made any more progress on the below! Keep up the great work!
"Also, I'm about ready to release some PC tools to convert (hss) file over to work directly with your propeller chip. Wav to Hwav compressor/converter is going to be the first of these tools released."
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
GUFF
Certified Stamp Noob
Since 2005
Yes GUFF. Progress has been made there. Really I'm starting to consider some better tools for (hss).
Like maybe a full out music tracker. Right now converting songs over is a process of using a bunch of low level tools and a hex editor.
The Hwav converter so far works with raw PCM data and is command line based. I'm going to add .wav support and maybe make it have a simple GUI.
Really though, I'm questioning what to do next.
I'm thinking of writing support for C64's .MUS file format so people could use the propeller to play back SID6581 music.
Also on the other hand I'm thinking of maybe just writing better support and documentation for what (hss) already has.
--Andrew Arsenault.
Also, I've split graphics demo to use a single buffer now, and I've removed lots of stuff, and left it frame locked etc.
Which has given me enough memory to put the keyboard and HSS back in there [noparse]:)[/noparse] which I'm glad about.
I'm new to the prop, so about getting another cog to do a sprite layer, how would I go about this? as isn't the TV's cog data going to coincide with it.
has anyone done one that wouldn't mind submitting to shared objects?
If anyone wants what I have working at the moment, let me know and I'll post it.
but if you want a day or so, I'm going to start doing space invaders, which I will post when done.
Baggers.
Yeah, I'm interested in seeing what you got so far. So do please post it.
Maybe I might have a few pointers.
I know if I add support for C64 MUS files. That would allow some 10,000 songs playable by the Propeller for any chiptune fan. (lol)
Only thing is those old SID6581 files doesn't make full use of what (Hss) can do.
Another option would be .mid file support. Only thing is .mid would need a large lookup table for instrument data.
--Andrew Arsenault.
I currently have 6,507 sid MUS files at hand. I collect chiptunes from most every sound platform ever made from 1970 to now.
This might not come as any surprise. (lol)
So yeah... I'm really considering your idea and writing a player to play some of these back.
Along with writing a tracker for Hmus.
[noparse]:)[/noparse]
--Andrew Arsenault.
* Oldbit considers the possibility of portable stereo (6 voice) MUS file playback and faints...
Did I understand that you are already mod tracker compatible?
Oldbitcollector
Yes and no. Hmus is a mod based music format.
BUT, It's not the amiga MOD format. It's another differrent file format made to work with the propeller.
Think (.IT and .XM), both are the same thing but different formats.
There is no reason why a player for (Hss) couldn't be written to play amiga .MOD files.
The only problem is size. The old .MOD format didn't have any score or sample compression. So a file could very well be over 32k.
A 32k tracker music file isn't a big deal when you got 512k or more of memory to play with. But when your limited to 32k of system memory for EVERYTHING! Files being small makes all the difference.
.Hmus over comes this with lots of realtime compression of both samples and score data.
Thats why .Hmus file are normally only a few Kilobytes big but store samples, instruments and music.
Good grief! I thought you were generating that stuff on the fly due to the filesize!!
Then with SD support there is truly no limit to what your HSS software could do.
(Somehow, Even more impressed)
Oldbit
And yes, I'll post once it's done, for all to share.
Baggers.
Let just say all samples are only a few bytes big. : )
Snare drum might only be 100bytes.
Kick Drum: 200bytes
SynthLead: 32bytes
Piano: 240 bytes
Bass: 64Bytes
and so on.
It's a mixture of smart use of samples along with compression.
I'm really wanting to write a tracker for this now.
Any progress on the tracker? or any chance of releasing a tool for converting mods to work with it? I'd really like to put some tunes into my game.
Will be posting first game soon [noparse]:D[/noparse]
I hate not having time to concentrate on just this alone, but I guess work pays, this doesn't. [noparse]:)[/noparse]
I just got my Hydra hooked up again and I had to try this out. I saw there was only a demoboard version, so I ported it over to the Hydra. The only difference is that since the Hydra has only one audio channel, I just mapped both left and right to the audio out.
I haven't played with it other than listening to the demo, but it sounds pretty sweet. Nice job!
But when things calm down I will. [noparse]:)[/noparse]
Could you tell me a little bit about the ADPCM file, and what was used to convert it? Most of the tools I saw were for 8 bit, and this looks like 16 bit.
Hwavs are really 1bit adpcm over a range of 7 bits.
Tekochip? have you worked with RAW waves before in programs like Goldwave? I do have a tool that will convert raw files into Hwavs. [noparse]:)[/noparse]
I still wanna add support for .wav files though.
I've been using your audio driver; pulling song files from extended EEPROM and adding a master volume control to the code.· I've also written a Prop application that can be used as a synthesizer to create sound effects for·your driver.· You've done an excellent job, so any additional tools or information would be fantastic.· I've been looking at·the packed·music file format and ModPlug too, so if you have any conversion utilities for converting to hmus, no matter how ragged they may be, that would be great.
My goal is to keep one song and maybe two samples in·main memory and shuffle everything out of EEPROM as needed.· A 4K song will move into·main memory in only 500mS, so swapping songs is blinding fast and I can always use a sound effect to cover up the lull in the music if I need to.· The samples would probably only be speech, and a 1/4S delay in the speech call wouldn't be noticed either, but I may use the samples for·an important explosion or something that doesn't quite sound good as a sound effect.
·
Hmus also has some low level conversion tools, But you get to be good with your hands and numbers to use them.
Ironically, I wrote (Hss) version 1.5 like a month ago. I just got to release it.
It's a little more compact and the FX synth supports new waveforms including white noise. [noparse]:)[/noparse]
Currently FM is used to generate noise waveforms.
Everything is still backwards compatible as well.
I'm glad you figured out the song buffer trick. [noparse]:)[/noparse]
When I was working on (Hss).
I had the idea of games opening up a single 4k buffer in the HUB-RAM and then transfer the song out of extended EEPROM into that little area of member.
Set the Hmus pointer to that buffer and hit play.
When a new song is needed. Hit stop, reload the buffer with a new song from EEPROM, reset the pointer and press play! [noparse]:)[/noparse]
Tada!
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
Post Edited (tekochip) : 6/13/2007 2:44:54 PM GMT
How did you get such awesome sound without a better PWM? 1-bit pwm isn't the best you know?
comments by Bob'
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Realize that I am really a mad scientist··· and
Don't forget it!
http://raydillon.com/Images/Illustration/GameArt/WildIsle/WildIsle-Ink-ScientistClose.jpg
·
There's still no Hydra version for download at andrewarsenault.com.
There's still no sign of version 1.5 mentioned a few posts back.
What's happening? Ym2413a, where are you?
·