Closed7
mlx-audioを使ってみる
MLX_Audioとは(AI要約)
MLX-Audioは、AppleのMLXフレームワーク上に構築されたテキスト読み上げ(TTS)および音声間変換(STS)ライブラリで、特にApple Silicon上での効率的な音声合成を提供します。主な機能には、高速な推論、複数言語のサポート、音声のカスタマイズ、話速の調整(0.5倍から2.0倍)、3Dオーディオビジュアライゼーションを備えたインタラクティブなWebインターフェース、TTS生成のためのREST API、最適化されたパフォーマンスのための量子化サポート、そしてFinderやExplorerとの統合による出力ファイルへの直接アクセスが含まれます。
実施した環境
- macOS15.3.2
- Macbook Air M2
環境構築
macOSでconda環境で構築します
git clone https://github.com/Blaizzy/mlx-audio.git
cd mlx-audio
conda create -n mlx-audio python=3.10 -y
conda activate mlx-audio
# パッケージのインストール
pip install mlx-audio
# WebインターフェースとAPIの依存関係のインストール
pip install -r requirements.txt
使い方
音声を生成するためのクイックスタートとして、以下のコマンドを使用します。
# 基本的な使用法
mlx_audio.tts.generate --text "Hello, world"
# 出力ファイルのプレフィックスを指定
mlx_audio.tts.generate --text "Hello, world" --file_prefix hello
# 話速の調整(0.5~2.0)
mlx_audio.tts.generate --text "Hello, world" --speed 1.4
使い方(日本語)
日本語を扱うためのパッケージをインストールします
pip install -q "misaki[ja]"
mlx_audio.tts.generate --text "こんにちは" --lang_code ja
サンプル
mlx_audio.tts.generate --text "読書は、私たちの想像力を豊かにし、心の世界を広げてくれる貴重な体験です。小説を読むことで、現実とは異なる世界に旅することができ、登場人物の感情や出来事を追体験することで、他者
への理解も深まります。また、知識を得る手段としての読書も非常に有効で、歴史、科学、哲学など、さまざまな分野の情報を自分のペースで吸収できます。" --lang_code j --speed 0.8
Fetching 2 files: 100%|████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 2/2 [00:00<00:00, 27869.13it/s]
Model: mlx-community/Kokoro-82M-bf16
Text: 読書は、私たちの想像力を豊かにし、心の世界を広げてくれる貴重な体験です。小説を読むことで、現実とは異なる世界に旅することができ、登場人物の感情や出来事を追体験することで、他者への理解も深まります。また、知識を得る手段としての読書も非常に有効で、歴史、科学、哲学など、さまざまな分野の情報を自分のペースで吸収できます。
Voice: None
Speed: 0.8x
Language: j
WARNING:root:Language mismatch, loading af_heart voice into Japanese pipeline.
==========
Duration: 00:00:36.549
Samples/sec: 0.0
Prompt: 459 tokens, 12.6 tokens-per-sec
Audio: 1 samples, 0.0 samples-per-sec
Real-time factor: 1.00x
Processing time: 36.40s
Peak memory usage: 5.07GB
✅ Audio successfully generated and saving as: audio_000.wav
8bitモデル
mlx_audio.tts.generate --text "読書は、私たちの想像力を豊かにし、心の世界を広げてくれる貴重な体験です。小説を読むことで、現実とは異なる世界に旅することができ、登場人物の感情や出来事を追体験することで、他者への理解も深まります。また、知識を得る手段としての読書も非常に有効で、歴史、科学、哲学など、さまざまな分野の情報を自分のペースで吸収できます。" --lang_code j --speed 0.8 --model mlx-community/Kokoro-82M-8bit
Fetching 2 files: 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 2/2 [00:00<00:00, 9098.27it/s]
Model: mlx-community/Kokoro-82M-8bit
Text: 読書は、私たちの想像力を豊かにし、心の世界を広げてくれる貴重な体験です。小説を読むことで、現実とは異なる世界に旅することができ、登場人物の感情や出来事を追体験することで、他者への理解も深まります。また、知識を得る手段としての読書も非常に有効で、歴史、科学、哲学など、さまざまな分野の情報を自分のペースで吸収できます。
Voice: None
Speed: 0.8x
Language: j
WARNING:root:Language mismatch, loading af_heart voice into Japanese pipeline.
==========
Duration: 00:00:36.649
Samples/sec: 0.0
Prompt: 459 tokens, 12.3 tokens-per-sec
Audio: 1 samples, 0.0 samples-per-sec
Real-time factor: 1.02x
Processing time: 37.35s
Peak memory usage: 5.04GB
✅ Audio successfully generated and saving as: audio_000.wav
4bit モデル
mlx_audio.tts.generate --text "読書は、私たちの想像力を豊かにし、心の世界を広げてくれる貴重な体験です。小説を読むことで、現実とは異なる世界に旅することができ、登場人物の感情や出来事を追体験することで、他者への理解も深まります。また、知識を得る手段としての読書も非常に有効で、歴史、科学、哲学など、さまざまな分野の情報を自分のペースで吸収できます。" --lang_code j --speed 0.8 --model mlx-community/Kokoro-82M-4bit
config.json: 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 2.41k/2.41k [00:00<00:00, 8.01MB/s]
kokoro-v1_0.safetensors: 100%|███████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 283M/283M [00:11<00:00, 24.8MB/s]
Fetching 2 files: 100%|███████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 2/2 [00:12<00:00, 6.13s/it]
Model: mlx-community/Kokoro-82M-4bit
Text: 読書は、私たちの想像力を豊かにし、心の世界を広げてくれる貴重な体験です。小説を読むことで、現実とは異なる世界に旅することができ、登場人物の感情や出来事を追体験することで、他者への理解も深まります。また、知識を得る手段としての読書も非常に有効で、歴史、科学、哲学など、さまざまな分野の情報を自分のペースで吸収できます。
Voice: None
Speed: 0.8x
Language: j
WARNING:root:Language mismatch, loading af_heart voice into Japanese pipeline.
==========
Duration: 00:00:34.824
Samples/sec: 0.0
Prompt: 459 tokens, 13.2 tokens-per-sec
Audio: 1 samples, 0.0 samples-per-sec
Real-time factor: 1.00x
Processing time: 34.66s
Peak memory usage: 4.88GB
✅ Audio successfully generated and saving as: audio_000.wav
voice
デフォルトでは、af_heart
となっています。
他に3種類の音声があります。
- af_heart
- af_nova
- af_bella
- bf_emma
mlx_audio.tts.generate --text "こんにちは" --lang_code j --voice af_nova
男性の声がないのは、なぜだ?
このスクラップは7日前にクローズされました
作成者以外のコメントは許可されていません