2009-06-08 6 views
0

오디오 파일 형식을 다른 것으로 변경하려고합니다. 특히, 오디오 파일을 6khz, 16 비트, 모노, PCM wav 형식으로 변환하려고합니다.C에서 오디오 형식 변경

어떻게이 문제에 대처할 수 있습니까?

다시 한번 감사드립니다.

답변

3

오픈 소스 C# 오디오 라이브러리 NAudio을 사용하여이 작업을 수행 할 수도 있습니다. 컴퓨터에 설치된 ACM 코덱을 통해 WAV 파일을 전달하여 다른 형식으로 변환하는 예를 보려면 NAudioDemo 프로젝트를 살펴보십시오. 입력 파일이 WAV 또는 MP3가 아닌 경우 먼저 WAV로 변환해야합니다.

+0

나에게 좋은 소리. – ChrisBD

+0

사실 Microft Native .NET 라이브러리를 포함하는 답변을 기다리고있었습니다. 하지만 실제로 다른 API를 사용해야합니까? – Tarik

1

내가 원하는대로 할 수 있을지 잘 모르겠다.

은 RIFF 파일을 처리하기위한 윈도우 API를 참조로 시작합니다 (즉, WAV 파일의 파일 그룹입니다.)

당신은 헤더를 읽어 데이터를 추출하고, 원료를 얻기 위해 그것을 압축을 해제해야합니다 데이터 형식. 헤더 데이터가 압축에 사용 된 코덱을 알려줍니다.

원시 데이터에 대해 일부 처리를 수행해야합니다. 모노와 16 비트로의 변환은 문제가되지 않을 수도 있지만 샘플링 속도의 변경에 대해서는 너무 확신하지 못합니다.

그런 다음 지정한 코덱을 사용하여 다시 압축 할 수 있습니다.

+0

그렇다면 다루기가 어려울 것이라고 말하는가? 내가 참조. 그런 다음 물건 검색을 진행해야합니다. – Tarik

+0

적어도 내 프로젝트에서 솔루션을 구현하는 데 필요한 네임 스페이스, dll, 클래스를 알려줄 수 있습니까? – Tarik

+0

C#을 지정했음을 알지 못했다는 것을 인정해야합니다. 나는 VC++을 사용하여이 파일들을 다루었 다. 나는이 링크가 wav 파일을위한 클래스 인 것처럼 보이는 것처럼 C#을 도울 것이라고 생각한다. http://msdn.microsoft.com/en-us/library/aa446573.aspx – ChrisBD

2

나는 BASS Library을 사용할 것입니다. 내장 된 인코딩/디코딩 기능을 사용하여 형식 변환을 수행 할 수있는 많은 가능성이 있습니다. 또한 .NET 랩퍼 availabe도 있습니다.