В этом примере показано, как сгенерировать звуковые сигналы с помощью 5,1 аудиосистем канала.
Загрузите звуковой файл, содержащий выборку "Хора Аллилуйи Генделя".
load handel;
Отобразите данные на графике, чтобы идентифицировать пять отличных сегментов. Каждый сегмент представляет "Аллилуйю" в хоре. Сегменты аннотируются как 1 - 5.
ly = length(y); lspan = 1:ly; t = lspan/Fs; hf = figure; plot(t,y./max(y)) axis tight; title("Signal (Handel''s Hallelujah Chorus) vs Time"); xlabel("Time (s)"); ylabel("Amplitude"); markers = struct('xpos',[0.2,0.4,0.55,0.65,0.8],'string',num2str([1:5]')); for i = 1:5, annotation(hf,'textbox',[markers.xpos(i) 0.48 0.048 0.080],'String', markers.string(i),'BackgroundColor','w','FontSize',16); end
Этот пример использует 5,1 аудиосистем канала с ID устройства 'Audio2'
.
1. Создайте DataAcquisition с directsound
как поставщик и добавляют канал аудиовыхода в него.
dd = daq("directsound"); nch = 6; addoutput(dd, "Audio2", 1:nch, "Audio");
2. Обновите частоту развертки генерации, чтобы совпадать с аудио частотой дискретизации.
dd.Rate = Fs;
3. Сгенерируйте звуковые сигналы ("Хор Аллилуйи Генделя") ". Аллилуйя" должна быть озвучена пять раз, один для каждого сегмента, изображенного на рисунке по всем каналам акустической системы.
write(dd, repmat(y,1,nch));
4. Закройте фигуру.
close(hf);