В этой работе вы научитесь создавать базовый цифровой музыкальный синтезатор и научитесь использовать его для воспроизведения традиционной песни в трехголосной аранжировке. 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 и перетащите Timetable из браузера Workspace в таблицу Signal. Нажмите Display Grid ▼, чтобы создать сетку дисплеев два на два. Выберите два верхних дисплея и нижний левый дисплей и нажмите кнопк
MATLAB. Цифровая обработка сигналов \ 2 - Извлечение голоса из музыкального файла
13 марта 202513 мар 2025
57
2 мин