이 페이지는 기계 번역을 사용하여 번역되었습니다. 최신 내용을 영문으로 보려면 여기를 클릭하십시오.
오디오 신호 생성
이 예제에서는 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
DataAcquisition 객체 생성 및 오디오 출력 채널 추가
이 예제에서는 장치 ID가 'Audio2'
인 5.1채널 사운드 시스템을 사용합니다.
1. 공급업체를 directsound
로 지정하여 DataAcquisition
객체를 생성하고 addoutput
함수를 사용하여 오디오 출력 채널을 추가합니다.
dd = daq("directsound"); nch = 6; addoutput(dd, "Audio2", 1:nch, "Audio");
2. 오디오 샘플링 레이트와 일치하도록 생성 스캔 속도를 업데이트합니다.
dd.Rate = Fs;
3. write
함수를 사용하여 오디오 신호(헨델의 "할렐루야 합창")를 생성합니다. 그림에 표시된 각 세그먼트에 대해 "할렐루야"를 모든 스피커 채널에서 5번 발음해야 합니다.
write(dd, repmat(y,1,nch));
4. Figure를 닫습니다.
close(hf);