その1の検証で分かったこと。
・区読点、改行がないと読みづらい
・音声ファイルの長さによって、精度が異なる、音声の一部が省略されてしまう?
『ReazonSpeech』があれば、議事録は取らなくていい!? その1 からの続きになります。
一度、Google Colab環境で『ReazonSpeech』を実行できるので、試してみました。
Google Colab ReazonSpeech
『Google Colab』とは?
ブラウザからPythonを記述、実行できます。
環境構築が不要で、簡単に共有できる便利なサービスです。
『Google Colab』では、15秒以下の音声を対象にしているようなので、『VOICEPEAK』で15秒の音声ファイルを作成し、流してみました。
実際の音声 | 実行結果 |
---|---|
本日はご多忙の中、お時間を作ってくださり、ありがとうございます。 |
本日はごちそうのお時間を作ってくださりありがとうございますいえいえこちらこそありがとうございます |
「ご多忙」が「ごちそう」になってしまいました。
続いて『VOICEPEAK』ではなく、私の声で試してみました。
実際の音声 | 実行結果 |
---|---|
本日はご多忙の中、お時間を作ってくださり、ありがとうございます。 |
ほんじつはご家庭のなかおじかんをつくってくださりありがとうございます |
「ご多忙」が「ご家庭」になっています。
「ご多忙」という言葉を判断するのは難しい??
それよりも「いえいえ、こちらこそ、ありがとうございます。」がカットされている!!
今回は書きませんが、『VOICEVOX』の音声でも試しました。
滑舌やアクセント、イントネーションなどによっても結果は変わりました。
そう考えると、私の滑舌が悪すぎて、後半見捨てられてしまったのでしょうか。
…滑舌の事は、いったん忘れる事にしましょう。
こちらで、試してみる事にしました。
① 音声ファイルを15秒以内、「。」の所で分割する。
② 分割したファイルを『ReazonSpeech』を使用して出力する。
音声ファイルを分割するソースコードを書く予定でしたが、『VOICEPEAK』で音声ファイルを分割して出力できたので、分割するコードは省きました。
import datetime import sys import soundfile from espnet2.bin.asr_inference import Speech2Text speech2text = Speech2Text.from_pretrained(“reazon-research/reazonspeech-espnet-v1”) f = open(‘/var/www/ReazonSpeech/result_reazonspeech.txt’, ‘a’, encoding=’UTF-8′) number = 1 f.write(speech2text(speech)[0][0]) f.close() |
4分17秒 の音声ファイルに対し、出力完了まで 23分53秒 かかりました。
待った結果が、こちらです。
『実際の音声』 – 空白行毎に音声ファイルを分割しています。
『実行結果』 – 比較しやすくする為、『実際の音声』の行と合わせています
実際の音声 | 実行結果 |
---|---|
本日はご多忙の中、お時間を作ってくださり、ありがとうございます。 いえいえ、こちらこそ、ありがとうございます。 …それでは、始めましょうか。 今日の打ち合わせの目的は「ポケモンの捕まえ方について」です。 おっと。あまり時間がありませんね。 いえいえ、おっしゃる通りです。では、さくっとはじめましょうか。 では、さっそく…弊社が考えた「ポケモンの捕まえ方」です。 資料をお渡しします。 よろしくお願いします。 皆さんもご存じの通り、モンスターボールを投げる事で、ポケモンを捕まえる事はできます。 そうなんだよねー、困ったことに。 …はい。 ほほう? ただし! …! そうか! 倒してしまったら、ポケモンを捕まえられないもんねー その通りです! あっ! 申し訳ございません。 うん、うん。分かるよ。 あ、ありがとうございます。…話を戻します。 なるほどねー ポケモンを状態異常にするなら、麻痺や毒の技を覚えたポケモンを選ぶのもいい方法だと思います。 滅多に表れないレアなポケモンは、絶対に捕まえたいと思います。 その為には、事前にそのような事も考慮したポケモンを選ぶ事が重要ですね。 ああ、はいはい。ハイパーボールの事ね。 なにー!? ハイパーボールだけじゃないのか!! 例えば、水や虫タイプのポケモンを捕まえやすい『ネットボール』。 現在あるボールの種類を資料に書いておりますので、詳しくは資料をご覧ください。 そうなんです。 ふー、ただモンスターボールを投げてるだけじゃぁダメなんだね。 …今日は、ありがとう。充実した時間だったよ。 こちらこそ、ありがとうございます。 いやいや、それがよかったよ。あはは |
お時間を作ってくださりありがとうございます
こちらこそありがとうございます それでは始めましょうか 今日の打ち合わせの目的はポケモンの捕まえ方についてです あまり時間がありませんね ではサクッと始めましょうか そちらをご覧いただきながら説明したいと思います よろしくお願いします 皆さんもご存じのとおりモンスターボールを投げることでポケモンを捕まえることができます 困ったことに はい ここ ただし そうか倒してしまったらポケモンをつかまえられないもんね そのとおりです なかなか難しいね私のポケモンは強いからね手加減できるかな 申し訳ございません 分かるよ 話を戻します なるほどね ポケモンをめちゃくちゃにするならまずは毒の技を覚えたポケモンを選ぶのもいい方法だと思います めったに現れないレアなポケモンは絶対に捕まえたいと思います そのためには事前にそのようなことも考慮したポケモンを選ぶことが重要ですね はいはいハイパーボールのことね ハイパーボールだけじゃないのか 教えてくれ 例えば水や蒸しタイプのポケモンを捕まえやすいネットボール 現在あるボールの種類を数量に書いておりますので詳しくはご覧ください そうなんです ただモンスターボールを投げてるだけじゃダメなんだね ありがとう充実した時間だったよ ありがとうございます それがよかったよ |
区読点がないので若干読みづらいですが、改行を入れる事で、かなり読みやすくなりました。
誤認識や日本語のおかしい所もありますが、音声が大幅にカットされる事もなかったので、大体の会話は理解できました。
これにより、音声ファイルが長いと精度が落ちる事が分かりました。
個人的には、余計な音声「あ!」、「んー」、「あはは」などの部分がカットされているのが良かったです。
実際の議事録にも必要ないので。
先程のコードに『音声を分割する』、『区読点をつける』ソースコードを追加すれば、60% – 70%くらいは議事録としても使用できるのではないでしょうか。
見直し、修正は必要ですが、少しは楽ができる! はずです。