PDA

View Full Version : Rainbow synthesizer: polyphonic, multitimbral wavetable synthesis



mpark
01-15-2009, 05:26 PM
I've been playing around with the Rainbow sound samples mentioned by Bob Lawrence here: http://forums.parallax.com/showthread.php?p=774541.

Attached is a half-minute demo of my latest music synthesis experiment. It's an mp3; just delete the .dat suffix.

Edit: Attached new version with cleaner ending.

Here's another piece (5 MB, 7 minutes): www.finitesite.com/mpark/propelbel.mp3 (http://www.finitesite.com/mpark/propelbel.mp3)

Edit: Attached source files.

Post Edited (mpark) : 1/18/2009 9:10:06 AM GMT

Baggers
01-15-2009, 08:09 PM
Cool, mpark :D some good sounds coming out of the prop :D

▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
http://www.propgfx.co.uk/forum/·home of the PropGFX Lite

·

Tim-M
01-15-2009, 10:31 PM
Wow mpark, nicely done. I recognized your sample right away... you must be a Don Dorsey fan! I have have had several of his albums for a long time and still can't get enough of them! I'll follow your progress closely, thanks for sharing.

Tim

Oldbitcollector (Jeff)
01-15-2009, 10:47 PM
Great sample! and I thought I was the only Don Dorsey nut here!

OBC

▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
New to the Propeller?

