正如我在Twitter上写的一样,我也想写一些关于音乐的文章。 也将回到其他主题。 有点像作家的障碍,但是当我以为没有人会读时,写起来就容易了。 到目前为止,有如此多的人关注我,我犹豫不决,不再写“脱胎换骨”(von der Leber weg)。
我已经尝试过将有关音乐的第一篇文章放在一起,但是结果证明它总体上是关于音乐的某种宣言。 我将从一个更基础的层次开始。 我在YouTube上有一个频道可以上传音乐。 我将这些部分分组为子项目。 “Möbelmucke”(用于萨蒂风格的环境音乐的家具音乐)或“ Theeverever”(具有1960年代的感觉),“ Noisette”(工业风格),“ Krautsalat”(Kraut摇滚),“ Neo-Modern”等。在YouTube上,我仍然有特权,似乎没有人对此感兴趣。 而且,如果您浏览了我的音乐,我想您会同意,我不太可能会意外找到任何热门歌曲。 但偶尔,我会想一想:我想在俱乐部听。
我当然在这里有偏见。 但我真的很喜欢我的最后作品:“减法和加法”,我认为它有一个不错的放克之处:

第二个是得分(我会尽快重做,可视化太基本了):

这是音频选项卡上的输出结果:

不要期望在其他选项卡后面有太多的期望,主要是这是第一次尝试,我想我一知道我想要的内容就将整个程序重写。 我学到了如何创建GUI的知识,并且犯了所有初学者的错误。 温和地说,一些基本的设计决策也不是最优的。 好处是我不需要对代码进行混淆,因为我自己很难看懂它。 至于制作视频,我目前使用单独的程序来完成,这些程序要集成到“ Mozartor”中。
— — —
该程序的基本思想是应该可以从相当普通的输入中创建音乐,然后创建视频。 您将不必阅读笔记或什至更少就能演奏乐器。 您需要一定的音乐想象力,但是可以通过对该程序进行试验来发展这种想象力。 深入了解发生的事情对于挤出更多信息很重要,但这不是前提条件。
中心部分是为要创建的作品定义结构。 您可以通过添加零件直接执行此操作。 这些可能对应于您要为其创建音乐的视频或电影中的部分。 或者,我已经实现了一种将文本转换为结构的简单方法。 那可能是一首诗,我在1884年的讽刺诗中使用了这首歌。作者是德国作家亚历山大·莫斯科夫斯基(Alexander Moszkowski,1851-1934年)。
然后您将获得如下内容:

该程序在这里不仅创建了具有一定长度的部件,使得可以阅读文本,而且还随机分配了可在视频中使用的背景颜色和文本颜色(不可见)。 这是从视频角度看的结构视图。 音乐方面还有另外一个可以设置常规参数的位置。 目前,这非常简单。 除了定义名称和长度之外,您只能控制音乐的密度及其音量。 您可以选择是否保持不变,增加还是减少。 不管您有提速还是里达坦多。 渐强或渐弱:

我在这里不做介绍,因为我仅用30秒长的一部分并用标准参数创建了“减法和加法”。
— — —
您还需要用乐器演奏乐团来创作音乐。 我有以上观点。 您可以定义然后编辑乐器,而到目前为止,我仅实现了一些用于合成声音的基本方法。 这也解释了标题:
- 类器官的声音建立在减法合成上 。 这里的想法是,从这种非常丰富的声音开始,在这种情况下是:白噪声,然后用滤波器将其降低,直到获得定义明确的乐器。 您也可以用较长的音符听到此声音,声音会变得有些嘈杂。
- 声音有点像电吉他或贝斯,是加法合成的结果。 这里的方法是从另一个方向出发的。 您从一些非常基本的声音开始,在本例中为正弦波。 然后,将它们中的许多作为基频的泛音放在一起。
在这两种情况下,我还应用了其他效果,例如。 将声音加倍,将声音稍微加一点,或将两个声音加倍。 所有声音都通过信封发送,该信封定义了幅度(即响度)如何随时间发展。 这使乐器具有特定的特征。
在这里,我使用了攻击速度非常快的信封,然后迅速掉落。 这会给风琴带来非常震撼的声音,而且听起来像拍打的低音或时髦的电吉他。 最后,我还用这些技术为鼓制作了两种声音,一种更像是鼓(周围很难听到这么多的敲击声),另一种类似于踩-。 我将撰写更多有关所有这些工作原理的文章,并通过示例演示综合技术。
— — —
一旦有了结构及其各个部分和乐团,就可以创建音乐。 如上所述,您的想法是您不必自己写下注释,这些注释将自动生成。 原则上,这是随机的,但我会施加一定的约束,因此我对所产生的结果具有广泛的控制权。 实际上,显然有一个漫长而复杂的主题,听起来像是已经合成了,也有一些有趣的和弦进行。 然而,这一切本身就出现了。
这是程序中用于生成分数的部分的样子:

