2011-09-15 4 views
2

* * .caf 오디오 파일을 기반으로 사운드를 재생하기 위해 앱에서 OpenAL을 사용하고 있습니다.OpenAL을 사용하여 화이트 노이즈를 생성하고 재생하는 방법은 무엇입니까?

amplitude - rand(2*amplitude) 

그러나 그들은 1000 개 샘플 버퍼 및이 방법에

alSourcei(source, AL_LOOPING, AL_TRUE); 

의 문제를 버퍼링 그럼 그냥 루프를 만드는 :

거기에 tutorial which describes how to generate white noise in OpenAL의 화이트 노이즈를 반복하는 것은 단지 아무튼 DC 오프셋 때문에 이런 식으로 일하지 마십시오. 소리에 눈에 w만한 흔들림이있을 것입니다. 나는 여러 응용 프로그램에서 생성 된 수십 개의 화이트 노이즈 영역을 반복 해 보았 기 때문에 모든 응용 프로그램에 동일한 문제가 있었기 때문에 알았습니다. 교차 페이드를 시도하고 영역이 제로 크로싱으로 잘리는 지 확인한 후에도.

OpenAL은 Audio Unit이나 Audio Queues보다 저수준이기 때문에 루핑이 필요없는 연속적인 방식으로 화이트 노이즈를 생성하는 방법이 있어야합니다.

아마도 누군가 해당 주제에 대한 유용한 자료를 지적 할 수 있습니다.

답변

3

변화가 가장 적은 솔루션은 워블이 너무 낮은 속도로 쉽게들을 수 있도록 훨씬 긴 OpenAL 노이즈 버퍼 (수 초)를 만드는 것일 수 있습니다. 44Hz 반복에서 숨겨진 모든 파형 (44.1k 샘플 속도에서 1000 개 샘플)은 정상적인 사람의 청력 범위 내에 있습니다.