mieki256's diary



2024/09/23(月) [n年前の日記]

#1 [linux][ubuntu] Linux機の/homeを別パーティションに引っ越し

数日前に、Ubuntu Linux 22.04 LTSをインストールしてあるサブPC(Intel i3-6100T機)の /home を別パーティションに引っ越ししたのだけど、作業手順をメモするのを忘れていたような気がするのでメモ。

元々、HDDの1パーティション(500GB程度)を /home に割り当てていたけれど、更に容量の大きいHDDのパーティション(3TB)に割り当てることにした。そのためには /home の中身を別パーティションに丸々コピーしないといけない。

ハードウェア構成は以下。
以下を参考にして作業。

_Ubuntuで使用中のhomeディレクトリを別パーティションに移動する (LiveUSBなど不要) - kamocyc’s blog

作業手順のメモ :

新 /home 用パーティションをマウントするためのディレクトリを作成。
sudo mkdir /media/home

マウント設定ファイル /etc/fstab を修正。今回は micro editor を使ったけれど、nano でも vim でも何でもいい。
sudo micro /etc/fstab

以下を追記。自分の環境はパーティションにラベルをつけてあるので、ラベルで指定。つけてない場合は、UUIDを調べて記述することになる。
LABEL=HOME3TB /media/homeold ext4 errors=remount-ro  0 2

/etc/fstab の内容に基づいてマウントする。
sudo mount -a

/home の中身を、/media/home にコピーする。rsync を使う。参考記事では `-aXS` を指定してたけど、今どのファイルをコピーしているのか分かるようにしておきたかったので、`-v` も追加しておいた。
sudo rsync -vaXS /home/. /media/home/.

今まで使ってた /home用パーティションを割り当てるためのディレクトリを作成。
sudo mkdir /media/homeold

/etc/fstab の内容を以下に変更。今まで使ってた HOMEOLD パーティションは /media/homeold に割り当てて、新しいパーティション HOME3TB を /home にする。
LABEL=ROOT      /               ext4    errors=remount-ro  0       1
LABEL=HOMEOLD   /media/homeold  ext4    defaults           0       2
LABEL=HOME3TB   /home           ext4    defaults           0       2
LABEL=SWAP      none            swap    sw                 0       0

OS再起動。
sudo reboot

今回はすんなり引っ越しすることができた。

#2 [windows][dtm] espeak-ngをWindows10上でもインストールしてみた

Windows10 x64 22H2上で、音声合成ツール espeak-ng 1.51 をインストールしてみた。

_Releases - espeak-ng/espeak-ng

espeak-ng-X64.msi を入手して実行するとインストーラが起動する。

どこかの段階でインストール先を尋ねてくるかなと期待したけど、問答無用で、C:\Program Files\eSpeak NG\ にインストールされた…。環境変数PATHも書き換えられて、件のフォルダパスが追加されている。

espeak-ng.exe にパスが通っているので、DOS窓を開いていきなり espeak-ng "hello world" と打てば音声が鳴る。ただ、再生された音声にはブツブツとノイズが入ってる感じがした。wav だか mp3 でファイル保存すれば違うのだろうか?

音質的に優れているわけでもないし、インストール場所も気に入らないので、アンインストールすることにした。ただ、アンインストール前に、インストールされた場所のファイル群を別の場所にコピーしておいた。

アンインストール後、別の場所にコピーしておいた espeak-ng.exe を実行してみたら、/usr/share/ 以下の何かのファイルが見つからないと言ってきてエラー表示になった。そこはLinux上で動かした際にアクセスするディレクトリ場所だよな…。Windows版を動かしてるはずなのに、何故…。

どうやら、インストーラでインストールする際に、Windows版が参照するべき場所を何かしら(レジストリ?)で指定してる気配がする。もしくは C:\Program Files\eSpeak NG\ 以下にデータが必ずあるはずだと決め打ちで処理しているか…。何にせよ、ファイル群を任意の場所に展開して実行すればそのまま動く作りではないらしい。

まあ、Linux上で動かせば使えるから、あえて Windows上で使わなくてもいいか…。

2024/09/22() [n年前の日記]

