改變頻率我的問題是一個類似於在這個崗位要求:How to change continuously the frequency of a sinusoidal sound? 但我找到了解決辦法是有點混亂。我想連接多個音調(頻率不同),以便音調連續。我試圖弄清楚整個階段轉變的事情,但我只是迷失了。我目前正在使用這裏的代碼:http://milkandtang.com/blog/2013/02/16/making-noise-in-python/來生成音調。 非常感謝!任何洞察力讚賞連續的聲音,同時用pyaudio
0
A
回答
0
您正在與pyaudio
,但是,如果您打開到不同的庫,使用pydub有一個更簡單的解決方案。
你的問題是雙重的。
- 如何產生的音頻鈴聲?
- 如何連接多個音調?
pydub爲音頻文件的操縱提供簡單和容易的高級接口。你可以找到更多信息/例子here
您可以安裝pydub
使用
pip install pydub
所以對於第一部分,pydub
提供一下以下用於樣品例如產生的1K,2K正弦波的正弦波發生器, 3秒持續3秒。
我們再轉換那些audio_segments
。之後,我們通過簡單地將每個片段附加到其他片段上來連接它們。
crossfade
在2.5秒的時間間隔用來防止在合併點噼啪聲。
這裏是工作代碼:
from pydub import AudioSegment
from pydub.generators import Sine
from pydub.playback import play
#Generate 1k,2k,3k tones of 3 sec duration
tone1 = Sine(1000).to_audio_segment(duration=3000)
tone2 = Sine(2000).to_audio_segment(duration=3000)
tone3 = Sine(3000).to_audio_segment(duration=3000)
#Append each tone onto other with crossfade
multitone = tone1.append(tone2, crossfade=2500).append(tone3, crossfade=2500)
# Play final tone
play(multitone)
相關問題
- 1. 連續播放聲音onTouch()
- 2. 使用pyaudio錄音
- 3. Android:連續播放多個音頻文件時聲音重疊
- 4. 使用Python播放雙聲道聲音PyAudio
- 5. Pyaudio音質問題
- 6. Flex中的聲音持續時間
- 7. 如何用javaFX播放多個連續的聲音文件?
- 8. Web音頻API不能播放聲音連續
- 9. 當聲卡出現或被刪除時,用PyAudio檢查聲卡
- 10. 同時播放聲音Android
- 11. 在iPhone應用程序中播放連續聲音
- 12. 連續播放聲音,直到用戶停止
- 13. 聲音同步?
- 14. 歌唱時連續語音識別?
- 15. 如何連續改變正弦聲音的頻率?
- 16. Flash中連續聲音的無縫播放
- 17. 注意OSC的持續時間或連續音符ON/OFF
- 18. 實時識別來自連續麥克風流的非語音,非音樂聲音
- 19. 播放聲音同時的onDraw
- 20. 播放聲音的同時錄製
- 21. 實時播放接收到的聲音時的聲音回聲
- 22. 無論您在時間線上的哪個位置播放連續聲音
- 23. PyAudio - 如何將波形文件混合成連續流
- 24. 刪除/控制使用PyAudio作爲振盪器的點擊聲音
- 25. 連續語音識別
- 26. 連續語音識別Android
- 27. 如何在Silverlight中連續播放小型聲音文件?
- 28. 在PsychoPy中連續播放wav聲音文件
- 29. C#設定時間段和播放聲音存儲在一個ArrayList連續
- 30. 當我播放連續媒體聲音在JavaScript的phonegap後,我玩了20次或更多的聲音停止
會pydub工作,如果我試圖產生聲音的實時?我正在使用一個kinect來跟蹤手的位置,並且根據這個位置,我想要改變聲音的頻率。謝謝! –
'pydub'與現有的audiframes協同工作。對於錄製,您可以將pyaudio數據轉換爲pydub框架。但從您的應用程序判斷,您可以提前或動態地使用'pydub'生成預定義的音頻音調,並且只需將它們混合並匹配到kinect座標。 –