Juliusによる音素セグメンテーションをmacOS 14.0で行う
大量の音声データの子音・母音をアノテーションする必要があったのでJuliusを試してみることにしました。今のところはPraatで手動でタグ付けしています。
まずJuliusの導入ですが、ドキュメントが散在していてわかりにくいですね。
現在Juliusのコードやドキュメントは https://github.com/julius-speech/julius にあります。OSDNやSorceForge.jpにあるものはリンク切れのようです。
今回は音素セグメンテーションということでSpeech Segmentation Toolkit https://github.com/julius-speech/segmentation-kit を使います。
1. Homebrew経由でJuliusのインストール
Homebrewは
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
でインストールします。でインストールします。ここで
whereis julius
でjuliusがインストールされた場所を確認します。
私の環境では
/opt/homebrew/bin/julius
にインストールされました。
2. SegmentationToolkitのダウンロード
git clone https://github.com/julius-speech/segmentation-kit.git
で任意のディレクトリにcloneします。
そしてsegment_julius.plを修正します。
52行目の
$juliusbin="./bin/julius-4.3.1";
を
$juliusbin="/opt/homebrew/bin/julius";
に変更します。
これで用意ができました。
ここで注意が必要なのはJuliusは音声ファイルが16kHzモノラルにする必要があります。そしてJuliusの出力するセグメンテーションファイルは.labファイルです。そこで https://github.com/Syuparn/TextGridConverter を使います。
TextGridConverterにはwavファイルを16kHzにするPraat scriptと.labファイルを.TextGrid形式に変換するPythonスクリプトが用意されています。
convertwav_to_16khz.praat

コメント
コメントを投稿