見出し画像

音声文字起こし!PythonでSmartなアウトプットが気軽にできる時代が来た!

出戻りガツオ🐟です。
今回は前回のブログで紹介させていただいた「声でブログを書く」という方法について少し深掘りをしようかなと思います。

Pythonで、も、文字起こし🐍🐍

前回よりPythonののコードも真面目に書きました。
まず文字起こしの方法です。
この方法は、みやさかしんや@Python/DX/エンジニア さんのTwitterをもとに作っています。

詳細

具体的には、音声ファイルである「.wav ファイル」を変換して、文字起こしをするという内容です。

「.wav ファイル」と聞くとデフォルトで、その拡張子でアウトプットできるのか?と少し疑問に感じましたが、Windowsの「サウンドレコーダー」で対応できたので紹介します。

Menu

レコーディング形式が選択できます。しっかりとチェック👀✨

設定画面

スクリプト

今後使いやすいように「batファイルに、wavファイルをドラッグアンドドロップして、テキストファイルを出力する」そのようなスクリプトにしました。

  • Python

""" Module  Name
* Copyright (c) 2022, Tech Lovers. All rights reserved
* Project Name    : python_transcription
* Feature         : Drag and drop transcription
* Creation Date   : 2022.12.26
* Programming language used: Python
* Author          : DEmodoriGatsuO https://github.com/DEmodoriGatsuO
* Twitter         : https://twitter.com/DemodoriGatsuo Follow Me!
* Sorry           : I like English. But I can't use English.


Todo:
   * pip install SpeechRecognition
   * import sys
   * import speech_recognition

"""

import sys
import speech_recognition as sr

def main(argv):
    #%% Run Speech Recognition
    r = sr.Recognizer()
    with sr.AudioFile(argv) as source:
        audio = r.record(source)

    text = r.recognize_google(audio, language='ja-JP')

    with open('rec.txt''w'as f:
        f.write(text)

if __name__ == "__main__":
    support_ext = '.wav'

    #%% This Program is argument required!
    if len(sys.argv) == 1:
        print("Error! This Program is argument required!")
        sys.exit()

#%% The only supported extension is .wav files
    if sys.argv[1].endswith(support_ext) == False:
        print("Error! This Program is only supported .wav file!")
        sys.exit()

    main(sys.argv[1])
  • bat

python python_transcription.py %1
pause

複数ファイルに対応していないファイルです( ^ω^)・・・
複数ファイルでやる場合は、pyファイルに直接ドラッグアンドドロップできる仕組みにすればいいけど、VSCode使いなんだよなあ・・・。

レコーディングについて

サウンドレコーダーアプリで十分

言わずもがなですが、この文字起こし用レコーディングで一番大切なのはマイクです。
筆者もマイクをAmazonブラックフライデーで買いましたが、ちょっと距離離れるとだめでした(´;ω;`)

おとなしくヘッドセットでやろう!

本当はラジオのパーソナリティー気分を味わいたかったのですが・・・w
上記であればクリアに音拾えるので全く問題ないです。

録音する際に使うアプリですがWindowsの標準のサウンドレコーダーが何だかんだオススメかもしれません。

標準で.wav設定ができるのは、ありがたいです!

設定画面

mp3には対応していない・・・❓設定が足りていないのかしら❓
詳しくは自分で下記で見てみよう!

wavファイルへの変換は面倒!

iPhoneのボイスメモは「m4a」で保存されます。
また一般的な音声ファイルの拡張子は「mp3」ではないでしょうか。

音声の編集をしたりする場合、フリーソフトのインストール or 標準のWindowsアクセサリでも保管されるときに「mp4」に変わってしまったりと、むむー😵‍💫となります。


Clipchamp

👆のようなツールで加工こそできますが、拡張子はwavいけません・・・。

アプリ側で標準で設定できるのであればそれに越したことはないので、なるべくその方向で!

しかしながら、どうしてもそれができない・・・となった場合に、
個人的にはオンラインの変換サービスで変換するは、もろもろ考えて好かないので、Pythonでやりたい・・・方法はあるのかしら!?

「.mp3」を「.wav」に変換するには!?

FFmpegが良さそうです。

FFmpeg

上記のツールを活用し、拡張子変換を柔軟にやる形になります。
このブログに載せようと思いましたが、思いのほか沼が深いので、

このブログではやめておきます!

まだまとまっていないので、後続のnoteにご期待ください!

宣伝!

アウトプット頑張ってます!いいねください!(正直)

Qiitaでアドカレ頑張りました!

Power BIネタは個人的に反省が多いので・・・・やめておきます!!!!

うわあああああああああああああああ

今後ともよろしくお願いいたします🙇🙇🙇🙇

この記事が気に入ったらサポートをしてみませんか?