python - 在 linux 和/或 python 中制作吉他和弦的最简单方法

标签 python linux bash audio guitar

我想要实现的是从我的 python 应用程序中弹奏吉他和弦。如果需要,我知道(或可以计算)和弦中的频率。

我在想,即使我做了低电平腿部工作,以正确的频率产生多个正弦波,但由于包络也需要正确,所以听起来也不会正确,否则它听起来不像吉他,而是更多嗡嗡声

令人兴奋的是,linux sox 命令 play 可以产生一个非常有说服力的个人音符:

play -n synth 0 pluck E3

所以我真正要问的是,

a) 是否有可能将播放命令硬塞进整个和弦(理想情况下,开始时间略有不同以模拟拨弦行程)——我无法做到这一点,但也许有一些 bash fairydust会 fork 一个过程等等,所以听起来不错。如果这是可能的,我会满足于从我的代码中调用 bash 命令(我不喜欢重新发明轮子)。

b)(甚至更好)python 中是否有实现此目的的方法(吉他和弦声音)?我见过一些可访问的 python midi 库,但坦率地说,据我所知,midi 不适合我想要的声音。

最佳答案

手册给出了这个例子:

play -n synth pl G2 pl B2 pl D3 pl G3 pl D4 pl G4 \
               delay 0 .05 .1 .15 .2 .25 remix - fade 0 4 .1 norm -1

这会同时创建 6 个合成器实例(作为单独的音频 channel ),通过稍微增加时间来延迟 5 个 channel ,然后将它们混合成一个 channel 。

结果是一个非常有说服力的吉他和弦;您当然可以非常轻松地更改音符或延迟。您还可以使用“吉他”的延音和音调进行演奏,或者添加过载效果——有关详细信息,请参阅手册。

关于python - 在 linux 和/或 python 中制作吉他和弦的最简单方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6686576/

相关文章:

python - 只是对 NumPy 函数的结果感到好奇!

python - 如何创建基于多种颜色的图例?

在 GeoJSON 响应中反转经度、纬度坐标的 Pythonic 方法

database - 无法启动 Alfresco 3.4.4(启动 postgresql 时出错)

linux - 如何编写文件创建脚本?

windows - Windows 上的 Ubuntu 上的 Bash 会在启动后自动在后台运行吗

从 bash 运行的 python 多行命令

python - 从满足某些条件的列表中删除某些元素

linux - 如何在 Linux 中获取一个裸的、递归的目录列表,不包括一些目录

linux - 如果没有传递参数,如何显示帮助文本