Wednesday, 16 December 2009

Demo of Working Application

This Demo shows the working Application with the use of the Reactivision Symbols and Xbox controller.

Interface Demo (No Sound)

These videos show the interface working.

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.


Monday, 30 November 2009

Project Progression & Change

So I've managed to get hold of a turntable, only trouble is it doesn't have a needle attached to it, other than that it works fine. This has led me too change my idea slightly though. Instead of using fiddle and bonk to listen for specific peaks and beats, I am going to go back to my original idea and use reacTIVision symbols and create my own 'vinyl'.

Instead of now having to create my own hardware I can use the existing rotating turntable as a platform to create sounds and perform them using my own symbol based vinyl. The plan at this stage is to program and assign a number of reactivision symbols with audio clips that will be added to a self created vinyl of sorts. From there the symbols will be triggered by a over head DV camera linked to the reactivision and Max/MSP.

There will be expansion on this idea for the 3rd project of the module. But for this part I plan to get the application up and working with visual feedback for the user to use this as an instrument and not just a randomised sound generator. As well as assigning sounds to it and controlling those sounds with the use of rotating the symbols and moving their X and Y positions.

Tuesday, 17 November 2009

Similar Systems

After researching some existing technologies i came across a program that I was vaguely aware of that is called 'Final Scratch'. The system uses digitally time coded vinyl to control and manipulate the digital audio on the computer in the same manner a real vinyl would.
FinalScratch® is the ultimate way for DJs to combine today's digital technology with the analog control of the past. By using FinalScratch with your existing turntables or CD player and mixer, you can control and manipulate digital audio files (WAV, MP3, etc.) the same way you always have—using your hands to cue, mix and scratch with the exact response and feel of real vinyl.
Just load any digital audio file onto your computer, then pick and choose from your own playlist as you load tracks into two "virtual" decks. Your computer becomes your record box—there's no need to travel with bulky records and CDs. With FinalScratch, you can bring thousands of songs to any gig! Producers can even load new remixes and edits created in the studio and instantly play them without the need to cut costly acetates.
FinalScratch can work with any DJ setup consisting of turntables or CD players and a mixer. You can even use it at a club: simply connect the ScratchAmp™ to the club's mixer and you're ready to go. What's more, many of the world's best nightclubs have already installed ScratchAmps in the DJ booth, so DJs can show up with just their laptop and FS records. For a complete listing of FinalScratch-ready clubs, click here. (taken from www.stantonmagnetics.com)

The other application that Dan suggested I looked at is called 'Ms Pinky.' This application is a max-patch based app that is fairly similar to my idea. It uses pre programmed vinyl to trigger effects within the application. allows simultaneous mixing of .WAV, .AIFF, and .MP3 audio files and QuickTime movies. All digital media files that are played in “Maxi-Patch” can be controlled by the Ms Pinky vinyl records played on your standard DJ turntable. The main window of “Maxi-Patch” has different regions for loading, playing, and applying effects to audio files (.WAV, .AIFF, .MP3) and QuickTime Movies. The colors, borders, and shapes of all of the various regions can be customized by the user. (taken from www.mspinky.com)


Assignment 2 idea

The second assignment of this module requires us to make a sound application/interface within Max/MSP. I had the idea of using record deck controller linked to an max application in oder to control and manipulate sound, this originally would be created using a mixture of possible technologies. I thought about using reactivision symbols or possibly LDR sensors attached to a rotating deck that would trigger sound and a hacked game controller to control effects such as scratching and reverse etc.

After speaking with Dan in the practical sessions he suggested that building an application in Max as well as building a physical controller in the time would be difficult. So the updated idea is to create an application that controls an existing instrument/technology. In this case it will be a real record player or deck, more specifically the vinyl that is played on them. The idea is to create an application that is linked directly to the record deck and will pick up programmed beats and pitch from the vinyl being played. This is achievable using the external objects 'bonk and fiddle', which basically detects pitch and beat.

Using these objects I will be able to manipulate existing audio from the vinyl and overlay specified sections of audio with my own or add effects to it. Initially I plan to create the application so that it will detect pitch and beat of various sections of a vinyl and overlay effects over the top of them using either self created sound files or live signal VST's. The idea is to to get the application working for this assignment and expand upon it further in the final project of this module with the possible use of additional game controllers, hacked to trigger live samples from reason or live that can be used to manipulate and create new sound and music from original vinyl.

Tuesday, 3 November 2009

Metro-Mix (4) Final Edit

Metro-Mix Production Process

So for this module we were given the task of applying a soundtrack to an allocated 1 minute clip from the anime version of metropolis. In order to achieve this we had time to learn Propellor Head's 'Reason' and gain some basic Knowledge of creating and recording custom midi sounds using the virtual rack mounted effects available within the software.

After some issues with reason to begin with I was close to scrapping the idea of using it, but fortunately I over came the problems and was able to use it effectively. Using a midi keyboard I was able to create a range of sounds using a mixture of effects and synths. The majority of sounds created were made using the 'Thor' synth and various patches which were then run through a range of fuzz, distortions and reverbs to achieve the mechanical and electrical sounds throughout the video.

A number of created sounds within reason were edited further, by exporting them into logic where I overlaid even more effects. For example I used a 'RingShifter' effect to manipulated self created reason samples to change their frequency so it made it sound like samples were playing in reverse and gave an overall electronic feel. The ending of the clip where it sounds like the machine is winding down was made by strumming a muted string on guitar to get a loud banging sound and then was able to gain feedback from the amp. This was then sent into logic and had the 'Ring Shifter' applied so it sounds like it is slowly winding down and fading out.

Once I had all the samples and sounds required I placed them all into Final Cut and edited in time with the visual content. I did alter some of the channels within Final Cut so that certain samples would play in the left or right channels to achieve even more of a stereo effect.