#1 [dtm][python] Coqui-TTSを試用

Coqui-TTS という音声合成ライブラリがあるらしい。ディープラーニングで作られたTTS(Text to Speech)なのだとか。元々は Mozilla TTS というプロジェクトだったそうで。

_coqui-ai/TTS: a deep learning toolkit for Text-to-Speech, battle-tested in research and production
_TTS - PyPI
_coqui-tts - PyPI

Pythonのモジュールとしてインストールできるらしいのだけど、TTS と coqui-tts の2つがあるようで…。どっちがどう違うのか、よく分からない…。

Ubuntu Linux 22.04 LTS上でインストールして試用してみた。とりあえず今回は TTS のほうを試用してみる。

ハードウェアは、CPU : Intel i3-6100T、GPU : 内蔵GPU、RAM : 8GB。Python バージョンは 3.10.12。
$ python --version
Python 3.10.12

インストール :

python -m pip install TTS

TTS 0.22.0 の他に、色々なモジュールが山ほど入った。仮想環境を作って試したほうが良かったかもしれない…。

使い方 :

Pythonモジュールではあるけれど、tts というコマンドラインツールも入っているので、それを使って動作確認。
tts --text "Hello world" --out_path speech.wav

実行すると、自動で足りないモデルデータをダウンロードしてから音声を生成してくれた。モデルデータは以下の場所に保存されるらしい。
/home/(USERNAME)/.local/share/tts/

以下の2つのファイルが入った。113MB と 3.8MBのファイルサイズだった。
tts_models--en--ljspeech--tacotron2-DDC
vocoder_models--en--ljspeech--hifigan_v2

さておき。22050Hz、モノラルの音声が得られた。

印象 :

espeak (espeak-ng) や festival と比べると、かなり滑らかでイイ感じの音声に聞こえた。

ただ、生成には数十秒(30秒ほど)かかった。おそらく、Intel製内蔵GPUしか持ってない環境だからCPUで生成しているのだろうけど…。espeak や festival はすぐに音声が聞こえたけれど、それらと比べると結構な時間がかかる。品質と時間のトレードオフだろうか。

GPUを使えばもうちょっと速く生成できたりするのかな…?

ところで、渡すテキストによっては、途中で「ホニャララウンジャラウニャウニャ」的な謎の音声が含まれて出力されるようで…。どういう条件なら出現するのか、ちょっとよく分からない…。

Windows10上でもインストール :

Windows10 x64 22H2上でもインストールしてみた。ハードウェア環境は、CPU : AMD Ryzen 5 5600X、RAM : 16GB、GPU : NVIDIA GeForce FTX 1060 6GB。Python は 3.10.10。

今回は、X:\aiwork\coqui-tts\ というディレクトリを作って、その中にPythonの仮想環境を coquitts という名前で作って作業してみた。
cd X:\aiwork\coqui-tts
python -m venv coquitts
.\coquitts\Scripts\activate

Ubuntu Linuxと同様に TTS をインストール。
python -m pip install TTS

> which TTS
"X:\aiwork\coqui-tts\coquitts\Scripts\tts.exe"

全体的に 6.34GB ほどのファイル群がインストールされた。

動作確認。
tts --text "Hello world. Sally sells seashells by the seashore." --out_path helloworld.wav

Ubuntu Linux上と同じように生成できた。モデルデータも、自動でダウンロードしてから処理をしてくれる。モデルデータは以下にダウンロードされる模様。
C:\Users\(USERNAME)\AppData\Local\tts\

ただ、GPU (CUDA) を使おうとして --use_cuda true をつけてみるとエラーが出る。
 tts --text "Speaker test. Left. Center. Right." --out_path speakertest.wav --use_cuda true
AssertionError: Torch not compiled with CUDA enabled

以下で解決策が紹介されてた。

_pipでPyTorchインストール時に「Torch not compiled with CUDA enabled」エラー - Qiita

ただ、この操作をしてみても、自分の環境では相変わらずエラーが出たので、上記で紹介されていた、以下のページの作業を試してみた。

_Previous PyTorch Versions | PyTorch

