npm包 guitarics-chordify使用教程

前言

在音乐学习或创作过程中,经常需要对吉他或其他乐器的和弦进行识别和转换,以方便进行流畅的编曲或演奏。现今,有许多和弦识别和转换工具,其中npm上的guitarics-chordify是一款功能丰富,易用性强的工具库,本文将为大家介绍如何使用该工具库。

安装npm包

在使用npm包之前,需要先在本地安装guitarics-chordify。可以通过以下命令进行安装:

--- ------- ------------------

使用方法

安装完成后即可在代码中引入guitarics-chordify:

----- -------- - ------------------------------

使用chordify库提供的API,即可实现和弦的各种操作。

和弦识别

guitarics-chordify提供了chordify.identify方法用于对音频信号进行和弦识别。具体调用方法如下:

----- ----------- - ------------------------------
----- - ------ - - ----- -------------------------------
--------------------

其中audioBuffer是包含音频数据的缓冲区,chords是识别出的和弦数组,数组中每个元素都表示其中的一个和弦。不过请注意,如果音频数据过于复杂,识别出的和弦可能不准确,需要进行优化。

和弦转换

guitarics-chordify提供了chordify.transpose方法用于对和弦进行转换。调用方法如下:

----- ------------- - -----
----- -------- - --------------------------------- ---
----------------------

其中originalChord是原始和弦,2表示需要向高音移动的半音数,newChord表示转换后的新和弦。若想要向低音移动,将2改为负数即可。

和弦检验

guitarics-chordify提供了chordify.isValid方法用于检验和弦是否合法。调用方法如下:

----- ------- - -----------------------
---------------------

其中G7为需要检验的和弦,isValid为返回值,表示和弦是否合法。如果和弦合法,则返回true,否则返回false

实例分析

以识别和弦为例,假设我们需要将一段吉他演奏的音频文件进行和弦识别,并根据识别出的和弦进行创作,步骤如下:

  1. 使用Web Audio API将音频文件解码为AudioBuffer
  2. 引入chordify库,并调用chordify.identify方法获取识别出的和弦数据;
  3. 根据和弦数据进行创作。

示例代码:

-- --------------------
----- -------- ------------------- -
    ----- --- - ----- -----------
    ----- ----------- - ----- ------------------
    ----- -------- - --- ---------------
    ----- ----------- - ----- --------------------------------------
    ------ ------------
-

-- -------
----- -------- ----------------- -
    ----- ----------- - ----- --------------------
    ----- - ------ - - ----- -------------------------------

    -- ---------------------
    --------------------
-

----------------------------------------------

结语

本文详细介绍了npm包guitarics-chordify的使用方法,希望读者可以使用该工具库使自己的音乐学习和创作更加流畅。

参考及感谢

来源:JavaScript中文网 ,转载请联系管理员! 本文地址:https://www.javascriptcn.com/post/60065b44c6eb7e50355dbe4c


