The NumShotter :: a.k.a The 50 DIY Controller in VCI-100 style (Sampler)
Page 1 of 2 12 LastLast
Results 1 to 10 of 13
  1. #1
    Tech Wizard FLoer's Avatar
    Join Date
    Sep 2009
    Posts
    31

    Default The NumShotter :: a.k.a The 50 DIY Controller in VCI-100 style (Sampler)




    Hello DJTT.

    For the last couple of month I was working on a little mod:
    The NumShotter, a.k.a The 50 DIY Controller in VCI-100 style.
    I, for myself, learned a lot with this project, so i thought i share it with you guys.
    In addition I get the chance to show off a likle bit


    My aim in this project was to use the spare space in my flightcase and fill it up with a controller for my one-shot samples (as i select(= mix) reggae / dancehall).
    I used the cheapest numpad i could find on amazon.de, turned it into a midi-controller using glovePie and reshaped it with scrapyard-aluminium and small arcade buttons.

    It also blends nicely with the design i already made for my VCI 100.

    :: off-topic ::

    My VCI 100 is fully remapped:

    - I can smoothly scratch, thanks to firmware 1.4
    - I have a beat juggle-mode
    + Pull-Up-Button ( = jump to first cue-point. 'Caus if it's nice, we play it twice)
    - I can set-up my mp3's bpm, beatgrids and cuepoints on the fly (Set-up-Mode)
    - I have one advanced effect for both decks (dub-delay)
    - I have one 3-way-effect-bank for both decks
    - And one special effect deck combined with the sample-decks of traktor 2. I use it to simulate a DUB-SIREN (Google if you don't know what that is).

    This mapping is sick, and took me a lot of time. if someone is interested, leave me a message)

    To top it off, i custom printed a DJ-TT-like high quality sticker for my mapping. I call it VCI-100_ras-Edition.

    :: /off-topic ::


    Back to the numSHOTTER




    So i took apart the Numpad and stole the circuit-board with the usb-cable on it.

    COST: About 10/$ + 20 for buttons and cables

    As Computer-Keyboards have these double-layered-contact-papers, the contacts for the button-cables are reaaaly small. But with a helping hand we got them soldered on quite nicely (hot glue is a friend ).
    Make shure to remember which contacts trigger which ASCII-Code Number (Its always 2 contacts in my case)
    for example: numpadButton1 would be contact 11 and 2 on the numpads circuit board.




    Aluminum from the scrapyard 1,5mm thick.

    COST: Free

    Making it look just as the design of the VCI-100 wasn't as easy as I first thought, but with a little time and help of my babii we finally got all meassurements right.
    Up to a friend with it (locksmith). He was doing his magic, and it was done.

    COST: One long afternoon and a couple of beers




    As I am in Digital-Media i didnt have no issues with the next step. Designed in photoshop, ordered online, sticked it on and cut the holes right on the metal.

    COST 20




    This is how it looks. I love it, and it worked out just as I imagined it.


    Now to the software.



    I used GlovePIE and MidiYoke to transform the keyboad-data into midi-data.
    My Script uses Key1 to cycle through 3 "Banks" of midi-notes.
    They equal my number of sound-banks in Battery 3, which i run through Standalone VSTi-Host 1.34.
    Battery is a drummer software (vst or standalone)
    I use the VSTi-host to make the software portable.


    Here's my script:
    __________________________________________________ __

    midi.DeviceOut = 2
    midi.channel1.c0 = swallow(Keyboard.NUMPAD1) and (var.Number = 1)

    if starting then
    var.Number=1
    end


    if pressed(swallow(Keyboard.NUMPAD1)) then var.Number++
    if var.Number > 3 then var.Number = 1

    midi.channel1.csharp1 = swallow(Keyboard.NUMPAD2) and (var.Number = 1)
    midi.channel1.d1 = swallow(Keyboard.NUMPAD3) and (var.Number = 1)
    midi.channel1.dsharp1 = swallow(Keyboard.NUMPAD4) and (var.Number = 1)
    midi.channel1.e1 = swallow(Keyboard.NUMPAD5) and (var.Number = 1)
    midi.channel1.f1 = swallow(Keyboard.NUMPAD6) and (var.Number = 1)
    midi.channel1.fsharp1 = swallow(Keyboard.NUMPAD7) and (var.Number = 1)
    midi.channel1.g1 = swallow(Keyboard.NUMPAD8) and (var.Number = 1)
    midi.channel1.gsharp1 = swallow(Keyboard.NUMPAD9) and (var.Number = 1)

    midi.channel1.csharp2 = swallow(Keyboard.NUMPAD2) and (var.Number = 2)
    midi.channel1.d2 = swallow(Keyboard.NUMPAD3) and (var.Number = 2)
    midi.channel1.dsharp2 = swallow(Keyboard.NUMPAD4) and (var.Number = 2)
    midi.channel1.e2 = swallow(Keyboard.NUMPAD5) and (var.Number = 2)
    midi.channel1.f2 = swallow(Keyboard.NUMPAD6) and (var.Number = 2)
    midi.channel1.fsharp2 = swallow(Keyboard.NUMPAD7) and (var.Number = 2)
    midi.channel1.g2 = swallow(Keyboard.NUMPAD8) and (var.Number = 2)
    midi.channel1.gsharp2 = swallow(Keyboard.NUMPAD9) and (var.Number = 2)

    midi.channel1.csharp3 = swallow(Keyboard.NUMPAD2) and (var.Number = 3)
    midi.channel1.d3 = swallow(Keyboard.NUMPAD3) and (var.Number = 3)
    midi.channel1.dsharp3 = swallow(Keyboard.NUMPAD4) and (var.Number = 3)
    midi.channel1.e3 = swallow(Keyboard.NUMPAD5) and (var.Number = 3)
    midi.channel1.f3 = swallow(Keyboard.NUMPAD6) and (var.Number = 3)
    midi.channel1.fsharp3 = swallow(Keyboard.NUMPAD7) and (var.Number = 3)
    midi.channel1.g3 = swallow(Keyboard.NUMPAD8) and (var.Number = 3)
    midi.channel1.gsharp3 = swallow(Keyboard.NUMPAD9) and (var.Number = 3)
    __________________________________________________ __


    For me, this was my first diy-controller project.
    I encourage everyone to try and turn your ideas into reality. It's cheap and the time you spend doing is definitely worth every second, once you hold your piece in hands.
    Thanks to everyone who lend me a helping hand

    //my mother tongue is German. typos are yours
    Last edited by FLoer; 09-20-2011 at 07:28 AM.

  2. #2

    Default

    Quote Originally Posted by FLoer View Post



    Hello DJTT.

    For the last couple of month I was working on a little mod:
    The NumShotter, a.k.a The 50 DIY Controller in VCI-100 style.
    I, for myself, learned a lot with this project, so i thought i share it with you guys.
    In addition I get the chance to show off a likle bit


    My aim in this project was to use the spare space in my flightcase and fill it up with a controller for my one-shot samples (as i select(= mix) reggae / dancehall).
    I used the cheapest numpad i could find on amazon.de, turned it into a midi-controller using glovePie and reshaped it with scrapyard-aluminium and small arcade buttons.

    It also blends nicely with the design i already made for my VCI 100.

    :: off-topic ::

    My VCI 100 is fully remapped:

    - I can smoothly scratch, thanks to firmware 1.4
    - I have a beat juggle-mode
    + Pull-Up-Button ( = jump to first cue-point. 'Caus if it's nice, we play it twice)
    - I can set-up my mp3's bpm, beatgrids and cuepoints on the fly (Set-up-Mode)
    - I have one advanced effect for both decks (dub-delay)
    - I have one 3-way-effect-bank for both decks
    - And one special effect deck combined with the sample-decks of traktor 2. I use it to simulate a DUB-SIREN (Google if you don't know what that is).

    This mapping is sick, and took me a lot of time. if someone is interested, leave me a message)

    To top it off, i custom printed a DJ-TT-like high quality sticker for my mapping. I call it VCI-100_ras-Edition.

    :: /off-topic ::


    Back to the numSHOTTER




    So i took apart the Numpad and stole the circuit-board with the usb-cable on it.

    COST: About 10/$ + 20 for buttons and cables

    As Computer-Keyboards have these double-layered-contact-papers, the contacts for the button-cables are reaaaly small. But with a helping hand we got them soldered on quite nicely (hot glue is a friend ).
    Make shure to remember which contacts trigger which ASCII-Code Number (Its always 2 contacts in my case)
    for example: numpadButton1 would be contact 11 and 2 on the numpads circuit board.




    Aluminum from the scrapyard 1,5mm thick.

    COST: Free

    Making it look just as the design of the VCI-100 wasn't as easy as I first thought, but with a little time and help of my babii we finally got all meassurements right.
    Up to a friend with it (locksmith). He was doing his magic, and it was done.

    COST: One long afternoon and a couple of beers




    As I am in Digital-Media i didnt have no issues with the next step. Designed in photoshop, ordered online, sticked it on and cut the holes right on the metal.

    COST 20




    This is how it looks. I love it, and it worked out just as I imagined it.


    Now to the software.



    I used GlovePIE and MidiYoke to transform the keyboad-data into midi-data.
    My Script uses Key1 to cycle through 3 "Banks" of midi-notes.
    They equal my number of sound-banks in Battery 3, which i run through Standalone VSTi-Host 1.34.
    Battery is a drummer software (vst oder standalone)
    I use the VSTi-host to make the software portable.


    Here's my script:
    __________________________________________________ __

    midi.DeviceOut = 2
    midi.channel1.c0 = swallow(Keyboard.NUMPAD1) and (var.Number = 1)

    if starting then
    var.Number=1
    end


    if pressed(swallow(Keyboard.NUMPAD1)) then var.Number++
    if var.Number > 3 then var.Number = 1

    midi.channel1.csharp1 = swallow(Keyboard.NUMPAD2) and (var.Number = 1)
    midi.channel1.d1 = swallow(Keyboard.NUMPAD3) and (var.Number = 1)
    midi.channel1.dsharp1 = swallow(Keyboard.NUMPAD4) and (var.Number = 1)
    midi.channel1.e1 = swallow(Keyboard.NUMPAD5) and (var.Number = 1)
    midi.channel1.f1 = swallow(Keyboard.NUMPAD6) and (var.Number = 1)
    midi.channel1.fsharp1 = swallow(Keyboard.NUMPAD7) and (var.Number = 1)
    midi.channel1.g1 = swallow(Keyboard.NUMPAD8) and (var.Number = 1)
    midi.channel1.gsharp1 = swallow(Keyboard.NUMPAD9) and (var.Number = 1)

    midi.channel1.csharp2 = swallow(Keyboard.NUMPAD2) and (var.Number = 2)
    midi.channel1.d2 = swallow(Keyboard.NUMPAD3) and (var.Number = 2)
    midi.channel1.dsharp2 = swallow(Keyboard.NUMPAD4) and (var.Number = 2)
    midi.channel1.e2 = swallow(Keyboard.NUMPAD5) and (var.Number = 2)
    midi.channel1.f2 = swallow(Keyboard.NUMPAD6) and (var.Number = 2)
    midi.channel1.fsharp2 = swallow(Keyboard.NUMPAD7) and (var.Number = 2)
    midi.channel1.g2 = swallow(Keyboard.NUMPAD8) and (var.Number = 2)
    midi.channel1.gsharp2 = swallow(Keyboard.NUMPAD9) and (var.Number = 2)

    midi.channel1.csharp3 = swallow(Keyboard.NUMPAD2) and (var.Number = 3)
    midi.channel1.d3 = swallow(Keyboard.NUMPAD3) and (var.Number = 3)
    midi.channel1.dsharp3 = swallow(Keyboard.NUMPAD4) and (var.Number = 3)
    midi.channel1.e3 = swallow(Keyboard.NUMPAD5) and (var.Number = 3)
    midi.channel1.f3 = swallow(Keyboard.NUMPAD6) and (var.Number = 3)
    midi.channel1.fsharp3 = swallow(Keyboard.NUMPAD7) and (var.Number = 3)
    midi.channel1.g3 = swallow(Keyboard.NUMPAD8) and (var.Number = 3)
    midi.channel1.gsharp3 = swallow(Keyboard.NUMPAD9) and (var.Number = 3)
    __________________________________________________ __


    For me, this was my first diy-controller project.
    I encourage everyone to try and turn your ideas into reality. It's cheap and the time you spend doing is definitely worth every second, once you hold your piece in hands.
    Thanks to everyone who lend me a helping hand

    //my mother tongue is German. typos are yours

    i would have used the numshotter on the bottom of the VCI horizontally for cuepoints
    "Be RANDOM to get NOTICED" -ellaskins

  3. #3
    Tech Wizard FLoer's Avatar
    Join Date
    Sep 2009
    Posts
    31

    Default

    i already use the transport buttons of my vci to juggle cuepoints (i can switch between normal transport and cue-point-juggleing) .
    Although, cue-point-juggling would not be hard to map for the numShotter.

    I use my numShotter for this
    http://www.youtube.com/watch?v=4S9wTDt5x9Q
    Only a little bit more advanced, now with Battery3

  4. #4
    Tech Guru zestoi's Avatar
    Join Date
    Mar 2011
    Location
    UK, Ukraine, Romania
    Posts
    2,860

    Default

    thats pretty awesome

    not sure if the glovepie code might be more efficient tho if you wrapped "if" statements around each of the 4 blocks (page change and the pages) so then it doesnt need to evaluate so much each iteration. as glovepie loops round your code around 20 times a second i think - which is the only bad thing i've found about it - it can end up eating a measurable amount of cpu which i don't like.

    nice use of space in the flight case and i presume u could always use it in that space at the bottom if u wanted to - tho would probably actually be more in the way for what u want to use it for atm.

    i got as far as buying 8 arcade buttons, gamepad, soldering iron and solder a few months back but haven't actually got round to doing anything with them yet (apart from playing around in glovepie...)
    11mba / 13mbp / tsp2 / live9 / audio10 / 2x reloop rp7000gold / 2x xdj1000 / 2x d2
    maschine mk2 / x1 mk2 / z1 / f1 / midifighter / lpd8 / 2x launchpad / launchkontrol xl
    Quote Originally Posted by derschaich
    "wohoo, i'm touched, turn on the FX"

  5. #5
    Tech Mentor
    Join Date
    Aug 2010
    Posts
    496

    Default

    Quote Originally Posted by DJ_Pabloco View Post
    i would have used the numshotter on the bottom of the VCI horizontally for cuepoints
    Is it really neccessary to quote that entire post just to make your comment?

    To the OP, nice work!

  6. #6
    Tech Guru
    Join Date
    May 2009
    Location
    Cincinnati, USA
    Posts
    779

    Default

    Excellent work! Very nice concept. The important thing is that it works for you and it doesn't matter what any wannabe-modder thinks of it.

  7. #7
    Tech Mentor extraclassic's Avatar
    Join Date
    May 2010
    Location
    Sheffield - UK
    Posts
    255

    Default

    Quote Originally Posted by ToOntown View Post
    Excellent work! Very nice concept. The important thing is that it works for you and it doesn't matter what any wannabe-modder thinks of it.
    Well said ToOntown and Respect Floer
    Last edited by extraclassic; 09-14-2011 at 07:29 PM.

  8. #8
    Tech Wizard FLoer's Avatar
    Join Date
    Sep 2009
    Posts
    31

    Default

    thanks to all replies.


    @zestoi
    I will do that. I was just glad that the script worked, and did not think about optimizing.. till now. thanks for the tip.

    @extraclassic
    Big ups to you! Your projects had been a big inspiration to me

  9. #9
    Tech Wizard FLoer's Avatar
    Join Date
    Sep 2009
    Posts
    31

    Default

    So I tried to modify my script, but i must have done something wrong. if i change it from this

    ...
    midi.channel1.csharp1 = swallow(Keyboard.NUMPAD2) and (var.Number = 1)
    midi.channel1.d1 = swallow(Keyboard.NUMPAD3) and (var.Number = 1)
    ...

    to

    ...
    if var.Number = 1
    midi.channel1.csharp1 = swallow(Keyboard.NUMPAD2)
    midi.channel1.d1 = swallow(Keyboard.NUMPAD3)
    endif
    ...

    the "sends" come so repeatedly that my oneshots restart like 20 times a second on hold... so even one hit will repeat the sample approx. 3 times already. Of course i only want them to trigger once

    anyone has an idea on that? maybe a command to suppress the re-triggering a note?

  10. #10
    Tech Guru zestoi's Avatar
    Join Date
    Mar 2011
    Location
    UK, Ukraine, Romania
    Posts
    2,860

    Default

    Quote Originally Posted by FLoer View Post
    if var.Number = 1
    midi.channel1.csharp1 = swallow(Keyboard.NUMPAD2)
    midi.channel1.d1 = swallow(Keyboard.NUMPAD3)
    endif
    one thing is that you need an equality test so need to use == and not =

    whether or not thats the only problem tho not sure...

    Code:
    if var.Number == 1
    midi.channel1.csharp1   = swallow(Keyboard.NUMPAD2) 
    midi.channel1.d1        = swallow(Keyboard.NUMPAD3)
    endif
    11mba / 13mbp / tsp2 / live9 / audio10 / 2x reloop rp7000gold / 2x xdj1000 / 2x d2
    maschine mk2 / x1 mk2 / z1 / f1 / midifighter / lpd8 / 2x launchpad / launchkontrol xl
    Quote Originally Posted by derschaich
    "wohoo, i'm touched, turn on the FX"

Page 1 of 2 12 LastLast

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •