辛宝Otto

辛宝Otto 的玄酒清谈

北漂前端程序员儿 / 探索新事物 / Web Worker 主播之一/内向话痨
xiaoyuzhou
email

始める前に自慢したことを考えてみましょう:セカンダリーコンシューマーの英語のポッドキャストコンテンツ

後続の補足:ビデオは作らず、オーディオを作りました。詳細はこちらをご覧ください。

00 - イヤイヤ、走ればいい!辛宝新アイデア、個人ソロポッドキャスト

一つの記事を水にし、雑談をする、自然な流れ全体。

起源#

私は中国語のフロントエンドオーディオポッドキャスト「Web Worker」のホストです。以前、私は英語のオーディオポッドキャストを二次消費したいと言って自慢しました。以前は手間がかかるプロセスでしたが、今日はコードを少し書いてプロセスを簡単にしました。ここで紹介とメモをします。

もし誰かが見ているなら、インタラクティブなフィードバックも歓迎します。

フロントエンド英語ポッドキャストとは何ですか?#

フロントエンド英語ポッドキャスト#

ポッドキャストは、英語圏の世界では伝統的な音声メディアであり、フロントエンドプログラマーに焦点を当てたポッドキャストも多数あります。そのため、私は二次消費のアイデアを思いつきました。

英語圏のフロントエンドポッドキャストの品質は非常に高く、ゲストを招待することができるだけでなく、Vervel の技術責任者、人気のあるフレームワーク React/Vue/Angular のコアメンバー、人気のあるツールライブラリ Eslint の作者、ベストセラーの著者など、品質が保証されています。

以前に一部を集めたのですが、2022 年の State of JS の調査アンケートには、学習リソースの中でポッドキャストに関する質問がありました。結論はこちらです:https://2022.stateofjs.com/en-US/resources/podcasts/

したがって、フロントエンドの品質の良いポッドキャストはすべてここにあります。もちろん、2022 年にはまだ Web Worker はありませんが、2023 年に一緒にランキングを作りましょう。これは余談です。

これがコンテンツのソースです。

二次消費#

外国のリソースが良いので、英語も上手(当然ですが)、それを翻訳して流用できるでしょうか?

自分にとっては視野を広げることであり、自分のフロントエンドのトピックを増やすことができます。また、純粋な技術英語を学ぶこともできます。番組を作る場合は、自分自身に品質の高い出力を強制することもできます。

ここまで考えると、新しいセクションや番組を始めることができます。

ワークフロー#

言葉にすれば行動です。オーディオポッドキャストを消費するためには、次の手順が必要です。

  1. 興味のあるポッドキャストのコンテンツを見つける
  2. オーディオをテキストに変換し、テキストに翻訳する
  3. 読んで理解し、要約を作成する
  4. 音声およびビデオの録音と出力

それぞれの手順を分析し、フローを最適化します。

興味のあるポッドキャストのコンテンツを見つける#

前述のフロントエンドポッドキャストのリストに基づいて、各チャンネルを購読し、コンテンツを理解しました。次のチャンネルは除外しました:

  • ドイツ語、ロシア語など、英語に限定
  • 常に更新されないチャンネル、少なくとも昨年 1 回以上更新されたチャンネル

残りのチャンネルは RSS を収集し、専用の購読方法を使用しました。ここで使用したのは RSSANT というウェブサイトです。RSS なので、オーディオファイルのダウンロードも簡単です。

このステップで、興味のあるポッドキャストを見つけ、各エピソードの mp3 ファイルを取得しました。

オーディオをテキストに変換し、テキストに翻訳する#

以前には、テンセントクラウド、アリババクラウド、フェイシューミャオジのサービスを使用したことがありますが、それなりに使えました。後で OpenAI が独自に展開した「Whisper」というプロジェクトを発見しました。このプロジェクトは、自分のコンピュータの CPU/GPU リソースを使用してオーディオをテキストに変換することができます。

私は GPU を持っていないので、CPU の速度も遅くありません。いくつかの試行錯誤の結果、最終的には Whisper.cpp が提供するソリューションを使用し、CPU を使用しました。最近、彼は M1 Apple チップのアクセラレーションソリューションを提供しましたが、起動が非常に遅いため、CPU を引き続き使用しています。

ここには画像が入ります。1 時間の英語のポッドキャストに対して、Whisper.cpp + Medium.enモデルを使用した計算時間です。後で補完します。

ここには、さまざまなモデルの選択の利点と時間の比較を説明する画像が入ります。後で補完します。結論は、Medium.enで十分です。

コマンドラインを使用して、すぐに SRT 形式の英語字幕ファイルを取得しました。

私はlaf.runを使用して、国内の機械翻訳サービスである火山翻訳にアクセスしました。火山翻訳の機械翻訳サービスには、月に 500 万の無料クォータ(2023 年 5 月 2 日まで)があり、十分に利用できます。また、機械翻訳は非常に成熟した技術であり、他のものを使わなくても問題ありません。OpenAI の「ChatGPT」を思い浮かべたかもしれませんが、焦らないでください。

ここでは、引き続き laf.run というウェブサイトの例を紹介します。これは独立したデプロイ可能なサーバーレスプラットフォームであり、現在は無料で提供されているサービスを利用しています。ここでは、重要ではありませんので、一旦省略します。

インターフェースがあるので、残りは GUI ページを作成するだけです。私はvue3arco-designを使用して、シンプルなフロントエンドページを作成しました。

皆さんに笑われるかもしれませんが、スクリーンショットを載せます。

スクリーンショット 2023-05-02 00.59.22

このページでは、次のことが実現されています。

  • SRT ファイルのインポートと解析。FileReader
  • 純粋なテキストの抽出。
  • 最大 5000 文字の切り取りとセグメント化された翻訳。
  • セグメント化された翻訳のループ呼び出し。
  • 翻訳結果のプレビューとファイルのダウンロード

これで翻訳作業が完了しました。

読んで理解し、要約を作成する#

実践が知識を生む。やはり自分で聞いてみる必要があります。二言語の字幕があるので、聞くのは簡単です。

字幕ファイルを直接読むこともできます。

聞きながら理解し、要約の下書きができます。

laf.run が非常に便利なので、ChatGPT も組み込んで要約を作成することができます。

技術ポイント:

  • laf.run は API を提供し、GPT サービスをラップします。
  • 英語のセグメント化と API のループ呼び出し
  • 要約のプレビューとダウンロード

体力勝負は私には向いていませんので、簡単なページを作成しました。

スクリーンショット 2023-05-02 01.06.46

Prompt は最適化できると思いますが、それは後で考えます。

音声およびビデオの録音と出力#

これについては、Bilibili で一度公開しましたが、自分自身はあまり満足していません。精力的なコストがかかるため、明日再度試してみます。

音声とビデオを同時に出力することを好むので、複数のプラットフォームに誘導します。

後で更新します。

読み込み中...
文章は、創作者によって署名され、ブロックチェーンに安全に保存されています。