猜你喜欢

  • npm 包 com.omarben.inappreview 使用教程

    什么是 com.omarben.inappreview? com.omarben.inappreview 是一款 npm 包,可以帮助前端开发人员快速实现应用内评论和评分功能。

    3 年前
  • npm 包 files-provider 使用教程

    在前端开发中,文件上传和下载是非常普遍的需求。npm 包 files-provider 就是为了帮助开发者更便捷地进行文件上传和下载而存在的。本文将详细介绍如何使用 files-provider 进行...

    3 年前
  • npm包babel-plugin-webpack-prefetch使用教程

    在前端开发过程中,webpack是一款非常好用的打包工具。同时,babel也是前端必备的工具之一,用于将ES6+的代码转换为向后兼容的JavaScript语法,从而得到更好的兼容性和可读性。

    3 年前
  • npm 包 electron-ads-block 使用教程

    前言 随着计算机和网络的发展,广告已经成为了我们日常生活中的一大困扰。针对广告的阻挡,已经成为了很多人的需求,有些人甚至采取了一些极端的方法,如使用 ad-block 等浏览器插件,或者直接修改 ho...

    3 年前
  • npm 包 vue-video-mark 使用教程

    简介 vue-video-mark 是一个基于 Vue.js 的视频标注组件,可以帮助开发者在前端页面中方便地为视频添加标注。 安装 通过 npm 安装: --- ------- ----------...

    3 年前
  • npm 包 @icebob/node-rdkafka 使用教程

    前言 Kafka 是一个分布式流数据处理平台,它由 Apache 软件基金会开发,提供了高吞吐量、容错性、可伸缩性等特性。而在前端领域,很多应用都需要和 Kafka 进行交互,这时候 @icebob/...

    3 年前
  • npm 包 easy-injectionjs 使用教程

    什么是 easy-injectionjs easy-injectionjs 是一个简单易用的 JavaScript 库,用于在浏览器端进行前端组件注入,它主要特点包括: 无第三方依赖,代码简洁 支持...

    3 年前
  • npm包 @sartios/business-cards 使用教程

    在前端开发中,为了提升开发效率和代码复用性,我们通常会使用一些优秀的第三方库和工具,其中npm包就是最常用的一种。在本文中,我们将介绍如何使用npm包@sartios/business-cards来生...

    3 年前
  • npm包@sartios/ui的使用教程

    介绍 @sartios/ui是一个基于React的UI库,提供了常用的UI组件,如按钮、输入框、表格等。 这个库优雅的解决了许多常见的web开发问题,例如响应式设计、多语言文本框和可自定义主题。

    3 年前
  • npm 包 echo-fecs-loader 使用教程

    什么是 echo-fecs-loader echo-fecs-loader 是一款基于 fecs 检查工具的 webpack 加载器,用于帮助前端开发者在构建过程中自动检查 JS 代码的质量和风格。

    3 年前
  • npm 包 react_0.14.9 使用教程

    React 是一款由 Facebook 开发的 JavaScript 库,用来构建用户界面。它非常流行,也是目前最受欢迎的前端框架之一。如果你没有使用过 React,那么推荐使用 npm 包 reac...

    3 年前
  • npm 包 node-process-metrics-prometheus 使用教程

    Node.js 是一种 Javascript 运行环境,用于编写服务器端应用程序。Node.js 使用事件驱动、非阻塞 I/O 模型,使得它非常适合面向数据密集型的实时应用程序。

    3 年前
  • npm 包 preact-cli-decss 使用教程

    前言 在前端开发中,CSS 样式是不可避免的一个重要部分。然而,CSS 又是一种非常不灵活的语言,很难像编写代码一样高效地编辑样式。为此,CSS 预处理工具逐渐流行起来,利用它们提供的高级语言可以方便...

    3 年前
  • npm 包 wcolor.js 使用教程

    wcolor.js 是一个用于处理颜色的 JavaScript 库,它提供了方便易用的 API,可以帮助你在前端项目中轻松地实现颜色的计算、转换等操作。 本文将为大家详细介绍 wcolor.js 的使...

    3 年前
  • NPM 包 mm-db 使用教程

    简介 mm-db 是一个轻量级的嵌入式数据存储系统,适用于 Node.js 资源限制较小的场景。它支持数据的 CRUD 操作、查询及索引,采用类 SQL 的语法进行数据查询。

    3 年前
  • npm 包 mm-record 使用教程

    在前端开发中,处理数据与数据存储是非常常见的任务。为了方便开发人员进行数据处理,许多开源的 npm 包的出现为我们带来了很大的便利。在这篇文章中,我们将介绍一个名为 mm-record 的 npm 包...

    3 年前
  • npm 包 mm-rethinkdb-schema 使用教程

    在前端开发中,我们经常会需要操作数据库,而 RethinkDB 是一款很好的数据库管理系统。mm-rethinkdb-schema 是一个 npm 包,它可以帮助我们更加简单地操作 RethinkDB...

    3 年前
  • npm 包 naive-mongo 使用教程

    前言 naive-mongo 是一个基于 Node.js 的 MongoDB 驱动程序,它提供了简单易用的 API,使得开发人员能够更加高效地与 MongoDB 进行交互。

    3 年前
  • npm 包 owd-path-builder 使用教程

    在前端开发中,路径(Path)是一个非常常见的概念。使用路径可以指向某个文件或目录,以及读写、操作等。因此,需要一个好用的路径操作库,供开发者使用。今天我们介绍一个 npm 包 owd-path-bu...

    3 年前
  • npm 包 quran-mem-assist 使用教程

    在前端开发过程中,我们经常会使用一些第三方库来帮助我们开发更高效的应用程序。 npm 是目前最主流的 JavaScript 包管理工具,它提供了一个众多第三方 Node.js 模块的仓库,其中不乏适用...

    3 年前

相关推荐

    暂无文章