加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

从频率,和弦中播放python中的流声音

发布时间:2020-12-16 21:32:28 所属栏目:Python 来源:网络整理
导读:我正在开发一个将吉他和弦转换为班卓琴和弦的应用程序,当我正在构建对象时,我还想制作一种音频“打印声明”,它可以快速播放我标签/书写的和弦. 我发现自己非常困惑如何使用Python同时播放多个声音而不需要某种混音,或者包含所有的pygame,或者写入文件. 我正
我正在开发一个将吉他和弦转换为班卓琴和弦的应用程序,当我正在构建对象时,我还想制作一种音频“打印声明”,它可以快速播放我标签/书写的和弦.

我发现自己非常困惑如何使用Python同时播放多个声音而不需要某种混音,或者包含所有的pygame,或者写入文件.

我正在寻找的东西可以……

>取频率 – 像440一样产生一个A,880来产生一个八度音程 – 作为一个可迭代的
>无需写入磁盘即可播放,也许可以通过midi乐器播放.

我有适当的功能,可以从音品转换为频率,给定乐器调音,并基于这些,我想说:

fretboard.play([440,880])

并听到音调.或者,如果我可以指定时间……

fretboard.play([(440,1),(880,1)])

同时听到每一个.

简单地获得这种声音的最佳方法是什么,并且希望以某种方式让我排序其中的几个如果我想创建一些原始的旋律?

另外,如果这只是一种完全不同的编程,如果看起来我的问题很幼稚(“嘿mittenchops,你需要了解更多关于频道!”),请告诉我,特别是如果你可以指导我学习资源.

解决方法

在寻找Python之前的声音分析时,我偶然发现了这个拥有一堆Python音乐软件链接的网站 PythonInMusic.

再回过头来看,我认为我尝试用实时输出midi音符的第一件事叫做PyFluidSynth.它是python的midi合成器.以下是他们网站的一些示例代码:

import time
import fluidsynth

fs = fluidsynth.Synth()
fs.start()

sfid = fs.sfload("example.sf2")
fs.program_select(0,sfid,0)

fs.noteon(0,60,30)
fs.noteon(0,67,76,30)

time.sleep(1.0)

fs.noteoff(0,60)
fs.noteoff(0,67)
fs.noteoff(0,76)

time.sleep(1.0)

fs.delete()

希望有助于指出你正确的方向!

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读