[{"data":1,"prerenderedAt":291},["ShallowReactive",2],{"news-item-\u002Fja\u002Fnews\u002Fgcp-webservice-laravel-2":3},{"id":4,"title":5,"body":6,"category":279,"created by":280,"date":281,"description":282,"extension":283,"meta":284,"navigation":130,"path":285,"sections":286,"seo":287,"stem":288,"thumbnail":289,"__hash__":290},"content_ja\u002Fja\u002Fnews\u002Fgcp-webservice-laravel-2.md","GCPを使ったLARAVEL開発 - Part 2",{"type":7,"value":8,"toc":267},"minimark",[9,14,26,29,35,38,41,67,70,75,85,90,100,104,108,119,124,127,137,140,144,147,151,157,159,164,167,170,178,181,185,189,196,200,205,208,211,215,224,228,230,235,238,243,250,255,261],[10,11,13],"h2",{"id":12},"vi-speech-to-textapi利用","VI. 「Speech-to-Text」API利用",[15,16,17,18,25],"p",{},"API仕様書は",[19,20,24],"a",{"href":21,"rel":22},"https:\u002F\u002Fcloud.google.com\u002Fspeech-to-text\u002Fdocs\u002Fquickstart-client-libraries",[23],"nofollow","こちら","で参照できます。",[15,27,28],{},"クライアントライブラリのインストール方法",[15,30,31],{},[32,33,34],"code",{},"composer require google\u002Fcloud-speech",[15,36,37],{},"Speech-to-Textを用いることで音声ファイルをテキストファイルに変換することができます。",[15,39,40],{},"以下の三つの処理を行うコントローラーを作成します。",[42,43,45,48,64],"div",{"style":44},"margin-left: 20px;",[15,46,47],{},"1. リクエストからアップロードされた音声ファイルを取得すること。",[15,49,50,51,59,60,63],{},"2. ",[19,52,55],{"href":53,"rel":54},"https:\u002F\u002Fwww.ffmpeg.org\u002F",[23],[56,57,58],"strong",{},"「FFMpeg」","ライブラリを使って音声ファイルを",[56,61,62],{},"FLAC","に変換すること。",[15,65,66],{},"3. 以下のようなソースコードを利用することで「Speech-to-Text」APIから返却されたテキストを表示させること",[15,68,69],{},"SpeechToTextControllerにて",[71,72,74],"h3",{"id":73},"_1-リクエストから受信した音声ファイルをflacに変換します","1. リクエストから受信した音声ファイルをFLACに変換します。",[76,77],"img",{"className":78,"alt":82,"src":83,"style":84},[79,80,81],"block","mx-auto","mb-4","","https:\u002F\u002Fhomepage-media.s3.ap-southeast-1.amazonaws.com\u002Fwp-content\u002Fuploads\u002F2020\u002F05\u002F25170415\u002FScreen-Shot-0032-04-21-at-11.04.26.png","width: 60%;",[15,86,87],{},[56,88,89],{},"※なぜFLACに変換する必要があるかというと、",[91,92,93,97],"ul",{},[94,95,96],"li",{},"「Speech-to-Text」APIを利用する場合はコンフィグ（RecognitionConfigクラス）をする必要がありますから。",[94,98,99],{},"AudioEncodingが重要な項目なので、最良な結果を得るためFLACまたはLINEAR16を使うことがお勧めですから。",[71,101,103],{"id":102},"_2-返却されたテキストを表示させます","2. 返却されたテキストを表示させます。",[76,105],{"className":106,"alt":82,"src":107,"style":84},[79,80,81],"https:\u002F\u002Fhomepage-media.s3.ap-southeast-1.amazonaws.com\u002Fwp-content\u002Fuploads\u002F2020\u002F05\u002F25170439\u002FScreen-Shot-0032-04-21-at-11.05.38.png",[15,109,110,111,114,115,118],{},"ファイルをアップロードする ",[56,112,113],{},"「Choose File」"," ボタン、",[56,116,117],{},"「Transcribe」"," ボタン、デフォルトとして「English（US）」を選択している言語選択ドロップダウンリストが入っている簡単なプログラムを作りました。",[76,120],{"className":121,"alt":82,"src":122,"style":123},[79,80,81],"https:\u002F\u002Fhomepage-media.s3.ap-southeast-1.amazonaws.com\u002Fwp-content\u002Fuploads\u002F2020\u002F05\u002F25172423\u002FScreen-Shot-0032-04-21-at-11.13.52.png","width: 100%;",[15,125,126],{},"日本語音声ファイルを選択します。",[128,129,132,133],"audio",{"controls":130,"style":131},true,"width: 100%","\n  ",[134,135],"source",{"src":136},"https:\u002F\u002Fhomepage-media.s3.ap-southeast-1.amazonaws.com\u002Fwp-content\u002Fuploads\u002F2020\u002F05\u002F25170906\u002Fjapanese_file.mp3",[15,138,139],{},"結果はこちらです。",[76,141],{"className":142,"alt":82,"src":143,"style":123},[79,80,81],"https:\u002F\u002Fhomepage-media.s3.ap-southeast-1.amazonaws.com\u002Fwp-content\u002Fuploads\u002F2020\u002F05\u002F25170545\u002FScreen-Shot-0032-04-21-at-11.56.52.png",[15,145,146],{},"素晴らしい！うまくゆきました！",[10,148,150],{"id":149},"vii-text-to-speechapiの利用","VII. 「Text-to-Speech」APIの利用",[15,152,17,153,25],{},[19,154,24],{"href":155,"rel":156},"https:\u002F\u002Fcloud.google.com\u002Ftext-to-speech\u002Fdocs\u002Fquickstart-client-libraries#client-libraries-usage-php",[23],[15,158,28],{},[15,160,161],{},[32,162,163],{},"composer require google\u002Fcloud-text-to-speech",[15,165,166],{},"Text-to-Speechを用いることで人間のような音声ファイルを生成することができます。",[15,168,169],{},"以下の二つの処理を行うコントローラーを作成します。",[42,171,172,175],{"style":44},[15,173,174],{},"1. リクエストからアップロードされたテキストファイルを取得すること",[15,176,177],{},"2. 以下のようなソースコードを利用することで「Text-to-Speech」APIから返却された音声ファイルをダウンロードできること",[15,179,180],{},"TextToSpeechControllerにて",[71,182,184],{"id":183},"_1-変換前あらかじめ用意しておくこと","1. 変換前、あらかじめ用意しておくこと。",[76,186],{"className":187,"alt":82,"src":188,"style":84},[79,80,81],"https:\u002F\u002Fhomepage-media.s3.ap-southeast-1.amazonaws.com\u002Fwp-content\u002Fuploads\u002F2020\u002F05\u002F25170614\u002FScreen-Shot-0032-04-24-at-13.16.13.png",[15,190,191,192,195],{},"上記のように、音声への変換前に",[56,193,194],{},"言語、ボイス、性別、スピード","などの設定をしておきました。",[71,197,199],{"id":198},"_2-変換後音声ファイルをダウンロードすること","2. 変換後、音声ファイルをダウンロードすること。",[76,201],{"className":202,"alt":82,"src":203,"style":204},[79,80,81],"https:\u002F\u002Fhomepage-media.s3.ap-southeast-1.amazonaws.com\u002Fwp-content\u002Fuploads\u002F2020\u002F05\u002F25170643\u002FScreen-Shot-0032-04-24-at-13.26.44.png","width: 80%;",[15,206,207],{},"音声ファイルの拡張子はMP3形式とします。",[15,209,210],{},"Text-to-Speechに使うプログラムを作りました。以下のように、前述のプログラムより詳しいです。",[76,212],{"className":213,"alt":82,"src":214,"style":123},[79,80,81],"https:\u002F\u002Fhomepage-media.s3.ap-southeast-1.amazonaws.com\u002Fwp-content\u002Fuploads\u002F2020\u002F05\u002F25173644\u002FScreen-Shot-0032-04-24-at-13.47.28-1.png",[15,216,217,218,223],{},"画面にて",[19,219,222],{"href":220,"rel":221},"https:\u002F\u002Fhomepage-media.s3.ap-southeast-1.amazonaws.com\u002Fwp-content\u002Fuploads\u002F2020\u002F05\u002F28125501\u002Fjapanese.txt",[23],"日本語テキストファイル","を選択し、他の必要なオプションを選択します。",[76,225],{"className":226,"alt":82,"src":227,"style":123},[79,80,81],"https:\u002F\u002Fhomepage-media.s3.ap-southeast-1.amazonaws.com\u002Fwp-content\u002Fuploads\u002F2020\u002F05\u002F25170749\u002FScreen-Shot-0032-04-24-at-14.06.20.png",[15,229,139],{},[128,231,132,232],{"controls":130,"style":131},[134,233],{"src":234},"https:\u002F\u002Fhomepage-media.s3.ap-southeast-1.amazonaws.com\u002Fwp-content\u002Fuploads\u002F2020\u002F05\u002F25170937\u002Ftext-to-speech-file.mp3",[15,236,237],{},"素晴らしい！",[15,239,240],{},[56,241,242],{},"参考元",[15,244,245,246],{},"1. ",[19,247,248],{"href":248,"rel":249},"https:\u002F\u002Fcloud.google.com\u002Fvision\u002Fdocs\u002Focr#vision_text_detection-php",[23],[15,251,50,252],{},[19,253,21],{"href":21,"rel":254},[23],[15,256,257,258],{},"3. ",[19,259,155],{"href":155,"rel":260},[23],[15,262,263,264],{},"4. ",[19,265,53],{"href":53,"rel":266},[23],{"title":82,"searchDepth":268,"depth":268,"links":269},2,[270,275],{"id":12,"depth":268,"text":13,"children":271},[272,274],{"id":73,"depth":273,"text":74},3,{"id":102,"depth":273,"text":103},{"id":149,"depth":268,"text":150,"children":276},[277,278],{"id":183,"depth":273,"text":184},{"id":198,"depth":273,"text":199},"tech talk","Briswell Vietnam Co Ltd","2020-06-05","VI. 「Speech-to-Text」API利用 API仕様書はこちらクライアントライブラリのインストール方法","md",{},"\u002Fja\u002Fnews\u002Fgcp-webservice-laravel-2",null,{"title":5,"description":282},"ja\u002Fnews\u002Fgcp-webservice-laravel-2","https:\u002F\u002Fhomepage-media.s3.ap-southeast-1.amazonaws.com\u002Fwp-content\u002Fuploads\u002F2020\u002F05\u002F26155516\u002F0_brH9cM9rnSRx2I-S-1.png","IQ50Jmp8rZTXQfvMilHGKMtFjvZfzCRJuHdjfXKf3uo",1785320530580]