[완료]웨이브 헤더 붙이는거에 질문드릴게요

unlucky의 이미지

안녕하세요 인터넷전화 녹취 프로그램을 연구하는 학생입니다

pcm u-law 데이터들을 모두 저장하는것에 성공하였습니다. 이것을 audacity 라는 프로그램에서 돌려보면

깔끔하게 잡음없이 잘 나오더군요. 문제는 이 저장된 pcm u-law에 웨이브헤더를 붙여서 wav 파일로 만들고

싶습니다. 해보았더니 소리는 들리는데 잡음이 너무 심해요..... 알아봤더니 pcm을 snd로 바꿔서 wav 헤더

를 붙이면 잡음이 없다는데... 진행 방향을 모르겠습니다.

wave_header_t wave_header =
{ { 'R', 'I', 'F', 'F' },
buf.st_size -8, //RiffSize 파일의 총 길이를 구해 -8을 해줍니다
{ 'W', 'A', 'V', 'E' },
{ 'f', 'm', 't', ' ' },
16L, // FmtSize
1, // PCM
1, // 1 = mono, 2=stereo
8000L, //각 채널의 샘플링 비율
8000L*8/8 , // wave 데이터의 전송률
1, //모든 채널의 샘플 바이트 수
8, //각 채널의 샘플 비트 수
{ 'd', 'a', 't', 'a' },
buf.st_size -44 //데이터청크 길이
};

데이터 앞부분 헤더가 이렇게 들어갑니다만... u-law는 요렇게 해주면 안되나요?

grassman의 이미지

1, // PCM

대신

7, // u-law

로 해서 한번 테스트 해 보시기 바랍니다.

참고 자료:
http://74.125.155.132/search?q=cache:vln8BSrBtFEJ:www.sonicspot.com/guide/wavefiles.html+G.711+wave+header&cd=2&hl=ko&ct=clnk&gl=kr&client=firefox

unlucky의 이미지

됩니다!! 감사합니다 ^^