自分の環境は、CUDA 11.8 をインストール済みなので、以下を打った。
python -m pip uninstall torch
python -m pip cache purge
python -m pip install torch==2.4.0 torchvision==0.19.0 torchaudio==2.4.0 --index-url https://download.pytorch.org/whl/cu118

この状態なら、--use_cuda true をつけても処理ができるようになった。

GPUを使った場合、生成時間がかなり短くなってくれた。短文では違いが分からないけれど、長文を渡すと圧倒的に生成時間が短い。数十秒かかっていたのが、数秒で終わる印象。

サンプル音声 :

一応サンプル音声も載せてみる。

tts --text "Hello world. Sally sells seashells by the seashore." --out_path helloworld.wav --use_cuda true


helloworld.ogg


以下のファイルは、波形編集ソフト(SoundEngine Free 5.23_2)で、ステレオ化、サンプリング周波数を22050Hzから44100Hzに変更している。
tts --text "Speaker test. Left. Center. Right." --out_path speakertest.wav --use_cuda true


speakertest.ogg


tts --text "Examine data link. Main trans engine. Number 1 2 ON. Number 3 4 OFF. Number 5 6 7 8 ON. Confirmed, round vernirn. Hello, I am VIFAM. Okay VIFAM. your number is 7. instrument recorder on. Permission to sortie. Permission granted. GOOD LUCK, VIFAM 7." --out_path vifam.wav --use_cuda true


vifam.ogg


先日載せた音声サンプルも比較のために再掲しておく。

Ubuntu Linux 22.04 LTS + espeak-ng 1.50 の出力サンプル。
espeak-ng "Hello world. Sally sells seashells by the seashore." -v "English (America)+f3" -s 150 -w espeak_ng_hello.wav


espeak_ng_hello.ogg


Windows10 x64 22H2 + edge-tts 6.1.12 の出力サンプル。
edge-tts -t "Hello world. Sally sells seashells by the seashore." -v en-US-AriaNeural --write-subtitles edge_tts_hello.vtt --write-media edge_tts_hello.mp3


edge_tts_hello.ogg

2024/09/21() [n年前の日記]

#1 [dtm] Mary TTSについて調べてる

音声合成ツールについて調べているうちに、Mary TTS というツールがあることを知った。

_MaryTTS - Introduction
_marytts/marytts: MARY TTS -- an open-source, multilingual text-to-speech synthesis system written in pure java
_英語テキスト朗読ツールMaryTTS | AIお助けボックス

気になったので試用してみようと思ったのだけど、インストール方法からして分からない…。もうちょっと調べてみないと…。

ダメだった事例 :

以下の動画を参考にしながら作業。Windows10 x64 22H2 + Java 1.8.0_421上で実験。

_Install Open Mary TTS in Windows - YouTube

以下のページから marytts-5.2.zip を取得して解凍。任意のフォルダに置いた。

_MaryTTS - Download

音声データらしきものを取得。以下の .xml に zip ファイルのURLが書いてあるので、一つずつDLしていった。

_marytts/download/marytts-components.xml at master - marytts/marytts

ただ、github.com に置いてある zip は入手できるけど、mary.dfki.de のURLは404になっていて、そこに置いてあったらしい zip は入手できない…。

とりあえず、DLできたzipだけでも解凍。中には lib/*.jar があるので、marytts-5.2.zip を解凍してできたフォルダ内の lib/ の中にコピー。

これで、bin/marytts-server.bat を実行してサーバを起動しておいてから、bin/marytts-client.bat を実行すれば動くはずなのだけど。marytts-client.bat を実行した段階で、サーバ側もクライアント側も両方エラーを出して終了してしまう。

当時は Java 8 で動かしていたらしい。Java が新し過ぎると動かないのだろうか?

以上、3 日分です。

過去ログ表示

Prev - 2024/11 -
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30

カテゴリで表示

検索機能は Namazu for hns で提供されています。(詳細指定/ヘルプ


注意: 現在使用の日記自動生成システムは Version 2.19.6 です。
公開されている日記自動生成システムは Version 2.19.5 です。

Powered by hns-2.19.6, HyperNikkiSystem Project