Wednesday, 16 December 2009
Demo of Working Application
This Demo shows the working Application with the use of the Reactivision Symbols and Xbox controller.
Applet Interface
With the maxpatch up and running I added a visual interface to give feedback as to what is happening, what sound bank is loaded, whether recording mode was on etc. Below you can see that the interface features three checkboxes down the left side to show which sound bank symbol is currently in use and loaded. The bottom left is the setup for the controller selection. The four middle icons show a visual level of the sound being played corresponding to the symbol. The level shows the tempo and volume levels of the sample. The Dial underneath shows the rotation of the symbol in accordance to the sample speed that can be altered. The top right has four recording boxes in which upon colour coordinated button press from the xbox controller will start recording each symbol, there is also a duration timer positioned underneath. Finally the bottom right has a check box that shows then the scratch select is on/off via the xbox select button.

Sunday, 13 December 2009
Recording & Final User Interaction
So now with the symbols setup to playback the preloaded sounds, I wanted to add a record function which will allow me to record and layer the existing samples. I ran into some difficulty with this. Originally I used sfplay~ object to playback the samples, and I planned on using groove~ to playback the recorded content from memory with the use of a buffer. I ran into issues concerning the scratch playback along with symbol rotations and x and y movements. The trouble was it played the samples back unclean, they all had clicking and skipping in their playback, but this wasn't apparent when using sfplay~. So I had to think about how I could go about recording without sacrificing some of the applets main features.
I came to decision that I would use sfrecord~ and and save the audio to file rather than to memory. This lead to the creation of three, four file soundbanks. Two of the banks would have preloaded audio samples assigned to them and one would feature rewritable files that would be triggered upon record. I setup 3 additional symbols to act as each of the banks and when in shot of reactivision they would load the 4 samples assigned and the four playback samples would play them. The recording function is connected to xbox controller. I used the coloured green,red,yellow and blue buttons to correspond with the same colours featured as playback symbols. Each button records to the corresponding coloured symbol which then saves the recorded file to a specified .aiff file. This can then be re added when that sound bank is loaded.
With these additional symbols being used I decided to set up more symbols that could be used in a 'mixer' based idea. I realised after testing the playback symbols upon the deck, that the rotation was affecting the symbol rotation so the audio would speed up and slow down as the deck itself rotated. With this i decided to add four new symbols that would be linked to the rotation and y-axis of the playback symbols. These symbols would sit off the rotating deck and would alter their playback properties. The rotation would increase the sample speed and by moving the symbol up and down the y axis increase and decrease volume. This eliminated the issues with rotation of deck against rotation of symbols and allowed for additional volume features.
Tuesday, 1 December 2009
Project Progress
I have got hold of a copy of reactivision and managed to get hold of a patch that is setup to recognise the reactivision fiducials. I have now linked it with my maxpatch using the TOIU client patch so that it can communicate with the stand alone Reactivision application. The patch I was given, was ready to recognise when the fiducial symbols are added, removed, rotated 360 as well as give number outputs for the coordinates of the x and y axis.
With the symbols recognised in this way I have set the symbols up to open, play and stop .aiff sample files. The file is opened and played from a bang from when the symbol is added and a bang to stop the file playing when the symbol is removed. I have also set up the rotation of the symbol to increase and decrease the speed of the sample. This was achieved by adding a 'speed' button that was linked to the rotational angle of the fiducial symbol. This now enables the tempo of the sample to change by simply rotating the symbol.
I added a gamepad controller function which allows me to use an xbox controller to add additional functions to the applet. One of these is the scratch function that enables samples to be manipulated when the symbol passes back and forth through its y-axis. This is only triggered upon a button press from the controller to ensure that it doesn't alter the samples all of the time. This feature allows any of the playback symbols positioned on the deck to be scratched when required.
In addition I plan to add a record function to allow recording of altered samples so they can be added back in playback.
Subscribe to:
Posts (Atom)