Need help. I need to wirte a matlab script to do the following. Please help! Usi
ID: 2294122 • Letter: N
Question
Need help. I need to wirte a matlab script to do the following. Please help!
Using Matlab Create 5 seconds of pleasant sound. Use the "Making Music" slides to guide you. Create a *.wav file (or another common format) so I can listen to the pleasant sound. NOTE: One important thing you need to know (not really understand) is that sampling frequency must but be twice the highest frequency you are trying to create. For example, in my sound "Charge" (that I played for you in class) the highest frequency is the note known as Middle G (on a piano, a.ka Ga) The frequency of this note is 392 Hz. So if I want to create this note using Matlab, I would have to use a sampling rate of at least 784 Hz. I would not be able to create any frequencies higher than 392 Hz.Explanation / Answer
%% configure signal settings duration = 0.1; % duration in seconds amplitude = 0.8; % amplitude f1 = 500; % frequency in Hertz f2 = 1000; f3 = 1500; phi = 2*pi*0.5; % phase offset, e.g.: 2*pi*0.25 = 1/4 cycle %% configure output settings fs = 44100; % sampling rate T = 1/fs; % sampling period t = 0:T:duration; % time vector %% create the signal omega1 = 2*pi*f1; % angular frequency in radians omega2 = 2*pi*f2; omega3 = 2*pi*f3; partial1 = cos(omega1*t + phi)*amplitude; % sinusoidal partial 1 partial2 = cos(omega2*t + phi)*amplitude; % sinusoidal partial 2 partial3 = cos(omega3*t + phi)*amplitude; % sinusoidal partial 3 signal = (partial1 + partial2 + partial3)/3; %% plot the signal plot(t, signal); xlabel('Time (seconds)'); ylabel('Amplitude'); title('Complex Signal'); %% play the signal sound(signal, fs); %% save signal as stereo wave file stereo_signal = [x1; x1]'; wavwrite(stereo_signal, fs, 'test.wav');
Related Questions
drjack9650@gmail.com
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.