Node.js版VOICEVOX Engine

Overview

Node-VOICEVOX-Engine

GitHub npm

本ライブラリについて

本ライブラリはヒホ氏によって制作・公開されている、 VOICEVOX Engine非公式Node.js版、兼 VOICEVOX Coreのラッパーライブラリです。

使用にあたって

本ライブラリの使用にあたっては、利用者自身がVOICEVOX Core公開のサイトより、 VOICEVOX Coreライブラリをダウンロードし、そのライブラリのパスを指定しなければなりません。 加えてLibtorchやCUDAなどのインストールも必要です。 本ライブラリのみで完結はしませんのでご注意ください。 なお、CPU版を利用する場合はCUDA/CUDNNは必要ありません。

なお、製品版VOICEVOXのcore.dll/libcore.soを指定することで、複雑なインストール処理を省略することも可能です。 この場合、環境変数のPath(Windowsの場合)に製品版VOICEVOXのディレクトリを追加しておく必要があります。

ドキュメント

準備中(現状はコード内に含まれるJSDocをご利用ください)

音声合成エンジンとしての利用

本ライブラリはVOICEVOXの音声合成エンジンとして利用可能です。 api.ts内のcore.dllとなっている部分をフルパスに変更し、以下のようなコマンドをご利用ください。 なお、音声ライブラリファイル群がcore.dll/libcore.soと同じディレクトリ階層にある前提です。

# ビルドと依存関係・OpenJTalk辞書のダウンロード
# npm なら npm install
yarn inatall
# 実行する、npm なら npm start
# libtorchの存在する場所によってパスを適切に変更してください
LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/libtorch/lib/" yarn start

ライブラリとしての使用例

exampleをご覧ください。 なお、実行する際はexample.ts内のcore.dllとなっている部分をフルパスに変更し、以下のようなコマンドをご利用ください。 なお、音声ライブラリファイル群がcore.dll/libcore.soと同じディレクトリ階層にある前提です。

# ビルドと依存関係・OpenJTalk辞書のダウンロード
# npm なら npm install
yarn inatall
# 実行する、npm なら npm run example
# libtorchの存在する場所によってパスを適切に変更してください
LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/libtorch/lib/" yarn example

ライセンス

本ライブラリは、本家VOICEVOX Engineのライセンスを継承し、 LGPL-3.0でライセンスされています。

You might also like...
Graphs the progress of block height in your Chia Full Node.
Graphs the progress of block height in your Chia Full Node.

Chia Height Graph Monitor for Chia Block Height Introduction The chiaheightgraph tool will graph Chia Block Height changes in a linux terminal. Use a

SmartShunt ve.direct to ESPHOME node

VictronSmartShunt-ESPHOME SmartShunt ve.direct to ESPHOME node A configured uart component is required. Example: victron: uart_id: the_uart sensor:

LLVM bindings for Node.js/JavaScript/TypeScript

llvm-bindings LLVM bindings for Node.js/JavaScript/TypeScript Supported OS macOS Ubuntu Windows Supported LLVM methods listed in the TypeScript defini

A (relatively) small node library to clone and pull git repositories in a standalone manner thanks to libgit2, powered by WebAssembly and Emscripten

simple-git-wasm A (relatively) small node library to clone and pull git repositories in a standalone manner thanks to libgit2, powered by WebAssembly

An easy-to-use and competitively fast JSON parsing library for C++17, forked from Bitcoin Cash Node's own UniValue library.

UniValue JSON Library for C++17 (and above) An easy-to-use and competitively fast JSON parsing library for C++17, forked from Bitcoin Cash Node's own

Integrate the ZENO node system into Blender for creating robust physics animations!

ZenoBlend Integrate the ZENO node system into Blender for creating robust physics animations! End-user Installation Goto Release page, and click Asset

 Arduino M-BUS Master node for Arduino MKR M-BUS Shield
Arduino M-BUS Master node for Arduino MKR M-BUS Shield

Arduino M-BUS Master node for Arduino MKR M-BUS Shield This software will read out a M-BUS device connected to an Arduino MKR board equipped with our

