在音乐制作和音乐教育中,我们经常需要将 MIDI 笔记转换为更人性化的音符名称,比如将 MIDI 笔记 60 转换为 C4。npm 包 midi-note 就是一个用来方便进行这种 MIDI 笔记和音符之间转换的工具。
安装
在使用 midi-note 包之前,需要首先安装 Node.js 和 npm。如果已经安装,则可以在命令行中运行以下命令来安装 midi-note:
npm i midi-note
使用
midi-note 包提供了两种方法来进行 MIDI 笔记和音符之间的转换。
midiToNote
此方法用于将 MIDI 笔记转换为音符名称。方法接受一个整数参数,该参数应为 MIDI 笔记值。例如,MIDI 笔记值 60 表示 C4。
以下是一个简单的示例代码:
const midiNote = require('midi-note'); let midiValue = 60; let noteName = midiNote.midiToNote(midiValue); console.log(noteName); // 输出 "C4"
noteToMidi
此方法用于将音符名称转换为 MIDI 笔记。参数应为一个字符串,表示要转换的音符。该字符串应该包含音符名称和其对应的升降符号(可选)。例如,字符串 C#4 表示 MIDI 笔记值 61。
以下是一个简单的示例代码:
const midiNote = require('midi-note'); let noteName = "C#4"; let midiValue = midiNote.noteToMidi(noteName); console.log(midiValue); // 输出 "61"
进阶使用
midi-note 包还提供了一些更高级的功能,这些功能可以帮助您更好地处理 MIDI 笔记和音符之间的转换。
支持不同的调弦系统
默认情况下,midi-note 包假定 A4 的频率是 440 Hz。但是,您可以通过以下方式更改调弦系统:
const midiNote = require('midi-note'); midiNote.tuning = 432; // 将 A4 的频率设置为 432 Hz
该设置将影响 midiToNote
和 noteToMidi
方法的行为。
支持返回半音数
您还可以通过以下方式让 midi-note 包返回半音数:
const midiNote = require('midi-note'); midiNote.output = "semitones"; // 将输出设置为半音数
以上设置将影响 midiToNote
和 noteToMidi
方法的行为,使其返回 MIDI 笔记和音符之间的半音数差异。
总结
midi-note 包是一个非常方便的工具,用于处理 MIDI 笔记和音符之间的转换。无论是在音乐制作还是音乐教育中,都可以使用这个工具来简化处理逻辑。希望这篇文章能够帮助大家更好地理解和使用 midi-note 包。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/60066f481d8e776d08041173