パソコン仕事5倍塾
35,000人を指導した東大卒・元日本IBM社内講師が直伝
MENU
renpapa4407さんの投稿
(投稿ID: 5622)
AIユーザさんのコメント
(コメントID: 8631)
renpapa4407さんのコメント
(コメントID: 8634)
(コメントID: 8632)
(コメントID: 8635)
import os from pathlib import Path from dotenv import load_dotenv from google.api_core.client_options import ClientOptions from google.cloud import speech # Load environment variables load_dotenv() api_key = os.getenv("GOOGLE_CLOUD_PROJECT_API_KEY") # Get file paths file_path = Path(__file__).parent input_path = file_path / "results" / "ja.mp3" output_dir = file_path / "transcriptions" output_path = output_dir / "ts.txt" # Create transcriptions directory if it doesn't exist output_dir.mkdir(exist_ok=True) # Check if input file exists if not input_path.exists(): print(f"入力ファイルが見つかりません: {input_path}") exit(1) print(f"音声ファイルが見つかりました: {input_path}") print(f"ファイルサイズ: {input_path.stat().st_size} バイト") # Read audio file with open(input_path, "rb") as audio_file: content = audio_file.read() # Set up client options with API key client_options = ClientOptions(api_key=api_key) # Initialize the client with API key client = speech.SpeechClient(client_options=client_options) # Configure audio and recognition settings audio = speech.RecognitionAudio(content=content) config = speech.RecognitionConfig( encoding=speech.RecognitionConfig.AudioEncoding.MP3, language_code="ja-JP", enable_automatic_punctuation=True ) # Perform the speech-to-text conversion print("音声認識を開始します...") response = client.recognize(config=config, audio=audio) # Write the transcription to a text file with open(output_path, "w", encoding="utf-8") as out: for result in response.results: transcript = result.alternatives[0].transcript out.write(transcript + "\n") print(f"認識テキスト: {transcript}") print(f'テキストコンテンツが "{output_path}" に保存されました')
(コメントID: 8633)
小川 慶一さんのコメント
(コメントID: 8636)
(コメントID: 8637)
(コメントID: 8638)
(コメントID: 8639)
Captcha:
たった1ヶ月で人生が劇的に変わりました
佐藤信さん
役員クラスの方から高い評価を受けるようになりました。
佐賀県 - 岩本徹さん
今までまったく知らなかったショートカットキーを使いまくっています。
東京都 - 鷹觜慶さん
年齢60才間近、営業で外回りの時間が多い私でも退社時間が1-2時間程度早くなりました。
東京都 - 宗内隆明さん
受講前もすでにパソコン得意でしたが、そんな私でも受講して本当に良かったと思えた講座です。
東京都 - 佐伯とも子さん
ここまで包括的に仕事に役立つ深い学びを受けれた講座は初めてでした
東京都 - 飯田倫子さん
2025年05月04日 20:00
2025年04月28日 08:52
2025年04月22日 05:41
2025年04月18日 09:15
2025年04月09日 07:21
2025年05月05日 11:01
2025年05月05日 06:57
2025年05月05日 06:21
2025年05月05日 05:41
2022年02月24日 10:59
表示できる投稿はありません。
この学習サイトの教材制作、サポート、システム開発をすべてやっています。
2022年02月02日 00:00
2022年02月02日 03:00
2022年02月02日 06:00
2022年02月02日 09:00
2022年02月02日 12:00
2025年04月15日 11:30
2025年04月08日 16:30
2025年04月07日 16:30
2025年04月04日 15:45
2025年03月27日 13:30
2025年02月04日 08:51
2025年02月03日 12:58
2024年11月27日 11:48
2024年11月25日 12:07
2024年11月17日 09:51
2025年03月26日 22:33
2025年03月26日 22:12
2025年03月24日 22:28
2025年03月19日 20:10
2025年03月18日 20:52
2025年04月16日 08:30
2025年03月18日 09:07
2025年03月18日 09:06
2025年03月15日 13:23
2025年02月26日 16:37
2025年04月02日 21:01
2025年04月02日 20:47
2025年04月02日 20:37
2025年04月01日 22:03
2025年04月01日 21:27
2025年04月16日 08:32
2025年03月18日 09:10
2025年03月18日 09:09
renpapa4407さんの投稿
(投稿ID: 5622)
やっと直近の回に追いつきました。
宿題の「音声ファイルからテキスト化」も実行できました。
といってもまだサンプルコードを動かしてみただけですけど(;^_^
AIユーザさんのコメント
(コメントID: 8631)
動画視聴を進めて直近の回に追いつかれたとのこと、お疲れ様です!また、宿題の「音声ファイルからテキスト化」を実行できたとのこと、素晴らしいですね。サンプルコードを動かしてみることは、実践的な理解を深めるための大きな一歩です。
次のステップとして、サンプルコードをもとに、少しずつカスタマイズしてみることをお勧めします。例えば、異なる音声ファイルを試してみたり、出力されたテキストを他の処理に利用してみたりすることで、APIの活用方法を広げることができます。
何か疑問や困ったことがあれば、遠慮なく質問してください。引き続き頑張ってくださいね!
renpapa4407さんのコメント
(コメントID: 8634)
このプロジェクトは Google cloud、platform gcpの音声読み上げ、apiを使用して 日本語のテキストをmp3ファイルに変換するサンプル アプリケーションです。
しかし、自分でICレコーダーに録音したmp3ファイルだと、テキストファイルはできるのですが、中身が空っぽです。
AIユーザさんのコメント
(コメントID: 8632)
コメントありがとうございます。ご自身でコードを書いて、先生が用意したMP3ファイルでのテキストファイル作成が成功したとのこと、素晴らしいです。しかし、ICレコーダーで録音したMP3ファイルで中身が空っぽになるという問題が発生しているようですね。
この問題の原因として考えられる点をいくつか挙げてみます。
1. **音声品質やフォーマットの違い**:
- ICレコーダーで録音した音声ファイルの品質が、APIが期待するフォーマットと異なる場合があります。例えば、サンプリングレートやビットレートが異なると、正しく解析できないことがあります。
2. **言語設定の確認**:
- APIの言語設定が正しく行われているか確認してください。日本語を解析する場合、言語コードが「ja-JP」など適切に設定されている必要があります。
3. **ファイルのエンコーディング**:
- 録音ファイルが正しくエンコードされているか確認してください。特に、ファイルの先頭や末尾に無音部分があると、解析に影響を与えることがあります。
4. **APIの制限やエラー**:
- APIの使用制限やエラーログを確認し、何か問題がないかチェックしてください。APIのレスポンスにエラーメッセージが含まれているかもしれません。
まずは、これらの点を確認してみてください。もし、設定やフォーマットに問題がないようであれば、具体的なコードやエラーメッセージを教えていただければ、さらに詳しいアドバイスができるかもしれません。
renpapa4407さんのコメント
(コメントID: 8635)
AIユーザさんのコメント
(コメントID: 8633)
このコードは、Google Cloud Speech-to-Text APIを使用して音声ファイルをテキストに変換するスクリプトです。以下の点を確認し、改善や注意が必要な部分を考えてみましょう。
1. **APIキーの取得と設定**:
- スクリプトは環境変数からAPIキーを取得しています。`.env`ファイルに`GOOGLE_CLOUD_PROJECT_API_KEY`が正しく設定されていることを確認してください。
2. **ファイルパスの設定**:
- 入力ファイル`ja.mp3`が指定されたディレクトリに存在するか確認してください。エラーメッセージが表示される場合、ファイルのパスを見直す必要があります。
3. **音声ファイルのフォーマット**:
- 音声ファイルのエンコーディングがMP3であることを確認してください。異なるフォーマットの場合は、`speech.RecognitionConfig.AudioEncoding`の設定を変更する必要があります。
4. **APIキーの使用方法**:
- `ClientOptions`を用いてAPIキーを設定していますが、Google Cloudの認証には通常、サービスアカウントキーを使用します。この方法が正しく動作しない場合、サービスアカウントを用いた認証を検討してください。
5. **結果の保存**:
- 認識結果は`ts.txt`に保存されます。結果が正しく保存されているか、出力ファイルを確認してください。
もし、これらの点を確認しても問題が解決しない場合、具体的なエラーメッセージや状況をさらに詳しく教えていただければ、より詳細なサポートが可能です。
小川 慶一さんのコメント
(コメントID: 8636)
とのことですが、無事に中身のあるテキストファイルを生成できたということでしょうか。
response = client.recognize(config=config, audio=audio)
で得られた resonpse の構造をまずは調べてみてください。
その次に実行される行にブレークポイントを入れてステップイン実行するとブレークポイントを入れた行を実行する直前の状態で処理が一旦停止するので、そこで response について調べます。
たとえば status code は?alternatives[0] の中身は?等々。
調査結果を報告してください。
renpapa4407さんのコメント
(コメントID: 8637)
次に自分がICレコーダに録音した別の音声ファイル(mp3)を試してみたら、テキストファイルは
出力されましたが、中身がありません。
>たとえば status code は?alternatives[0] の中身は?等々。
>調査結果を報告してください。
↑ここの調べ方がわかりません、ご教授願います。
AIユーザさんのコメント
(コメントID: 8638)
`response` オブジェクトの詳細を確認するためには、デバッグを使う方法が効果的です。Pycharmを使っている場合、以下の手順で調査を進めることができます。
### デバッグモードでの確認手順
1. **ブレークポイントを設定する:**
- `response = client.recognize(config=config, audio=audio)` の次の行にブレークポイントを設定します。これは、デバッグモードでプログラムを実行すると、この行で一時停止するためです。
2. **デバッグモードで実行する:**
- Pycharmのデバッグモードでプログラムを実行します。通常の実行ボタンの隣にある虫のアイコンをクリックすることでデバッグモードに入れます。
3. **`response` の中身を調べる:**
- プログラムがブレークポイントで停止したら、`response` オブジェクトを調べます。Pycharmのデバッグウィンドウで、変数の一覧が表示されるので、`response` を選択して詳細を確認します。
4. **具体的な確認ポイント:**
- `response` の `status code` を確認します。これは、リクエストが成功したかどうかを示します。
- `alternatives` の中身を確認します。通常、`response.results[0].alternatives[0].transcript` のようにアクセスして、変換されたテキストがあるか確認します。
もしデバッグモードでの操作に慣れていない場合は、手順を一つずつ確認しながら進めてみてください。何か問題があれば、また質問してくださいね。
小川 慶一さんのコメント
(コメントID: 8639)