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 包 vaca-cli 使用教程

    什么是 vaca-cli? vaca-cli 是一款基于 Node.js 开发的命令行工具,它用于快速创建 Vue.js 项目模板以及生成 Vue.js 单文件组件(.vue 文件)。

    3 年前
  • npm包wifi-pass-cli使用教程

    在前端开发中,我们常常需要使用一些命令行工具来辅助我们完成一些工作,如管理依赖、启动服务器等。而wifi-pass-cli就是这样一款用于在命令行中查看已连接WiFi密码的工具。

    3 年前
  • npm 包 yoginth-pen 使用教程

    在前端开发中,一个好的富文本编辑器可以大大提高生产效率,而 npm 包 yoginth-pen 就是一款简单好用的富文本编辑器。本篇文章将为大家介绍如何使用 yoginth-pen 编辑器,并提供示例...

    3 年前
  • npm包 @kailight/socials 使用教程

    前言 随着社交媒体的发展,社交媒体分享功能已成为现代网站开发中的一个重要部分,为开发人员提供了在网站和应用程序中轻松集成分享按钮的方法。@kailight/socials 是一个npm包,可以帮助开发...

    3 年前
  • npm 包 grob 使用教程

    如今,前端开发离不开React,Vue等框架形式的组件化开发。其中,真正意义上的组件化是由一个独立的组件组成,包括样式、Js和HTML等,每一个组件都可以独立地进行开发和维护,而不会互相干扰。

    3 年前
  • npm 包 improvise-on-slots 使用教程

    在前端开发中,我们经常使用一些 NPM 包来提高开发效率和编写高质量的代码。本篇文章将介绍一个非常有用的 NPM 包 improvise-on-slots。 什么是 improvise-on-slot...

    3 年前
  • npm 包 feature-helper 使用教程

    在前端开发中,我们经常需要在项目中引入一些第三方库来方便开发,而 npm 是一个常用的包管理器,它可以帮助我们快速安装、升级和管理项目中的依赖项。在这篇文章中,我们将介绍一个名为 feature-he...

    3 年前
  • NPM 包 Levencli 使用教程

    Levencli 是一个用于计算两个字符串之间的 Levenshtein 距离的命令行工具。在许多文本处理场景下,我们需要找到两个字符串之间的相似性度量,Levencli 可以轻松完成这项任务。

    3 年前
  • npm 包 @lilyput/framework 使用教程

    在前端开发中,我们经常使用各种 npm 包来辅助我们开发。其中一个非常实用的 npm 包是 @lilyput/framework,它是一款轻量级的前端框架,可以帮助我们快速构建 web 应用。

    3 年前
  • npm 包 @cloudalize/appauth 使用教程

    介绍 @cloudalize/appauth 是一个用于实现 OAuth2 认证流程的 Node.js 库。它提供了一种简单直观的方式来管理 OAuth2 认证流程中的授权和访问令牌,并且可以自动处理...

    3 年前
  • npm 包 adal-angular-mo 使用教程

    前言 在前端开发中,我们经常会涉及到与后端进行交互,因此授权和身份验证等功能也变得尤为重要。在这方面,Microsoft 提供了一个称为 Azure Active Directory 的解决方案,它为...

    3 年前
  • npm包docute-emojify使用教程

    简介 docute-emojify是一款用于在docute网页中添加emoji表情的npm包,通过docute-emojify可以让docute网页更加生动和趣味。

    3 年前
  • npm 包 js-source-extractor 使用教程

    JavaScript 作为一门高级语言,有许多极其便捷的函数和工具包。但是,在前端开发过程中,可能你曾经遇到过这样的场景:需要获取一个已压缩混淆的 JavaScript 代码文件中的某个函数的源代码,...

    3 年前
  • npm 包 weekend 使用教程

    引言 weekend 是一款轻量级的 JavaScript 库,用于计算两个日期之间的周末天数。本文将介绍使用 weekend 的方法以及其详细文档和示例。 安装 weekend 可以通过 npm 包...

    3 年前
  • npm 包 @anton.npm.dev.org2/project1 使用教程

    本文将介绍 npm 包 @anton.npm.dev.org2/project1 的使用方法,该包是一个前端开发辅助工具,帮助开发者在项目中快速搭建环境和完成常用任务。

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

    简介 jmp-cli 是一个 npm 包,它是一个命令行工具,可以生成一个简单的 JavaScript 模板,并将其插入到 HTML 文件中。 jmp-cli 将生成一个包含默认 JavaScript...

    3 年前
  • npm 包 phore-wallet 使用教程

    简介 phore-wallet 是一个为 Phore 区块链设计的轻量级 JavaScript 版本的 HD 钱包库,能够方便地管理钱包,创建和发送交易。 安装 在使用 phore-wallet 之前...

    3 年前
  • npm 包 svjs-utils 使用教程

    在现代前端开发中,使用 npm 包是一个必不可少的技能。在这里,我们将详细介绍 svjs-utils 这个 npm 包的使用教程。 什么是 svjs-utils? svjs-utils 是一个轻量级的...

    3 年前
  • NPM 包 disnut-theme 的使用教程

    在前端开发中,我们经常需要使用各种各样的库和框架来完成我们的项目。其中,NPM(Node Package Manager)是非常流行的一个包管理工具。今天,我们要介绍的是一个 NPM 包,它叫做 di...

    3 年前
  • npm 包 github-wiki-sidebar 使用教程

    在前端开发项目中,我们经常使用各种工具和框架去实现一些功能。npm 是一款优秀的包管理工具,它可以帮助我们快速方便地获取各种开源的工具和框架。 在本篇文章中,我们将介绍一个非常实用的 npm 包 gi...

    3 年前

相关推荐

    暂无文章