230 likes | 397 Views
EE513 Audio Signals and Systems. Introduction Kevin D. Donohue Electrical and Computer Engineering University of Kentucky. Question!. If a tree falls in the forest and nobody is there to hear it, will it make a sound?. Sound provided by http://www.therecordist.com/downloads.html.
E N D
EE513Audio Signals and Systems Introduction Kevin D. DonohueElectrical and Computer EngineeringUniversity of Kentucky
Question! If a tree falls in the forest and nobody is there to hear it, will it make a sound? Sound provided by http://www.therecordist.com/downloads.html
Ambiguity! • Merriam-Webster Dictionary: • Sound a: a particular auditory impression b: the sensation perceived by the sense of hearing c: mechanical radiant energy that is transmitted by longitudinal pressure waves in a material medium (as air) and is the objective cause of hearing.
Transmission Media Electoacoustic Transducer Amplification, Signal Conditioning Processing for Intended Application Storage Information Extraction / Measurement Playback Electronic Audio Systems Sound Sources – Vibrations at 20Hz-20kHz
Information Generation Understanding Amplification Transduction Propagation Natural Audio Systems
Synthetic Audio: Imitating Nature • 1780 Wolfgang von Kemplen’s Speaking MachineU2B • Mid 1800’s Charles WheatstoneMR • Late 1800’s Alexander Graham Bell • 1939 Homer Dudley’s VoderU2Bhttp://www.acoustics.hut.fi/~slemmett/wave/track01f.wav • 1898 Thaddeus Cahill’s Telharmonium (First Music Synthesizer) • 1919 Lev Theremin’s Theremin U2B1 and U2B2
Speech Analysis and Synthesis • Communication channels (acoustic and electric) • 1874/1876 (Antonio Meucci’s) Alexander Graham Bell’s Telephone. • 1940’s Homer Dudley’s Channel Vocoder first analysis-synthesis system
Voiced Speech Quasi-Periodic Pulsed Air Vocal Tract Filter Vocal Radiator Air Burst or Continuous flow Unvoiced Speech Voice-Coding Models The general speech model: Speech sounds can be analyzed by determining the states of the vocal system components (vocal chords, track, lips, tongue … ) for each fundamental sound of speech (phoneme).
Spectral Analysis Voiced Speech Spectral envelop => vocal tract formants Harmonic peaks => vocal chord pitch
Time Analysis Voiced Speech Time envelop => Volume dynamics Oscillations => Vocal chord motion
Spectrogram Analysis There shoe do lived old She Frequency Time
Spectogram of CD sound Frequency Time
Speech Recognition • 1920’s Radio Rex • 1950’s (Bell Labs) Digit Recognition • Spectral/Formant analysis • Filter Banks • 1960’s Neural Networks • 1970’s ARPA Project for Speech Understanding • Applications of spectral analysis methods FFT, Cepstral/homomorphic, LPC • 1970’s Application of pattern matching methods DTW, and HMM
Speech Recognition • 1980’s • Standardize Training and Test with Large Corpora (TIMIT) (RM) (DARPA) • New Front Ends (feature extractors) more perceptually based • Dominance/Development of HMM • Backpropagation and Neural Networks U2B • Rule-Base AI systems
Specification of Speech Recognition • Speaker dependent or independent • Recognize isolated, continuous, or spot speech • Vocabulary Size, Grammar Perplexity, Speaking style • Recording conditions
Components of Speech Recognition Speech Transduction Acoustic/Electronic Input Speech Detected Speech String Front End Local Match Global Detector Language Model
Matlab Examples %% Create and play a 2 second 440 Hz tone in Matlab: fs = 8000; % Set a sampling frequency fq = 440; % frequency to play t = [0:round(2*fs)-1]/fs; % Sampled time axis sig = cos(2*pi*fq*t); % Create sampled signal soundsc(sig,fs) % Play it plot(t,sig); xlabel('Seconds'); ylabel('Amplitude') wavwrite(sig,fs,'t440.wav') clear % Remove all variables from work space %% Reload tone and weight it with a decaying exponential of time constant .6 seconds tc = .6; % Set time constant [y, fs] = wavread('t440.wav'); % read in wave file t =[0:length(y)-1]'/fs; % Create sampled time axis dw = exp(-t/tc); % Compute sampled decaying exponential dsig = y.*dw; % Multiply sinusoid with decaying exponential soundsc(dsig,fs) plot(t,dsig); xlabel('Seconds'); ylabel('Amplitude')
Matlab Examples Explore demo and help files >> help script SCRIPT About MATLAB scripts and M-files. A SCRIPT file is an external file that contains a sequence of MATLAB statements. By typing the filename, subsequent MATLAB input is obtained from the file. SCRIPT files have a filename extension of ".m" and are often called "M-files". To make a SCRIPT file into a function, see FUNCTION. See also type, echo. Reference page in Help browser doc script In the help window (click on question mark) Go through section on programming and then go to the demo tab and view a few of the demo.
Matlab Examples • In class examples …
Matlab Exercise • Use the sine/cosine function in Matlab to write a function that generates a Dorian scale (for testing the function use start tones between 100 and 440 Hz with a sampling rate of 8 kHz). Let the Matlab function input arguments be the starting frequency and the time interval for each scale tone in seconds. Let the output be a vector of samples that can be played with Matlab command “soundsc(v,8000)” (where v is the vector output of your function). • The frequency range of a scale covers one octave, which implies the last frequency is twice the starting frequency. On most fixed pitch instruments, 12 semi-tones or half steps make up the notes within an octave. A minor scale sequentially increases by a whole, half, whole, whole, half, whole, and whole (8 notes altogether – including the starting note).
Matlab Exercise – Famous Notes Middle C = 261.626 Hz (standard tuning) Concert A (A above middle C) = 440 Hz Middle C = 256 Hz (Scientific tuning) Lowest note on piano A=27.5 Hz Highest note on piano C= 4186.009