【Python入門】日本語の文字起こしのやり方(音声認識:音声ファイル編)サンプルコード

【Pythonプログラミング入門】日本語の文字起こしのやり方( 音声認識:音声ファイル編)Google Speech Recognition - Speech Recognitionの使い方

 

【Pythonで音声認識】簡単!日本語の文字起こし(テープ起こし)

 

ニュース記事を読んでいると、会議の議事録等で活用出来る

文字起こしアプリ(ソフト)

の需要がある旨の記事を見つけました。
よく読んでみるとGoogle Speech-to-Textを利用して作られているアプリを提供している会社の紹介のようでした。

ある程度の精度のある文字起こしのプログラミングを、無料で、手軽に出来る方法はないか?

と思い、調べてみたところ2020年3月14日確認時点では、Google Speech-to-Textは、無料枠の60分を超えると費用が必要そうでした。
その後、しばらく、文字起こしを無料で出来る情報がないか探していると…
ありました。

SpeechRecognition

 

Uberi/speech_recognition | GitHub
(Author:Anthony Zhang・the 3-clause BSD license)
https://github.com/Uberi/speech_recognition

SpeechRecognition
(Author:Anthony Zhang・BSD License)
https://pypi.org/project/SpeechRecognition/
 

試しにサンプルコードを参考に簡単なプログラムを作ってみると

適宜、修正は必要かもしれないが、いいかもしれない

と思ったので、SpeechRecognitionを使って、日本語の音声ファイル(.wav・WAVE形式等)の文字起こし・テキスト化をする方法を動画等でまとめておきました。わずか7行のプログラミングコードでこれだけのことが出来てしまうので凄いですね…
今回は無料で使えるGoogle Speech Recognitionの音声認識エンジンを使用していますが、Speech Recognitionでは様々な音声認識エンジンをサポートしているようです。(有料のAPIを使う場合は、APIキー等が必要そうでした)

 

CMU Sphinx (works offline)
Google Speech Recognition
Google Cloud Speech API
Wit.ai
Microsoft Azure Speech
Microsoft Bing Voice Recognition (Deprecated)
Houndify API
IBM Speech to Text
Snowboy Hotword Detection (works offline)

出典:
Uberi/speech_recognition | GitHub
2020年3月14日利用時点

 

今回は、事前に録音した音声データをテキスト化する方法を試してみましたが、サンプルコードを参考にして色々と試してみると面白そうですね。

 

 

【Python – 音声認識】無料で日本語の文字起こしのやり方(録音・音声ファイル編)- 動画

 


視聴時間:2分31秒

 




 

使ってみた感じでは、概ね上手く文字起こし出来るようですが、適宜修正はする必要はありそうです。

動画を作成する際に遭遇した失敗例
(音声)音声→(文字起こし結果)温泉
(音声)してみる → (文字起こし結果)して見る
(音声)スピーチリコグニション→(文字起こし結果)入り込ん
(音声)ギットハブ→(文字起こし結果)きっと ハグ

上手く認識しにくい場合の要因として、雑音・音の大小・抑揚・間の取り方等が音声認識に影響していそうでした。会議の議事録等の用途で使えるかはわかりませんが、無料でこれだけ出来てしまうので、プログラミング初学者にとってはありがたいですね。

 

Google Colaboratoryサンプルコード・音声ファイル – 動画で作成した日本語の文字起こし用

 

 

動画で使用しているGoogle Colaboratoryのサンプルコードへのリンクはこちら:
tape-transcription-SpeechRecognition.ipynb | Google Colaboratoryの共有リンク

サンプルコードの使い方。音声ファイルのアップロードの仕方等は上記のチュートリアル動画を参照ください。

 

音声ファイルのダウンロード

日本語短文(voice1.wav)

日本語長文(voice2.wav)

 

サンプルコード

 

今回は

Uberi/speech_recognition | GitHub(Author:Anthony Zhang・the 3-clause BSD license)
https://github.com/Uberi/speech_recognition

SpeechRecognition(Author:Anthony Zhang・BSD License)
https://pypi.org/project/SpeechRecognition/

を活用して、Google Speech Recognition の音声認識エンジンを使用した、音声データの文字起こしの入門的なプログラムを実装してみます。

 

① SpeechRecognitionをインストール

 

 

pip install SpeechRecognition

* 動画ではSpeechRecognition-3.8.1をインストールされています。最新版がインストールされると思います。

 

② 文字起こししたい音声ファイルをアップロード

 

 

(今回は.wav形式のファイルの文字起こしをします)

* 詳しくは動画を参照ください。

 

③ 日本語の文字起こし用Pythonプログラム

 

 

