2010-11-21 79 views
0

我想在C#中生成一個正弦掃描,我可以在其中定義開始頻率,結束頻率和掃描持續時間。我已經看過一些聲音庫,例如播放緩衝區的DirectSound和ASIO。但是由於緩衝區大小的限制,當掃描的持續時間足夠長以填充多個緩衝區時,我還無法弄清楚如何控制掃描持續時間。任何樣本或指南都會非常有幫助。在C中生成正弦掃描#

回答

2

如果您對正在運行的程序感到滿意而沒有自己寫,請看The Audio Test File Generator

這個小窗口EXE能夠產生一個給定的開始和結束頻率的線性正弦掃描。


如果你想通過自己來寫它,你必須使用填充緩衝區:

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

其中

f是當前正弦頻率(要掃)以Hz爲單位
n是緩衝區的樣本索引
sample_rate是以Hz爲單位的採樣速率

example with f=10Hz