image provider

Chorus Experimenter


This essay does not describe an existing computer program, just one that should exist. This essay is about a suggested student project in Java programming. This essay gives a rough overview of how it might work. I have no source, object, specifications, file layouts or anything else useful to implementing this project. Everything I have prepared to help you is right here.

This project outline is not like the artificial, tidy little problems you are spoon-fed in school, when all the facts you need are included, nothing extraneous is mentioned, the answer is fully specified, along with hints to nudge you toward a single expected canonical solution. This project is much more like the real world of messy problems where it is up to you to fully the define the end point, or a series of ever more difficult versions of this project and research the information yourself to solve them.

Everything I have to say to help you with this project is written below. I am not prepared to help you implement it; or give you any additional materials. I have too many other projects of my own.

Though I am a programmer by profession, I don’t do people’s homework for them. That just robs them of an education.

You have my full permission to implement this project in any way you please and to keep all the profits from your endeavour.

Please do not email me about this project without reading the disclaimer above.

This experiment might appeal to a physics, mathematics or music teacher to help explain the fundamentals of how sounds combine. It would consist of a Java Applet that makes sounds and displays the corresponding wave pattern on a simulated digital oscilloscope. Some of the things you can do with it include:

  1. Experiment with the amplitude, period and phase of a sine wave to see the effect on the sound.
  2. Show how that by superimposing two sine waves in phase you can get a louder sound.
  3. Show you can create silence by superimposing a sine wave 180 degrees out of sync.
  4. Show that when you superimpose sine waves at random phase, on average you get a louder sound. Allow user to create a chorus.
  5. Explore combination effects when your chorus members each sings slightly off key.
  6. Explore combination effects when your chorus members each sings different notes of a scale.
  7. Support keyboard to be used to change the notes played in real time.
  8. Support a MIDI (Musical Instrument Digital Interface) keyboard to be used to change the notes played in real time.
  9. Explore different tunings other than equitempered 12-tone.
  10. Repeat above experiments for waveforms other than sine, possibly with digital samples using JFugue to bend the pitch.

The program would not likely be saleable, but it could draw people to a page with ads to play with it.


This page is posted
on the web at:

Optional Replicator mirror
on local hard disk J:

Canadian Mind Products
Please the feedback from other visitors, or your own feedback about the site.
Contact Roedy. Please feel free to link to this page without explicit permission.

Your face IP:[]
You are visitor number