[완료]웨이브 헤더 붙이는거에 질문드릴게요
안녕하세요 인터넷전화 녹취 프로그램을 연구하는 학생입니다
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는 요렇게 해주면 안되나요?
codec type을 PCM이 아니라 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
오옹옷
됩니다!! 감사합니다 ^^
댓글 달기