Mini-Project 6

horizontal rule

ece481 | doering | ece labs | ece | rhit

Home
Schedule
Course Information
Policies
Homework
Mini-Projects
Resources

Additive Synthesis

horizontal rule

Overview

Additive synthesis builds up complex sounds from simple sounds (sinusoids). Additive synthesis implies more than just doing Fourier series, though: each sinusoidal component is assigned its own frequency and amplitude trajectory (resulting in a partial), so complex, time-varying sounds can be generated by summing these partials together.

In this project you will create an oscillator whose output tracks a specified amplitude and frequency trajectory, then use multiple oscillators in several ways to create complex sounds.

This project will be implemented in HTML, partly to give you practice as you get into the final project, but also to make a better presentation of your spectrogram images and sound files.

Read HTML Requirements and Tips now.

Please install your presentation in a subdirectory called ‘miniproj6’ in the public area of your AFS account, and ensure that all files that make up your presentation are contained within this subdirectory. You may do your development work anyplace that you find convenient.

Deliverables

Sheet of paper containing the URL to the top level page of your project. Be sure that your HTML project includes the following:

bulletAll MATLAB code that you develop
bulletSignal spectra, MATLAB graphics
bullet.WAV files
bulletBrief write-up summarizing your results

horizontal rule

Part 1 – General Purpose Sinusoidal Oscillator

Develop a function that accepts an amplitude trajectory, a frequency trajectory (in Hz), and sampling frequency (in Hz) to produce a sinusoidal output whose amplitude and frequency tracks the two input trajectories, respectively.

Demonstrate that your oscillator works properly by showing the results (spectrogram and soundfile) of the following MATLAB code:

fs=5e3;
ff=[linspace(200,1600,2.5*fs) linspace(1600,800,1.5*fs)];
aa=[linspace(1,0,3*fs) linspace(0,0.75,fs)];
y=yourfun(aa,ff,fs);
calspec(y,[],fs)

 Hints:

  1. If y(t)=sin(2pq(t)), then the instantaneous frequency f(t) is dq(t)/dt.

  2. You may find the cumsum function useful.

Part 2 – “Spectrogram Art”

Design a spectrogram picture using multiple frequency/amplitude trajectories. See if you can construct a recognizable picture!

Use functions that generate curved lines (e.g., arcs, exponentials, parabolas, sinusoids) in addition to the straightline segments produced by linspace. Be creative!

Include a .WAV file of the sound associated with your spectrogram picture.

Part 3 – Bell Synthesis

The three principal features of a bell-like sound are (1) nonharmonic partials, (2) decay times of the partials that are approximately inversely proportional to their frequencies, and (3) beating of pairs of components (e.g., slight mistuning on the lowest 2 partials).

Use additive synthesis to implement the bell sound described in Figure 1 (see handout from class). Use decaying exponentials with the “durations” indicating the time constants. Demonstrate your results by showing the spectrogram image and its associated .WAV file.

horizontal rule

Home | Schedule | Course Information | Policies | Homework | Mini-Projects | Resources

 ECE481: Electronic Music Synthesis (S 2002-03)
Department of Electrical and Computer Engineering
Rose-Hulman Institute of Technology


For questions or comments regarding this web contact:
Last updated: 03/10/05.