Retronitus - Noise from the past!

Ahle2Ahle2 Posts: 912
edited September 2013 in Propeller 1 Vote Up0Vote Down
attachment.php?attachmentid=88306&d=1326054344


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)








When available, I will add the latest version of Retronitus here as well as the soon finished "Retronitus Music Editor".

Original first post:
icon5.png 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)
SIDcog - The sound of the Commodore 64 in a single cog: Thread, OBEX, SIDcogMedlay.mp3
AYcog - An emulation of the AY3-8910 / YM2149F PSG: Thread, OBEX
SNEcog - An emulation of the SN76489 PSG(and variants): Thread, OBEX
Propeller chiptune player: Thread
«13456789

Comments

  • 246 Comments sorted by Date Added Votes
  • Cluso99Cluso99 Posts: 14,163
    edited July 2011 Vote Up0Vote Down
    Ahle2: Would it be possible to post a sample on youtube? You are the audio master on the prop :) :) :)
    My Prop boards: P8XBlade2, RamBlade, CpuBlade, TriBlade
    Prop OS (also see Sphinx, PropDos, PropCmd, Spinix)
    Website: www.clusos.com
    Prop Tools (Index) , Emulators (Index) , ZiCog (Z80)
  • Ahle2Ahle2 Posts: 912
    edited July 2011 Vote Up0Vote Down
    Thanks Cluso!
    I will upload a YouTube clip soon.

    Can anyone guess what this is ?
    SIDcog - The sound of the Commodore 64 in a single cog: Thread, OBEX, SIDcogMedlay.mp3
    AYcog - An emulation of the AY3-8910 / YM2149F PSG: Thread, OBEX
    SNEcog - An emulation of the SN76489 PSG(and variants): Thread, OBEX
    Propeller chiptune player: Thread
  • BaggersBaggers Posts: 2,965
    edited July 2011 Vote Up0Vote Down
    Sounds fantastic Ahle2, :D you are indeed an Audio Wizard!
  • BaggersBaggers Posts: 2,965
    edited July 2011 Vote Up0Vote Down
    is it a mod tracker of some sort?
  • jazzedjazzed Posts: 11,803
    edited July 2011 Vote Up0Vote Down
    Hi Ahle. Sounds great!

    Can you make a binary that uses P23 so I can compare audio with a device I've designed?

    Thanks a ton.
  • Ahle2Ahle2 Posts: 912
    edited July 2011 Vote Up0Vote Down
    @Baggers
    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.
    SIDcog - The sound of the Commodore 64 in a single cog: Thread, OBEX, SIDcogMedlay.mp3
    AYcog - An emulation of the AY3-8910 / YM2149F PSG: Thread, OBEX
    SNEcog - An emulation of the SN76489 PSG(and variants): Thread, OBEX
    Propeller chiptune player: Thread
  • ColeyColey Posts: 956
    edited July 2011 Vote Up0Vote Down
    Is this the fabled 'Retronitus' by any chance?
    Too bad I am still at work and can't listen yet :-(

    Coley
  • BaggersBaggers Posts: 2,965
    edited July 2011 Vote Up0Vote Down
    I did think that Ahle2, I had wondered how you got it so small, if it was the case.
    Sounds fantastic for realtime generation too, Kudos matey!!
  • Ahle2Ahle2 Posts: 912
    edited July 2011 Vote Up0Vote Down
    @Coley
    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?
    SIDcog - The sound of the Commodore 64 in a single cog: Thread, OBEX, SIDcogMedlay.mp3
    AYcog - An emulation of the AY3-8910 / YM2149F PSG: Thread, OBEX
    SNEcog - An emulation of the SN76489 PSG(and variants): Thread, OBEX
    Propeller chiptune player: Thread
  • jazzedjazzed Posts: 11,803
    edited July 2011 Vote Up0Vote Down
    Ahle2 wrote: »
    @jazzed
    Here you are. :)
    Excellent. Not as muddled as on C3 :)
    Thanks.
  • ColeyColey Posts: 956
    edited July 2011 Vote Up0Vote Down
    Johannes that is superb!

    Propeller power never ceases to amaze me.

    Coley
  • Tracy AllenTracy Allen Posts: 6,284
    edited July 2011 Vote Up0Vote Down
    That's quite remarkable (demoboard stereo)! We were trying to discern the loop, very smooth end to end. Is it 4 measures of 4? Catchy tune, but I'm clueless about retro/games. My son is the musician in the family, also a propeller enthusiast, so we're very interested to follow the development of retronitis as a composition tool.
  • Oldbitcollector (Jeff)Oldbitcollector (Jeff) Posts: 8,088
    edited July 2011 Vote Up0Vote Down
    Amazing indeed!

    @Ahle2, you are master of Propeller audio... fantastic!

    So how do the rest of us create music like this? :)

    OBC
    <br>
  • cgraceycgracey Posts: 10,131
    edited July 2011 Vote Up0Vote Down
    That's quite remarkable (demoboard stereo)! We were trying to discern the loop, very smooth end to end. Is it 4 measures of 4? Catchy tune, but I'm clueless about retro/games. My son is the musician in the family, also a propeller enthusiast, so we're very interested to follow the development of retronitis as a composition tool.

    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.
  • BaggersBaggers Posts: 2,965
    edited July 2011 Vote Up0Vote Down
    I know this is off-topic, but I just noticed, and can't believe that Chip is valued at 4 stars lol ;) I'm guessing he's passed 5* and is on his way to 10! :D
  • Ahle2Ahle2 Posts: 912
    edited July 2011 Vote Up0Vote Down
    Tracy Allen

    That's quite remarkable (demoboard stereo)! We were trying to discern the loop, very smooth end to end. Is it 4 measures of 4? Catchy tune, but I'm clueless about retro/games. My son is the musician in the family, also a propeller enthusiast, so we're very interested to follow the development of retronitis as a composition tool.

    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. :)
    jazzed

    Excellent. Not as muddled as on C3
    Thanks.
    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.
    OBC

    Amazing indeed!

    @Ahle2, you are master of Propeller audio... fantastic!

    So how do the rest of us create music like this?
    Thanks Jeff! :)
    You have to wait until I have finished my Retronitus sequencer. Then it takes some music knowledge of course. ;)
    cgracey

    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 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
    SIDcog - The sound of the Commodore 64 in a single cog: Thread, OBEX, SIDcogMedlay.mp3
    AYcog - An emulation of the AY3-8910 / YM2149F PSG: Thread, OBEX
    SNEcog - An emulation of the SN76489 PSG(and variants): Thread, OBEX
    Propeller chiptune player: Thread
  • Ahle2Ahle2 Posts: 912
    edited July 2011 Vote Up0Vote Down
    Here is the correct answer to from which game the music comes from.

    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.
    SIDcog - The sound of the Commodore 64 in a single cog: Thread, OBEX, SIDcogMedlay.mp3
    AYcog - An emulation of the AY3-8910 / YM2149F PSG: Thread, OBEX
    SNEcog - An emulation of the SN76489 PSG(and variants): Thread, OBEX
    Propeller chiptune player: Thread
  • AleAle Posts: 2,349
    edited July 2011 Vote Up0Vote Down
    I don't have any board with me...
    the video is Not available in Germany :( Can you post something from your demo please ?
  • whickerwhicker Posts: 383
    edited July 2011 Vote Up0Vote Down
    It took only 2 loops of the song for me to recognize that it is what most people call the Castlevania Theme.
    Oh well, just a little too slow on posting...


    Do you take requests?
    How about Nyan Cat!
  • Ahle2Ahle2 Posts: 912
    edited July 2011 Vote Up0Vote Down
    @Ale
    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 !!
    SIDcog - The sound of the Commodore 64 in a single cog: Thread, OBEX, SIDcogMedlay.mp3
    AYcog - An emulation of the AY3-8910 / YM2149F PSG: Thread, OBEX
    SNEcog - An emulation of the SN76489 PSG(and variants): Thread, OBEX
    Propeller chiptune player: Thread
  • Ahle2Ahle2 Posts: 912
    edited July 2011 Vote Up0Vote Down
    I have two questions!

    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
    SIDcog - The sound of the Commodore 64 in a single cog: Thread, OBEX, SIDcogMedlay.mp3
    AYcog - An emulation of the AY3-8910 / YM2149F PSG: Thread, OBEX
    SNEcog - An emulation of the SN76489 PSG(and variants): Thread, OBEX
    Propeller chiptune player: Thread
  • ColeyColey Posts: 956
    edited July 2011 Vote Up0Vote Down
    Hi Johannes,
    I'm surprised no one has taken you up on this.
    Where are OBC, Trodoss and Baggers when you need them :tongue:
    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
  • Oldbitcollector (Jeff)Oldbitcollector (Jeff) Posts: 8,088
    edited July 2011 Vote Up0Vote Down
    Sorry, still catching up.. Celebrating Anniversary and birthdays this week.

    I did put in an article on this project.. http://www.gadgetgangster.com/news/45/431

    OBC
    <br>
  • Oldbitcollector (Jeff)Oldbitcollector (Jeff) Posts: 8,088
    edited July 2011 Vote Up0Vote Down
    @Ahle2,

    I'm willing to be a beta tester.. What kind of time-frame do I have to work with?

    OBC
    <br>
  • AntoineDoinelAntoineDoinel Posts: 298
    edited July 2011 Vote Up0Vote Down
    Ahle2 wrote: »
    Preferable is to test it in a game or an application that needs to run both music and sound FX at the same time.

    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!" :smile:

    Alessandro
  • trodosstrodoss Posts: 577
    edited July 2011 Vote Up0Vote Down
    @Ahle2,
    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
  • Ahle2Ahle2 Posts: 912
    edited July 2011 Vote Up0Vote Down
    I am not a graphics artist, but I have made a concept logo for Retronitus.

    RetronitusConcept.png
    <- Click it for an enlarged picture!

    /Johannes
    778 x 268 - 295K
    SIDcog - The sound of the Commodore 64 in a single cog: Thread, OBEX, SIDcogMedlay.mp3
    AYcog - An emulation of the AY3-8910 / YM2149F PSG: Thread, OBEX
    SNEcog - An emulation of the SN76489 PSG(and variants): Thread, OBEX
    Propeller chiptune player: Thread
  • BaggersBaggers Posts: 2,965
    edited July 2011 Vote Up0Vote Down
    I thought you said you're not a graphics artist, that's a fantastic logo :D
  • trodosstrodoss Posts: 577
    edited July 2011 Vote Up0Vote Down
    @Ahle2,
    I agree with Baggers, The logo looks great!
  • Ahle2Ahle2 Posts: 912
    edited July 2011 Vote Up0Vote Down
    @AntoineDoinel
    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!
    SIDcog - The sound of the Commodore 64 in a single cog: Thread, OBEX, SIDcogMedlay.mp3
    AYcog - An emulation of the AY3-8910 / YM2149F PSG: Thread, OBEX
    SNEcog - An emulation of the SN76489 PSG(and variants): Thread, OBEX
    Propeller chiptune player: Thread
Sign In or Register to comment.