Shop OBEX P1 Docs P2 Docs Learn Events
Music with Synced Lights... — Parallax Forums

Music with Synced Lights...

Kaos KiddKaos Kidd Posts: 614
edited 2006-01-23 20:35 in BASIC Stamp
Ok.· I'm lost.
I've read darn near everything I can find for syncing lights and controlling lights that I can find, and I still can't get pointed in the right direction.· SWMBO has asked little old me to build a light display for our big 4th of July party this year.· Ok, cool, I can handle this.· I've got a handle on where to get the SSR's that I'll need, as well as a prototype for the circuit board to house them.· I've also got a good handle on the method of making the lights stay on,· 2 STP16C156 16 Led I2C controllers will provide all the circuits I need.· I also got an idea or two, or three, on the code.· Ok, this is all fine and dandy.· Now, add the music.· Brings me full circle to: I'm lost.·

The project is like this one, only I need 32 ports of control (still no problem, just different hardware) and synced to music.
http://forums.parallax.com/showthread.php?p=563415

I looked at this product, but it's like an all in one, with many less outputs then I need:
http://www.animatedlighting.com/products/mp3components.asp

So, I guess what I'm asking is... where do I go from here?
And, just for the record, when I said "Ok.· I'm lost," I said about all I know about analog electronics.


▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔

Until our bytes cross again, may your chips never smoke, your bits never fall off, your parts bin never be empty and your jumpers never fall off.
KK
·
«1

