几周前,我和我的钢琴老师就元作曲音乐软件交换了想法。想法是这样的:

有一个系统从一堆乐器获取 MIDI 输入,并将输出推送到扬声器和灯光。该系统上运行的软件会分析所获取的 MIDI 数据,并根据作曲家设置的触发器确定要使用的声音(当我在 2 秒内弹奏 F7 和弦 3 次时,从羽管键琴声音切换到钢琴声音) )、踏板或音乐的实际实时分析。它将根据乐器的性能和声音以类似的方式控制灯光——音乐家只需要模糊地指定他们想要什么——而对他们演奏的实时分析将完成剩下的工作。程序生成的音乐也可以与音乐家一起演奏。本质上,该软件将与表演者一起演奏,其中一个指导另一个。我想需要一些练习才能习惯这样的系统,但它可能会产生非常令人难以置信的结果。

我是即兴爵士乐的忠实粉丝。即兴表演的暂时性是其他艺术形式所缺乏的一个特征。一幅画作完10年或1000年后仍可欣赏,但音乐(尤其是即兴音乐)既是创作,也是表演。我认为我所描述的软件会极大地提高性能,因为每次演奏完全相同的曲目都会导致完全不同的表演。

那么,现在提问。

我疯了吗?

是否存在可以完成其中部分或全部任务的软件?我做了一些研究,但没有发现任何结果。该系统的关键在于它是在演出期间运行的。

如果我要写这样的东西,像 Python 这样的脚本语言是否足够快来完成我需要的计算?据推测,它会在一个相当快的系统上运行,并且可以利用英特尔不断发布的 2^n 核心处理器。

你们中的任何人都可以分享有关与乐器和灯光等交互的经验和建议吗?

有什么想法或建议吗?冷酷严厉的批评?

感谢您花时间阅读本文并提供所有建议!(对标签中的笑话感到抱歉,我无法抗拒。)

有帮助吗?

解决方案

人们使用 Max MSP 与Midi一起做这件事并制作视频伴奏,或只是Midi伴奏。这是一个完全针对特定领域的应用程序,可能是受到小谈话或其他东西的启发,这几乎不是任何真正的程序员都喜欢的,但是音乐家程序员可以这样做。

尽管我刚刚链接到网站上的文字,以及'每个人'使用商业版本的事实,但它并不总是商业产品。 Ircam 最终发布了它自己的血统。它被称为 jMax PureData ,在另一篇文章中提到,是对该血统的另一次重写。

还有CSound;这并不意味着是实时的,但现在可能非常实时,因为与CSound开始相比,你有一台像样的电脑。

有些人还攻击了Macromedia Director扩展程序以允许在Lingo中做midi ...这已经过时了,因此其中一些已经转移到更现代化的环境。

其他提示

查看 PureData 。它可以进行广泛的midi分析,人们可以将其用于表现。

确实,这是一个闪过puredata屏幕的视频。它显示某人使用PD与相当复杂的工具进行交互。

另外,请查看 CSounds

我已经非常广泛地使用PyAudio来处理原始音频输入,并发现它非常单声道,更像是一个超过C代码的非常薄包装器。但是,如果你正在处理midi,而不是原始波形,那么你的任务就相当简单了,python应该足够快,除非你以每分钟10000次的速度播放:)

一些问题:检测同时性,谐波(正式 - 即和弦结构)分析。

这也是一个80/20的问题,如果你限制了所允许的和弦进程,那么它就变得相当简单了。毕竟,“玩耍”是什么?无论如何,对吧?

(另外,在电子音乐会上,我也一直在,有很多人根据输入声音和动作进行各种实时伴奏实验)。祝你好运!

您也可以看看 查克超级对撞机, ,两种最流行的“真正的”实时音乐编程语言。

此外,您可能会惊讶于您可以完成多少工作 Ableton 现场 架子。

(这是CSound。末尾没有 's')

也可以看看:

我不知道第二个是否真的真实或值得一看。然而,Keykit 是。

您可以在Oberlin的 TIMARA部门联系Gary Lee Nelson。 20年前,我做了一个自动生成12 bar蓝调节奏部分的项目,我记得他描述了一个他知道的工具,基本上就是你所描述的。

您可能对 GenJam 感兴趣

你的问题的答案是否定的 - 你并不疯狂。 存在类似的系统,但您的描述非常好 开始时含糊不清,因此判断反对意见并不多。

我建议你开始编写一个原型并看看它是如何做的。 一些非常小而简单的东西。 现有系统被诅咒。

我在win32 api上使用c ++(没有mfc)。 开始在Amiga500上重新编写我的音序器。 它没有灯光,但只有音乐才能做很多事情。

祝你好运。 这是一个非常有趣的项目。 我会说 - 不要 - 模仿你的项目如何运作其他项目。 因为,如果你问我,他们的工作不是那么好;) 而且乐趣在于能够做出不同的事情。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top