簡體   English   中英

如何生成動態音頻信號

[英]How to generate dynamic audio signal

我希望使用耳機端口作為控制信號來控制一些電子伺服系統。 我需要能夠生成脈沖寬度調制信號並快速改變脈沖寬度。 我寧願在C#中這樣做,但c ++也可以選擇。 任何想法是如何去做這個?

您可以查看如何進行midi輸出。

我只用C ++做過這個,所以用C#來實現互操作,但這里有一個簡單的介紹。

http://midiio.sapp.org/doc/windowsmidi/

在SO進入現場之前,這里有一些類似問題的一些很好的答案。

http://www.groupsrv.com/computers/about164021.html

假設你在談論普通型無線電控制伺服系統,你所說的正脈沖是1-2毫秒寬,脈沖重復頻率為20-50赫茲。 1毫秒是堅硬的,2毫秒是硬 - 右,1.5毫秒是居中。 脈沖序列上的任何類型的抖動都會導致伺服不穩定。

這可能是一個非常難以在設計用於發出聲音的卡上見面的規格。

您可以更輕松地使用外置微控制器生成PWM信號,並通過串行端口進行控制。 假設我的目標是快速完成某些工作,我可能會使用Arduino板(Atmel ATMega328,在硬盤上非常容易實現硬件黑客攻擊)。

看起來它可能是您需要的:

http://www.codeproject.com/KB/audio-video/CS_ToneGenerator.aspx

(google搜索“c#dsp音頻發生器”的第三項)

編輯:如果您需要能夠快速更改音調參數,那么您將進入軟件合成領域。 有許多低延遲(基本上是實時的)軟件合成器(Reaktor是我能想到的)。 所有這些都可以管理簡單的音調生成,就像你所追求的那樣,並且大多數都可以由MIDI驅動(這將使MIDI成為可行的選擇,與我剛才在另一個答案的評論中所說的相反)。 只要您將MIDI連接到特定的音源/軟件合成器,MIDI就可以了。

NAudio: http ://naudio.codeplex.com/

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM