質問: youtubeにビデオをアップロードせずにgoogleのyoutube音声認識を使用するにはどうすればよいですか? 字幕をつけたい講義動画がたくさんあります。 youtubeは、特定の状況下でビデオの字幕を自動的に生成します(これらの状況は、私にとってはまだ謎です)。この音声認識技術をyoutube以外でも使用できるようにしたいと思います。トランスクリプトを取得するためにすべてのビデオをアップロードしたくない(時間がかかりすぎる)に加えて、約30分を超えるビデオ(ほとんどがそうである)に対してyoutubeがそれを行うとは思わない。さらに、公開されていない動画についてはそうなるとは思わないでください(これは、販売を目的としたプレミアムコンテンツであるため問題です)。完璧なシナリオ:これらのビデオからトランスクリプトを取得するためにデスクトップから実行できるプログラムがあり、youtubeと同等かそれ以上の品質で、youtubeが生成するsrtまたはxmlと同様のタイムコードを持っています[- youtube字幕を取得する方法 ]。許容できるシナリオ:プライベートであろうとパブリックであろうと、長さにかかわらず、youtubeに動画を文字起こしさせるために私ができるいくつかのトリックがあります。実行可能なシナリオ:自分のプログラムのコーディングに使用できるライブラリーまたは何かがあります。私はc#は得意で、c++は大丈夫です(しかし、私はc#を好みます)。
回答: 古いgoogleスピーチapiを使用していますが、これを正確に行う「autosub」(githubのagermanidis/autosubを参照)というツールがあります。このツールはffmpegを使用してオーディオをflacファイルにストリップし、flacファイルをgoogleに送信して文字起こしを行います。 srtまたはvttファイルを生成します。古いgoogle apiが原因で、精度が低くなっています。最近のapiがあります( "cloud speech rest api" at https://cloud.google.com/speech/docs/apis )。このapiはかなりシンプルで、ある時点で、それを使用するためにautosubをフォークする予定でした。代わりに、youtubeにアップロードし、キャプションが完了したときにvttファイルをダウンロードします。これの複雑さは、youtubeが、たとえば、2つの単語ではなく、非常にきめ細かいキャプション(たとえば、いくつかの単語)を生成することです。文。これにより、手動スキャンを実行するときにキャプションを確認することが難しくなります。