All Articles

音声データにおける言語の取り扱い

画像・動画・音声処理および XR 一人アドベントカレンダー 7 日目の記事です。

音声データにおける言語の取り扱いについて調べたことをまとめます。

形態素解析などのいわゆる自然言語処理に関する内容ではなく、

  • 音声認識・文字起こし
  • 音声合成

について書いていきます。

音声認識・文字起こし

文字起こしの種類

文字起こしについて調べてみると、以下の 3 つの種類があることが分かりました。

  • 素起こし … 「えー」などの “フィラー (ケバ)” を含め、一言一句文字にすること
  • ケバ取り … フィラー (ケバ) を取り除いた文章に起こすこと
  • 整文 … ケバ取りしたものに加えて、話し言葉を読み言葉に変換したりして整えること

参考: 「ケバ取り」「素起こし」「整文」の違いとは?文字起こし方法の基本的な 3 種類を解説! | WITH TEAM(ウィズチーム)

トレーニング済み API

音声認識・文字起こしのトレーニング済み API については、まとめている記事がいくつかありました。

現状、こういった API である程度の精度が期待できるようです。

どの API を使うべきかは、用途次第になるようです。

エンジン・ライブラリ

続いて、音声認識のエンジンやライブラリについてです。

CMU Sphinx

CMU Sphinx は、カーネギーメロン大学で開発された OSS の音声認識エンジンです。

参考: CMU Sphinx - Wikipedia

Snowboy

Snowboy は、ホットワード検出エンジンです。

ホットワード検出というのは、「OK, Google」のような、問いかけのキーワードのことです。

SpeechRecognition (Python)

Python の SpeechRecognition というライブラリは、各種エンジン・API に対応しています。

参考

なお、このライブラリで選択できる「Google Speech Recognition」については、調べてもよく分かりませんでした。

参考: Python - Python の音声認識ライブラリ「speech_recognition」の「Google Speech Recognition」の実体がわかりません。| teratail

Web Speech API

Web Speech API を使うと、Chrome for Desktop と Android であれば、ブラウザで簡単に音声認識ができるようです。

これは驚きました。

参考: Web Speech API を使う - Web API | MDN

音声合成

YouTube などの動画配信プラットフォームで、人の声ではなく機械的な声で文字が読まれているケースがあると思います。

そのことを、私は勝手に「機械音声」という言葉で表現していたのですが、どうやら「音声合成 (speech synthesis)」という言葉が適切なようです。

参考: 音声合成 - Wikipedia

音声合成ツールについてまとめているページをいくつかリンクしておきます。

無料で有名なものとしては、

  • SoftTalk (いわゆる「ゆっくり」と呼ばれる音声)
  • 棒読みちゃん
  • テキストーク
  • VOICEVOX

あたりのようです。

SoftTalk や棒読みちゃんは、内部で「AquesTalk」を使っているとのことです。

参考: AquesTalk とは (アクエストークとは) [単語記事] - ニコニコ大百科

関連して、初音ミクなどで有名な「VOCALOID」という単語について Wikipedia を見てみたところ、

「VOCALOID(ボーカロイド)」および「ボカロ」はヤマハ株式会社の登録商標である

ということで、一般名詞だと思っていたので驚きました。

参考: VOCALOID - Wikipedia

コーパス

関連する用語として「コーパス」について書いておきます。

コーパスとは、ざっくり言えば、言葉のデータベースです。

音声のコーパスもあり、例えば「JVS (Japanese versatile speech) corpus」というものを見つけました。

参考: Shinnosuke Takamichi (高道 慎之介) - jvs_corpus