質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Google Colaboratory

Google Colaboratoryとは、無償のJupyterノートブック環境。教育や研究機関の機械学習の普及のためのGoogleの研究プロジェクトです。PythonやNumpyといった機械学習で要する大方の環境がすでに構築されており、コードの記述・実行、解析の保存・共有などが可能です。

Google API

Googleは多種多様なAPIを提供していて、その多くはウェブ開発者向けのAPIです。それらのAPIは消費者に人気なGoogleのサービス(Google Maps, Google Earth, AdSense, Adwords, Google Apps,YouTube等)に基づいています。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

0回答

2244閲覧

'dict' object has no attribute 'index'の解決方法

misakiabe

総合スコア0

Google Colaboratory

Google Colaboratoryとは、無償のJupyterノートブック環境。教育や研究機関の機械学習の普及のためのGoogleの研究プロジェクトです。PythonやNumpyといった機械学習で要する大方の環境がすでに構築されており、コードの記述・実行、解析の保存・共有などが可能です。

Google API

Googleは多種多様なAPIを提供していて、その多くはウェブ開発者向けのAPIです。それらのAPIは消費者に人気なGoogleのサービス(Google Maps, Google Earth, AdSense, Adwords, Google Apps,YouTube等)に基づいています。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2022/04/13 03:07

編集2022/04/13 03:31

こんにちは、Python初学者です。
Google Colaboratoryで、Google APIを利用して音声をテキスト変換しようとしたら詰んでしまいました。言語はPythonです。
コードはネットに公開しているものを使用しているので、自力で問題解決しようと試みましたが初学者には難しく、お力を借りたいです。

具体的な内容としては、record_audio を実行して音声を録音しようとしたところ以下のようなエラーが出ました。
AttributeError: 'dict' object has no attribute 'index'

おそらく辞書型にindex機能は含まれてないよ〜といった内容だと思うのですが、そこからどう変更を加えればよいかがわかりません。ご指南のほどよろしくお願いいたします。

以下ソースコード

Python

1import getpass 2APIKEY = getpass.getpass() 3 4#@title このセルを実行して record_audio を定義 5 6# Install required libraries and packages 7!pip install -qq pydub 8!apt-get -qq update 9!apt-get -qq install -y ffmpeg 10 11# Define record_audio 12import base64 13import google.colab 14import pydub 15 16from io import BytesIO 17 18def record_audio(file_id, framerate=16000, file_format='flac'): 19 # Record webm file from Colaboratory. 20 audio = google.colab._message.blocking_request( 21 'user_media', 22 { 23 'audio': True, 24 'video': False, 25 'duration': -1 26 }, 27 timeout_sec=600) 28 29 # Convert web file into in_memory file. 30 mfile = BytesIO(base64.b64decode(audio[audio.index(',')+1:])) 31 32 # Store webm file locally. 33 with open('{0}.webm'.format(file_id), 'wb') as f: 34 mfile.seek(0) 35 f.write(mfile.read()) 36 37 # Open stored web file and save it as wav with sample_rate=16000 38 output_file = '{0}.{1}'.format(file_id, file_format) 39 _ = pydub.AudioSegment.from_file('{0}.webm'.format(file_id), codec='opus') 40 _.set_frame_rate(16000).export(output_file, format=file_format) 41 42 return output_file 43 44 45record_audio('ja-sample') 46audio_filename='ja-sample.flac'

エラー

AttributeError Traceback (most recent call last) <ipython-input-3-2e60a39e1187> in <module>() ----> 1 record_audio('ja-sample') 2 audio_filename='ja-sample.flac' <ipython-input-2-da77fe95ffee> in record_audio(file_id, framerate, file_format) 25 26 # Convert web file into in_memory file. ---> 27 mfile = BytesIO(base64.b64decode(audio[audio.index(',')+1:])) 28 29 # Store webm file locally. AttributeError: 'dict' object has no attribute 'index'

以下Google ColaboratoryのノートブックURLです。
https://colab.research.google.com/github/GoogleCloudPlatform/gcp-getting-started-lab-jp/blob/master/machine_learning/cloud_ai_building_blocks/speech-to-speech/speech_to_speech.ipynb#scrollTo=2OWkkepTWSbG

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

y_waiwai

2022/04/13 03:20

このままではコードが読めないので、質問を編集し、</>(コードの挿入)ボタンを押し、出てくる’’’の枠の中にコードを貼り付けてください
misakiabe

2022/04/13 03:32

大変失礼いたしました!変更しましたので目を通していただけると幸いです。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問