Я хочу создать синусоидальную развертку в C#, где я могу определить начальную частоту, конечную частоту и продолжительность развертки. Я смотрел на звуковые библиотеки, такие как DirectSound и ASIO, которые воспроизводят буфер. Но мне не удалось выяснить, как контролировать продолжительность развертки, когда продолжительность развертки достаточно длинная, чтобы заполнить более одного буфера из-за ограничения размера буфера. Любые образцы или руководства были бы чрезвычайно полезными.Создание синусоиды в C#
0
A
ответ
2
Если вы удовлетворены бегущей программой, не наняв ее, взгляните на The Audio Test File Generator.
Эти небольшие окна EXE способны генерировать линейную синусоидальную развертку с заданной начальной и конечной частотой.
Если вы хотите написать его самостоятельно, вы должны заполнить буфер с помощью:
sin(2*pi * f * n/sample_rate)
где
f
является ток синусоидальной частоты (вы хотите, чтобы подметать) в Гц
n
- индекс образца буфера
sample_rate
- частота дискретизации в Гц