Comments

  • Paul BakerPaul Baker Posts: 6,351
    edited 2006-01-11 18:24
    Is the sound prepackaged, or live (mike input)?

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    ·1+1=10
  • steve_bsteve_b Posts: 1,563
    edited 2006-01-11 18:49
    Jon Williams, or others, could correct me.....but I think the MIDI format sends out timing signals with its music.

    If these signals go out at a given rate, you could interface an SX to it (or other TTL IC to count the pulse...maybe) and then just walk through the song and have things go off at a given number of time blips.

    The only other thing you could do is, record your song with some high frequency DTMF type codes at your "action points" and have something filter them and command your lights to do something.

    Are you looking to do this all with a STAMP? I'd aim for an SX at the least and if you have your PC supplying the tunes, you might look to the PC to be the scripter and send a coded string to the stamp that would tell it what lights to turn on or what squibs to ignite to light off the fireworks.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    ·

    Steve

    "Inside each and every one of us is our one, true authentic swing. Something we was born with. Something that's ours and ours alone. Something that can't be learned... something that's got to be remembered."
  • Jon WilliamsJon Williams Posts: 6,491
    edited 2006-01-11 19:10
    To my knowledge, no timing information is sent in the MIDI stream; simply NOTE ON and NOTE OFF commands (keeping things simple) -- the timing is handled by the device sending the MIDI stream.· I know that some decorators use older versions of Cubase to play music and syncrhonize outputs with it by using a MIDI-to-output device (see the Projects section for an SX/B project I did in this regard).

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Jon Williams
    Applications Engineer, Parallax
  • Kaos KiddKaos Kidd Posts: 614
    edited 2006-01-11 19:17
    Thanks all...
    I was thinking along the lines of using a MP3 song.

    THe orignial idea was this...
    Encode a MP3 song with ID3 Tags at the correct points in time where I need to change things...
    As the song is played, the player will output a pulse when it incounters that TAG...
    The BS2P would be counting pulses. Every time it gets this "pulse", it would increment it's counter.
    That counter would be an index into a table of the status of all the lights at that point in the song.
    sort of like an array of 16 controll bits and 8 address bits , where a 1 would be on, a 0 would be off. The layout of the array in memory is like this:

    00000000 0000000000000001 (Time Index 0) Light 1 on
    00000001 0000000000000011 (Time Index 1) Lights 1 & 2 on
    00000010 0000000000000010 (Time Index 2) Light 2 on
    00000011 0000000000000110 (Time Index 3) Lights 2 & 3 on

    Then just use the I2C protcoll and sent the new state of all the lights to the STP16C596.
    I would use 8 bits for the addressing... the LSN for which stp16c596 to send the data to, and mybe the MSN for banking...
    Meaning in theory it could be expanded to 16*16*16 ports (4096) in this mannor...
    Or I could chain additional stp16c596's to add additional 16 ports on each address....
    I know (from a question in the sandbox) that the I2C speed is 81K per second... so I'would have to choose an addressing system that
    keeps the chip count down, and access so I could access any of the ports within nominal amount of time.
    The idea is to make it open ended (to add more ports) (The stp16c596 can be chained.... so a single address can contain 16,32,64 ect ports)

    In thinking, maybe i'd be better off using a PC and it's resources to generate and run the script, and have the stamp recieve commands, like the array idea..
    I'm not byond using the PC to control the idea, but it means a connection to get the address/data to the stamp has got to be fast.
    Hmmm...
    Time for me to dig deeper into my programming expierence and see the fastest (and easiest) way to communicate to the stamp..

    THanks all... and keep the ideas runnin!

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔

    Until our bytes cross again, may your chips never smoke, your bits never fall off, your parts bin never be empty and your jumpers never fall off.
    KK
    ·
  • Paul BakerPaul Baker Posts: 6,351
    edited 2006-01-11 20:02
    Im not fully aware of how ID3 tags are used within mp3s but I think it is a once per file type of thing so it couldn't be used for timing.

    I see two ways of accomplishing what you seek, both would take a considerable amount of effort and which to use depends on what level of control you have over the mp3 player. If you have the ability to initiate the playing of the music from the stamp, you could create a table seperate from the music file with the timing and commands where the stamp would initiate the playing of the music, then count along iterating through the table and sending the commands at the appropriate time. I think Jon Willams has experimented with a similar system using Audacity to figure out the timing within the sound file in order to generate the timing list. Look through the ParallaxEFX forums for his talk on this subject.

    The second would be for a system in which you cannot easily start the mp3 player through a stamp, this would require more circuitry and extra effort on the sound file. Using a sound editing program you would insert very high frequency audio cues within the sound file itself, using a OOK communication scheme (on-off-keying, morse code is an example, though you dont need as complex of a system), you would encode a series of high frequency pulses (say 19kHz) into the audio stream, to do this reliably you may need to low pass frequency the original sound file to make the 19kHz band clean and free of sound. An audio interface from the mp3 output to the stamp would involve a high pass filter tuned to block out frequencies lower than 19kHz then using an energy detection circuit to convert the 19kHz frequencies into a TTL serial stream to be read by the stamp which would then act upon the serial sequnce to generate the lighting commands. The audio to be played would be passed through a low pass filter to eliminate the 19kHz signal before being amplied for the speakers. Depending on your age, you may not hear the 19kHz signals before filtering them out, but young people (especially females) will be much more likely to hear it, hence the need to filter them out.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    ·1+1=10

    Post Edited (Paul Baker) : 1/11/2006 8:08:52 PM GMT
  • Bruce BatesBruce Bates Posts: 3,045
    edited 2006-01-11 20:18
    KaosKidd -

    At sometime over the last year, perhaps only within the last 6 months, I posted one of the only messages I ever posted on the ParallaxEFX forum about an interesting new integrated circuit I'd seen in one of the magazine to which I subscribe. I don't remember too much about it, but its purpose was to aid in synching lights (LED's I think) with music. The one single LSI chip contained most if not all of the various elements required for such a feat.

    I tried searching that EFX forum but to no avail, but I will continue trying. I ALWAYS sign my messages as I have signed this one, so that's all you really have to search for, since I've not been active on that particular forum.

    Since I can't remember too much about it, I can't make any promises, but it might be worth the look. I do have one other thought, but let me hold on to it for now. It involves using a Stamp to drive a specialized converter chip which will then permit you to connect with a much larger scale theatrical system which supports any kind of lights, dimmers, music, special effects, etc. It's probably more involved and a good deal more costly than you may want to get into. In a sense, the Stamp would act like a "stage manager" (so to speak).

    Regards,

    Bruce Bates
  • steve_bsteve_b Posts: 1,563
    edited 2006-01-11 20:23
    Hey Jon,

    if will MIDI tell you what notes are on...and at what level?
    I'd say, re-record the music and use a couple of off beat notes with no volume to them. IF the MIDI interface will report that X note is on but volume is 1 (or whatever really low is) then you could have a stamp interface to it that will wait for those notes.

    I'm I way out to lunch...mmm, donut!

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    ·

    Steve

    "Inside each and every one of us is our one, true authentic swing. Something we was born with. Something that's ours and ours alone. Something that can't be learned... something that's got to be remembered."
  • Paul BakerPaul Baker Posts: 6,351
    edited 2006-01-11 20:27
    If MIDI is used (though you seem to not want to go that way), you can define a controller channel for each light using unused controller channels to place the data in the stream. A little bit of research on MIDI commands would be required.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    ·1+1=10
  • Bruce BatesBruce Bates Posts: 3,045
    edited 2006-01-11 20:36
    KaosKidd -

    This should be the IC I had in mind:
    http://news.thomasnet.com/fullstory/457618/798

    I'm sure the National Semiconductor web site will have even more information on it.

    Regards,

    Bruce Bates
  • Jon WilliamsJon Williams Posts: 6,491
    edited 2006-01-11 20:40
    steve_b said...
    Hey Jon,

    if will MIDI tell you what notes are on...and at what level?
    I'd say, re-record the music and use a couple of off beat notes with no volume to them. IF the MIDI interface will report that X note is on but volume is 1 (or whatever really low is) then you could have a stamp interface to it that will wait for those notes.

    I'm I way out to lunch...mmm, donut!

    Yes, the NOTE ON and (interestingly) NOTE OFF commands have a "velocity" byte which sets the initial value. In practice, most sytems don't use the NOTE OFF instruction, they send a NOTE ON with a velocity (volume) of zero.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Jon Williams
    Applications Engineer, Parallax
  • Paul BakerPaul Baker Posts: 6,351
    edited 2006-01-11 21:18
    Nice chip Bruce, but I cant find anyone who will sell them in sub reel quantities.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    ·1+1=10
  • Bruce BatesBruce Bates Posts: 3,045
    edited 2006-01-11 22:13
    Paul -

    National appears to be offering samples, which can be reached right from this web page:
    http://www.national.com/pf/LP/LP3950.html

    Regards,

    Bruce Bates
  • Kaos KiddKaos Kidd Posts: 614
    edited 2006-01-12 19:31
    Oh wow everyone... thanks!
    I had the chance some time ago to get into MIDI, but never took it up... I know less about MIDI then I do about analog circuits.
    I like the idea of super-imposing an "unheard" audio frequency on the original MP3 song. and then jack that data into the chip Bruce suggested. (I like that chip!) In theory, with that chip in 'frequency mode', I should get at least one channel of control. Make an external filter to ensure only the frequencies I need are being recieved by the chip. And, because I'm using a protable mp3 player, I can use the reverse bypass filter to prevent the controll tones from being sent to the amp / speaker system. Does that sound like "fool proof"?
    Edit the MP3 using some software, overlaying my "control frequency" as needed. Next, download the song into the MP3 player...
    Connect the output of the MP3 player to both a "band pass" -> (passes the controll frequency into the light controll system), and "bypass" -> (removes the control frequency into the amp / speaker system). (Are these the right terms?)
    Set the chip Bruce recomended into "frequency" mode, and get the controll singles at the LED driver outputs.
    Program the BS2 with an index array of count -> light changes list
    Every pulse from the output of the LP3950, increment the counter, lookup the address and lights to change.. send out the command to the light controll bord.
    Points of contention...
    a MP3 editor that will let me insert the control frequency...
    finding a frequenct the mp3 editor & player will suport that won't interfere with the song.
    the rest is somewhat simplified by the LP3950, STP16C596, BSP2 and eeprom (I forget that chip name)...
    Can anyone find a falt with this method, or maybe a better way?
    ..
    And, again, thanks everyone for the input!

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔

    Until our bytes cross again, may your chips never smoke, your bits never fall off, your parts bin never be empty and your jumpers never fall off.
    KK
    ·
  • Tom WalkerTom Walker Posts: 509
    edited 2006-01-12 20:21
    Keep in mind that MIDI is strictly digital data. There is no analog component to filter. Think of it as instructions like "Instrument on channel 1, turn on the sound that would be made if someone pushed your 'middle-C' key...Instrument on channel 2, turn on the sound that would be made if someone pushed your 'E above middle-C' key, but only at half volume...Instrument on channel 3, select your 'alternate sound bank'...Instrument 2 turn off the sound you are currently playing...Everybody turn off all sounds...

    In short, MIDI does not care what instruments you have hooked up or what kind of sounds they make, it's just a series of 'note-on' and 'note-off' </Mr. Miyagi mode> and 'program-change' type messages (yes, Jon, I know htere are more <g>)...

    I have just seen people get wrapped up in thinking that MIDI somehow is sound and wanted to try to nip that in the bud...

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Truly Understand the Fundamentals and the Path will be so much easier...
  • steve_bsteve_b Posts: 1,563
    edited 2006-01-12 20:39
    I don't know about portable mp3 players...but be aware that your 'high frequency' tones may get filter out of the music device via its normal circuitry.

    Someone else can say whether music players have 'audible bandpass' filters or not....the cheaper ones may not.

    don't know til you try it though!

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    ·

    Steve

    "Inside each and every one of us is our one, true authentic swing. Something we was born with. Something that's ours and ours alone. Something that can't be learned... something that's got to be remembered."
  • Kaos KiddKaos Kidd Posts: 614
    edited 2006-01-12 21:05
    Well, logically, during the download they wouldnt be able to 'filter' anything (the download would have to be in real time for that to happen), and if it does, it would be during playback, which would defete the whole idea. I do know most mp3 players have a freq response range... I'm not sure as to the specs or the "general ness" of that either... I'm gonna check into that as well...

    All said and told, I'm hoppin to make a system for much less then the above (see the first post)...

    Thanks again all... this is gonna ROCK!

    Update: There Ain't no such thang as a free lunch! (or chip!)
    Well, I've ordered 2 'free' samples for $8.37 USD... they'll be here in a few days... And, just to cover the bases, I'm off to discover how MIDI is interpeted and sent via the MIDI interface that's the part of every game port on all PC's..

    Tom, can you suggest a site that would help me out... from ground zero?

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔

    Until our bytes cross again, may your chips never smoke, your bits never fall off, your parts bin never be empty and your jumpers never fall off.
    KK
    ·
  • rockin_rickrockin_rick Posts: 32
    edited 2006-01-13 00:26
    Have you considered doing something like this? --

    http://www.discolitez.com/

    Rick
  • Kaos KiddKaos Kidd Posts: 614
    edited 2006-01-13 14:30
    Rockin Rick...
    SWEET!
    Well, that about answers the questions on how to do the "hard" part...
    (Getting the song... to play and to get synced lights... off the para pra port...)
    Now to get how it sends what out to the port... then design the interface accordinging...
    Good Show Rockin_RIck... your Rockin??!?! (Ok, pardon the pun, but the shoe fits!)

    /me is getting more and more into this project!

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔

    Until our bytes cross again, may your chips never smoke, your bits never fall off, your parts bin never be empty and your jumpers never fall off.
    KK
    ·
  • kelvin jameskelvin james Posts: 531
    edited 2006-01-13 17:58
    This ia a link to a project of a micro controlled dimmer, has some good tech info. He uses various communication, rs232, midi, etc., and also uses a custom winamp avs for control.
    jem.dhs.org/~ed/ece499/
  • Kaos KiddKaos Kidd Posts: 614
    edited 2006-01-13 18:31
    The winamp mod DiscoLitz is freq based, not time... Hmm, but it give me ideas... Onwards I must forge... [noparse]:)[/noparse]
    And thanks Kelvin... I'm checking that out as well..

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔

    Until our bytes cross again, may your chips never smoke, your bits never fall off, your parts bin never be empty and your jumpers never fall off.
    KK
    ·
  • rockin_rickrockin_rick Posts: 32
    edited 2006-01-14 04:11
    I've always wanted to build the hardware for the discolitz, but other projects have taken priority... I did install the plugin and played with the settings (and view the software screen output). I agree that it may not be the ultimate music-to-light controller/processor, but for the simplicity, low cost of the hardware, and minimal design/engineer/build time it may be good enough.

    FWIW - rockin_rick was a username that I started several years ago on a different, music orientated message board (www.openneo.org/) and it has sorta just followed me.... Not a musician, just a music lover....

    Rick
  • metron9metron9 Posts: 1,100
    edited 2006-01-14 06:50
    The winamp mod DiscoLitz is freq based, not time... Hmm, but it give me ideas... Onwards I must forge... [noparse]:)[/noparse]
    And thanks Kelvin... I'm checking that out as well..


    Time based light control :

    Lets say you want to control 3 lights, on,off and dimming. You want to play the music and see the lights do what you program them to do. Think about doing it realtime and recording the on,off,dimming data in realtime. The same way a recording in made in a studio. Build a circuit with a dimmer (pot) that your BS2 can read and store data.

    Now use one pin on the BS2 to sync the start of the playback, while it is playing the BS2 can be recording the movement of the dimmer for one light. Now do that three times saving the data each time in a new eprom space. Now to play with lights, have your program start the playback and read the data from the three arrays you recorded to control the lights.

    You may be able to hook up say 10 slide controls and record 10 lights at once or something like that.

    Oh, if you do one at a time, the program should control the light that has been recorded while you record the next one so you can see the effect build as you go.

    Kind of like laying out a movie with a movie editor. You could use that too if you could seperate the tracks and import the data to the BS2 , using just a volume level in a track , you would have to condense the data to something the BS2 could use though if your up to it.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Think outside the BOX!
  • steve_bsteve_b Posts: 1,563
    edited 2006-01-14 10:30
    You could use the note on/off that midi provides to turn lights on/off. couple that with midi's 'velocity' data and you could have some dimmers running.
    of course your stamp would have to decipher all this and then control the objects. An SX would do it all faster!

    I don't know of an easy way to take mp3 type music and midi'ize it!
    To me, midi format music tends to sound like muzak (that elevate funk)!
    So, if you odn't have access to a popular songs individual tracks, then you might have to do some work yourself!

    I'm kinda speaking out of turn....don't know midi well enough to understand its intricacies!

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    ·

    Steve

    "Inside each and every one of us is our one, true authentic swing. Something we was born with. Something that's ours and ours alone. Something that can't be learned... something that's got to be remembered."
  • Kaos KiddKaos Kidd Posts: 614
    edited 2006-01-14 15:23
    Thanks every one...
    I'm looking at the possibality of...

    something like metron sugested, do a playback of a seq file, in real time with the queus needed to control the lights.
    At this point, that's about the best I can do...
    the hardest part is going to be keeping in sync, and getting the original sync mark right...
    Hmmm I've gone as far as researching how to decode the mp3 file to get the frame "sync"...

    Hmmm, whats the resoultion of the rtc that cam with the bonus pack? I could use that for my sync pulses...
    Then the hard part is building the seq list of instructions, and getting the inital sync...

    More to come...
    and, again, thanks to all for everything!

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔

    Until our bytes cross again, may your chips never smoke, your bits never fall off, your parts bin never be empty and your jumpers never fall off.
    KK
    ·
  • metron9metron9 Posts: 1,100
    edited 2006-01-15 16:32
    Steve, Midi ican make some very good sounding music. Most of the composers that write music for movies for example use it instead of a full orchastra to develope the music. When they finish the full score they have a full orchastra play and record it live for the actual movie soundtrack but play these samples from sonic implants and you will get a better idea of what high end midi can do. Streaming sound samples not looped samples make this possible where the decay of the notes is fully recorded for much mor real sound.

    Click on DEMOS in the right center of page.

    http://www.sonicimplants.com/ProductDetail.asp?Item=CDStringCollection

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Think outside the BOX!
  • steve_bsteve_b Posts: 1,563
    edited 2006-01-16 01:04
    Ok...here's a thought....can you take a regular song and convert it to say...a WAV format and then couple it in to a midi program where you add a track that will let you add midi instruments to the song.

    Sort of like overdubbing with the midi component.
    If you can do that, then you're laffing!!

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    ·

    Steve

    "Inside each and every one of us is our one, true authentic swing. Something we was born with. Something that's ours and ours alone. Something that can't be learned... something that's got to be remembered."
  • metron9metron9 Posts: 1,100
    edited 2006-01-16 02:14
    Of course you can. Using Cakewalk Pro Audio 9 or Sonar, or Cubase or many other programs that let you layout tracks of wave, midi and video on a timeline. Thirty of more tracks are very common.

    I use the Garritan PERSONAL ORCHESTRA software. It is a full orchestra all on a keyboard.

    http://www.garritan.com/

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Think outside the BOX!
  • Vic ChaneyVic Chaney Posts: 10
    edited 2006-01-16 07:58
    I used midi to control a musical water fountain, controlling 85 different functions: lights, water valves, servomotors, lasers, and a fog machine. The stamps were not fast enough to interpret the midi, so I used a PIC to read the midi, and then stamps to control everything else. I know this would work for what you want, but it is not a simple solution.

    I used midi music, but I believe that Cakewalk Professional allows you to have midi syncronized with a wav or mps file, although I have not tried it. The software is a bit expensive.

    An article about my fountain with code, circuits, pictures and movies can be found at http://www.chaneyproductions.com/h-2-opus.htm

    Vic
  • Kaos KiddKaos Kidd Posts: 614
    edited 2006-01-16 16:32
    WOW...· Awesome info on MIDI...· Well, I've learned a lot over the weekend about both MIDI and MP3.
    I also dicovered a MP3 playback CHIP.. so, there's the hook...
    I think I'm going to go this route... MIDI, while much more adapt at adding tracks to the score, can get large, and the communications rates are very fast...· Pratically taking me out of the relm of the stamps.
    Ok, this project just got larger... basic concept is this now this:

    Sections:
    · #1) The controller.· The heart and soul of the project.· Designed to take a true 16 bit address,
    ····· then·0 of 15 ports within that address then supply that port with one of the following options:

    ····· 0 = off
    ····· 1 = 25% duty cycle
    ····· 2 = 50% duty cycle
    ····· 3 = 75% duty cycle
    ····· 4 = Amplitude Setting 1
    ····· 5 = Amplitude Setting 2
    ····· 6 = Amplitude Setting 3
    ····· 7 = Amplitude Setting 4
    ····· 8 = Amplitude Setting 5
    ····· 9 = Freq Setting 1
    ···· 10 = Freq Setting 2
    ···· 11 = Freq Setting 3
    ···· 12 = Frew Setting 4
    ···· 13 = Freq Setting 5
    ···· 14 = Freq Setting 6
    ···· 15 = On

    ···· The Amplitude settings will be provided by 1 LP3950 Color LED Driver with Audio Synchronizer in Amplitude mode.
    ···· The Freq settings will be provided by 1 LP3950 Color LED Driver with Audio Synchronizer in Freqency mode.
    ···· Details on the LP3950 Color LED Driver with Audio Synchronizer: http://www.national.com/ds/LP/LP3950.pdf
    ···· Continous Duty Cycle outputs will need to be created.·
    ···· The object is to duplicate the PWM command, so the stamp is free to·continue working.·
    ···· I'm thinking of using something like a 555 with a digital pot for tuning.
    ····
    ···· All options will be gated (4066 chip) to addressed port.·
    ···· This means the system buss will have all of the listed output options,·the address line, and port address line.
    ···· Basic layout:
    ······ The primary 16 bit address addresses 1 box.
    ······ The secondary 16 bit address selects 1 of 16 ports within that box.
    ······ Each box will have it's own private STP16C596M to provide for address decoding.
    ······ Each port has it's own private STP16C596M to retain it's own settings.
    ······ Settings will be gated to the SSR via 4066 as directed by the output requirement.
    ···· Intended Operation:
    ······ Get box address, get port address, get configuration, send each address and config out on system bus.
    ······ Presudo code:
    ······ SendToBox:
    ······ Read Index, BoxAddress
    ······ Read Index + 1, PortAddress
    ······ Read Index + 2, COnfiguration
    ······ SEROUT AddressBus, 16780, [noparse][[/noparse]BoxAddress]
    ······ SEROUT PortBus, 16780, [noparse][[/noparse]PortAddress]
    ······ SEROUT DataBus, 16780, [noparse][[/noparse]Configuration]
    ·······RETURN
    ··· ·······
    ······ Details on the STP16C596M:· http://www.st.com/stonline/products/literature/ds/10154/stp16c596.pdf

    ···· Notes: The system bus will have all of the following contained on private lines.
    ······ Lines 0 to 15, Output Options as listed above.
    ······ Line 16 = Grnd
    ······ Line 17 = VSS
    ······ Line 18 = Box Address line
    ······ Line 19 = Port Address Line
    ······ Line 20 = Data line
    ······ Line 21 = Latch Line (used to latch the STP16C596's data)
    ······ Line 22 = Reset line (used to get all Boxes to listen on Line 23)
    ······ Line 23 = Reast data (Outputs 16 bits of 0's to force all outputs to off)

    · #2 MP3 Player for internaly played music for Syncing.
    ···· MP3 playback provided by STA013 chip. http://www.pjrc.com/tech/mp3/sta013.html
    ···· File system provided by ALFAT chip.·· http://www.ghielectronics.com/uALFAT-SD.htm
    ···· D->AUDIO conversion provided by······ http://www.cirrus.com/en/pubs/proDatasheet/CS4334-35-38-39_F3.pdf
    ···· VERY general operating idea is:
    ···· INIT the MP3 Player.
    ···· INIT the file system.
    ···· OPEN the MP3 DATA file set up for feed to MP3 Player
    ···· OPEN the Light DATA file
    ···· START PLAYER.
    ···· Every time the DAC completes a conversion, PULSe to a divide by counter.
    ···· When Divide by counter reaches 0, execute the SendToBox routine (as above).
    ···· The divide by counter is to take the BPS or VBR count (as derived by the actual conversion of the digital data)
    ···· and get a .5 to 1 second clock freq to drive the reader code.· The reader code would be modified to read from file.
    ···· The only thing I'm not 100% sure on is how to get the pulses from either the DAC or MP3, or where to queue them·at.
    ···· Additionally, I may need to add ram.· I don't know if the ALFAT can supply data to the MP3, the·lights and
    ···· still have a clean play back.

    Ok, I know this is a big post, but it covers a lot of research·completed.· As always, I'm open to ideas.· I'm about done with the research stage, and·gearing up for·prototyping the main board and the first box board.· The only thing that·remains is the program to create the·light·data file.· Well, I've been programming for way too many years to skip out on that challange!· I've already found a .net app that will·read a given MP3's frame headers. (means I can make a time line....)
    Basic Schmatics and drawings for the controller to follow shortly...

    (Geez, after all this, and my babbling, I do hope at least one person is interested in this project)
    Thanks for everything, everyone!




    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔

    Until our bytes cross again, may your chips never smoke, your bits never fall off, your parts bin never be empty and your jumpers never fall off.
    KK
    ·
  • kelvin jameskelvin james Posts: 531
    edited 2006-01-16 18:55
    There are some wav / mp3 to midi convertor utilities that could be used to pull a beat detection track from the song. Using various settings, like polyphony, threshold, harmonics, etc. , different beat tracks could be pulled from the song. These tracks could then be used for different outputs to the lighting channels. The INTELLISCORE POLYPHONIC WAV TO MIDI CONVERTER is one example.

    kelvin
Sign In or Register to comment.