Реализовать базовый цифровой синтезатор музыки и использовать его для воспроизведения традиционной песни в трёхголосной аранжировке. Укажите частоту дискретизации 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 ▼), чтобы создать сетку отображений «два на два». Выберите два верхних экрана и левый нижний экран и нажмите кнопку «Спектр» для добавления вида спектра. Выберите правый нижний экран, нажмите Time-Frequency, чтобы добавить вид спектрограммы, и Time, чтобы удалить вид времени. Перетащите песню на все четыре дисплея. Выберите правый нижний экран и на вкладке «Спектрограмма» задайте разрешение 0,31 секунды (310 мс) и 0% перекрытия между соседними сегментами. Установите предельные значения мощности дБ и дБ.

На вкладке Анализатор нажмите кнопку Копировать три раза, чтобы создать три копии песни. Переименование копий в high, medium, и low дважды щелкните столбец Имя (Name) в таблице Сигнал (Signal). Переместите копии на два верхних и нижних левых дисплея.
Предварительная обработка повторяющихся сигналов с помощью фильтров.
Выберите high щелкните его имя в таблице Сигнал (Signal). На вкладке Analyzer щелкните Highpass. На появившейся вкладке Highpass введите частоту полосы пропускания 450 Гц и увеличьте крутизну до 0,95. Щелкните Верхний проход (Highpass).
Выберите medium щелкните его имя в таблице Сигнал (Signal). На вкладке Analyzer (Анализатор) щелкните Preprocessing ▼ (Предварительная обработка) и выберите Bandpass (Полоса пропускания). На появившейся вкладке Bandpass введите 230 Гц и 450 Гц в качестве нижних и верхних частот полосы пропускания соответственно. Увеличьте крутизну до 0,95. Нажмите Полосовой переход.
Выберите low щелкните его имя в таблице Сигнал (Signal). На вкладке Analyzer щелкните Lowpass. На появившейся вкладке Lowpass введите частоту полосы пропускания 230 Гц и увеличьте крутизну до 0,95. Щелкните Нижний слой (Lowpass).

На каждом из трех дисплеев, содержащих отфильтрованные сигналы:
Удалите исходный сигнал, сняв флажок рядом с его именем.
На вкладке Отображение (Display) щелкните Время-частота (Time-Frequency), чтобы добавить вид спектрограммы, и Время (Time), чтобы удалить вид времени.
На вкладке Спектрограмма (Spectrogram) укажите разрешение по времени 0,31 секунды и 0% перекрытия между соседними сегментами. Установите предельные значения мощности дБ и дБ.

Выберите три отфильтрованных сигнала, щелкнув их столбец Имя (Name) в таблице Сигнал (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)