我想要实现的是从python应用程序中弹吉他和弦。如果需要,我知道(或可以计算)和弦中的频率。
我在想,即使我做了一些低脚的工作,即以正确的频率产生多个正弦波,由于包络也需要正确,它听起来还是不正确的,否则它听起来不会像吉他,但听起来更像嗡嗡声。
令人着迷的是,linux sox命令的播放可以产生令人信服的个人音符,其中包括: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个合成器实例(作为单独的音频通道),通过稍微增加时间来延迟5个通道,然后将它们混合成单个通道。
结果是令人信服的吉他和弦。您当然可以非常轻松地更改音符或延迟。您也可以在“吉他”的延音和音调之间进行演奏,或者添加过载效果-有关详细信息,请参见手册。
关于python - 在Linux和/或Python中制作吉他和弦的最简单方法,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6686576/