Check out: Protoboard Introduction (http://jeffledger.googlepages.com/Protoboard_Introduction.pdf) , Propeller Cookbook 1.4 (http://ucontroller.com/Propeller%20Protoboard%20Designs%20for%20the%20Beg inner.pdf) & Software Index (http://forums.parallax.com/showthread.php?p=770318)
Updates to the Cookbook are now posted to: Propeller.warrantyvoid.us (http://propeller.warrantyvoid.us)
Got an SD card connected? - PropDOS (http://www.orrtech.net/propdos/)

mpark
01-16-2009, 03:09 AM
I do like the one Dorsey CD I have, but really I'm a Bach fan.

Tim-M
01-17-2009, 02:55 AM
I'm a big Bach fan too. Combine Bach with the talent and arrangements of Don Dorsey, and WOW it goes to new level. Great choice for your Propeller projects...

Tim

mpark
01-17-2009, 08:21 PM
I don't know how this became a Don Dorsey appreciation thread, but whatever.

New piece in first post. Another canon, but not by Bach.

Bob Lawrence (VE1RLL)
01-17-2009, 09:17 PM
Wow! sounds great!!! http://forums.parallax.com/images/smilies/jumpin.gif How many other different sounds are you able to generate? What limitations have you found so far?

▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Aka: CosmicBob

mpark
01-18-2009, 01:06 AM
I haven't tried them all, but I should be able to play any of the 18 Rainbow instruments. The main limitation is memory. The samples are 8 bit @ 11kHz, but they can still get pretty big. If you want multiple samples in memory, you have to pick and choose carefully.
I'm getting 14 voice polyphony out of one cog, which I think is plenty (although I was really hoping for 16!).

Btw, Bob, thanks a lot for the initial pointer to Rainbow's website. Everyone should go and check out the Easy-Chord(TM). Positively brilliant! www.rainbowelectronics.co.uk (http://www.rainbowelectronics.co.uk)

Post Edited (mpark) : 1/17/2009 5:16:24 PM GMT

Bob Lawrence (VE1RLL)
01-18-2009, 02:13 AM
mpark said...
Btw, Bob, thanks a lot for the initial pointer to Rainbow's website. Everyone should go and check out the Easy-Chord(TM). Positively brilliant! www.rainbowelectronics.co.uk


Anytime. If you post any code I'll give it a shot with the MIDI kit I have for my Steel Guitar. I am anxious to hear what the steel guitar wave files sound like . It's hard to get an idea from the online wave sample. Maybe I'll record a set of wave files with my steel guitar to learn how to do it. Also, my dad plays Dobro and I can record a set of wave files from it when he gets back from his winter in Florida..

Re:Easy-Chord

It's quite the thing. Great to get kids started and learn chord changes before they move up to real strings.

I first read about it in the EPE Magazine (see reference below) I can't post the article because of copyright protection but I could answer a question if someone had one. Also, you can still order the article or magazine if interested.(see the last reference below)

From The EPE web site:
"PIC MIDI Wave Sound Generator — this wave table synthesis music generation source has a MIDI input and provides 18 wave table instruments on a preprogrammed flash memory. Includes pianos, guitars, banjo, trumpets and more. Eight-note polyphony spanning five octaves (C2 to C7). Audio line and headphone output.

Straightforward PCB based assembly. Powered by a mains adaptor. This projects uses a PIC micro 16F628A, an 18F452 and a flash EEPROM type AM29F040. Source codes for all three devices are available free from our Downloads page. Preprogrammed chips are also available to buy online from the designer Rainbow Electronics."


Dobro Reference:
en.wikipedia.org/wiki/Dobro (http://en.wikipedia.org/wiki/Dobro)

EPE Magazine Index reference: go to : Projects in the July 2008 issue
www.epemag3.com/index.php?option=com_content&task=view&id=173&Itemid=53 (http://www.epemag3.com/index.php?option=com_content&task=view&id=173&Itemid=53)

EPE Back issues: 07-July 2008 issue of EPE Online 40000708 $6.00
www.epemag3.com/index.php?option=com_virtuemart&page=shop.browse&category_id=32&Itemid=26 (http://www.epemag3.com/index.php?option=com_virtuemart&page=shop.browse&category_id=32&Itemid=26)

▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Aka: CosmicBob

Post Edited (Bob Lawrence (VE1RLL)) : 1/17/2009 6:18:51 PM GMT

Baggers
01-18-2009, 02:48 AM
That's cool mpark sounds great ;)
and thanks for the link that's cool to :D

▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
http://www.propgfx.co.uk/forum/·home of the PropGFX Lite

·

Oldbitcollector (Jeff)
01-18-2009, 09:09 AM
@mpark

Regarding your latest MP3 post.. post some .spin or that didn't come out of a Propeller. <SMIRK>

.. all kidding aside.. Incredible!

Honestly, that is truly FANTASTIC! Any chance we can talk you into sharing your code?

OBC

▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
New to the Propeller?

Check out: Protoboard Introduction (http://jeffledger.googlepages.com/Protoboard_Introduction.pdf) , Propeller Cookbook 1.4 (http://ucontroller.com/Propeller%20Protoboard%20Designs%20for%20the%20Beg inner.pdf) & Software Index (http://forums.parallax.com/showthread.php?p=770318)
Updates to the Cookbook are now posted to: Propeller.warrantyvoid.us (http://propeller.warrantyvoid.us)
Got an SD card connected? - PropDOS (http://www.orrtech.net/propdos/)

Post Edited (Oldbitcollector) : 1/18/2009 1:16:13 AM GMT

mpark
01-18-2009, 05:44 PM
Be careful what you wish for, OBC. Spin source in first post.

You'll have to download the instrument samples file and run a program to extract the individual instrument samples into separate smaller files.

The samples file was created by Mike Rainbow for his "PIC MIDI Wave Sound Generator" published in Everyday Practical Electronics, July 2008. The EPE website has the project files available for download (www.epemag.com; click Library). Get the zip file for July 2008 and extract PMWSG-29F040.bin. Run the program attached to this post (Windows/Mono executable, C# source) in the same directory as the .bin file. It will generate 34 smaller .bin files.

Btw, I've been in contact with Mr. Rainbow and he doesn't mind us using his samples for non-commercial use. (I also convinced him to give the Propeller a try!)

It might also be worth your while to buy the EPE back issue as Bob Lawrence posted yesterday. Mr. Rainbow goes into detail about how the samples were created, the file format, his dual-PIC-based design (hey, it's like a quarter-Prop), etc.

Anyhoo, once you get the little .bin files, you should be able to run the programs at the top of this thread. Change SNDPIN to the appropriate value for your system. The tutorial program demonstrates the basics of using my sound driver. It's not pretty, but hopefully you'll be able to figure out how to play music in your own programs.

Bwv1087 and Propelbel generated the demo songs.

The usual caveats and disclaimers apply.

Post Edited (mpark) : 1/18/2009 9:49:50 AM GMT

Bob Lawrence (VE1RLL)
01-18-2009, 09:36 PM
@mpark

You made my day! Thanks!


mpark said...
You'll have to download the instrument samples file and run a program to extract the individual instrument samples into separate smaller files.


So far so good. I was able to extract the individual instrument samples into separate smaller files http://forums.parallax.com/images/smilies/cool.gif About 34 bin files ranging from 2kB to 13kB.



Now for step 2......... http://forums.parallax.com/images/smilies/turn.gif

▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Aka: CosmicBob

Post Edited (Bob Lawrence (VE1RLL)) : 1/18/2009 2:35:48 PM GMT

Baggers
01-18-2009, 10:21 PM
Sounds really great mpark:) as for 16 channels, try a Hybrid :D 96Mhz = 20% more speed, = 20% more channels = 16.8 so you'd get 16 easy.

▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
http://www.propgfx.co.uk/forum/·home of the PropGFX Lite

·

Oldbitcollector (Jeff)
01-19-2009, 12:32 AM
Very nice indeed.

BST doesn't appear to support one of the commands you are using, so I've made the
following adjustments.

'byte JUMP, word @bassline
byte JUMP, @bassline

'byte JUMP, word @arpeggio
byte JUMP, @arpeggio

Not sure if this is critically changing the quality of the output, perhaps someone
will cross-check this with Propeller tool, I'm in Ubuntu.

Also, I didn't get a "synstrings_hi.bin" in my extraction, so I've shortened to "strings_hi.bin"

When I started playing with the "Mellotron" stuff, I *KNEW* the Propeller could do this, but
I had no idea it could be done with samples this small! wow.

OBC

▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
New to the Propeller?

Check out: Protoboard Introduction (http://jeffledger.googlepages.com/Protoboard_Introduction.pdf) , Propeller Cookbook 1.4 (http://ucontroller.com/Propeller%20Protoboard%20Designs%20for%20the%20Beg inner.pdf) & Software Index (http://forums.parallax.com/showthread.php?p=770318)
Updates to the Cookbook are now posted to: Propeller.warrantyvoid.us (http://propeller.warrantyvoid.us)
Got an SD card connected? - PropDOS (http://www.orrtech.net/propdos/)

Bob Lawrence (VE1RLL)
01-19-2009, 12:49 AM
Oldbitcollector said...
Also, I didn't get a "synstrings_hi.bin" in my extraction, so I've shortened to "strings_hi.bin"

I attached a copy for you.

▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Aka: CosmicBob

Oldbitcollector (Jeff)
01-19-2009, 12:58 AM
Thanks Bob! For some reason I didn't get either of the SynStrings.. I'm using Mono over here so maybe it changed something. Are you using Propeller Tool there? Mind trying my change and reporting back?

OBC

▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
New to the Propeller?

Check out: Protoboard Introduction (http://jeffledger.googlepages.com/Protoboard_Introduction.pdf) , Propeller Cookbook 1.4 (http://ucontroller.com/Propeller%20Protoboard%20Designs%20for%20the%20Beg inner.pdf) & Software Index (http://forums.parallax.com/showthread.php?p=770318)
Updates to the Cookbook are now posted to: Propeller.warrantyvoid.us (http://propeller.warrantyvoid.us)
Got an SD card connected? - PropDOS (http://www.orrtech.net/propdos/)

mpark
01-19-2009, 01:50 AM
That's weird about synstring. Sorry I can't help, being OS-challenged here.

Btw, let's not get into the habit of posting individual sample files, please. Let synstring be the exception, not the rule (as I'm sure it is; I'm just sayin'). EPE is being good enough to provide the file for free; the least we can do is visit their website and look at their ads.

Along those lines, visit www.rainbowelectronics.co.uk and drop Mike Rainbow a note to let him know his work is appreciated.


OBC, I think you should report that "word @bassline" bug to Brad. It comes in handy sometimes.

Baggers -- good point :)

Bob Lawrence (VE1RLL)
01-19-2009, 07:33 AM
Baggers said...
try a Hybrid :


I did a quick test with the Hybrid and it seemed to work fine. If someone wants to make some changes to maximize the Hybrid's additional speed I can try it.

▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Aka: CosmicBob