Реализуйте основной синтезатор цифровой музыки и используйте его, чтобы проигрывать традиционную песню в расположении с тремя речью. Задайте частоту дискретизации 2 кГц. Сохраните песню как расписание MATLAB®.
fs = 2e3; t = 0:1/fs:0.3-1/fs; l = [0 130.81 146.83 164.81 174.61 196.00 220 246.94]; m = [0 261.63 293.66 329.63 349.23 392.00 440 493.88]; h = [0 523.25 587.33 659.25 698.46 783.99 880 987.77]; note = @(f,g) [1 1 1]*sin(2*pi*[l(g) m(g) h(f)]'.*t); mel = [3 2 1 2 3 3 3 0 2 2 2 0 3 5 5 0 3 2 1 2 3 3 3 3 2 2 3 2 1]+1; acc = [3 0 5 0 3 0 3 3 2 0 2 2 3 0 5 5 3 0 5 0 3 3 3 0 2 2 3 0 1]+1; song = []; for kj = 1:length(mel) song = [song note(mel(kj),acc(kj)) zeros(1,0.01*fs)]; end song = song'/(max(abs(song))+0.1); % To hear, type sound(song,fs) tune = timetable(seconds((0:length(song)-1)'/fs),song);
Откройте Signal Analyzer и перетащите расписание от браузера Рабочей области до таблицы Signal. Нажмите Display Grid ▼, чтобы создать two-two сетку отображений. Выберите лучшие два отображения и нижнее левое отображение и нажмите кнопку Spectrum, чтобы добавить представление спектра. Выберите нижнее правое отображение, нажмите Time-Frequency, чтобы добавить представление спектрограммы и нажать Time, чтобы удалить представление времени. Перетащите песню ко всем четырем отображениям. Выберите нижнее правое отображение, и во вкладке Spectrogram, задайте разрешение времени 0,31 вторых и 0%-х перекрытий (на 310 мс) между смежными сегментами. Установите Пределы Степени к дБ и дБ.
На вкладке Analyzer нажмите Duplicate три раза, чтобы создать три копии песни. Переименуйте копии как high
, medium
, и low
путем двойного клика по столбцу Имени в таблице Signal. Переместите копии в лучшие два и нижние левые отображения.
Предварительно обработайте дублирующиеся сигналы с помощью фильтров.
Выберите high
сигнал путем нажатия на его имя в таблице Signal. На вкладке Analyzer нажмите Highpass. На вкладке Highpass, которая появляется, введите частоту полосы пропускания 450 Гц и увеличьте крутизну до 0,95. Нажмите Highpass.
Выберите medium
сигнал путем нажатия на его имя в таблице Signal. На вкладке Analyzer нажмите Preprocessing ▼ и выберите Bandpass. На вкладке Bandpass, которая появляется, введите 230 Гц и 450 Гц как более низкие и верхние частоты полосы пропускания, соответственно. Увеличьте крутизну до 0,95. Нажмите Bandpass.
Выберите low
сигнал путем нажатия на его имя в таблице Signal. На вкладке Analyzer нажмите Lowpass. На вкладке Lowpass, которая появляется, введите частоту полосы пропускания 230 Гц и увеличьте крутизну до 0,95. Нажмите Lowpass.
На каждом из трех отображений, содержащих отфильтрованные сигналы:
Удалите исходный сигнал путем снятия флажка рядом с его именем.
На вкладке Display нажмите Time-Frequency, чтобы добавить, что спектрограмма просматривает и нажимает Time, чтобы удалить представление времени.
На вкладке Spectrogram задайте разрешение времени 0,31 вторых и 0%-х перекрытий между смежными сегментами. Установите Пределы Степени к дБ и дБ.
Выберите три отфильтрованных сигнала путем нажатия на их столбец Имени в таблице Signal. На вкладке Analyzer нажмите Export и сохраните сигналы в MAT-файл под названием music.mat
. В MATLAB загрузите файл к рабочей области. Постройте спектры трех сигналов.
load music pspectrum(low) hold on pspectrum(medium) pspectrum(high) hold off
% To hear the different voices, type % sound(low.low,fs), pause(5), sound(medium.medium,fs), pause(5), sound(high.high,fs)