The Singing River ProjectKyle GilpinKushan SuranaAndrew WongWhat is it?Description Inputs: video image of hand w/ laser reflection, external sound source. Output: external sound source shifted in pitch and volume as specified by hand.Applications New musical instrument, similar to the Theremin, but allows control over natural sounds (voice, river, 60Hz noise). Allows discovery of new timbres in music, sound synthesis. Allows multi-person control over one instrument: one person controls sound input timbre, second person controls frequency and volume.Overall Block DiagramCameraControlleron/offLaserCameraz-positionto gainconversionx-positionto frequencyconversionExternalSoundAtoDRAMTime to FrequencyConversion(Autocorrelation)PeakDetectionDAudio OutPitchShifterVision Subsystem Detect the position of an object within a 2-dimensional field of view. Components: laserline generator optical bandpass filter B/W CCD camera Very few environmental constraints for accurate detectionPhysical SetupImage courtesy of Ken MaxonBlock DiagramExampleImages courtesy of Ken MaxonGoals Reliably detect the presence of the user's hand Accurately estimate the x- and z-coordinates of an object in the camera's field of view Provide a range of 64 steps on the z-axis Provide a range of 128 steps on the x-axis Exhibit sufficient noise accuracy so that the outputs vary by no more than ±1 LSBApplications Robotics obstacle avoidance map building Manufacturing computer chip placement quality control Face recognitionEstimating F0 Goal is to measure the fundamental frequency of the input source Constraining the input source’s frequency spectrum to not change too rapidlyAutocorrelation Perception of periodicity is related to the time-domain. Idea is to measure how well the signal correlates with itself for a range of delays Lags corresponding to the fundamental period and the higher order resonances will correspond to the maxima∑==−])[(0][][kxlengthlaglaglagkxkxResponse time Sampling the input signal at a rate of 40KHz Goal is to update the fundamental frequency every 1/10 sec. Using a 10 MHz clock, that allows 10^6 clock cycles to compute F0!Autocorrelation functionhttp://web.mit.edu/wonga/www/9.29/index.htmA/D conversion National Semiconductor ADC12441 A/D converter 13-bit resolution 13.8us conversion time parallel interface accepts both negative and positive input voltages within any input range we defineBlock DiagramA/DLow PassMajor FSMMinor FSM1, 2 ….REgRAMRAM Corr. UnitPeakDetectorUnitsyncclk, sampleDemo Input sourceEstimate of F0 (1)Estimate of F0 (2)Pitch Shifting Concept: to change pitch from f1 to f2, play back the sound at rate f2/f1. Problem: length of time changes. Solution: First expand sound sample to appropriate size, then play back at new rate.Time Expansion/Compression Implemented using SOLAF – Synchronous Overlap Add at Fixed Synthesis (Don Hejna).How to determine kmCrossign: not(xor(sign bits))Basically, if both are positive or both negative, + 1, otherwise + 0.Resampling Actually the sampling rate is fixed--just pick points in sound at different intervals.1995 MIDI Manufacturers AssociationDemo Original, F1 is 110Hz Stretched to double length Played back twice rate (every other point) resulting in 220HzBlock DiagramAnalog Output 12-bit digital to analog conversion (Analog Devices AD7845) 4thOrder low-pass filter Digitally controlled potentiometer to control gain (Microchip MCP410XX) Power amplifier to drive speakerQ/A
View Full Document