.wav形式以外のファイルで試してみたところ、以下のエラーが出力されました
ValueError: Audio file could not be read as PCM WAV, AIFF/AIFF-C, or Native FLAC; check if file is corrupted or in another format
そのため、WAV(WAVE)、AIFF/AIFF-C、FLAC形式のファイルが必要そうです。

import speech_recognition as sr

AUDIO_FILE = 'voice2.wav' #ここを変更。アップロードした音声ファイル(.wav形式)名に変更してください。

r = sr.Recognizer()
with sr.AudioFile(AUDIO_FILE) as source:
    audio = r.record(source)

print('音声データの文字起こし結果:\n\n', r.recognize_google(audio, language='ja'))

 

 

【応用例】音声ファイルをテキスト形式ファイルに出力するプログラム

 

 

情報を調べてみると、エンジニアに関する知識を記録・共有するためのエンジニアコミュニティサービスの

Qiita(キータ)| Qiita株式会社

に、今回の記事のサンプルコード等を参考にして、音声ファイルの文字起こし結果をファイルに出力するプログラムをGithubに公開してくださっている方もいるようでした。

解説記事
音声wavファイルを入力してtxtで出力するツールを作った 2022年4月投稿 | Qiita

コード
botanic7arc / transcription 2022年4月公開 | Github

人力で文字起こしするのは、大変ですので、楽出来ることは機械に任せたいですよね。

 

 

【ReazonSpeech】高精度日本語音声認識モデルが無料公開開始(2023年1月)

 

 

2023年1月18日に株式会社レアゾン・ホールディングスより、

・世界最高レベルの高精度日本語音声認識モデル
・放送音声で学習されたラベル付き日本語音声コーパス

*音声コーパス:「音声データ」と「テキストデータ」を発話単位で対応付けして集めたもの

が公開されたようです。

参考
超高精度で商用利用可能な純国産の日本語音声認識モデル「ReazonSpeech」を無償公開 | Reazon Human Interaction Lab
2023年1月21日利用

 

ありがたいことに、

日本語音声認識デモ | ReazonSpeech

をブラウザで試すことができます。
その他にも、ReazonSpeechの音声認識モデルをGoogle Colaboratory上で動かすことができます。

ReazonSpeechのチュートリアル
ReazonSpeech Demo.ipynb | Google Colaboratory

プログラムを使う際には、Googleアカウントにログインした状態で、「ドライブにコピー」後に、プログラムを実行させます。
確認時点では、

・15秒以下の発話を対象にして学習

させたモデルのようでしたが、今後長い発話にも対応させる予定とのことです。
気になる方は、プログラムなどをチェックしてみてください。

 

 

【AI自動文字起こしツール】WITH TEAM – AI文字起こし

 

 

【利用エンジン】
GoogleのAIエンジン

【対応言語】
日本語

【対応フォーマット】
・wav
・flac
・mp4
・mp3
・m4a
* 最大1GB/120分まで

【対応可能時間帯】
24時間・365日利用可能

株式会社サクラボでは、

・AI自動文字起こしツール

も提供してくださっています。
精度を確認した上で利用できるように、最初の1分の無料お試し機能もありますので、気になる方は以下のリンク先でチェックしてみてください。

WITH TEAM – AI文字起こしの詳細はこちら
WITH TEAM – AI文字起こし | 株式会社サクラボ

 

 

【文字起こし代行サービス】WITH TEAM 文字起こし

 

 

【対応音源】
・音声
・動画
* 修正対応保証あり。ただし、専門性が高い言葉(単語)、聞き取れない音声について保証対象外

音声認識の精度は徐々に向上してきていますが、やはり最後に頼りになるのは

・人力(実際に人が音声を確認し文字起こしをする)

ではないかと思います。
音声認識技術を試したものの、うまくいかない方は、こちらの文字起こし代行サービスも検討してみてください。

WITH TEAM 文字起こしの詳細はこちら
WITH TEAM 文字起こし | 株式会社サクラボ

 

 

by 子供プログラマー | プログラミング入門ウェブ教室

 

 

音声合成も面白いですね。
【PyTorch入門】日本語のテキスト音声合成(E2E-TTS)- ESPnet・Tacotron 2版

 

サンプルコードを試した結果も動画にしておきました。書籍用に作られたDeZeroというオリジナルフレームワークで色々出来るようです。
【発売日も気になる】ゼロから作るDeep Learning 3:フレームワーク編 

 

これだけの内容を無料で… 今はすごい時代ですね
【無料で読める】「Deep Learning」(Ian Goodfellow et al.)関連動画・資料も嬉しい

 

数学は、まだ苦手意識があります。
無料で「21世紀の統計科学Ⅰ・Ⅱ・Ⅲ」東京大学出版会 (3冊分PDF)を読む

 

コンピュータ・プログラミング関連記事