0
10kHz의 사인파를 12kHz의 다른 사운드에 추가하고 iPhone 스피커에서 함께 출력 할 때 다른 저음이 들릴 수 있습니다.버퍼에 2 개의 사인파를 추가하면 노이즈가 발생합니다.
이렇게하려면 사인파를 만들고 샘플로 버퍼를 채운 다음 다른 사인파의 샘플을 버퍼에 추가하십시오.
이러한 개별 사인파 각각은 올바르게 개별적으로 작동하지만 결합하면 이전에는 없었던 왜곡을들을 수 있습니다.
이 내 콜백 코드 :
는 진폭 일에있을 당신의 사인 파를 설정하면for (int i = 0; i <inNumberFrames; i++)
{
buffer[i] = buffer[i]+ sin(theta12_8) * myInstance->amplitude;
theta12_8 += 2.0 * M_PI * 12800/(myInstance->sampleRate);
if (theta12_8 > 2.0 * M_PI)
{
theta12_8 -= 2.0 * M_PI;
}
}
for (int i = 0; i <inNumberFrames; i++)
{
buffer[i] = buffer[i]+ sin(theta10) * myInstance->amplitude;
theta10 += 2.0 * M_PI * 10000/(myInstance->sampleRate);;
if (theta10 > 2.0 * M_PI)
{
theta10 -= 2.0 * M_PI;
}
}
거기에 없어야 할 낮은 빈도는 무엇입니까? 2KHz 구성 요소와 22KHz 구성 요소를 얻을 수 있습니다. –
@HotLicks 왜 이러한 구성 요소가 있어야합니까? 합계가 삼각 함수를위한 제품으로 변형되는 것을 생각하고 있다고해도, 우리는 이것을 전혀 이야기하지 않습니다. –
먼저 하나의 주파수에서만 제대로 작동하는지 확인하십시오. 그런 다음 두 주파수를 모두 추가하지만 두 진폭을 2로 나눕니다. 왜곡을 추가하여 낮은 주파수 고조파를 추가하는 임계 값에 도달 할 수 있습니다 (핫 릭스가 말하는 요소, 특히 저주파수 요소). –