? AIVISSPEECH: AI V OICE I Mitation S Ystem - Teks untuk Perangkat Lunak Pidato
AIVISSPEECH adalah perangkat lunak sintesis pidato Jepang berdasarkan UI editor Voicevox.
Ini menggabungkan mesin sintesis ucapan Jepang AIVISSPEECH ENGINE, yang memungkinkan Anda untuk dengan mudah menghasilkan suara emosional.
Jika Anda ingin menggunakan AIVISSPEECH, silakan kunjungi situs web resmi AIVISSPEECH.
Halaman ini berisi informasi terutama untuk pengembang.
Di bawah ini adalah dokumen untuk pengguna:
Kompatibel dengan PC dengan Windows dan MacOS.
Untuk memulai aivisspeech, PC Anda membutuhkan setidaknya 3GB memori gratis (RAM).
Catatan
Kami belum secara aktif memverifikasi operasi pada MAC dengan Intel CPU.
Mac dengan Intel CPU sudah keluar dari produksi, dan menjadi lebih sulit untuk menyiapkan verifikasi dan membangun lingkungan. Kami sarankan menggunakan produk ini di Mac dengan Apple Silicon sebanyak mungkin.
Peringatan
Di Windows 10, kami hanya memeriksa pengoperasian versi 22H2.
Ada laporan tentang kasus -kasus di mana mesin AIVISSPEECH macet dan gagal memulai pada versi yang lebih lama dari Windows 10 yang tidak memiliki dukungan.
Dari perspektif keamanan, kami sangat menyarankan Anda menggunakan lingkungan Windows 10 hanya memperbarui ke versi minimum 22H2 sebelum menggunakan layanan.
Mesin AIVISSPEECH, yang dibangun ke dalam AIVISSPEECH, mendukung file model sintesis ucapan dalam format AIVMX ( Ai vis v oice m untuk format onn x ) ( .aivmx ).
AIVM ( Ai vis v oice m odel) / AIVMX ( ai vis v oice m odel for onn x ) adalah format file terbuka untuk model sintesis ucapan AI yang menggabungkan model pra-terlatih, hyperparameters, vektor gaya, satu metadata (nama, ikhtisar, lisensi, ikon, sampel suara, dll .
Untuk informasi lebih lanjut tentang spesifikasi AIVM dan file AIVM/AIVMX, silakan merujuk ke spesifikasi AIVM yang dikembangkan dalam proyek AIVIS.
Catatan
"AIVM" juga merupakan istilah umum untuk spesifikasi format AIVM/AIVMX dan spesifikasi metadata.
Secara khusus, file AIVM adalah file model dalam "format safetensors dengan AIVM metadata ditambahkan", dan file AIVMX adalah file model dalam "format onnx dengan AIVM metadata ditambahkan".
"AIVM Metadata" mengacu pada berbagai metadata yang terkait dengan model terlatih sebagaimana didefinisikan dalam spesifikasi AIVM.
Penting
Mesin AIVISSPEECH juga merupakan implementasi referensi dari spesifikasi AIVM, tetapi sengaja dirancang untuk hanya mendukung file AIVMX.
Ini menghilangkan ketergantungan pada pytorch, mengurangi ukuran pemasangan dan memberikan inferensi CPU cepat dengan runtime ONNX.
Tip
AIVM Generator memungkinkan Anda untuk menghasilkan file AIVM/AIVMX dari model sintesis ucapan yang ada dan mengedit metadata file AIVM/AIVMX yang ada!
File AIVMX untuk arsitektur model berikut tersedia:
Style-Bert-VITS2Style-Bert-VITS2 (JP-Extra) Catatan
Spesifikasi metadata AIVM memungkinkan Anda untuk mendefinisikan speaker multibahasa, tetapi mesin AIVISSPEECH, seperti mesin voicevox, hanya mendukung sintesis ucapan Jepang.
Oleh karena itu, bahkan jika Anda menggunakan model sintesis bicara yang mendukung bahasa Inggris atau Cina, sintesis ucapan selain Jepang tidak dapat dilakukan.
Tempatkan file AIVMX di folder berikut untuk setiap OS:
C:Users(ユーザー名)AppDataRoamingAivisSpeech-EngineModels~/Library/Application Support/AivisSpeech-Engine/Models~/.local/share/AivisSpeech-Engine/Models Jalur folder yang sebenarnya akan ditampilkan sebagai Models directory: di log segera setelah memulai mesin aivisspeech.
Tip
Saat menggunakan AIVISSPEECH, Anda dapat dengan mudah menambahkan model sintesis ucapan dari layar AIVISSPEECH!
Untuk pengguna akhir, kami menyarankan Anda menambahkan model sintesis ucapan menggunakan metode ini.
Penting
Folder penyebaran untuk versi pengembangan (jika Anda menjalankan mesin aivisspeech sementara tidak dibangun dengan pyinstaller) bukan AivisSpeech-Engine atau di bawah AivisSpeech-Engine-Dev .
Voicevox adalah perangkat lunak besar yang masih dikembangkan secara aktif hingga saat ini.
Oleh karena itu, AIVISSPEECH mengembangkan versi terbaru Voicevox di bawah kebijakan berikut:
Langkah -langkahnya berbeda dari voicevox asli.
Node.js 20.12.2 harus diinstal sebelumnya.
# 依存関係をすべてインストール
npm ci
# .env.development を .env にコピー
# # コピーした .env を編集する必要はない
cp .env.development .env
# macOS のみ、.env.production を編集
nano .env.production
--------------------
# executionFilePath を "AivisSpeech-Engine/run.exe" から "../Resources/AivisSpeech-Engine/run" に書き換える
# # executionFilePath は、npm run electron:build でビルドした製品ビルドの AivisSpeech の起動時に使用される
...
VITE_DEFAULT_ENGINE_INFOS= ` [
{
" uuid " : " 1b4a5014-d9fd-11ee-b97d-83c170a68ed3 " ,
" name " : " AivisSpeech Engine " ,
" executionEnabled " : true,
" executionFilePath " : " ../Resources/AivisSpeech-Engine/run " ,
" executionArgs " : [],
" host " : " http://127.0.0.1:10101 "
}
] `
...
--------------------
# 事前に別のターミナルで AivisSpeech Engine を起動しておく
# # AivisSpeech Engine の開発環境は別途構築する必要がある
cd ../AivisSpeech-Engine
poetry run task serveLangkah -langkahnya berbeda dari voicevox asli.
# 開発環境で Electron 版 AivisSpeech を起動
npm run electron:serve
# 開発環境でブラウザ版 AivisSpeech を起動
npm run browser:serve
# Electron 版 AivisSpeech をビルド
npm run electron:build
# ブラウザ版 AivisSpeech (WIP) をビルド
npm run browser:build
# コードフォーマットを自動修正
npm run format
# コードフォーマットをチェック
npm run lint
# OpenAPI Generator による自動生成コードを更新
npm run openapi:generate
# 依存ライブラリのライセンス情報を生成
# # VOICEVOX と異なり、音声合成エンジンとのライセンス情報との統合は行わない
# # エディタ側で別途エンジンマニフェストから取得したライセンス情報を表示できるようにしているため不要
npm run license:generateLisensi ganda dari mesin voicevox/voicevox dasar, hanya LGPL-3.0 yang akan diwarisi secara mandiri.
Berikut ini dan dokumen/ Dokumen -dokumen berikut membawa dokumen Voicevox asli tanpa modifikasi. Tidak dijamin bahwa isi dokumen -dokumen ini juga akan berlaku untuk AIVISSPEECH.
Ini adalah editor untuk Voicevox.
(Mesinnya adalah mesin voicevox, inti adalah inti voicevox, dan struktur keseluruhan dapat ditemukan di sini.)
Ini adalah halaman pengembangan. Untuk informasi tentang cara menggunakannya, silakan kunjungi situs web resmi Voicevox.
Proyek Voicevox menyambut peserta yang tertarik. Kami memiliki panduan yang menjelaskan prosedur kontribusi.
Ketika Anda memikirkan kontribusi, Anda mungkin berpikir untuk membuat program, tetapi ada berbagai cara untuk berpartisipasi, seperti menulis dokumen, menghasilkan tes, dan berpartisipasi dalam diskusi dalam proposal untuk perbaikan. Kami juga menawarkan tugas -tugas yang menyambut pemula, jadi kami menantikan partisipasi Anda.
Editor Voicevox menggunakan elektron, naskah, vue, vuex, dan banyak lagi, membuat struktur keseluruhan sulit dipahami.
Kami akan memperkenalkan struktur dalam cara berjalan kode, jadi kami harap ini akan membantu Anda mengembangkannya.
Saat membuat permintaan tarik untuk menyelesaikan masalah, harap beri tahu masalah bahwa Anda telah mulai mengerjakannya atau membuat permintaan tarik draft terlebih dahulu untuk menghindari mengerjakan masalah yang sama dengan orang lain.
Diskusi pengembangan dan obrolan diadakan di Server Perselisihan Voicevox tidak resmi. Silakan bergabung dengan kami.
Silakan merujuk ke Kebijakan Desain UX/UI.
Harap instal versi node.js yang tercantum dalam .node-Versi.
Alat manajemen Node.js (seperti NVS dan Volta) memudahkan untuk menginstal dan secara otomatis beralih node.js.
Setelah menginstal node.js, garpu repositori ini dan git clone .
Jalankan perintah berikut untuk menginstal dan memperbarui perpustakaan dependen:
npm ci Salin .env.production untuk membuat .env , dan menentukan vv-engine/run.exe dalam versi produk voicevox di executionFilePath di VITE_DEFAULT_ENGINE_INFOS ke vv-engine/run.exe dalam versi produk voicevox untuk dijalankan.
Jika Anda belum mengubah lokasi instalasi di Windows, tentukan C:/Users/(ユーザー名)/AppData/Local/Programs/VOICEVOX/vv-engine/run.exe .
Harap dicatat bahwa pembatas jalur bukan /
Jika Anda menggunakan VOICEVOX.app untuk macOS, harap tentukan /path/to/VOICEVOX.app/Resources/MacOS/vv-engine/run .
Untuk Linux, tentukan perintah vv-engine/run yang termasuk dalam versi Tar.GZ yang tersedia dari rilis. Untuk versi AppImage, Anda dapat memasang sistem file menggunakan $ /path/to/VOICEVOX.AppImage --appimage-mount .
Jika Anda menjalankan server API engine secara terpisah dari menjalankan editor Voicevox, Anda tidak perlu menentukan executionFilePath , tetapi sebaliknya, atur executionEnabled ke false . Ini berlaku bahkan jika Anda menjalankan versi produk Voicevox.
Jika Anda ingin mengubah titik akhir tujuan API mesin, ubah host di VITE_DEFAULT_ENGINE_INFOS .
# 開発しやすい環境で実行
npm run electron:serve
# ビルド時に近い環境で実行
npm run electron:serve -- --mode productionRepositori mesin sintesis suara ada di sini: https://github.com/voicevox/voicevox_engine
Anda dapat mengembangkan komponen menggunakan buku cerita.
npm run storybook Anda dapat melihat buku cerita untuk cabang utama dari halaman voicevox/pratinjau.
https://voicevox.github.io/preview-pages/preview/branch-main/storybook/index.html
Mulai mesin sintesis ucapan terpisah dan jalankan yang berikut untuk mengakses LocalHost yang ditampilkan:
npm run browser:serve Selain itu, hasil build untuk cabang utama telah digunakan di halaman voicevox/pratinjau.
https://voicevox.github.io/preview-pages/preview/branch-main/editor/index.html
Sekarang Anda perlu menyalakan mesin sintesis ucapan di PC lokal Anda.
npm run electron:build Anda dapat membangun dengan mengaktifkan tindakan di repositori yang Anda garpu dan meluncurkan build.yml dengan workflow_dispatch. Hasilnya akan diunggah untuk dirilis.
Jalankan tes di bawah ./tests/unit/ dan tes buku cerita.
npm run test:unit
npm run test-watch:unit # 監視モード
npm run test-ui:unit # VitestのUIを表示
npm run test:unit -- --update # スナップショットの更新Catatan
Tes di bawah ./tests/unit mengubah lingkungan di mana tes dijalankan tergantung pada nama file.
.node.spec.ts : lingkungan node.js.browser.spec.ts : Browser Environment (Chromium).spec.ts : lingkungan browser (emulatory menggunakan happy-dom)Jalankan tes ujung ke ujung seperti UI dan sintesis bicara yang tidak memerlukan fungsionalitas elektron.
Catatan
Tes yang menulis ulang pengaturan untuk beberapa mesin sekarang hanya dilakukan pada CI (Tindakan GitHub).
npm run test:browser-e2e
npm run test-watch:browser-e2e # 監視モード
npm run test-watch:browser-e2e -- --headed # テスト中の UI を表示
npm run test-ui:browser-e2e # Playwright の UI を表示Anda juga dapat menghasilkan pola tes karena Anda menggunakan penulis naskah. Jalankan perintah berikut saat versi browser sedang berjalan :
npx playwright codegen http://localhost:5173/ --viewport-size=1024,630Untuk informasi lebih lanjut, lihat Generator Uji dalam dokumentasi Playwright.
Bandingkan tangkapan layar komponen buku cerita dan tunjukkan perbedaan jika ada perubahan yang dilakukan.
Catatan
Tes ini hanya dapat dijalankan di Windows.
npm run test:storybook-vrt
npm run test-watch:storybook-vrt # 監視モード
npm run test-ui:storybook-vrt # Playwright の UI を表示Browser End to End Tes dan Storybooks menyediakan pengujian regresi visual. Saat ini, pengujian VRT hanya dilakukan pada Windows. Anda dapat memperbarui tangkapan layar Anda dengan mengikuti langkah -langkah di bawah ini:
Aktifkan tindakan GitHub dalam pengaturan repositori forked.
Di bawah Tindakan> Umum> Izin Alur Kerja di Pengaturan Repositori, pilih Baca dan Tulis Izin.
Komit string [update snapshots] dalam pesan komit.
git commit -m " UIを変更 [update snapshots] "Setelah alur kerja GitHub selesai, tangkapan layar yang diperbarui akan dilakukan.
Setelah menarik, dorong komit kosong dan jalankan tes lagi.
git commit --allow-empty -m " (テストを再実行) "
git pushCatatan
Anda dapat secara otomatis menjalankan kembali tes dengan membuat token dan menambahkannya ke rahasia.
ユーザー名/voicevox , dan di bawah izin repositori, pilih baca dan tulis di bawah konten.
ユーザー名/voicevox .PUSH_TOKEN di nama, tempel string di atas dan tambahkan rahasia. Hanya mereka yang mendukung OS PC lokal yang akan diperbarui.
npm run test:browser-e2e -- --update-snapshotsJalankan tes ujung ke ujung yang membutuhkan fungsionalitas elektron, termasuk startup mesin dan penghentian.
npm run test:electron-e2e
npm run test-watch:electron-e2e # 監視モードInformasi lisensi untuk perpustakaan dependen secara otomatis dihasilkan saat membangun dengan alur kerja GitHub. Anda dapat menghasilkannya dengan perintah berikut:
# get licenses.json from voicevox_engine as engine_licenses.json
npm run license:generate -- -o voicevox_licenses.json
npm run license:merge -- -o public/licenses.json -i engine_licenses.json -i voicevox_licenses.jsonFormat kode. Harap jalankan sebelum mengirim permintaan tarik.
npm run fmtAnalisis statis kode Anda untuk mencegah bug. Harap jalankan sebelum mengirim permintaan tarik.
npm run lintSaya menggunakan kesalahan ketik untuk memeriksa kesalahan ketik saya.
npm run typos Anda dapat memeriksa jenisnya. Jika ada file yang harus dikecualikan dari penilaian atau cek yang salah, silakan ikuti instruksi dalam file konfigurasi untuk mengedit _typos.toml .
Pemeriksaan Jenis TypeScript.
npm run typecheckMelakukan pemeriksaan tata bahasa penurunan harga.
npm run markdownlintLakukan pemeriksaan tata bahasa Shellscript. Untuk instruksi instalasi, silakan lihat di sini.
shellcheck ./build/ * .shJalankan perintah berikut saat mesin sintesis ucapan sedang berjalan.
curl http://127.0.0.1:50021/openapi.json > openapi.json
npx openapi-generator-cli generate
-i openapi.json
-g typescript-fetch
-o src/openapi/
--additional-properties " modelPropertyNaming=camelCase,supportsES6=true,withInterfaces=true,typescriptThreePlus=true "
npm run fmtAnda dapat memeriksa dan menginstal versi baru menggunakan perintah berikut:
npx openapi-generator-cli version-manager list Di bawah pembangunan pembangunan seperti skrip NPM serve dan electron:serve , Sourcemap adalah output di vite yang digunakan untuk build, sehingga kode sumber dan kode output dipetakan.
Menyalin .vscode/launch.template.json untuk membuat .vscode/launch.json dan .vscode/tasks.template.json .vscode/tasks.json mengaktifkan tugas yang memungkinkan debugging dengan menjalankan pembangunan pengembangan dari kode VS.
Ini adalah lisensi ganda dengan LGPL V3 dan lisensi terpisah yang tidak memerlukan publikasi kode sumber. Jika Anda ingin mendapatkan lisensi terpisah, silakan tanyakan heho.
Akun X: @hiho_karuta