hotcaKey is the global shortcut (aka hotkey) module for node.js and electron.

🥞 hotcaKey is the global shortcut (aka hotkey) module for node.js and electron. hotcakey is now actively under deploment, so api may have

An SQLite binding for node.js with built-in encryption, focused on simplicity and (async) performance

Description An SQLite (more accurately SQLite3MultipleCiphers) binding for node.js focused on simplicity and (async) performance. When dealing with en

A simple YAML parser which produces a Node Tree Object representation of YAML Documents

A simple YAML parser which produces a Node Tree Object representation of YAML Documents and includes a find method to locate individual Nodes within the parsed Node Tree.

A C++ Node.js module that helps gathering informations on segmentation fault

node-segfault-handler A C++ Node.js module that helps gathering informations on segmentation fault Supported Platforms Linux Linux Alpine Windows MacO

FFmpeg powered audio player in node.js

sange FFmpeg powered audio player in node.js prerequisites node.js cmake sudo apt install cmake c++ compiler sudo apt install g++ gcc ffmpeg sudo apt

Node running standalone on PC, with interface - self-containing all dependencies

GMD Node Windows Application It is the GMD Node App for Windows packaged in a simple "one-click" installer containing all necessary dependencies. We a

A discord audio playback library in c++ with node bindings

Tokio This project is still WIP. C++ Discord library with node bindings focused on audio playback. The Core parts as networking with discord/audio dec

A rosbag2 recorder node that backs up split files to an external location during recording

System Data Recorder (SDR) A lifecycle node and executable for recording topic data to a rosbag2 bag, while simultaneously copying the split bag files

C++14 network/graph visualization library / Qt node editor.
C++14 network/graph visualization library / Qt node editor.

QuickQanava QuickQanava is a C++14 library designed to display graphs and relational content in a Qt/QML application. QuickQanava provide QML componen

C++ intrusive container templates. Abstract node links, no use of new/delete.

