Azure AI Fundamentals(AI-901) 無料問題 8 / 10 ・ 分野2: Microsoft Foundry を使用して AI ソリューションを実装する
旅行者向けのアプリで、利用者が入力した英語やスペイン語の文を、その言語のまま読み上げたい。Learn のユニットの text-to-speech のサンプル コードで、読み上げる声の扱いに合うものはどれか。
- SpeechConfig の speech_synthesis_voice_name に言語ごとの声を並べておき、入力の文の言語に合う声を SDK がその都度選んで話す
- SpeechConfig の speech_synthesis_voice_name に多言語のニューラル音声を1つ設定し、その声が入力の文に合わせて言語を切り替えて話す
- AudioOutputConfig に言語ごとの声を並べておき、入力の文の言語に合う声を SDK がその都度選んで話す
- AudioOutputConfig に多言語のニューラル音声を1つ設定し、その声が入力の文に合わせて言語を切り替えて話す
正解と解説を見る
正解: B
正解の理由
ユニット「Speech synthesis」の「Developing an application」の節のサンプル コードは、SpeechConfig を作ったあと、speech_config.speech_synthesis_voice_name に en-US-Ava:DragonHDLatestNeural という声を1つ設定する。その行のコメントは、このニューラルの多言語の声は、入力の文に合わせて別の言語を話せると書く。出力先は AudioOutputConfig(use_default_speaker=True) で既定のスピーカーにし、SpeechSynthesizer に SpeechConfig と AudioOutputConfig を渡して、speak_text_async(text) で読み上げる。声は SpeechConfig、出力先は AudioOutputConfig という分担である。
違う選択肢
「AudioOutputConfig に多言語のニューラル音声を1つ設定し、その声が入力の文に合わせて言語を切り替えて話す」… AudioOutputConfig は、サンプルでは use_default_speaker=True として、音声をどこへ出すか(既定のスピーカー)を決める設定である。声の名前はここではなく、SpeechConfig の speech_synthesis_voice_name に設定する。出力先の設定に声を入れても、読み上げる声は決まらない。
「SpeechConfig の speech_synthesis_voice_name に言語ごとの声を並べておき、入力の文の言語に合う声を SDK がその都度選んで話す」… 設定する場所は合っているが、サンプルが設定する声は1つである。言語ごとの声を並べて SDK に選ばせる形は、サンプルに無い。コメントのとおり、多言語のニューラル音声を1つ設定し、その声が入力の文に合わせて別の言語を話す。
「AudioOutputConfig に言語ごとの声を並べておき、入力の文の言語に合う声を SDK がその都度選んで話す」… 場所も仕組みも違う。AudioOutputConfig は出力先(既定のスピーカー)を決める設定で、声は SpeechConfig の speech_synthesis_voice_name に設定する。また、サンプルは言語ごとの声を並べず、多言語のニューラル音声を1つ設定して、入力の文の言語に合わせて話させる。
関連する設定
ユニットは、text-to-speech には読み上げる文と、それを声にする音声の2つが要ると書く。Text to Speech の API には、多くの言語と地域の発音に対応した定義済みの声があり、抑揚の不自然さを抑えるニューラル音声も含まれる。自社用のカスタムの声を作って API で使うこともできる。