안녕하세요, 스레드를 계속하기 위해 wavwrite에 관해 질문하고 싶습니다. 재생할 매트 파일(T01DATA.mat)을 가져오려고 합니다. sound()
실제 솔루션 없이 시도했습니다 . 덕분에 이유를 알겠습니다. 다음과 같이 파일을 변수로 가져오도록 수정했습니다.
s = load("T01DATA.mat");
s를 확인하고 해당 방법이 성공했다는 꽤 괜찮은 증거를 얻었습니다. 그런 다음 wav 파일로 가져오려고 하면 혼란이 나타납니다.
wavwrite(s,"out.wav");
나는 이것을 얻습니다 :
그래서 저는 다음과 같이 했습니다.
wavwrite("T01DATA.mat","out.wav");
이제 wav 파일을 얻었지만 신호가 올바르게 작성되었는지 100% 확신할 수 없습니다. 내가 얻는 것은 0초 녹음뿐이다.
답변1
이것을 확인하는 사람: 해결책은 생각보다 간단합니다. Octave에 파일을 로드하는 방법:
load("filename.ext");
옥타브는 이를 변수 "y"에 자동으로 저장합니다. 이는 Octave가 .mat 파일에서 변수를 가져올 수 있기 때문입니다. 파일을 로드할 때 Octave는 열 이름과 벡터를 확인하므로 자동으로 변수 내부의 데이터를 가져옵니다.
s = load("T01DATA.mat"); #Making this whole code unnecessary)
.mat에서 .wav 파일을 가져오려면 "y"를 사용하여 wavwrite()만 구현하면 모든 것이 완벽해집니다.
wavwrite(y,Fs,"out.wav");
그러면 작업 중인 폴더 안에 out.wav가 생성됩니다. 당신은 그것을 확인할 수 있습니다
pwd