对话框中的所有部分尚未全部实现,目前我认为无论如何都将与最初的想法有所不同。 因此,您可以忽略“主题”下的整个部分,“套准”下的整个部分,以及“随机/常规应力”下的整个部分。
我可以使用的是:
- 在底部,我可以从管弦乐队中选择乐器(“终端”表示我将中间的乐器留在了外面,这些中间乐器仅用于按顺序构建其他乐器)。
- 在顶部,我可以选择是要为整个乐曲还是一部分创作音乐。 这很有用,因为并不是所有结果都能立即令人满意。 我也可以选择是替换,添加还是清除它。
- 然后,我必须在背景中选择音符可以来自的音阶。 在这种情况下,它是一个八度音阶中的所有十二个音符。 我也可以使用其他间距,例如。 每个八度音阶有五到七个等距音符,这在某些亚洲和非洲音乐中会产生有趣的效果。 或者,我可以在右侧选择一个标准音阶,例如全音阶音阶(基本上是键盘上的所有白键),次谐波音阶或缩小和增高的音阶。 当然,我打算在这里实现更多选择。
- 接下来的事情是为音符选择一个范围。 在较大的范围内,这都是随机的,如果您需要一些变化,这很有用,但对于长得多的零件很多,却一无所知。 或者您可以直接定义范围。 您可以使用范围通过多个层来构建得分,例如。 首先创建贝司,然后在较高的旋律上覆盖贝司,最后用在两者之间产生和声的音符填充贝司。
- 目前,核心部分只有三个参数:“不和谐”,“音调”和“基本速度”。最后一个也许是不言自明的:相对于为零件定义的总体密度,您会获得或多或少的音符。 “语调”是指音符全时听起来(“连音”)或被切短(“断音”)。 “和声”衡量的是同时发出不谐音或辅音的声音。 在左侧,只允许非常一致的音符(大多数为八度和五分音),在右侧,您还将获得一些不和谐的音符,例如七分音。 我将在另一篇文章中解释其工作原理。
- 然后,您可以选择允许同时播放多少个音符(“断音”音符会阻止即使不再播放它们,也可以在“隐藏零”下将其关闭)。 程序基本上会等到一些音符结束并且有空间容纳新音符为止。 然后,它尝试在足够辅音的范围内找到一个音符,该音符可能行不通。 音符的长度是随机的,并且空间中的位置是完全随机的。 在以后的版本中应该有更多的控制权。
- 如果选择多个音符一起演奏,则程序将等待直到所有音符有足够的空间,然后才插入多个辅音音符,从而产生和弦。
- 最后,您可以在“自由节奏”和离散化之间进行选择。 在第一种情况下,笔记可以随时出现。 到目前为止,我在大多数作品中都使用了它。 有趣的是,尽管没有潜在的节拍,但很难逃脱只有一个的印象,只是因为音符出现时具有一定的密度和规律性。 或其他选择是将音符离散化为基本节奏。 这就是我在“减法和加法”中使用的方法。在那一刻,我在四分音符,节拍,八分之一和十六分之一的音符上插入音符。 由于该程序不会总是找到足够的音符,因此您可以获得在乐曲中听到的带节奏的节奏,这使它具有时髦的感觉,有时甚至有些轻微的感觉。
— — —
正如我上面所写,该作品实际上只是一部分,持续时间为30秒。 每分钟100拍,这意味着它长50个四分音符(我不知道它实际上不是4/4)。 您在开始时听到的是第一层,其音符相对较少,也很“断音”。接下来,我在较长的音域中覆盖了较长的音符。 但是它们相当辅音,因此它们通常会增强第一层的音符并使其延伸。 那是在下半分钟发生的事情。
直到那时候,由于包络,只有风琴般的声音非常震撼,而且由于减法合成中会产生一些噪音。 然后,电吉他/贝斯般的声音从较低范围的另一层开始。 那是后半分钟。 接下来,鼓在第四半分钟加入另一层,然后在第五半分钟将更多鼓与另一层加入。 在那之后,我回到第一部分,使用不同层次的鼓和电吉他/贝斯般的声音,然后,我重复上一部分两次。 最后,我只是回到第一部分,这不是前奏,而是结尾。
基本轮廓是从开始的介绍开始,以预备形式缩小主题,然后从那里逐步建立。 在达到最大密度之后,我会稍微恢复一点,并在开始时返回到减小的部分,但在鼓恢复到停下来的位置之前,先有鼓声和电吉他/贝斯般的声音。 最后,它的缩小部分再次用完。 可以这么说。
— — —
生成乐谱后,可以将其渲染为音频。 这就是您在上面的标签中看到的内容。 然后,我可以将不同的部分保存到文件中。 最后一步是在程序之外。 我使用Audacity,这是一个免费的混音程序。 那是我将各个部分粘贴在一起并施加一点混响,将低音提升到某种声音并尽可能放大音乐的地方。 我还在Audacity的末尾创建了淡入淡出功能,尽管原则上我可以在程序中通过将动态重新定义为下降来做到这一点。 但是,目前我不能这样做,而不必创建可能会有所不同的新层。
我将在另一篇文章中介绍如何生成视频。 那是一个单独的程序,将音乐作为输入。 我会将其集成到“ Mozartor”中,但也有使其用作独立程序的用途。 这里的想法是使用本地快速傅立叶变换将音乐变换到频域。 这意味着您可以分析何时出现高低音。 然后,它们出现在垂直轴上(低端在底部,高端在顶部)。 我根据实部和虚部分配颜色,如果光谱的那部分超出某个阈值,则画一个小球。 根据空间中声音的位置(左右听到的声音多少),这些球会落在水平位置。 因此,视频显示了声音的来源,或者您以错误的方式佩戴了耳机。
— — —
这个帖子太多了。 我还将解释我的其他方面,并发展我正在做的事情背后的逻辑。 所有这些工作仍在进行中,因此有些部分仍需要我开发或尚未考虑。 真正有趣的部分是,尽管大多数音乐是随机生成的,但完全不会像随机音乐那样出现。 听觉系统和人脑有很多方法可以找到没有模式的模式。 创作出随机的音乐实际上非常困难。 然后是另一回事,更像是您不知道接下来会发生什么。 具有讽刺意味的是,您可能必须使用完全不是随机的东西来创建这种印象。 更多……