C-plus-plus-intrusive-container-templates C++ intrusive container templates. Abstract node links, no use of new/delete (AVL tree, singly-linked list,

A composable container for Adaptive ROS 2 Node computations. Select between FPGA, CPU or GPU at run-time.

adaptive_component A composable stateless container for Adaptive ROS 2 Node computations. Select between FPGA, CPU or GPU at run-time. Nodes using har

Seam is a pin-based node editor for OpenFrameworks that makes prototyping visual systems easier and faster.

seam Seam is a pin-based node editor for openFrameworks built using: openFrameworks Dear ImGui the node editor extension for ImGui It is heavily WIP,

Comments
  • Mac対応

    Mac対応

    Mac対応コア(VOICEVOX 0.7.4)がリリースされました。 現状、Macにはcheck-mac.jsによってインストール出来ないように制限をかけています。 Mac版が正常にビルド出来る・実行出来るようにした上で、この制限を解除したいです。

    しかし、このライブラリの製作者である私は、Mac端末を所持していないため、対応が出来ません。 どのようなコードを書けばいいか見当はつきますが、実際に動作確認を行えないのです。

    これらの対応を手伝っていただける方、もしくはそこまでして貰える方を募りたいです。

    opened by y-chan 1
  • Windows で動作させる

    Windows で動作させる

    ref #1

    /audio_query → /synthesis まで動作するはずです。

    • Core の API 呼び出し時に使う整数データのメモリーについて、Windows では小さくなる long 型に変えて int64_t 型が必要な点の調整 (最小限の直し)
    • replace_mora_pitch 内の 0 データ追加を修正 (データ長が意図と異なってしまい動かない)
    • 本家 Engine コードと解釈の違うところを2点修正 (各モーラの音高の戻り値が異なってしまう)
    opened by buckw6eat 0
  • 非可読文字を入れると音声合成に失敗することがある

    非可読文字を入れると音声合成に失敗することがある

    かなり場合によりますが、非可読文字を入れると稀に音声合成に失敗します。 具体的にはmap::atと表示されて落ちます(要するにmapにないデータを取ろうとして落ちます)

    原因は突き止めました。なぜかは不明ですが、以下の165行目でポインタの中身が謎のデータに入れ替わってしまい、ソースコードのような文字列を抽出してしまっていたことが原因です。 https://github.com/y-chan/node-voicevox-engine/blob/e32af57041bc439e5b19f0360ffc2170cff31dae/engine/synthesis_engine.cc#L163-L168

    そもそもポインタで管理するのは良くないと思われるので、それを改善出来たらよいかもしれません

    bug 
    opened by y-chan 0
  • CJS環境で使いたいです

    CJS環境で使いたいです

    お世話になっております。

    DiscordのTTSボットの作成のため、このライブラリーを利用しようとしてますが、 CJS環境ではEngineクラスの初期化からエラーがでて、できません。 こちらを参考しましたが、 どうしてもCJS環境では適応できませんでした。

    このライブラリーをCJS環境でも使えるようにお願いできますでしょうか。

    opened by mare135 5
Owner
Yuto Ashida
Crypto Currency/Blockchain/Android OS(Custom ROM)/SecCamp'19/SecHack365'20/Japanese High school student 3rd grade
Yuto Ashida
Twist A node-based audio synthesizer written in C++

Not maintained anymore! Twist A node-based audio synthesizer written in C++ Twist is the unexpected result of me trying to experiment with audio progr

Diego Lopes 123 Dec 7, 2022
This is simple beeper engine for the ZX Spectrum 48K

Beeper engine This is simple beeper engine for the ZX Spectrum 48K (or later), designed to be run from an interrupt handler.

Juan J. Martínez 12 Sep 6, 2022
LabSound is a C++ graph-based audio engine

LabSound is a C++ graph-based audio engine. LabSound originated as a fork of WebKit's WebAudio implementation, as used in Google's Chrome and Apple's Safari.

LabSound 590 Dec 31, 2022
This repository uses a ROS node to subscribe to camera (hikvision) and lidar (livox) data. After the node merges the data, it publishes the colored point cloud and displays it in rviz.

fusion-lidar-camera-ROS 一、介绍 本仓库是一个ROS工作空间,其中ws_fusion_camera/src有一个工具包color_pc ws_fusion_camera │ README.md │ └───src │ └───package: c

hongyu wang 23 Dec 7, 2022
Standalone c++ implementation for computing Motif Adjacency Matrices of large directed networks, for 3-node graphlets and 4-node graphletsa containing a 4 edge loop.

Building Motif Adjacency Matrices This is an efficient C++ software for building Motif Adjacency Matrices (MAM) of networks, for a range of motifs/gra

null 6 Sep 27, 2022
Design-agnostic node editor for scripting game’s flow in Unreal Engine

Flow plug-in for Unreal Engine provides a graph editor tailored for scripting flow of events in virtual worlds. It's based on a decade of experie

Moth Cocoon 555 Jan 4, 2023
WAFer is a C language-based software platform for scalable server-side and networking applications. Think node.js for C programmers.

WAFer WAFer is a C language-based ultra-light scalable server-side web applications framework. Think node.js for C programmers. Because it's written i

Riolet Corporation 693 Dec 6, 2022
WAFer is a C language-based software platform for scalable server-side and networking applications. Think node.js for C programmers.

WAFer WAFer is a C language-based ultra-light scalable server-side web applications framework. Think node.js for C programmers. Because it's written i

Riolet Corporation 693 Dec 6, 2022
Node.js Workers, except on the same thread

synchronous-worker – Run Node.js APIs synchronously Usage Example const w = new SynchronousWorker();

Anna Henningsen 72 Nov 25, 2022
Interactive, thoroughly customizable maps in native Android, iOS, macOS, Node.js, and Qt applications, powered by vector tiles and OpenGL

Mapbox GL Native A C++ library that powers customizable vector maps in native applications on multiple platforms by taking stylesheets that conform to

Mapbox 4.2k Jan 6, 2023