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

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

新規登録して質問してみよう
ただいま回答率
85.35%
Jupyter

Jupyter (旧IPython notebook)は、Notebook形式でドキュメント作成し、プログラムの記述・実行、その実行結果を記録するツールです。メモの作成や保存、共有、確認などもブラウザ上で行うことができます。

Anaconda

Anacondaは、Python本体とPythonで利用されるライブラリを一括でインストールできるパッケージです。環境構築が容易になるため、Python開発者間ではよく利用されており、商用目的としても利用できます。

Python

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

Q&A

解決済

2回答

3578閲覧

UnknownValueErrorを解決したい

退会済みユーザー

退会済みユーザー

総合スコア0

Jupyter

Jupyter (旧IPython notebook)は、Notebook形式でドキュメント作成し、プログラムの記述・実行、その実行結果を記録するツールです。メモの作成や保存、共有、確認などもブラウザ上で行うことができます。

Anaconda

Anacondaは、Python本体とPythonで利用されるライブラリを一括でインストールできるパッケージです。環境構築が容易になるため、Python開発者間ではよく利用されており、商用目的としても利用できます。

Python

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

0グッド

0クリップ

投稿2021/11/06 10:48

編集2021/11/06 12:51

A.wavファイルのみ実行すると文字起こしできたが、A.wavとB.wavファイルをリスト化して一つずつ文字起こしを実行するとUnknownValueErrorが出てきた

発生している問題・エラーメッセージ

UnknownValueError Traceback (most recent call last) <ipython-input-31-494701daff7a> in <module> 166 with sr.AudioFile(outf) as source: 167 audio = r.record(source) --> 168 f_text = r.recognize_google(audio, language="ja-JP") 169 print(f_text) 170 ~/opt/anaconda3/lib/python3.8/site-packages/speech_recognition/__init__.py in recognize_google(self, audio_data, key, language, show_all) 856 # return results 857 if show_all: return actual_result --> 858 if not isinstance(actual_result, dict) or len(actual_result.get("alternative", [])) == 0: raise UnknownValueError() 859 860 if "confidence" in actual_result["alternative"]: UnknownValueError:

該当のソースコード

Python

1import speech_recognition as sr 2import wave 3import struct 4from scipy import fromstring, int16 5import numpy as np 6import math 7from googleapiclient.discovery import build 8import youtube_dl 9

Python3

1wav_list = ['A.wav','B.wav'] 2name_list = ['A','B'] 3 4for i in range(2): 5 wr = wave.open(wav_list[i], "r") 6 7 ch = wr.getnchannels() 8 width = wr.getsampwidth() 9 fr = wr.getframerate() 10 fn = wr.getnframes() 11 total_time = 1.0 * fn / fr 12 integer = math.floor(total_time) 13 t = int(time) 14 frames = int(ch * fr * t) 15 num_cut = int(math.ceil(integer / t)) 16 data = wr.readframes(wr.getnframes()) 17 wr.close() 18 19 X = np.frombuffer(data, dtype=int16) 20 21 for j in range(num_cut): 22 outf = wav_list[i] 23 start_cut = int(j * frames) 24 end_cut = int(j * frames + frames) 25 Y = X[start_cut:end_cut] 26 outd = struct.pack("h" * len(Y), *Y) 27 28 # 書き出し 29 ww = wave.open(outf, "w") 30 ww.setnchannels(ch) 31 ww.setsampwidth(width) 32 ww.setframerate(fr) 33 ww.writeframes(outd) 34 ww.close() 35 36 # txt起こし 37 r = sr.Recognizer() 38 with sr.AudioFile(outf) as source: 39 audio = r.record(source) 40 f_text = r.recognize_google(audio, language="ja-JP") 41 print(f_text)

補足情報(FW/ツールのバージョンなど)

Mac, python3, jupyter, Anacondaを使用しています

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

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

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

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

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

guest

回答2

0

ベストアンサー

少し変更したところ原因はわかりませんが、解決しました。

投稿2021/11/06 14:59

退会済みユーザー

退会済みユーザー

総合スコア0

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

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

0

python

1wav_list = [A.wav,B.wav] 2name_list = [A,B]

このリストは各要素をクオーテーションで囲んで文字列にしないといけないのが原因じゃないでしょうか?

投稿2021/11/06 12:17

Supernove

総合スコア1154

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

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

退会済みユーザー

退会済みユーザー

2021/11/06 12:53

ご指摘ありがとうございます。 質問の際に抜けたので、付け加えました。
Supernove

2021/11/06 13:19

あ、抜けてたということはこれが原因ではないんですね…
退会済みユーザー

退会済みユーザー

2021/11/06 13:58

そうですね、細かいところまで見ていただきありがとうございます 原因わかりますか?
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問