Retronitus - Noise from the past!
Ahle2
Posts: 1,179
Audio demo (binary file from the original first post)
Doug Dingus "Propeller Cat" + Retronitus music
Retronitus features:
+ Runs in one cog
+ Built in music playroutine
+ 8 simultaneous audio channels
+ 68 kHz sample rate (Higher than CD quality)
+ Small size (~1.5 kB of pasm code + ~300 bytes of spin)
+ Stereo sound
+ VERY easy API (play, stop.. etc)
+ Can play sound FX at the same time as playing music
+ Can sound like any PSG from the 80s
+ Can sound like nothing from the 80s
+ Very small music data (each note takes just one byte - 5bit delta note, 3bit step wait)
+ 4 basic waveforms - 3 pulse channels, 3 saw channels, 1 noise channel, 1 triangle channel
+ Each channel has got an amplitude envelope
+ Each channel can be modulated in different ways (PWM, Phase modulation, AM modulation)
+ Each channel can be locked to different "modulation phases" to create "new waveforms"
+ Each channel has got an "instruction execution unit" (like 8 simple CPUs operating on register data)
+ FM, Vibrato, Portamento, Percussions and sound FX can be made using "sound lists" feed to the "instruction execution unit" of a channel
+ Easy to incorperate into any existing project with a "spare cog" and a few kBs left for music and sfx
+ Easy to make sound FX and music with "Retronitus Sound Editor" (not completely finished yet)
+ Runs in one cog
+ Built in music playroutine
+ 8 simultaneous audio channels
+ 68 kHz sample rate (Higher than CD quality)
+ Small size (~1.5 kB of pasm code + ~300 bytes of spin)
+ Stereo sound
+ VERY easy API (play, stop.. etc)
+ Can play sound FX at the same time as playing music
+ Can sound like any PSG from the 80s
+ Can sound like nothing from the 80s
+ Very small music data (each note takes just one byte - 5bit delta note, 3bit step wait)
+ 4 basic waveforms - 3 pulse channels, 3 saw channels, 1 noise channel, 1 triangle channel
+ Each channel has got an amplitude envelope
+ Each channel can be modulated in different ways (PWM, Phase modulation, AM modulation)
+ Each channel can be locked to different "modulation phases" to create "new waveforms"
+ Each channel has got an "instruction execution unit" (like 8 simple CPUs operating on register data)
+ FM, Vibrato, Portamento, Percussions and sound FX can be made using "sound lists" feed to the "instruction execution unit" of a channel
+ Easy to incorperate into any existing project with a "spare cog" and a few kBs left for music and sfx
+ Easy to make sound FX and music with "Retronitus Sound Editor" (not completely finished yet)
When available, I will add the latest version of Retronitus here as well as the soon finished "Retronitus Music Editor".
Original first post:
What can be achieved with a single cog and 1.4 kB of hub data?
Connect audio and download one of the three binaries!
C3.binary
ElJugador.binary
DemoBoard.binary(Best experience due to stereo output)
Comments
I will upload a YouTube clip soon.
Can anyone guess what this is ?
Can you make a binary that uses P23 so I can compare audio with a device I've designed?
Thanks a ton.
No just the header of some music module formats takes more than the whole binary and even the smallest sample (like a closed hi-hat) would take more than that as well.
So obviously it is realtime generated and uses a very compact music format.
Too bad I am still at work and can't listen yet :-(
Coley
Sounds fantastic for realtime generation too, Kudos matey!!
Yes, it IS Retrontius!
@Baggers
"Sounds fantastic for realtime generation too, Kudos matey!!"
Thanks!
It actually turned out to sound better than I expected.
I have been coding on this for quite some time, but it was not until a couple of days ago I started to compose music with it; And I am very pleased with the result.
At the moment composing music involves typing data in dat blocks and it is a VERY hard and time consuming process. As soon as my music editor for the PC is ready I will release Retronitus.
@jazzed
Here you are.
RetronitusMonoPin23.binary
Here are the basic features of Retronitus:
+ Runs in one cog
+ Stereo sound
+ 8 simultaneous audio channels (all used in the example tune)
+ 68 kHz sample rate (Higher than CD quality)
+ Built in music capabilities
+ VERY easy API (play, stop.. etc)
+ Can play sound FX at the same time as playing music
+ Can sound like any PSG from the 80s (and nothing lika a PSG from the 80s, like in the example tune)
Does anyone know the tune and from wich game it originally comes from?
Thanks.
Propeller power never ceases to amaze me.
Coley
@Ahle2, you are master of Propeller audio... fantastic!
So how do the rest of us create music like this?
OBC
That IS amazing! I would think it would take several times the memory that it does.
The loop is in the driving data, while the synthesis runs non-stop with lots of overlapping voices, burying the end-to-beginning transition.
I think the data must be in something akin to a manually-constructed lempel-ziv format. Super compact.
Good job, Ahle! That leaves 29.3KB (89.5%) of RAM for the video portion of your next demo.
Thanks Tracy!
You are correct, there are four parts with four measures in each.
When my Retronitus sequencer is finished it should be fairly easy to compose music with the Propeller.
I know that the C3 is muffled and so is the demo board.
Now that we know that Chip is following this thread; Chip is it possible to change the cut off frequency on the C3 and the demo board ??? (or any other Propeller board for that matter)
I mean a cut off frequency of ~1.6 kHz makes no sense for high quality drivers that can handle overtones way up in the 20 kHz range.
Thanks Jeff!
You have to wait until I have finished my Retronitus sequencer. Then it takes some music knowledge of course.
Thanks for the kind words Chip!
That means a lot coming from THE man himself.
You are, of course, correct about how the synthesis "buries" the transition when looping.
Note and wait data is stored in a single byte.
Each bytes contains a 5 bit "delta note value" and a 3 bit "step wait value". The way music works this is enough for like 97% of all "tone sequences"; The remaining 3% is handled with exception handling.
My next demo will probably be a game. (using Retronitus and my not yet finished sprite/tile driver)
/Johannes
The music from stage 1 is the best track in the game and the game itself has the overall best music of ANY NES game in my opinion.
the video is Not available in Germany Can you post something from your demo please ?
Oh well, just a little too slow on posting...
Do you take requests?
How about Nyan Cat!
I will (hopefully) upload a video tomorrow when my new camera arrives.
@whicker
Too bad I didn't wait some more for the right answer then.
Nyan Cat.... LOL !!
1. I need a couple of beta testers for my upcoming sequencer and for Retronitus.
So are there anyone interested in this?
Preferable is to test it in a game or an application that needs to run both music and sound FX at the same time.
2. Are there any graphics artists willing to make a logo for Retronitus?
The logo needs to radiate retro and have some connection to music.
(Btw, my camera didn't arrive today; Hopefully it will tomorrow. Then I will upload a video)
/Johannes
I'm surprised no one has taken you up on this.
Where are OBC, Trodoss and Baggers when you need them
I know of one demo in particular that is crying our for some decent tunes........
I'll offer my help if you need it...
Coley
I did put in an article on this project.. http://www.gadgetgangster.com/news/45/431
OBC
I'm willing to be a beta tester.. What kind of time-frame do I have to work with?
OBC
Ahle2, be sure it's not lack of interest, but lack of time (and some skills) to dedicate to that particular commitment (a game, simultaneous use of music+fx).
As I'm already working (slowly) on a 4 SIDcog polysynth, I'm unsure if asking to participate would end in just fiddling with it, without doing real and useful testing and appropriate bug reports.
Like the Antoine Doinel character says in one of the movies (Bed and Board): "I wish each day had 30 hours. I'm never bored. I can't wait until I'm old so I'll only need five hours sleep!"
Alessandro
Didn't see your post until just now. I would also be willing to give it a try. I just started on a new project on Savage Circuits that this would be a great addtion.
--trodoss
<- Click it for an enlarged picture!
/Johannes
I agree with Baggers, The logo looks great!
A 4 SIDcog polysynth sounds very interesting; when will we see it?
@OBC, Trodoss, Coley and Baggers
You are officially beta testers now.
@OBC
There is no time frame at all. No pressure!
@Trodoss
I had a little look at your new shooter, it looks VERY promising. It would be cool to use Retronitus as the sound engine!