Done by Xuemin Hang |
Done by Marcel Geyuan Xu |
Write code for direct digital synthesis for audio output.
Experiment with different schemes (using interrupts vs writing assembly loop
in main). |
Research on popular methods on digital synthesis, including
the possibility of using a Direct Digital Synthesis (DDS) chip to produce
most of the waveforms needed. |
Write code for detecting pushbuttons (notes of the keyboard)
such that the sound is sustained if the note is held. |
Procurement of necessary parts such as the sample MCU from
Atmel, the DDS chip from Analog Devices (which was not used eventually) and
so on. |
Improve the music synthesis such that chords can be played.
Experiment with different methods such as internal addition of digital
output or external recombination of voltages. |
Experiment, using Matlab, different theoretical ratios of
harmonics of flute, clarinet and trombone. Trial and error with equations
for other instruments until the waveforms look like the sample waveshapes.
|
Write code for TV display. Display the 2 sets of stave on the
TV, with the top stave being in the treble range and the bottom in the bass
range. Buttons pushed are displayed on the screen. |
Write code for creating wavetables for instrument timbre
using equations. Instruments included are flute, clarinet, piccolo, oboe,
horn, trombone, trumpet, plucked string and steel drum. A pure sine wave is
used as the default waveform. |
Design the two TV games such that they test the music
player’s sight-reading ability and fulfill and educational purpose. Write
code to implement the game. |
Fine-tuning of musical instruments sounds by tweaking the
harmonic equations and modulating the wave envelope. Since Marcel has been
in the symphonic band for over 6 years, he could evaluate many instrument
sounds with his ear. |
Laid out the hardware for the keyboard pushbuttons. Wired the
grounding supplies of the pushbuttons so that they may be used as a
keyboard. |
Laid out resistors for the video and audio DACS, as well as
all other hardware except for the keyboard pushbuttons. |
Design aesthetic packaging of the project. Make the whole
mess of wires seems more pleasing to the sight. |
Solder a replica of the STK500 board including ports A, B, C,
D and the programming connection. Debug the solder connections when
programming fails to execute.
|
Write sections of the report and design
the aesthetic of the website. |
Wrote sections of the report. Created
the website for the project and formatted the report on the webpage.
|