Refined Sample Storage and Multi Layered Interface
- Aaron Lockwood
- Mar 2, 2021
- 2 min read
After laying the basis for sound production based on the state of the launchpad grid and adding controls for tempo change and scrolling direction I moved towards expanding the usability of the device.
To start, I changed the absolute addresses for the sound clips to a local address within the zip file so that it can be used on other machines without hard coding in new addresses. I used a string array of the renamed sounds to map eight different beats to the corresponding rows which makes each row a unique sound compared to before when I only used three clips. In addition to the robust use of sound clip play back, I started to make my functions such as playSample() and lit() more dynamic to fit the progression to multiple layers to make sounds. For this iteration I started by just making one more layer which I called synth. To switch in-between the layers I added a midi listener to the Volume and Pan buttons on the right hand side of the board which glow green and purple respectively. To make a new layer I just created a new int array which would hold the status of each index as a certain midi color message. To differentiate between the boards and tell lit() what color to change a button to I store the color value for the board at index 0 since these arrays are one dimensional and the grid only uses values 11 - 88. I would have found it a bit easier to use a two dimensional array for conceptional understanding but having those first 11( indexes [0-10] ) slots open gives me space to store board information such as color or playback methods.

For the next iteration, I am planing to expand on the layering system by making it more dynamic and to add in more playback methods such as a bouncing index that triggers sounds when it hits an index on the border on the grid. To make the layering system more dynamic I am planning on implementing a class system that would hold the array for each layer.
Attached is a zip folder which holds the script "main.ck" and eight sample clips that are used on the first initial layer. I run this on another Launchpad X you will need to put the board in programmer mode. Programmer mode changes the board from working with DAWs like ableton live to receiving raw midi messages from programs like ChucK to control lighting and output midi messages. To put your board in programmer mode you can long press the Session mode in the middle of the top row, this will open a menu with spells out LED and then some other buttons on the bottom. The bottom right two buttons Solo and Record Arm should be lit as green and orange, click the orange Record Arm button. The board should scroll past the word Programmer Mode, now if you click anywhere or wait for it to stop scrolling it will bring you back to the LED screen, click Session once again and the board should go blank. Now you're in programmer mode and you can run the "main.ck" script and the programmer should show up on the board.
Comments