나는 동적 오디오 라이브러리 standingwave 3을 가지고 놀았습니다. 거의 제일 먼저 한 사항은 하나가 developer's guide에서 코드 샘플, 즉이 코드 밖으로 시도하는 경우 :StandingWave3에서 겹쳐지는 소리와 클리핑
// Create a chord of three simultaneous sine tones: A3, E4, A4.
var sequence:ListPerformance = new ListPerformance();
sequence.addSourceAt(0, new SineSource(new AudioDescriptor(), 0.1, 440));
sequence.addSourceAt(0, new SineSource(new AudioDescriptor(), 0.1, 660));
sequence.addSourceAt(0, new SineSource(new AudioDescriptor(), 0.2, 880));
// Play it back.
var source:IAudioSource = new AudioPerformer(sequence);
player.play(source);
다음 하나는 정말 불쾌한 소리를 얻고 "오디오 클리핑"를 읽어 메시지를 추적합니다. 개발자는 github에있는 issue reports 중 하나를 사용하여 샘플을 함께 사용하여이를 피하기 위해 이득을 줄여야하고 얼마나 많은 양이 필요한지 동적으로 알 수있는 쉬운 방법이 없다고 설명합니다.
제 질문은 stangingwave2가 자동으로이 문제를 처리 한 것 같습니다. 예를 들어 위에 인용 된 코드는 SW2에서 클립되지 않았습니다. 마찬가지로 SW2 example demo - 서스테인 및 홀드 (S/H 슬라이더)를 증가시키고 시퀀스 버튼 중 하나를 누르면 source에 게인 변경의 뚜렷한 징후가 보이지 않거나 여러 개의 톤이 겹치지 않습니다. 죄의 음색의 볼륨, 그들은 단지 함께 섞여.
여기에 무슨 일이 벌어지고있는 것입니까? SW2는 자동으로이를 처리 할 방법이 있습니까, 아니면 일반적으로 클리핑을 발생시키지 않고 임의의 수의 사운드를 동적으로 오버레이하는 강력한 방법이 있습니까? 감사!