Shop OBEX P1 Docs P2 Docs Learn Events
HSS Live FX adjustment Box, Using 12 POTS. Uses SPDIF Audio output. — Parallax Forums

HSS Live FX adjustment Box, Using 12 POTS. Uses SPDIF Audio output.

Clock LoopClock Loop Posts: 2,069
edited 2018-04-06 18:16 in Propeller 1
Here is a video that is playing the sound that the prop puts out to SPDIF.
It shows my hand moving the POTS to get different sounds.
Watch youtube video.




I made a sound fx machine using these OBEX objects:

-HSS sound system v1.2 "this thing is awesome"

-spdifOut v1.0 "why bother with anything but spdif"

-FullDuplexSerialPlus 1.1 "for debug output"

-RCTIME Plus v2 "for reading 12 pots"

-FloatMath "to convert floating point number from RCTIME plus"

-my own "Readpots" object which reads 12 different pots in a new cog.




It requires 12 potentiometers (I used 80K pots)
12 capacitors (i used 0.1uf)
12 - 550 ohm resistors
Set up as a standard RCTIME circuit.

THATS IT!

(oh and my program)



USING More common resistors:
I used :
12 - 1K
12 - 10K
12 - 1.5K

1 each of all 3 in parallel to get to 550 ohm.




I will put my read pots spin object into the obex,

And I will also complete the schematic, and tidy up the program.

If anyone has any program suggestions, feel free to spit em out.

This first upload is to get the word out, and code, perhaps many of you who want to make this
will figure it all out with out the schematic. Its pretty simple.

Thats all for now.

▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
TERMS OF USE: MIT License

"Permission is hereby granted, free of charge, to any pers...........................
..............................OMITTED FOR FORUM...............................................
.................. OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. "

Post Edited (Clock Loop) : 6/20/2009 10:20:40 AM GMT

