改变频率我的问题是一个类似于在这个岗位要求: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坐标。 –