2013-11-15 3 views
1

입니다. Matlab을 처음 사용하며 .wav 파일을 생성하려고하는데 지원되지 않는 채널 오류가 계속 발생합니다. 여기 내 코드가있다.Matlab 오류는 지원되지 않습니다. 지원되지 않는 채널 수는

TTL = zeros(2, 2205); 
TTL(1,1:2205) = 2; 
audiowrite('hereitis.wav', TTL, 44100, 'BitsPerSample', 16); 

은 내가 .wav 파일을 생성하기 위해 과거에 한 번 또는 두 번 matlab에 사용했기 때문에 내 문제가 TTL에 있음을 확신한다. 내가하려고하는 것은 다른 사람이 Matlab Data Acquisition Toolbox를 사용하여 아날로그로 전송하는 소리를 저장하는 것입니다. Sound (TTL, 44100)를 사용하여 사운드를 재생할 수 있었기 때문에 나는 너무 멀었다 고 생각하지 않습니다.

미리 감사드립니다.

답변

4

여기에는 두 가지 문제가 있습니다. help audiowrite 첫째

말한다 :

스테레오 데이터가 두 개의 열을 가진 행렬로 지정한다.

하지만 두 행이 있으므로 변경해야합니다. 그것은 당신이 (이 경우 INT16에) 당신의 신호를 적절한 데이터 형식을 사용할 필요가 의미

Warning: Data clipped when writing file. 
>In audiowrite>clipInputData at 390 
In audiowrite at 166 

: 당신이 코드를 변경 실행하면 경고를 얻을 수 있습니다. 따라서이 코드를 수정 한 후에는 다음 코드를 사용합니다 :

TTL = int16(zeros(2205, 2)); 
TTL(1:2205, 1) = 2; 
audiowrite('hereitis.wav', TTL, 44100, 'BitsPerSample', 16);