Comments

  • mparkmpark Posts: 1,305
    edited 2009-06-08 15:27
    Interesting. Why is there such a delay between moving a slider and hearing a change in the sound? And what is the button you're pressing?

    Do you have a practical application in mind?
  • Clock LoopClock Loop Posts: 2,069
    edited 2009-06-08 19:09
    The delay is due to your code. I had to set a wait command to tell it to re-play the FX. If you set up a button like I did, you can trigger the FX to play back when you push the button.
    But all other values are updated LIVE, and should have no delay at all, you don't even need to press the button for those. Its just the first POTS value "waveform" that won't live update.


    The first POTS value, (waveform) needs to have the FX replayed, for some reason, HSS only looks at the waveform value the first time its triggered, and will not update until you press play again.

    All the other sliders update live.

    Also, if you notice in the video, my update times are not delayed due to me having a button to press.

    The code is there, just disabled.

    My code looks like this:

    
      Repeat
         If ina[noparse][[/noparse]09] > 0  'this looks for a button press on pin 09 and then starts the fx playback.
    
              hss.sfx_stop(1)
            
              hss.sfx_play(1, @FX)     'this plays your fx back.
    
              waitcnt(1_000_000 + cnt)  ' wait some time to start the FX again. 
    
    
    





    your code looks like this

    
      Repeat
        ' If ina[noparse][[/noparse]09] > 0  'this looks for a button press on pin 09 and then starts the fx playback.
    
              hss.sfx_stop(1)
            
              hss.sfx_play(1, @FX)     'this plays your fx back.
    
              waitcnt(1_000_000_000 + cnt)  ' wait some time to start the FX again.     
    
    



    !!! notice the massive wait to replay the FX?
    Thats your delay. Just change the wait to something like, " waitcnt(1_000_000 + cnt) "

    But you will have your FX auto-repeat, which doesn't let you hear the full FX waveform.

    Thats why you actually need a button. I wrote the code to not have a button, just to show others it WORKS at compile.


    Practical application?

    there are too many actually.

    A FX sound sample creator.
    A live synth.
    A live sequencer.

    I plan to make a live sequencer.

    It will have adjustable speed for the BPM.
    There will be 16 buttons that allow you to LOAD the current FX into that button position.
    And a play/stop button that allows you do start/stop the sequencer at the current BPM

    Basically it will be a really basic version of a a synthesizer with built-in sequencer.

    I want to make them cheap, so i can have more than one.

    I also plan to allow them to link together using midi for tempo input/output.

    Who knows where I, "or anyone else" will take this thing. Skys the limit.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    TERMS OF USE: MIT License

    "Permission is hereby granted, free of charge, to any pers...........................
    ..............................OMITTED FOR FORUM...............................................
    .................. OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. "

    Post Edited (Clock Loop) : 6/20/2009 10:20:57 AM GMT
  • Oldbitcollector (Jeff)Oldbitcollector (Jeff) Posts: 8,091
    edited 2009-06-08 19:44
    Looks like an interesting way to "record" HSS FX data for games, etc.

    I'm extremely tempted to build on (after the expo) just for this purpose.

    OBC

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

    Visit the: The Propeller Pages @ Warranty Void.
  • Bill HenningBill Henning Posts: 6,445
    edited 2009-06-08 19:51
    Very interesting... I'm tempted to build one for my niece (she's a budding musicial)
    BPM said...
    The delay is due to your code. I had to set a wait command to tell it to re-play the FX. If you set up a button like I did, you can trigger the FX to play back when you push the button.
    But all other values are updated LIVE, and should have no delay at all, you don't even need to press the button for those. Its just the first POTS value "waveform" that won't live update.


    The first POTS value, (waveform) needs to have the FX replayed, for some reason, HSS only looks at the waveform value the first time its triggered, and will not update until you press play again.

    All the other sliders update live.

    Also, if you notice in the video, my update times are not delayed due to me having a button to press.

    The code is there, just disabled.

    My code looks like this:

    
      Repeat
         If ina[noparse][[/noparse]09] > 0  'this looks for a button press on pin 09 and then starts the fx playback.
    
              hss.sfx_stop(1)
            
              hss.sfx_play(1, @FX)     'this plays your fx back.
    
              waitcnt(1_000_000 + cnt)  ' wait some time to start the FX again. 
    
    
    





    your code looks like this

    
      Repeat
        ' If ina[noparse][[/noparse]09] > 0  'this looks for a button press on pin 09 and then starts the fx playback.
    
              hss.sfx_stop(1)
            
              hss.sfx_play(1, @FX)     'this plays your fx back.
    
              waitcnt(1_000_000_000 + cnt)  ' wait some time to start the FX again.     
    
    



    !!! notice the massive wait to replay the FX?
    Thats your delay. Just change the wait to something like, " waitcnt(1_000_000 + cnt) "

    But you will have your FX auto-repeat, which doesn't let you hear the full FX waveform.

    Thats why you actually need a button. I wrote the code to not have a button, just to show others it WORKS at compile.


    Practical application?

    there are too many actually.

    A FX sound sample creator.
    A live synth.
    A live sequencer.

    I plan to make a live sequencer.

    It will have adjustable speed for the BPM.
    There will be 16 buttons that allow you to LOAD the current FX into that button position.
    And a play/stop button that allows you do start/stop the sequencer at the current BPM

    Basically it will be a really basic version of a a synthesizer with built-in sequencer.

    I want to make them cheap, so i can have more than one.

    I also plan to allow them to link together using midi for tempo input/output.

    Who knows where I, "or anyone else" will take this thing. Skys the limit.
    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Las - Large model assembler for the Propeller (alpha version this week)
    Largos - a feature full nano operating system for the Propeller
    www.mikronauts.com - a new blog about microcontrollers
  • Toby SeckshundToby Seckshund Posts: 2,027
    edited 2009-06-08 20:19
    Are you sure it isnt't the sound of the prop crying? just after it's leg was pulled.
  • Clock LoopClock Loop Posts: 2,069
    edited 2009-06-08 22:03
    Thats WHY I pulled its leg, to see if I could just force it into making noises on its own, no code.

    The only noise that was made was me cursing.
  • hover1hover1 Posts: 1,929
    edited 2009-06-09 00:36
    Toby Seckshund said...
    Are you sure it isnt't the sound of the prop crying? just after it's leg was pulled.
    LOL·· Good one Toby.
Sign In or Register to comment.