问题标签 [aksequencer]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
arrays - 从Firebase“提前一个文件”下载和加载随机音频文件
我正在研究一个随机音频文件播放项目。我正在寻找一种从远程服务器下载随机音频文件的方法,但要提前准备一个播放列表以实现无缝循环。我想了解如何在播放期间提前下载随机选择的文件,而不是一次下载所有文件。
当我从本地设备加载时,这很容易:我创建了一个数组AKPlayers
,每个数组都加载了不同的音频文件,我通过随机调用函数 (randomWithRepeats) 触发它们。
但这一次,这似乎很棘手,因为该文件被放置在远程 URL 上,即 google firebase。
到目前为止,我在 上上传了多个音频文件firebase storage
,并创建了完全相同的文件firebase database
以比较/更新元数据。下载整个音频文件后,我能够随机播放音频文件。它成功了!但我正在寻找一种只提前下载一个或两个文件的方法,因为 1)首先下载所有内容需要太多时间,以及 2)节省用户的数据空间。
理想情况下,我正在寻找一种逐个下载文件的方法,但随机下载文件,因为 AKPlayer 将播放下一个。就像玩俄罗斯方块一样,用户知道接下来会出现什么块,但它仍然是随机的。(可能与某种播放列表有关??)如果我能在这里得到一些建议,将不胜感激。<3
swift - 在 AKPlayer 上使用切换(开关)开关
我正在尝试在播放多个 AKPlayers 时实现开关。首先,我调用了两个,由inAKPlayers
触发。AKCallbackInstruments
AKSequencer
当我打开开关时,1)两个 AKPlayer 被分配给 AKMixer,2)Audiokit 启动,3)两个轨道被添加到 AKSequencer,4)Sequencer 启动。
并且当关闭时,1)两个AKPlayers.stop()
,2)sequencer.stop()
3)sequencer.deleteTrack(trackIndex: 0)
,sequencer.deleteTrack(trackIndex:1)
4)AudioKit.stop()
。
首先打开和关闭工作成功。但是当我第二次打开开关时,音乐越来越响亮,可能是因为一些 MIDI 音轨/音序器音轨没有完全移除。谁能告诉我我在这里缺少什么?非常感激。<3
swift - 如何从 AudioKit 中的 AKMusicTrack 输出外部 MIDI
我想知道最好的方法是让 AKSequencer(实际上是 AKMusicTrack)将它的 MIDI 输出到外部设备。
我已经让它工作了,但我觉得可能有一种更有效的方法。
我这样做的方式:
我已经创建了 AKPolyphonicNode 的子类(“MyPolyphonicNode”)
我用它来初始化 AKMIDINode 的子类(“MyMIDINode”),
并将 AKMusicTrack 的输出设置 MIDIoutput 到 AKMIDINode 子类的 midiIn:
然后在 MyPolyphonicNode 子类中,我重写了:
在其代表中:
这行得通,但我认为可能有一种方法可以直接告诉 AKMusicTracks 直接从外部输出而不做所有这些?
audiokit - AKSequencer 与 Ableton Link
有没有人准确地将AKSequencer与Ableton Link同步?无论我做什么,它根本不同步。
我从 AbletonLink 获取 beatTime 并在此位置播放音序器 + 输出延迟。由于调用函数播放和实际播放之间的延迟是不可预测的,因此它不起作用
audiokit - AKsequencer 重复时释放(包络)被切断?
我使用MIDI 音符AKSequencer
触发AKPlayer
,重复某些音频文件。
我的问题是,音频文件有时比指定的 midi 持续时间略长,因为音频中包含释放声音。AKPlayer
在音序器持续时间结束时似乎没有继续播放文件 - 它立即移动到触发的新文件,因此音频文件的声音总是在结束时略微剪切。有点尴尬。
是否有某种选项,例如“在触发后静音AKDuration
”与“触发后继续播放”?我什至不确定这是与 AKplayer 相关还是与 AK-sequencer 相关的问题。非常感谢<3
ios - 如何使用 AudioKit 的新 AKSequencer 播放 MIDI
我在 AudioKit 4.9.1 上,无法使用新的AKSequencer
(替换AKAppleSequencer
)播放 MIDI 文件。没有声音播放。假设 MIDI 文件和样本已正确加载,因为它们以前使用AKAppleSequencer
. 还启用了背景音频模式功能。
这是相关代码:(我也尝试过AKSampler
,AKAppleSampler
但结果相同)
如何设置我缺少的信号链有什么不同吗?
swift - 收听来自 AKSequencer 的 MIDI 事件
音频套件 4.9。我想从新AKSequencer
的. 调查源代码我发现有两种方法可以从(in 的内部音序器)接收 MIDI:in和 via 。我找不到任何替代方法,因此我想知道是否有任何方法可以将值传递给of以对应? 我可能错过了一些东西,请解释一个更好的方法来解决这个问题。AKMIDICallbackInstrument
AKAppleSequencer
AKSequencerEngineDSPKernel
AKSequencer
AudioUnit
MIDIEndpoint
AudioUnit
AKMIDICallbackInstrument
midiEndpoint
AKSequencerEngineDSPKernel
AKMIDICallbackInstrumen.midiIn
ios - AudioKit:将新的 AKSequencer 与各种回调乐器一起使用
该主题已被多次讨论,并且我已在以前的应用程序中成功地使用了AKMIDICallbackInstrument
旧的 a。AKAppleSequencer
我开始使用新的AKSequencer
,这绝对是惊人的:优雅的界面,易于使用。但是,我一生无法弄清楚如何用它处理回调事件。我需要使用回调来触发基于音序器播放的 GUI 事件。
这是我的示例代码:
这段代码正确地创建了一系列节拍,它通过我的一切都在世界上进行n
回放。AKSampler
除了没有回调事件发生(使用打印语句确认)
思考过程
使用AKAppleSequencer
和AKMIDICallbackInstrument
,您可以globalMIDIOutput
使用AKAppleSequencer
的 MIDI 输入来设置AKMIDICallBackInstrument
。
现在新的AKSequencer
并AKCallbackInstrument
没有这些选项,新的也没有AKSequencerTrack
(旧的AKAppleSequencer
将使用AKMusicTrack
可以设置 midi 输入/输出的对象)。在查看 new 的实现时AKSequencer
,它是由AKNode
对象驱动的,AKCallbackInstrument
是一个AKNode
对象,并且应该能够由具有正确 midi 数据的轨道驱动。
我将轨道添加到我的音序器,并从该轨道中添加必要的 midi 数据,这些数据完全复制了我想要回调的 midi 事件并执行我的 GUI 事件。但是,使用这种方法,它似乎不会调用回调。
有谁知道如何通过回调使用这些新组件?我真的不想回去,AKAppleSequencer
除非显然没有办法用新的AKSequencer
.
swift - AudioKit:如何动态改变节奏?
我是 AudioKit 和编程音乐应用程序的新手。我正在构建一个节拍器应用程序并使用 AudioKit 的 AKMetronome。我想要一个功能,用户可以指定一系列不同节奏的节拍模式。但是我发现使用苹果的 DispatchQueue 是不准确的。
我正在考虑使用 AKSequencer 重写节拍器。有没有办法使用 AudioKit 的音序器即时更改速度或生成具有多个不同速度的序列?(音序器示例:https ://github.com/AudioKit/Cookbook/blob/main/Cookbook/Cookbook/Recipes/Shaker.swift )
更新:
我发现您可以使用 AKMetronome.callback 为 AKMetronome 分配一个回调函数。(https://audiokit.io/docs/Classes/AKMetronome.html#/s:8AudioKit11AKMetronomeC8callbackyycvp)然后您可以在新序列开始时更新速度。