简介
在前端开发中,如何快速且方便地生成音乐是一个很重要的问题,而npm包 melode-maker 能够轻松地实现这一目的。
Melode-maker 是一个基于 JavaScript 编写的 npm包,它提供了一系列简单易用的方法,让开发者能够轻松地生成音乐,包括旋律、节奏,还可以添加不同的乐器等,提供更加丰富的音乐特效。
安装
安装 Melode-maker 最简单的方式是使用 npm:
npm install melody-maker
使用
使用 Melode-maker 很简单,只需要引入它并使用它提供的方法即可。下面给出一个简单的例子:
-- -------------------- ---- ------- ----- ----------- - ------------------------ ----- ------ - ---------------------------- ------------- -- ------ ------------ --------------- ---- --- --------------------
这个例子使用 generateMelody
方法生成了一个长度为8的旋律,使用了半音阶音阶,每分钟节拍数为120。输出结果如下:
[ { note: 'B3', duration: 0.5 }, { note: 'E4', duration: 0.5 }, { note: 'A#3', duration: 0.5 }, { note: 'C4', duration: 0.5 }, { note: 'B3', duration: 0.5 }, { note: 'E4', duration: 0.5 }, { note: 'A#3', duration: 0.5 }, { note: 'C4', duration: 0.5 } ]
这个旋律使用了 B3、E4、A#3 和 C4 这些音符,每个音符的播放时长为0.5秒。
参数详解
MelodyMaker 的主要方法 generateMelody 可以接受多个参数,下面是这些参数的详细介绍:
melodyLength
旋律的长度,以小节为单位,默认值为 8。
scale
音阶类型,支持的类型有 chromatic
、major
、minor
、pentatonic
和blues
,默认为 major
。
beatsPerMinute
每分钟的节拍数,即 BPM。默认为 120。
rhythm
节奏类型,支持的类型有 default
和 random
,默认为 default
。
timeSignature
拍号,即每小节中的拍子数。默认值为 4。
swing
是否启用对于第二拍的轻微偏移,启用后会使得节奏更加有活力。默认为 false。
instrument
乐器类型,支持的类型有 acoustic_grand_piano
、bright_piano
、electric_guitar
,默认为 acoustic_grand_piano
。
register
乐器的音高区间,默认为 4
,即中央 C
的位置。
octaveRange
音高取值范围,可以是 -1
到 9
之间的任何整数,表示音符的取值范围。默认值为 4
。
示例
下面是一个更加详细的例子,展示了如何使用 MelodyMaker 创造一个更加复杂的音乐片段,具有不同的乐器和节奏:
-- -------------------- ---- ------- ----- ----------- - ------------------------ ----- ------- - ---------------------------- ------------- -- ------ -------- --------------- ---- ------- ---------- -------------- - --- ----- ------- - ---------------------------- ------------- -- ------ -------- --------------- ---- ------- ---------- -------------- -- ------------ -- --- ----- ------- - ---------------------------- ------------- -- ------ ------------ --------------- ---- ------- --------- --- ----- ------- - ---------------------------- ------------- --- ------ -------- --------------- --- ------- ---------- ------------ -- ----------- ----------------- --- ----- ------- - ---------------------------- ------------- -- ------ -------- --------------- ---- ------- --------- ----------- -------------- --- ----- -------------- - ----------------------------- -------- -------- -------- ---------- ----------------------------
这个例子使用了 generateMelody
方法创建了 5 个不同的旋律,最后使用 compose
方法将这些旋律组合成一个复杂的曲子。输出结果如下:
-- -------------------- ---- ------- - - ----- ----- --------- --- -- - ----- ------ --------- --- -- - ----- ----- --------- --- -- - ----- ------ --------- --- -- - ----- ----- --------- --- -- - ----- ------ --------- --- -- - ----- ------ --------- --- -- - ----- ------ --------- --- -- - ----- ------ --------- --- -- - ----- ------ --------- --- -- - ----- ------ --------- --- -- - ----- ------ --------- --- -- - ----- ------ --------- --- -- - ----- ------ --------- --- -- - ----- ------ --------- --- -- - ----- ------ --------- --- -- - ----- ----- --------- - -- - ----- ----- --------- - -- - ----- ----- --------- - -- - ----- ----- --------- - -- - ----- ----- --------- --- -- - ----- ----- --------- --- -- - ----- ----- --------- --- -- - ----- ----- --------- --- -- - ----- ----- --------- --- -- - ----- ----- --------- --- -- - ----- ----- --------- --- -- - ----- ----- --------- --- -- - ----- ----- --------- --- -- - ----- ----- --------- --- -- - ----- ----- --------- --- -- - ----- ----- --------- --- -- - ----- ----- --------- --- -- - ----- ------ --------- --- -- - ----- ----- --------- --- -- - ----- ------ --------- --- -- - ----- ----- --------- - - -
可以看到,这个曲子使用了不同的音阶类型、节奏类型和乐器,显示出 MelodyMaker 的灵活性和强大性。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/60066f3e1d8e776d08040af0