How To Sound Like A Native Korean Speakerを始める前の準備をする
最近、できる韓国語初級I,IIがやっと終わりました。
リスニングが苦手なので、次はHow To Sound Like A Native Korean Speaker(Talk To Me In Korean)をやっていく割合を増やしていこうと思っています。
この本を買ったのはいいものの、自分の環境だといろいろと進めづらいところがあったので本格的に取り組む前に準備をしていました。
曲名の重要な部分がiPodの枠外に隠れてしまうのを直す
How To Sound Like A Native Korean Speakerの曲 [0]は、
下記3つの点で少し扱いにくいところがありました:
①”Chapter 13 Lesson 2 06”のような感じでタイトルがつけられているのですが、これがちょっと長くて自分のiPod(Touch)だとレッスン番号以降が隠れてしまう
②曲名の付与ルールが崩れているのが2,3曲あって、そのせいで曲順が乱れてしまう
③余計なメタタグ(i.e., TIT1)が付与されているのが2,3曲あって、そのせいで意味不明な曲のグルーピングがされてしまう
①については、"Chapter"と"Lesson"の文字が長かったので”Chapter 13 Lesson 2 06”なら"C13_L02_06"というふうに頭文字だけ使うことにしました。
②と③については、①が自動で修正できそうだった(後述)のでついでに直しました。
iTunesに入れてから一つ一つ直してもいいのですが、ものすごい大変な作業なのでLinux環境(Debian12)で、id3v2 [1]というツールを使って全部自動で修正しました。
id3v2を入れる:
$ sudo apt install id3v2
2. mp3ファイルのパスを書き出す:
$ cd "How To Sound Like A Native Korean Speaker" # 曲はダウンロードして解凍しておく
$ find . -type f | xargs grep "mp3" > files.tsv
rakulang [2]のスクリプトを書いてid3v2を呼び出す:
スクリプト(edit.raku)
次の2つの操作を行っています。 各曲について、1) id3v2のtオプションを使ってタイトルを書き変える 2) TIT1オプションで空文字を指定してタグを消す:
use v6;
for "files.tsv".IO.lines -> $path {
my $name = do given $path {
when /Chapter\s(\d+)\sLesson\s(\d+)\sQ(\d+).mp3/ { sprintf("C%02d_L%02d_Q%02d", $0, $1, $2) }
when /Chapter\s(\d+)\sLesson\s(\d+)\sEx(\d+).mp3/ { sprintf("C%02d_L%02d_Ex%02d", $0, $1, $2) }
when /Chapter\s(\d+)\sLesson\s(\d+)\s(\d+).mp3/ { sprintf("C%02d_L%02d_%02d", $0, $1, $2) }
when /Chapter\s(\d+)\sQ(\d+).mp3/ { sprintf("C%02d_Q%02d", $0, $1) }
when /Chapter\s(\d+)\sEx(\d+).mp3/ { sprintf("C%02d_Ex%02d", $0, $1) }
when /Chapter\s(\d+)\s(\d+).mp3/ { sprintf("C%02d_%02d", $0, $1) }
}
my $command1 = "id3v2 -t $name \"$path\"";
shell $command1 or die;
my $command2 = "id3v2 --TIT1 \"\" \"$path\"";
shell $command2 or die;
}
4. 呼び出す:
$ raku edit.raku
あとは、出来上がったmp3ファイル群をiTunesに入れて終わりです
発音確認できるAIを入れる
今まで発音の確認には 1) Google Meetを使う 2) Siriを使う 3) Naver辞書を使う など複数試していたのですが、どれもいまいち使いにくい感覚があったので別の手段を用意しました。
2022年にOpenAIから発表されたWhisperというAIがとても韓国語認識の精度が良いらしいのでこれを使うことにしました。
ただ、通常のWhisperを利用したアプリケーションは音声ファイルを読み込ませて声を認識する仕組みになっていて、マイクからの直接入力には対応していないという難点があります。
ちょっとgithubを探してみたところ、マイク入力に対応していて、ほとんどリアルタイムに音声認識してくれるbuzzというアプリケーションが見つかったのでこれを入れてみました。
たしかに、(Linux環境の場合)githubに書かれているとおりこのコマンドですんなりインストールできました(インストール後、再起動が必要なので注意)。
$ sudo apt-get install libportaudio2
$ sudo snap install buzz
ただ自分の環境では文字がとても小さいという問題がありました。
buzzの起動時にQT_SCALE_FACTORという環境変数を設定して、GUIのサイズを大きくすることでこの問題は緩和されました:
$ QT_SCALE_FACTOR=2.0 buzz
以上、How To Sound Like A Native Korean Speakerを始める前の準備をするでした
脚注
[0] 曲データのダウンロード元はこちら(ログイン必須): https://talktomeinkorean.com/audio/
[1] https://github.com/myers/id3v2
[2] https://rakudo.org
この記事が気に入ったらサポートをしてみませんか?