? Aivisspeech: ai v oice i mitation s ystem - text -to speechsoftware
Aivisspeech ist die japanische Sprachsynthese -Software, die auf der UI von Voicevox basiert.
Es enthält die japanische Sprachsynthese -Engine Aivisspeech Engine, mit der Sie problemlos emotionale Stimmen erzeugen können.
Wenn Sie Aivisspeech verwenden möchten, besuchen Sie bitte die offizielle Website von Aivisspeech.
Diese Seite enthält Informationen hauptsächlich für Entwickler.
Unten finden Sie ein Dokument für Benutzer:
Kompatibel mit PCs mit Windows und MacOS.
Um Aivisspeech zu starten, benötigt Ihr PC mindestens 3 GB Free Memory (RAM).
Notiz
Wir haben den Betrieb auf Macs mit Intel CPUs nicht aktiv überprüft.
MACs mit Intel -CPUs sind bereits nicht mehr produziert und es wird immer schwieriger, eine Überprüfung vorzubereiten und Umgebung zu bauen. Wir empfehlen, dieses Produkt so viel wie möglich auf einem Mac mit Apple Silicon zu verwenden.
Warnung
Unter Windows 10 überprüfen wir nur den Betrieb von Version 22H2.
Es gab Berichte über Fälle, in denen Aivisspeech -Engine stürzt und nicht mit älteren Versionen von Windows 10 beginnt, die keine Unterstützung haben.
Aus Sicht der Sicherheit empfehlen wir dringend, dass Sie die Windows 10 -Umgebungen verwenden, die vor der Nutzung des Dienstes nur auf die Mindestversion 22H2 aktualisiert werden.
Die in Aivisspeech integrierte Aivisspeech -Engine unterstützt Sprachsynthesemodelldateien im AIVMX -Format (AIVMX) ( AI vis v oice m Odel für ONN x ) ( .aivmx ).
AIVM ( ai vis v oice m odel) / AIVMX ( ai vis v oice m odel für ONN x ) ist ein offenes Dateiformat für AI-Sprachsynthesemodelle, das vorgebildete Modelle, Hyperparameter, Stilvektoren, Sprecher-Metadaten (Namen, Übersicht, Lizenzen, Icons, Voice-Samples usw.) in einer Datei kombiniert .
Weitere Informationen zu den AIVM -Spezifikationen und AIVM/AIVMX -Dateien finden Sie in den im AIVIS -Projekt entwickelten AIVM -Spezifikationen .
Notiz
"AIVM" ist auch ein allgemeiner Begriff sowohl für die Spezifikationen von AIVM/AIVMX -Format als auch für Metadatenspezifikationen.
Insbesondere ist die AIVM -Datei eine Modelldatei in "Safetensors -Format mit AIVM -Metadaten hinzugefügt", und die AIVMX -Datei ist eine Modelldatei im "Onnx -Format mit AIVM -Metadaten" hinzugefügt ".
"AIVM -Metadaten" bezieht sich auf verschiedene Metadaten, die mit einem ausgebildeten Modell in Verbindung gebracht werden, wie in der AIVM -Spezifikation definiert.
Wichtig
Die AIVisspeech -Engine ist auch eine Referenzimplementierung der AIVM -Spezifikation, ist jedoch absichtlich so konzipiert, dass sie nur AIVMX -Dateien unterstützt.
Dadurch wird die Abhängigkeit von Pytorch beseitigt, reduziert die Installationsgröße und bietet einen schnellen CPU -Inferenz mit der ONNX -Laufzeit.
Tipp
Mit AIVM Generator können Sie AIVM/AIVMX -Dateien aus vorhandenen Sprachsynthesemodellen erstellen und die Metadaten vorhandener AIVM/AIVMX -Dateien bearbeiten!
Die AIVMX -Dateien für die folgenden Modellarchitekturen sind verfügbar:
Style-Bert-VITS2Style-Bert-VITS2 (JP-Extra) Notiz
Die AIVM -Metadatenspezifikation ermöglicht es Ihnen, mehrsprachige Lautsprecher zu definieren, aber die AIVISPEech -Engine wie Voicevox -Engine unterstützt nur die japanische Sprachsynthese.
Selbst wenn Sie ein Sprachsynthesemodell verwenden, das die englische oder chinesische Sprachsynthese als Japanisch unterstützt, kann dies daher nicht durchgeführt werden.
Platzieren Sie die AIVMX -Dateien in den folgenden Ordnern für jedes Betriebssystem:
C:Users(ユーザー名)AppDataRoamingAivisSpeech-EngineModels~/Library/Application Support/AivisSpeech-Engine/Models~/.local/share/AivisSpeech-Engine/Models Der tatsächliche Ordnerpfad wird als Models directory: In den Protokollen unmittelbar nach dem Start von Aivisspeech -Motor.
Tipp
Bei Verwendung von AIVISSPEICH können Sie einfach Sprachsynthesemodelle aus dem AIVISSpeech -UI -Bildschirm hinzufügen!
Für Endbenutzer empfehlen wir Ihnen, ein Sprachsynthesemodell mit dieser Methode hinzuzufügen.
Wichtig
Der Bereitstellungsordner für die Entwicklungsversion (wenn Sie Aivisspeech-Engine ausführen, während Sie nicht mit Pyinstaller erstellt wurden) ist nicht AivisSpeech-Engine oder unter AivisSpeech-Engine-Dev .
Voicevox ist eine riesige Software, die heute noch aktiv entwickelt wird.
Daher entwickelt Aivisspeech die neueste Version von Voicevox unter der folgenden Richtlinie:
Die Schritte unterscheiden sich vom ursprünglichen Voicevox.
Node.js 20.12.2 muss vorher installiert werden.
# 依存関係をすべてインストール
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 serveDie Schritte unterscheiden sich vom ursprünglichen Voicevox.
# 開発環境で 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:generateVon den doppelten Lizenzen der Basis-Voicevox/Voicevox-Engine wird nur LGPL-3.0 unabhängig vererbt.
Die folgenden und docs/ die folgenden Dokumente führen das ursprüngliche VoiceVox -Dokument ohne Änderung ein. Es ist nicht garantiert, dass der Inhalt dieser Dokumente auch für Aivisspeech gilt.
Dies ist der Herausgeber von Voicevox.
(Der Motor ist Voicevox -Motor, der Kern ist Voicevox -Kern, und die Gesamtstruktur kann hier gefunden werden.)
Dies ist eine Entwicklungsseite. Informationen zum Einsatz finden Sie auf der offiziellen Website von Voicevox.
Das Voicevox -Projekt begrüßt interessierte Teilnehmer. Wir haben einen Leitfaden, der das Beitragsverfahren erklärt.
Wenn Sie an Beiträge denken, denken Sie vielleicht daran, ein Programm zu erstellen, aber es gibt verschiedene Möglichkeiten zur Teilnahme, z. B. das Schreiben eines Dokuments, das Generieren von Tests und die Teilnahme an Diskussionen in Vorschlägen für Verbesserungen. Wir bieten auch Aufgaben an, die Anfänger begrüßen, daher freuen wir uns auf Ihre Teilnahme.
Die Redakteure von Voicevox verwenden Elektronen, Typuskripten, Vue, Vuex und mehr, was die Gesamtstruktur schwer zu verstehen macht.
Wir werden die Struktur in den Code einführen, um den Code zu wandern, und hoffen, dass sie Ihnen helfen wird, sie zu entwickeln.
Wenn Sie eine Pull -Anfrage zur Lösung eines Problems erstellen, geben Sie bitte entweder das Problem mit, dass Sie damit begonnen haben, daran zu arbeiten, oder erstellen Sie zuerst eine Entwurfsanfrage, um zu vermeiden, dass Sie an demselben Problem wie jemand anderem arbeiten.
Entwicklungsdiskussionen und Chats finden Sie auf dem inoffiziellen Voicevox -Server. Bitte zögern Sie nicht, sich uns anzuschließen.
Bitte beachten Sie die UX/UI -Designrichtlinie.
Bitte installieren Sie die Version von node.js, die in .node-Version aufgeführt sind.
Mit Node.js -Management -Tools (wie NVS und Volta) können Node.js.
Geben Sie nach dem Installieren von Node.js dieses Repository und git clone es.
Führen Sie den folgenden Befehl aus, um die abhängigen Bibliotheken zu installieren und zu aktualisieren:
npm ci .env .env.production VITE_DEFAULT_ENGINE_INFOS executionFilePath vv-engine/run.exe
Wenn Sie den Installationsort unter Windows nicht geändert haben, geben Sie C:/Users/(ユーザー名)/AppData/Local/Programs/VOICEVOX/vv-engine/run.exe an.
Bitte beachten Sie, dass der Pfadtrennzeichen nicht ist /
Wenn Sie VOICEVOX.app für macOS verwenden, geben Sie bitte /path/to/VOICEVOX.app/Resources/MacOS/vv-engine/run an.
Geben Sie für Linux vv-engine/run an, der in der Tar.gz-Version enthalten ist, die von Releases erhältlich ist. Für die Appimage-Version können Sie das Dateisystem mit $ /path/to/VOICEVOX.AppImage --appimage-mount montieren.
Wenn Sie einen Engine -API -Server separat vom Ausführen des VoiceVox -Editors ausführen, müssen Sie executionFilePath nicht angeben, sondern executionEnabled auf false festgelegt. Dies gilt auch dann, wenn Sie die Produktversion von Voicevox ausführen.
Wenn Sie den Zielendpunkt der Engine -API ändern möchten, ändern Sie host in VITE_DEFAULT_ENGINE_INFOS .
# 開発しやすい環境で実行
npm run electron:serve
# ビルド時に近い環境で実行
npm run electron:serve -- --mode productionDas Repository des Voice -Synthese -Engine ist hier: https://github.com/voicevox/voicevox_engine
Sie können Komponenten mithilfe von Storybooks entwickeln.
npm run storybook Sie können das Storybook für den Hauptzweig von Voicevox/Preview-Seiten anzeigen.
https://voicevox.github.io/preview-pages/preview/branch-main/storybook/index.html
Starten Sie die separate Sprachsynthese -Engine und führen Sie Folgendes aus, um auf den angezeigten Localhost zuzugreifen:
npm run browser:serve Darüber hinaus wurden die Build-Ergebnisse für den Hauptzweig auf VoiceVOX/Preview-Seiten eingesetzt.
https://voicevox.github.io/preview-pages/preview/branch-main/editor/index.html
Jetzt müssen Sie die Sprachsynthese -Engine auf Ihrem lokalen PC starten.
npm run electron:build Sie können erstellen, indem Sie Aktionen im Repository einschalten, die Sie mit build.yml mit Workflow_dispatch gestartet haben. Die Leistungen werden zur Veröffentlichung hochgeladen.
Führen Sie die Tests unter ./tests/unit/ und die Storybook -Tests durch.
npm run test:unit
npm run test-watch:unit # 監視モード
npm run test-ui:unit # VitestのUIを表示
npm run test:unit -- --update # スナップショットの更新Notiz
Die Tests unter ./tests/unit ändern die Umgebung, in der der Test abhängig vom Dateinamen ausgeführt wird.
.node.spec.ts : node.js Umgebung.browser.spec.ts : Browserumgebung (Chrom).spec.ts : Browserumgebung (emulatorisch mit Happy-DOM)Durchführen von End -to -End -Tests wie UI und Sprachsynthese, die keine Elektronenfunktionalität erfordern.
Notiz
Tests, die Einstellungen für einige Motoren neu schreiben, werden jetzt nur noch auf CI (GitHub -Aktionen) durchgeführt.
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 を表示Sie können auch Testmuster generieren, da Sie Dramatiker verwenden. Führen Sie den folgenden Befehl aus , während die Browser -Version ausgeführt wird :
npx playwright codegen http://localhost:5173/ --viewport-size=1024,630Weitere Informationen finden Sie unter Testgenerator in der Dramatikerindokumentation.
Vergleichen Sie Screenshots von Storybook -Komponenten und zeigen Sie Unterschiede an, wenn Änderungen vorgenommen werden.
Notiz
Dieser Test kann nur unter Windows ausgeführt werden.
npm run test:storybook-vrt
npm run test-watch:storybook-vrt # 監視モード
npm run test-ui:storybook-vrt # Playwright の UI を表示Browser End -to -End -Tests und Storybooks bieten visuelle Regressionstests. Derzeit wird VRT -Tests nur unter Windows durchgeführt. Sie können Ihren Screenshot aktualisieren, indem Sie den folgenden Schritten folgen:
Aktivieren Sie GitHub -Aktionen in den Gabel -Repository -Einstellungen.
Wählen Sie unter Aktionen> Allgemeine> Workflow -Berechtigungen in den Repository -Einstellungen aus, die Berechtigungen lesen und schreiben.
Befinden Sie die Zeichenfolge [update snapshots] in der Commit -Nachricht.
git commit -m " UIを変更 [update snapshots] "Sobald der GitHub -Workflow abgeschlossen ist, wird der aktualisierte Screenshot begangen.
Drücken Sie nach dem Ziehen einen leeren Commit und führen Sie den Test erneut durch.
git commit --allow-empty -m " (テストを再実行) "
git pushNotiz
Sie können den Test automatisch wiederholen, indem Sie ein Token erstellen und Geheimnisse hinzufügen.
ユーザー名/voicevox und wählen Sie unter den Repository -Berechtigungen das Lesen und schreiben Sie sie unter Inhalt.
ユーザー名/voicevox -Repository.PUSH_TOKEN im Namen ein, fügen Sie die Zeichenfolge oben ein und fügen Sie Geheimnisse hinzu. Nur diejenigen, die das OS des lokalen PC unterstützen, werden aktualisiert.
npm run test:browser-e2e -- --update-snapshotsDurchführen von End -to -End -Tests, die Elektronenfunktionen erfordern, einschließlich des Starts und der Kündigung des Motors.
npm run test:electron-e2e
npm run test-watch:electron-e2e # 監視モードDie Lizenzinformationen für abhängige Bibliotheken werden beim Erstellen mit GitHub -Workflow automatisch generiert. Sie können es mit dem folgenden Befehl generieren:
# 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.jsonFormatieren Sie den Code. Bitte führen Sie es aus, bevor Sie eine Pull -Anfrage senden.
npm run fmtStatische Analyse Ihres Codes, um Fehler zu verhindern. Bitte führen Sie es aus, bevor Sie eine Pull -Anfrage senden.
npm run lintIch benutze Tippfehler, um meine Tippfehler zu überprüfen.
npm run typos Sie können den Typ überprüfen. Wenn Dateien vorhanden sind, die von falschen Urteilen oder Überprüfungen ausgeschlossen werden sollten, befolgen Sie die Anweisungen in der Konfigurationsdatei, um _typos.toml zu bearbeiten.
Typ -Skriptyp -Überprüfung.
npm run typecheckFührt eine Markdown -Grammatikprüfung durch.
npm run markdownlintFühren Sie eine Shellscript -Grammatikprüfung durch. Für Installationsanweisungen finden Sie hier hier.
shellcheck ./build/ * .shFühren Sie den folgenden Befehl aus, während die Sprachsynthese -Engine ausgeführt wird.
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 fmtSie können eine neue Version über den folgenden Befehl überprüfen und installieren:
npx openapi-generator-cli version-manager list In der Entwicklung erstellt wie NPM -Skripte, serve und electron:serve , Sourcemap wird in der für den Build verwendeten VITE ausgegeben, sodass der Quellcode und der Ausgabecode zugeordnet werden.
Kopieren von .vscode/launch.template.json zum Erstellen von .vscode/launch.json und .vscode/tasks.template.json .vscode/tasks.json Aufgaben zu ermöglichen, die Debugging durch Ausführen von Entwicklungsbüchern aus VS -Code ermöglichen.
Es handelt sich um eine doppelte Lizenz mit LGPL V3 und separaten Lizenzen, für die die Veröffentlichung des Quellcode nicht erforderlich ist. Wenn Sie eine separate Lizenz erhalten möchten, fragen Sie bitte Heho.
X Account: @Hiho_Karuta