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

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

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

Google Cloud Platformは、Google社がクラウド上で提供しているサービス郡の総称です。エンドユーザー向けサービスと同様のインフラストラクチャーで運営されており、Webサイト開発から複雑なアプリ開発まで対応可能です。

Google Cloud Storage

Google Cloud Storageは、グーグル社が提供しているクラウドベースのデベロッパー・企業向けストレージサービス。可用性に優れ、APIで操作可能なため、データのアーカイブ保存やアプリケーションのコンテンツ提供など様々な用途に活用できます。

Python

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

Q&A

0回答

1372閲覧

GCP Speech to text で話者分離されずに出力される (beta版指定済み)

engnao

総合スコア29

Google Cloud Platform

Google Cloud Platformは、Google社がクラウド上で提供しているサービス郡の総称です。エンドユーザー向けサービスと同様のインフラストラクチャーで運営されており、Webサイト開発から複雑なアプリ開発まで対応可能です。

Google Cloud Storage

Google Cloud Storageは、グーグル社が提供しているクラウドベースのデベロッパー・企業向けストレージサービス。可用性に優れ、APIで操作可能なため、データのアーカイブ保存やアプリケーションのコンテンツ提供など様々な用途に活用できます。

Python

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

0グッド

1クリップ

投稿2021/02/25 01:36

編集2021/02/25 01:54

■■事象
Python環境でGCP Speech to text を使用して話者分離を実装しています。
具体的な実現方法として、Google Cloud Storage ファイルを使用してテキスト化を実現しています。

しかし、下記のpython実行コードを実行してもテキスト化はされますが、話者分離はされません。
尚、Beta版のライブラリのインポート、RecognitionConfig内の話者分離のtrue(下記コード)の指定は記述しており、
実行結果にエラーコードは出力されていません。

from google.cloud import speech_v1p1beta1 as speech
config = speech.RecognitionConfig( encoding=speech.RecognitionConfig.AudioEncoding.FLAC, sample_rate_hertz=rate, language_code="ja-JP", enable_speaker_diarization=True, diarization_speaker_count=2, )

この事象に対し、話者分離の方法を教えて頂きたいです。
よろしくお願いいたします。
(下記python実行ファイル)

python

1#coding:utf8 2import sys 3#from google.cloud import speech 4#from google.cloud import speech_v1 as speech 5from google.cloud import speech_v1p1beta1 as speech 6from google.cloud import storage as gcs 7from mutagen.flac import FLAC 8from pydub import AudioSegment 9import magic 10 11filename = sys.argv[1] 12bucketname = 'bucketname1' 13 14#gcsからデータをダウンロード 15client = gcs.Client() 16bucket = client.get_bucket(bucketname) 17blob = gcs.Blob(filename, bucket) 18content = blob.download_as_string() 19 20#ダウンロードした音声データからencoding、rate、lengthの情報を取得 21mime = magic.Magic(mime=True).from_buffer(content) 22if mime == 'audio/x-wav' and '.wav' in filename: 23 encoding = 'LINEAR16' 24 sound = AudioSegment(content) 25 if sound.channels != 1: 26 print('Must use single channel (mono) audio') 27 sys.exit() 28 rate = sound.frame_rate 29 length = sound.duration_seconds 30elif mime == 'audio/x-flac' and '.flac' in filename: 31 encoding = 'FLAC' 32 with open(filename, 'wb') as f: 33 f.write(content) 34 f.close() 35 sound = FLAC(filename).info 36 if sound.channels != 1: 37 print('Must use single channel (mono) audio') 38 sys.exit() 39 rate = sound.sample_rate 40 length = sound.length 41else: 42 print('Acceptable type is only "wav" or "flac".') 43 sys.exit() 44 45print('\n-*- audio info -*-') 46print('filename : ' + filename) 47print('mimetype : ' + mime) 48print('sampleRate : ' + str(rate)) 49print('playtime : ' + str(length) + 's') 50print('\nWaiting for operation to complete...') 51 52client = speech.SpeechClient() 53 54audio = {'uri':'gs://' + bucketname + '/' + filename} 55config = speech.RecognitionConfig( 56 encoding=speech.RecognitionConfig.AudioEncoding.FLAC, 57 sample_rate_hertz=rate, 58 language_code="ja-JP", 59 enable_speaker_diarization=True, 60 diarization_speaker_count=2, 61) 62 63if length < 60: 64#再生時間が1分未満の場合 65 response = client.recognize(config=config, audio=audio) 66else: 67#再生時間が1分以上の場合 68 #operation = client.long_running_recognize(config, audio) 69 operation = client.long_running_recognize(config=config, audio=audio) 70 response = operation.result(timeout=length) 71 72print('\n-*- transcribe result -*-') 73 74#結果をコンソール出力 75for index, item in enumerate(response.results): 76 print('[%d]Transcript >>>' % (index + 1), item.alternatives[0].transcript) 77 print('[%d]Confidence >>>' % (index + 1), item.alternatives[0].confidence)

■■参考資料
【Python】Google Cloud Speech-to-Text APIの2種類のライブラリを使い比べてみた
https://qiita.com/r-wakatsuki/items/d867bfb80afc24d96de5
Cloud Speech-to-Text 公式リファレンス
https://cloud.google.com/speech-to-text/docs/how-to?hl=ja

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

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

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

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

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

guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

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

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

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問