Mark Chiang's EECS 195 Research Page

Computer Audio: Musical Applications of Digital Signal Processing

Winter 2005

 

EECS 195

Last Updated:
Monday, March 23, 2005 5:10 PM

Assignments

  • Final Research Project Article Abstract - Sunday, March 20th
    Manipulating noise that sounds similar to static to create desired effects are difficult because noise is very constant and uninteresting. This article discusses the methods on how to achieve a realistic effect as if a listener is at the beach. By taking both white and brown noise and molding its behavior using Cycling ‘74’s Max/MSP, the computer can arbitrarily generate a non-repeating realistic beach experience.

    Notes:
    Overall, this project was a lot of fun because not only did it require intense research of digital signal processing, but it also required a sense of aesthetics, which allowed me to get creative.

  • Acknowledgements:
    Many thanks to Ryan Schoelerman, Peter Castine, and Dr. Christopher Dobrian.

  • Max/MSP Source File (Full Version) [.txt]
  • Max/MSP Source File (End User Version) [.txt]
  • Standalone Application (End User Version) [.zip]
  • Matlab Source Files [.zip]
  • Max/MSP Screenshot (Full Version) [.bmp]
  • Max/MSP Screenshot (End User Version) [.bmp]
  • Full Project Article [.pdf]
  • Final PowerPoint Presentation [.ppt] * NEW * Since there was not enough time in class to show my powerpoint presentation, you can download it here.
    • Progress of Final Research Project Abstract - Sunday, February 27th
      This wave simulator creates unique wave sounds crashing on the shore in 3 second to 7 second random intervals. Manipulating a “drunk” object creates this changing wavelength. After the initial wave hits the shore, a smaller, second wave coming from the shore crashes back into the initial wave. The combinations of these two tides gradually move away from the shore and back out into the ocean. This decrease in amplitude in the shallow water can be thought of as the tides being pulled in by the seafloor. Then this entire cycle randomly repeats.

      Notes:
      I initially started out modifying the sounds of white noise and found that this was not the best noise to emulate tides. So after researching different noises, Brownian noise was the most similar to that of the ocean water. Brownian noise is fractal noise characterized by a falloff of 6dB/octave. It can also be thought of as 1 divided by the frequency squared (1/f^2).

    • Future Plans :
      There are still more features I would like to implement with my research project. I would like to vary the amplitude of the wave crashes more and give the waves even more of a random feel. The vertical displacement of the sea surface from still water level does not vary as much as some real oceans. Also, sometimes there is still a slight clicking noise that I have yet to eliminate. I need to find the root of the problem and eliminate all instances of a sharp click.

      Acknowledgements:
      Much thanks to Ryan Schoelerman, Peter Castine, and Dr. Chris Dobrian.

      References:
      http://kingfish.coastal.edu/biology/sgilman/770Oceansinmotion.htm
      http://music.arts.uci.edu/dobrian/IAP2004/MSPExamples.htm
      http://www.bek.no/~pcastine/Music/programs.html
      http://scienceworld.wolfram.com/physics/BrownNoise.html

  • Source File
  • Detailed Project Description
  • Max/MSP Screenshot
    • Updated Final Project Proposal - Monday, February 7th
      My new proposal is to generate unique and random variations of white noise that mask unwanted background noise. Some thoughts include creating serene sounds such as waterfalls, rain, and ocean waves. One of the first problems seen is repetitive noise that would lose the peaceful effect and become more of an annoying noise. Random number generators, noise generators, and interval mutations are some necessary features to implement in this project. I plan to use programs such as Cycling '74 MaxMSP, Avid Pro Tools LE, and Peter Castine's Litter to make non-repeating and completely random sounds to create these effects.

      Motivation:
      This idea was initially sparked by my boss Donald Haderle who wanted to solve the problem of a noisy office. Our work environment was your typical huge office space filled with a cubicle farm. Often marketing representatives would site directly across from the development team. At times, it was difficult for engineers to concentrate on their work because marketing would be on the phone for most of the day. A project such as mine would be very useful in this situation to eliminate a noisy work environment by adding white noise. Another useful application for this research project can be to drown out a snoring girlfriend or roommate.

    • Initial Final Project Proposal due Wednesday, February 2nd
      My proposal is to use an application such as Avid Pro Tools LE to tweak sounds, change the pitch of selected samples, clean up unwanted background noise, and much more so I can orchestrate a song. My hopes are to sample barks from my beloved puppy named Shaupi. Then manipulate the bark so it sounds like he's singing classical music.
    • Homework 2 Redone due Monday, March 7th
      This program titled "Intensity Effects" simulates a combination of sound generation and intensity scaling. Intensity is the amount of variance of air pressure (or energy) transmitted. Basically, when the intensity of a sound varies, the signal strenth proportionally varies. My patch synthesizes a sound and locates that sound in different precise locations in virtual space. The user can simulate a sound generated from the FM note and/or by opening a music file from the hard disk. The user may also create a new note by drawing on the graphical breakpoint function editor. The goal of this patch is for sound to appear as if it is moving away from the listener from a distance of 0 meters away to a distance of 100 meters away in discrete leaps of 3 meters between each repetition. After the maximum distance is acheived, the sound feels as if it is returning back to the listener in the same 3 meter increment.

    • The counter aids this intensity effect by counting from 0 to 34 and multiplying that dynamic value by 3. When the counter reaches the maximum value of 100, this will trigger a bang to start decreasing the count. The counter's 3nd outlet will be toggled when the maximum is reached. Likewise, when the counter reaches the value of 0, this will trigger a bang to start increasing the count. The counter's 2nd outlet will be toggled when the minimum is reached. The counter's 4th outlet displays the number of runs the counter has made.

      Minor notes:
      To play a sample .wav file, save the "hw2.wav" file to your hard disk. Then click on the "open" button in the patch. If this .wav file sounds familiar to you, it's because it's from a Volkswagen Jetta commercial called "sometimes everything just comes together". The tune, performed by Master Cylinder, is called "Jung at Heart."

      Motivation:
      My motivation to pick this sound file "hw2.wav" was from the first day of our DSP class when Professor Dobrian demo'd the Honda commercial called "Isn't it nice when things work?" It instantly reminded me of this Jetta commercial. I edited the "Volkswagon Jetta Commercial.mp3" file using Ahead Nero Wave Editor 2.0. I sampled the .mp3 file, converted it to a .wav file, and faded out the end of the track with a sinusoidal decay to avoid the infamous "click". Enjoy!

      Acknowledgements:
      Many thanks to Dr. Chris Dobrian for the good pointers to where I went wrong with the previous version of assignment 2.

      References:
      MSP Tutorial 11. FM Synthesis.pat
      http://music.arts.uci.edu/dobrian/IAP2004/MSPExamples.htm
      http://www.vw.com/commercials/synch.htm
      Roads, Curtis. The Computer Music Tutorial. MIT Press. 1996. pg 1055.

  • Source File
  • .Wav File
  • Edited .Wav Screenshot
  • Max/MSP Screenshot
    • Homework 2 due Monday, February 14th
      This program I titled "Doppler Shift" simulates a combination of sound generation and spatialization. It synthesizes a sound and locates that sound in different precise locations in a stereophonic space. The user can simulate a sound generated from the FM note and/or by opening a file from the hard disk. The effect will appear as if the sound is moving away from the listener from a distance of 1 meter to a distance of 99 meters in discrete leaps of 3 meters between each repetition. The counter accomplishes this effect by taking 4 inlets, performing arithmetic, and outputting 2 outlets. The 1st inlet retreives the bang from metronome; the 2nd inlet resets the counter; the 3rd inlet tells the counter the increment size, the 4th inlet indicates the maximum distance. The 1st outlet increases the number box by the specified stepsize; the 2nd outlet decreases the number box by the specified stepsize. More arithmetic is applied to create the effect that the increasing number box is having a positive radial velocity and the decreasing number box is having a negative radial velocity. Curtis Roads describes positive radial velocity as sound that is moving toward the listener. And negative radial velocity as sound that is moving away from the listener. NASA describes that an upwards pitch change that happens in Doppler shifting is due to compressing wavefronts. And downwards pitch change that happens in Doppler shifting is due to decompressing wavefronts. I think the spatialization effect created is very interesting because of the combination of intensity and a balance between left and right panning.

      Minor notes:
      To play a sample .wav file, save the "hw2.wav" file to your hard disk. Then click on the open button in the patch. Finally you'll want to press the 43000 number box to set the triggering interval. If this .wav file sounds familiar to you, it's because it's from a Volkswagen Jetta commercial called "sometimes everything just comes together". The tune, performed by Master Cylinder, is called "Jung at Heart."

    • Motivation:
      My motivation to pick this sound file "hw2.wav" was from the first day of our DSP class when Professor Dobrian demo'd the Honda commercial called "Isn't it nice when things work?" It instantly reminded me of this Jetta commercial. I edited the "Volkswagon Jetta Commercial.mp3" file using Ahead Nero Wave Editor 2.0. I sampled the .mp3 file, converted it to a .wav file, and faded out the end of the track with a sinusoidal decay to avoid the infamous "click". Enjoy!

      Acknowledgements:
      Much thanks to Ryan Schoelerman and Dr. Chris Dobrian.

      References:
      Curtis Roads, "Sound Spatialization and Reverberation", part III chapter 11. pages 457 - 466.
      http://archive.ncsa.uiuc.edu/Cyberia/Bima/doppler.html
      http://www.vw.com/commercials/synch.htm

  • Source File
  • .Wav File
  • Max/MSP Screenshot
    • Homework 1 Redone - Monday, February 7th
    • This program generates a cosine wave using the Portable Audio API for 4 several seconds. The interesting part of increase_beating.c is the beating effect caused by two cosine waves of slightly different frequencies. Also, the beating frequency increases every second. The beating effect is a throbbing or warballing that takes place in rapid succession when two notes of almost the same pitch are sounded together. Hyperphysics describes beating as a phenomenon when two sound waves of different frequency approach your ear, the alternating constructive and destructive interference causes the sound to be alternatively soft and loud. Thanks to Ryan Schoelerman who helped me out a bunch on this assignment.

      References:
      http://hyperphysics.phy-astr.gsu.edu/hbase/sound/beat.html
      http://www.hubharp.com/glossary_a-c.htm
      http://www.iceskatingintnl.com/resources/gloss_b.htm

  • Source File
  • Executable File
  • Console Screenshot
    • Homework 1 due Wednesday, January 19th
    • This program generates a cosine wave using the Portable Audio api for 5 seconds. I created this program to make a neat wavy sound at an interesting pitch. This program will also do some cool stuff like displaying the fraction of total CPU time consumed by the stream's audio processing.
  • Source File
  • Executable File
  • Console Screenshot
  • UCI   |   HSSoE   |  EECS 195    |    Mark's Webpage   |   Contact Me

    Copyright © 1998–2005 Mckrew Inc.