如何以编程方式设置特定序列的音频文件?

Posted

技术标签:

【中文标题】如何以编程方式设置特定序列的音频文件?【英文标题】:How do I set a certain sequence of audio files programmatically? 【发布时间】:2020-01-28 00:50:58 【问题描述】:

我希望在某些序列中播放短 WAV 文件(每个大约 1 秒)。这些序列是 16 分音符的一种度量,分为 4 个部分,随机生成。下面是一个示例随机序列。每个 “x”是一个音符,每个“-”是一个休止符:“|x - - - | - x x - | x - x x | x x x x |”

现在,我只能通过使用 Audio Toolbox 播放来自 MIDI 库的声音来做类似的事情。即使使用 MIDI 库,我仍然不知道如何让声音以特定的顺序播放。此外,有 4 个序列应该同时播放。非常感谢任何指向正确方向的指针,甚至是微小的推动。

【问题讨论】:

我把你的问题读了两遍,仍然不明白你在做什么...... @Chris 我实际上认为我可能要求太多了。您知道以编程方式随机排列鼓声的方法吗? 如果你知道如何弹奏一个声音/鼓,那么随机弹奏应该不会那么难吧?只做 PlayAudio 吗? if Int.random(in: 0...1) == 1 playSound() else wait() 嗯。 . .不完全是我想要做的。 . .我下载了 AudioKit 框架和教程游乐场。 . .我会回来回答的。 . .虽然,我认为你正在赶上部分答案 【参考方案1】:

我通过使用 AudioKit 框架解决了这个问题。您可以播放自己的采样鼓声并指定它们在小节内播放的位置。这个答案写的太多了。但是你可以去 AudioKit.io 下载 Playgrounds 项目。在里面你会看到一个名为 Drum Sequencer 的 Playground 文件。它很好地解释了功能!

【讨论】:

以上是关于如何以编程方式设置特定序列的音频文件?的主要内容,如果未能解决你的问题,请参考以下文章

如何以编程方式更改空间序列?

以编程方式设置 MaxItemsInObjectGraph

如何以编程方式设置 Windows 音频平衡级别?

您能否以编程方式获取 AWS MFA 序列号?

如何以编程方式确定类型是不是可以通过 protobuf-net 本地序列化?

Laravel 以编程方式获取特定页面