Music Synthesizer and Transcriber
Active In SP
Joined: Jun 2010
15-10-2010, 09:55 AM
This article is presented by:
Professor Andrew E. Yagle
Dept. of EECS, The University of Michigan, Ann Arbor
Music Synthesizer and Transcriber
This is the main project and implimentation for the course. It has two parts: (1) Programming a simple music synthesizer entirely in Matlab using a Matlab musical GUI similar to the one you developed in Project #1, using snippets of real instruments; (2) Programming and evaluating a simple music transcriber entirely in Matlab using the Matlab stem-based staff-like notation in Project #1, but now including note duration information.
Music synthesizers can be as simple as recording the sounds of actual musical instruments and playing them back at variable speeds to obtain the desired pitches (wavetable synthesis), filtering of simple signals like square waves or sawtooth waves to achieve a desired effect (subtractive synthesis), or as complicated as actually computing each harmonic of a note separately and adding them together (additive synthesis). Musical transcription, which generates sheet music (or the equivalent) directly from a musical recording, is much more difficult. It is by no means a completely solved problem, and present techniques involve signal processing concepts such as hidden Markov models that are graduate-level material, since real music is more complicated than the periodic signals whose periods change abruptly that we have considered in this course. Nonetheless, transcription of simple music can be accomplished using the techniques presented in this course. You saw in Lab #3 that the spectrogram could itself function as a type of musical notation. Other approaches should be tried as well, such as the fft analysis at specific frequencies you used in Project #2. The results of this project and implimentation will be two .m files. One implements a music synthesizer which accepts either on-screen keys clicked with a mouse or a sequence of letters representing musical notes and outputs a melody using any of several musical instruments (guitars, clarinets, and others) selected from an on-screen menu. Of course, these can be added together (“mixed”) to achieve the effect of several instruments played together. The other .m file implements a music transcriber which accepts a .wav file of music from your synthesizer and generates a musical-staff-like transcription using Matlab’s stem command. Details are provided below. Some suggested approaches for the transcriber will be discussed in lecture (see proj3lecture.pdf).
PROJECT #3: WHAT YOU HAVE TO DO
Download the file proj3.wav from the course web site. This file contains snippets of length 32768 samples each from an electric guitar, a clarinet, a trumpet, and a single tone, all sampled at 44100 SAMPLE SECOND. Each instrument is playing the 13 notes of an octave (including the note at both ends twice) in succession. Design your own instrument using additive synthesis (adding together harmonics with amplitudes selected by you) and label it with your team name. Also create a marching band sound by reverbing each trumpet note. Do this by adding copies of trumpet to itself, with each copy delayed slightly from the previous copy.
For more information about this article,please follow the link:
googleurl?sa=t&source=web&cd=1&ved=0CBUQFjAA&url=http%3A%2F%2Feecs.umich.edu%2F~aey%2Feng100%2Flabs%2Fpdffiles%2Fproject and implimentation3.pdf&ei=19a3TJr1LYWgvQPT-JmtCQ&usg=AFQjCNFIjio65SDI7bwjcDL7gOL35xY64Q