Presentation is loading. Please wait.

Presentation is loading. Please wait.

Customizable Audio Kaleidoscope Agustya Mehta, Dennis Ramdass, Tony Hwang 6.111 Final Project Spring 2007.

Similar presentations


Presentation on theme: "Customizable Audio Kaleidoscope Agustya Mehta, Dennis Ramdass, Tony Hwang 6.111 Final Project Spring 2007."— Presentation transcript:

1 Customizable Audio Kaleidoscope Agustya Mehta, Dennis Ramdass, Tony Hwang 6.111 Final Project Spring 2007

2 Kaleidoscopes Produce changing, pleasing images through simple user interface Produce changing, pleasing images through simple user interface How can we mimic (and improve upon) this idea, but with sound? How can we mimic (and improve upon) this idea, but with sound?

3 Goals Creating pleasing music with a certain feel conveniently Creating pleasing music with a certain feel conveniently Abstracting away technical details for the user’s convenience. No musical background necessary Abstracting away technical details for the user’s convenience. No musical background necessary

4 Audio on the fly… The audio system contains: The audio system contains: Convenient user features Convenient user features A configurable algorithm for generating music A configurable algorithm for generating music A versatile digital synthesizer A versatile digital synthesizer

5 System Overview Control Unit Random Algorithm clock sample clock User Characteristics knob Selector Attributes History Memory: Lookup Tables History Synthesizer Notes Attribs LM4550 Audio Out { Samples Freqs Sample Type Sample

6 User-adjustable Features Musical characteristics Musical characteristics Key, tempo, timbre, dynamics, note duration. Key, tempo, timbre, dynamics, note duration. Correlation knob and attribute selector Correlation knob and attribute selector Duration of musical history Duration of musical history

7 Control Unit Block Diagram Control Unit Random Algorithm Memory: Lookup Tables History Notes Attributes { User Inputs Random Number Sample history inout Sample

8 Control Unit The Control Unit consists of four modules: The Control Unit consists of four modules: 1. Static Memory Lookup Table 2. Memory History 3. Random Generator 4. Scoring Algorithm

9 Control Unit Static Memory Lookup Table: Static Memory Lookup Table: Restricted selection of audio samples programmed into RAM Memory History: Memory History: Stores copies of the last sequence of audio samples played by the system Random Generator: Random Generator: Generates a random number

10 Control Unit Scoring Algorithm: Assigns a score to each sample in the Static Memory Lookup Table Assigns a score to each sample in the Static Memory Lookup Table Score calculation considers user inputs and data stored in the Memory History module Score calculation considers user inputs and data stored in the Memory History module Scoring criteria based on musical knowledge e.g. knowing which progressions sound better Scoring criteria based on musical knowledge e.g. knowing which progressions sound better Score determines the probability of a sample being chosen as output sample Score determines the probability of a sample being chosen as output sample Random number used in choosing output sample Random number used in choosing output sample

11 Control Unit Outputs: Outputs: 1. The set of notes in the chosen sample 2. A set of audio attributes calculated based on user inputs

12 Synthesizer Stored Samples Interpreter (per channel) Signal Generator (per channel) Notes Attribs Freqs Samples DAC Sample Types Volume Digital Audio Audio Out Mixer

13 Interpreter Algorithm outputs logical values for notes and attributes Algorithm outputs logical values for notes and attributes Must convert this to audio data Must convert this to audio data Note values (e.g., C, G#) correspond to frequencies, with A4 = 440 Hz, and these frequencies are sent to sample memory so that stored samples can be scaled Note values (e.g., C, G#) correspond to frequencies, with A4 = 440 Hz, and these frequencies are sent to sample memory so that stored samples can be scaled Volume data is sent directly to signal generator Volume data is sent directly to signal generator Timbres (instrument types) correspond to samples stored in memory; this attribute is used to look up sample type Timbres (instrument types) correspond to samples stored in memory; this attribute is used to look up sample type Handle timing by outputting this data to the signal generator module for the duration of the note, and outputting null value when no note is playing Handle timing by outputting this data to the signal generator module for the duration of the note, and outputting null value when no note is playing

14 Signal Generator Takes in frequency-scaled samples from memory that were selected by interpreter along with volume data Takes in frequency-scaled samples from memory that were selected by interpreter along with volume data Scales the samples to the desired volume Scales the samples to the desired volume Separate instantiation of interpreter and signal generator for each audio channel; all data sent to mixer Separate instantiation of interpreter and signal generator for each audio channel; all data sent to mixer

15 Mixer Takes in waveform signals for each channel outputted from signal generator Takes in waveform signals for each channel outputted from signal generator Sums these signals together Sums these signals together Sends digital audio output to DAC Sends digital audio output to DAC

16 In summary… An intelligent audio synthesizer that adjusts the feel of the music in real-time based on the user’s desires An intelligent audio synthesizer that adjusts the feel of the music in real-time based on the user’s desires Applications: versatile Applications: versatile Questions?


Download ppt "Customizable Audio Kaleidoscope Agustya Mehta, Dennis Ramdass, Tony Hwang 6.111 Final Project Spring 2007."

Similar presentations


Ads by Google