2015-01-19 4 views
0

나는 플로트 형식의 오디오 데이터를 다루고 있습니다.오디오의 한 채널을 음소거

각 두 번째 float을 0으로 설정하는 것처럼 단순히 명령으로 채널 (왼쪽 또는 오른쪽 채널)을 음소거하는 방법이 있는지 알고 싶습니다. :-)

고맙습니다.

+0

"싱글"이란 무엇을 의미합니까? –

+0

죄송합니다. 나는 "수레"라고 말하고 싶었습니다. – tmighty

+1

시도해 보셨습니까? 그것은 작동 했는가 또는 아닙니다? –

답변

1

데이터가 인코딩 된 양식에 (완전히) 의존하게됩니다.

만약

(꽤 많이 경우) 채널에 의해 인터리브 원료 샘플, 다음 네, 당신은 아마 제로와의 샘플을 대체하여 채널을 음소거 할 수 있습니다로 인코딩입니다.

그러나 그 형식에는 많은 대안이 있습니다. 예를 들어 L + R을 한 세트의 샘플로, L-R을 다른 샘플 세트로 보낼 수 있습니다. 이와 같은 경우 데이터 (L + R + LR => L, L + R - L - R => R)에서 채널을 디코딩하고 한 채널의 샘플을 0으로 만든 다음 결과를 결합해야합니다 다시 같은 형식으로.

물론 많은 형식이 실제로는 훨씬 복잡합니다. MP3와 같은 압축은 단일 채널 인코딩과 관련하여 훨씬 더 복잡합니다. 을 사용하면 채널을 별도로 인코딩하거나 합과 차이 (보통 공간을 절약 할 수 있음)로 인코딩 할 수 있습니다.

+0

아마도 모듈을 포함하는 의사 코드를 포함 할 수 있습니까? 나는 이것이 나와 같은 덜 경험 많은 사람들을 도울 것이라고 생각한다. 고맙습니다! – tmighty

+0

@tmighty : 'result = sample_number % 2 == 0'과 같이 0으로 만들 샘플에 있는지를 확인하기 위해 modulo를 사용한다고 가정합니다. 입력 : 0; –