Arduino synth code

Home Forums Products NS1nanosynth Arduino synth code

This topic contains 3 replies, has 2 voices, and was last updated by  Niklas 1 day, 15 hours ago.

Viewing 4 posts - 1 through 4 (of 4 total)
  • Author
    Posts
  • #3331

    william0183
    Participant

    https://github.com/wadecore/arpeggiatingGlitchSynth

    http://www.instructables.com/id/Arduino-Arpeggiated-Bass-Glitch-Synth-Electronic-I/

    Hey all, I just stumbled over some code that makes the arduino sound similar to Casper electronics softPOP. I’ve uploaded the code to my NS1 and it sounds super squelchy and bubbly! I’m having trouble figuring out a tempo function if there even is one, it seems like there is one in the video of the original design. Maybe someone could improve the code with speed functionality?

    #3371

    Niklas
    Participant

    What do you mean by “super squelchy and bubbly”, is that “good” or “bad”?

    “Iā€™m having trouble figuring out a tempo function if there even is one, it seems like there is one in the video of the original design.”

    The name of the synth is Arpeggiating Glitch Synth… Yes maybe there aren’t any specific tempo function. I cannot find anything that indicates that in the code.

    “Maybe someone could improve the code with speed functionality?”

    Personally I don’t think that the people at Soundmachine made NS1 to adapt other products to their own firmwares, more that hacking chould grow a community around the product. And what I can tell is that other hackers are doing their own stuff (like me) that takes up their time but HEY I can be wrong!

    So why don’t you do some DIY on your own šŸ™‚

    Here is my suggestion (first task) of get your little project up a running.

    —- ANALYSE —–

    Look at:

    //A mess of variables with silly names but perfectly reasonable functions

    That kind of telling you everything šŸ˜‰

    you need to experiment with all the inputs (buttons and knobs) by that:

    
    const int SENSOR_PIN   = 0; // Pin 0 used for floating value
    const int KNOB_PIN     = 3; // Analog input pin 3
    const int KNOB_PIN_1   = 2; // Analog input pin 2
    const int KNOB_PIN_2   = 4; // Analog input pin 4
    const int LDR1_PIN     = 1; // Analog input for fm_intensity to pin 1
    const int BUTTON_PIN   = 12;// Digital input pin 12
    const int BUTTON_PIN_1 = 4; // Digital input pin 4
    const int BUTTON_PIN_2 = 5; // Digital input pin 5
    const int BUTTON_PIN_3 = 8; // Digital input pin 8

    Analog input (KNOB_PIN…): connect c1,c2 to choose pins and experiment.
    Digital input (BUTTON_PIN…): b1,b2,b3 to choose pins and experiment.

    As you can see you have to just two pot (c1,c2) and 3 KNOB_PIN-s, tree buttons (b1,b2,b3) but 4 BUTTON_PIN-s

    Just do allot of experiment, go back to the code and draw conclusions of your finding, do small comments in the code so you get a bigger picture etc. etc.

    —– IMPLEMENTING —–

    When you find out what you want to retrigger from your experiments you put up a new digital input and name it RETRIG_INPUT or W.E. Connect one of ns1-s lfo output to it.

    Then write code in updateControl() that check if that pin is high (if it is let the high-pin-check rest for some minutes afterwards), after that retrigger the things you want to be retriggered.

    Compile->Upload->Analyse->Implement->Repeate

    If you are having questions you can write to me here or become a member of the Facebook page/group “NS1 contributors” for quick questions.

    HAPPY CODING!!!

    • This reply was modified 1 week, 3 days ago by  Niklas.
    • This reply was modified 1 week, 3 days ago by  Niklas.
    #3378

    william0183
    Participant

    I just started learning to code a few months ago in my free time. It is challenging but I love it for that. You caught me being lazy! Thanks for taking the time to respond by inspiring and motivating me to alter the code myself.

    I’ll join your Facebook group!

    #3409

    Niklas
    Participant

    Good np!

Viewing 4 posts - 1 through 4 (of 4 total)

You must be logged in to reply to this topic.