AudioKit:如何更改使用 AKMIDIEvent 播放的音符的音量或音高?

Posted

技术标签:

【中文标题】AudioKit:如何更改使用 AKMIDIEvent 播放的音符的音量或音高?【英文标题】:AudioKit: How can I change the volume or pitch of a note played with AKMIDIEvent? 【发布时间】:2018-03-29 09:14:25 【问题描述】:

使用 AudioKit 我正在演奏一个音符

midi.sendEvent(AKMIDIEvent(noteOff: noteToPlay, velocity: MIDIVelocity(0), channel: MIDIChannel(0)))

是否有一个命令可以让我使用 AudioKit 更改播放音符的音量或音高?

【问题讨论】:

我认为你需要通过振荡器来控制音量。 -- 让振荡器 = AKOscillator() -- 并通过 --oscillator.amplitude = 0.5 来控制它 -- 幅度,范围从 0 到 1,给出音量。 您必须发送控制器更改事件。 你能给我一个工作示例@CL。 ? 阅读任何 MIDI 教程。然后问一个更具体的问题。 【参考方案1】:

经过一番搜索,我发现 CL 提到的控制器更改事件确实可以完成这项工作。

所以考虑到命令是

/// Modulation Control
case modulationWheel = 1
/// Breath Control (in MIDI Saxophones for example)
case breathControl = 2
/// Foot Control
case footControl = 4
/// Portamento effect
case portamento = 5
/// Data Entry
case dataEntry = 6
/// Volume (Overall)
case mainVolume = 7
/// Balance
case balance = 8
/// Stereo Panning
case pan = 10
/// Expression Pedal
case expression = 11

我需要打电话

midi.sendEvent(AKMIDIEvent(controllerChange: 7, value: MIDIByte(volume), channel: MIDIChannel(0)))

【讨论】:

以上是关于AudioKit:如何更改使用 AKMIDIEvent 播放的音符的音量或音高?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 AudioKit 的新 AKSequencer 播放 MIDI

如何使用 Audiokit 对原始值而不是 MIDI 音符进行排序

如何使用 AudioKit 加载第三方音频单元

如何使用 Audiokit 发送 midi poly pressure 消息?

如何在 AudioKit 中渲染和导出音频?

如何使用 Audiokit 可视化当前的 AKSequencer 位置?