3
에 하나 개의 오디오 채널에 사인파를 보내 어떻게에서 비주얼 스튜디오 2010 (비 스테레오) NAudio 예를 들어 기존의 모노했다 :NAudio 잭
http://mark-dot-net.blogspot.com/2009/10/playback-of-sine-wave-in-naudio.html
두가 그것을 변경 아래 그림과 같이 채널 스테레오 오디오 :
public abstract class WaveProvider32 : IWaveProvider
{
public WaveProvider32() : this(44100, 2) // Was 44100, 1
{
}
.
.
.
}
내가 처음 버퍼 플로트와 버퍼에서 두 번째로 부동의 제로 올바른 샘플 값을 배치하려고
, 나는에 사인파를 얻기 위해 기다리고 있었다 오른쪽 채널과 왼쪽에 오디오가 없습니다.왼쪽 채널과 오른쪽 채널에서 같은 주파수 10 배 진폭이 다른 위상 사인파 이 표시됩니다.
어떤 종류의 신호에서 유출되었거나 코드가 어떻게 작동하는지 이해하지 못합니까? 내가 잘못 뭘하는지에
public class SineWaveProvider32 : WaveProvider32
{
.
.
.
public override int Read(float[] buffer, int offset, int sampleCount)
{
int sampleRate = WaveFormat.SampleRate;
for (int n = 0; n < sampleCount; n += 1)
{
buffer[n+offset] = (float)(Amplitude * Math.Sin((2 * Math.PI * sample * Frequency)/ sampleRate));
buffer[n+offset+1] = (float)(0);
sample++;
if (sample >= sampleRate)
{
sample = 0;
}
}
return sampleCount;
}
}
어떤 조언 : 여기
내가 WaveProvider32 변경 방법의 샘플입니까?감사
참고 : NAudio 프로젝트에 있습니다 :