2010-11-21 2 views
0

Я хочу создать синусоидальную развертку в C#, где я могу определить начальную частоту, конечную частоту и продолжительность развертки. Я смотрел на звуковые библиотеки, такие как DirectSound и ASIO, которые воспроизводят буфер. Но мне не удалось выяснить, как контролировать продолжительность развертки, когда продолжительность развертки достаточно длинная, чтобы заполнить более одного буфера из-за ограничения размера буфера. Любые образцы или руководства были бы чрезвычайно полезными.Создание синусоиды в C#

ответ

2

Если вы удовлетворены бегущей программой, не наняв ее, взгляните на The Audio Test File Generator.

Эти небольшие окна EXE способны генерировать линейную синусоидальную развертку с заданной начальной и конечной частотой.


Если вы хотите написать его самостоятельно, вы должны заполнить буфер с помощью:

sin(2*pi * f * n/sample_rate)

где

f является ток синусоидальной частоты (вы хотите, чтобы подметать) в Гц
n - индекс образца буфера
sample_rate - частота дискретизации в Гц

example with f=10Hz.

 Смежные вопросы

  • Нет связанных вопросов^_^