1. 八百万のOSS
  2. #10 なぜMeetやZoomで録らない..
#10 なぜMeetやZoomで録らないのか —— ポッドキャスト収録の技術
2026-07-08 50:31

#10 なぜMeetやZoomで録らないのか —— ポッドキャスト収録の技術

Meetの録画じゃダメなの?——ダメなんです。音質の劣化、そして何より話者ごとにトラックを分離できないから。


今回はhentekoが「八百万のOSS」を支える自作ツール群を解説します。ブラウザだけで収録できる「Maycast Room」、非破壊編集にこだわったmacOSアプリ「Maycast Studio」、Apple公式SpeechAnalyzerとDeepgramの使い分け、50分の音源が10秒で文字起こしされる衝撃、Remotion製の予告編動画の作り方。失敗して捨てたハイライト抽出ツールが予告編のアイデアに繋がった話も必聴です。


自分でもポッドキャストをやってみたい人への実践的なヒントが詰まった回です。


- MayCast Studio (henteko): https://github.com/henteko/maycast-studio

- deepgram-cli (henteko): https://github.com/henteko/deepgram-cli

- Cloudflare: https://www.cloudflare.com/

- Cloudflare R2: https://developers.cloudflare.com/r2/

- Mediabunny: https://mediabunny.dev/

- Auphonic: https://auphonic.com/

- Deepgram: https://deepgram.com/

- Remotion: https://www.remotion.dev/

- FFmpeg: https://ffmpeg.org/

- Apple SpeechAnalyzer: https://developer.apple.com/documentation/speech/speechanalyzer

- Google Gemini API: https://ai.google.dev/

- Claude Code: https://claude.com/claude-code

- Logic Pro: https://www.apple.com/logic-pro/

- VLC media player: https://www.videolan.org/vlc/

- Pocket Casts: https://pocketcasts.com/


─────────────

YouTube: https://youtu.be/7WsDmAzB-r4

Web: https://yaoyorozu-oss.henteko07.com/

X: https://x.com/yaoyorozu_oss

感想

まだ感想はありません。最初の1件を書きましょう!

00:00
ちょっと今回は、自分が henteko さんに聞いてみたいんですけど、いいですか?
はい、もちろんです。話していきましょう。
はい。我々、なんかこうやってポッドキャストを始めたじゃないですか。
はい。
それで、今もまさに henteko さんが作ったウェブサービスで録音してるし、
あと、録音者データの編集とか、あと最近なんかツイッターで動画もなんか出してるじゃないですか。
はい。
この辺、なんか何が必要で、どうやってるのかって、自分もちゃんと知っておきたいなと思ってるんですけど、
この辺り教えてもらっていいですか?
はい、もちろんです。
まず最初何から話していこうかなってとこなんですが、
ポッドキャストの運用って、結構いろいろ工程あったりするんですけど、
すごいざっくり言っていくと、企画、収録、編集、最終確認と、
あと配信準備、広報みたいな形で、全部で6つぐらいかな。
6つぐらいの、ざっくり分けると6つぐらいの工程に分かれてたりするんですが、
結構意外とめんどくさいんですよね。
いろいろやることがあるなと思う。
いろいろあるなという感じで。
各工程において、ちょっと自分の性格上、あとはこのYaoyorozのOSSという性質上ですね、
いろいろOSSとしてできる限り自作していきたいなというような感じで、
企画運営をやってたりしますね。
この中の、特に今話しにあがった収録のツールみたいなところも自作していたりするんですけど、
ここら辺から話しできればいいかなという感じですかね。
そうですね。
まずこの今まさに撮ってる収録ツールなんですけど、
ちょっと名前つけてて、Meycastroomって名前でやってるんですけど、
これは収録ツールの特徴としては、
各話者の僕とヘンテコと片杉さんのブラウザ上で動作するようなサービス、
URLにアクセスしてもらってという感じですね。
アクセスするだけで収録ができるよというような、
Meetどっか、あとはZoomの場合はアプリ入れてもらわないと収録できないのかなと思いますけど、
Meetみたいな感じですね、ざっくり言うと。
各話者のローカルPCで録音しつつ、音声データを細かくチャンク分割して、
裏でリアルタイムで非同期でアップロードして、
録音終了と同時にはもうすでに音源回収ができてるみたいなツールを自作していたりしますね。
Meetだと音質悪くなるじゃないですか。
それでローカルで録りたいっていう意図なんですか、これは。
そうですね、Meetの場合は基本的に、Meetでももちろんバックアップとして録音録画してるんですけど、
そうしてしまうとやっぱりローカルの音源ではないんですよね。
03:01
結局クラウドにアップロードして音源が圧縮された状態でダウンロードするって形になってしまうので、
音質の劣化が起きてしまう。
あともう一個非常に重要なのが、和写ごとに音声ファイルを分離したいんですよ。
例えば片辻さんの音声ファイル、ヘンテコの音声ファイルという形で別々にファイルとして分離したいんですよね、音声ファイルのトラックを。
これ何で必要かというと、例えば一人の人が喋ってるときにもう片方の、
例えば僕が今喋ってるときに片辻さんの方でバックグラウンドで変な音が鳴ってしまったみたいなときに、
ちゃんと分離してるとそっち側のトラックだけ無音にすることができるので、
こういった形で分離されてた方が後々の編集がやりやすいという意味で、
ローカルでちゃんと別々のファイルとして録音するっていうのが一番やりやすいっていう感じですね。
例えば音量が違うとか、性質が違うから別の処理したいとか、そういうのってあるんですか?
音量が違うからとか、性質が違うからというのはあんまないかなと思ってて、
そこら辺は後々の編集のときに音量の差だったりとか、そういったところは全部AIだったりとか、
そういったのを使って調整可能なので、逆に言えばちゃんと音声ファイルが分離されてれば、
そこら辺はいい感じに後々の編集工程でできるかなという感じがありますね。
だからこそ分離されてることの方が重要っていう。
なるほど。JavaScriptのAPIでローカルで録音ができるってことなんですか?
そうです。基本的には中でやってることはMP4のフラグメントMP4を作って、
すごい具体的なことを言うと、映像トラックがないフラグメンテッドMP4を作って、
チャンクごとに分けてアップロードしています。
音声トラックだけのちゃんと分割可能なファイルフォーマットで上げてるみたいな感じですね。
なので内部的にはWASMを使って分割しています。具体的には。JavaScriptだけではないです。
WASMで音声ファイルを作るWASMを動かして、それがどんどんファイルをアップロードしている。
結構大変なことをしてますね。
結構めんどくさいですね。WASMを使わないとCPU的に遅れをとってしまうみたいな感じが。
06:03
JavaScript単体だったら結構難しいのかなというのがあって、そういった形にしているという感じがあります。
このWASMって元にFFMPEGとかそういうのをコンパイルしているんですか?
もうちょっとだけ具体的な話をすると、内部でMediaBunnyというライブラリを使っていまして、
そのMediaBunnyでMediaBunnyというライブラリでMP4を生成しているというような形になっています。
フラグメントとMP4を作っていくみたいな形になっています。
そういうのが便利に作れるようなライブラリがあってという感じです。
それって言語Cとかラストとかどれ使っているんですか?
これは今ちょっと調べたんですけど、さっきWASMを使っていると言ったんですけど、
もしかしたら内部でTypeScript Pureで書かれている気がしますね。
ちょっとここまだ調べられていないんですけど。
なるほど。
そういったものを使ってやっています。
どっちもあり得るようなと思っていて、JavaScriptのAPIを使っている可能性もあるし、
例えばGoogle Meetとかも確か背景を変える機能とかあるじゃないですか。
バーチャル背景みたいなの。
バーチャル背景みたいなの。
あの辺はWASMらしいんですよね。
なのでこの辺りってうまく組み合わせて使っている気がするので、
いろいろ使っているサービス多いと思うので、どっちもあり得そうだなとは思っていますね。
そうですね。基本的にはどっちも組み合わせて、
どっちか単体という話ではないかなと思っています。やっています。
なるほど。
それでJavaScript、ブラウザー側で頑張ってMPEG-4を作って、
それをどんどん定期的にサーバーに上げていくという形ってことですよね。
基本的にはそのアーティテクチャで収録の方はしていますね。
結果的にそのチャンク5というのを分かれたやつを最終的にダウンロードするときに、
ブラウザ側でもっかい結合して、M4Aという形でダウンロードさせるという形にしています。
それもブラウザでやるんですね。
そうです。チャンクを全部ダウンロードしてきて結合して、
エンコードし直すということをブラウザ側でしていますね。クライアント側で。
なるほど。サーバー側はどうなっているんですか?
サーバー側はファイルをインフラはCloudflareを使って、
チャンクファイルは全部R2にそのままアップロードする形にしているんですよ。
アップロードのときに、これはDevToolsとか見てもらうと、
リアルタイムに見てもらうと分かるんですけど、
R2に直接S3のサインドURLみたいな感じの機能があるので、
それで直接R2にアップロードして、サーバー側はもうそれのみなんですよ。
R2に保存するのみと。
09:02
なるほど。
そのチャンクをクライアント側で全てダウンロードしてきて、
クライアント側でダウンロードした後、結合してエンコードし直すという形にしています。
なのでサーバー側でひどきなワーカーが走って生成し直すということはしてないんですよね。
じゃあバックエンド側は本当に最低限、
基本的にはR2に直接ブラウザからどんどん保存していって、
そのR2のデータもブラウザ側でまたファイルを作って出すみたいな、
かなりブラウザ側に寄せた作りなんですね、これは。
そうですね。そもそもクラウドフレアのインフラを使っていい感じにしたい。
できる限りお金をかけたくないというような思想があるので、
バックグラウンドのそういうひどき処理、重そうな処理はなるだけしないというような感じを、
今これは取ってますね。
なるほど、確かに。
バックエンド側で動画ファイルとか作ろうとすると、
FFAPEGを使って頑張ってやったりとか、
あとすごい時間かかっちゃったりとか、
そうなんですよね。
結構いろいろあるので、確かに現実的かもしれないですね、この構成は個人でやるなら。
結構めんどくさいんでね。
って感じで収録ツールは基本的にはやってますね。
さっき言った通りクラウドフレアのインフラすべて使ってるので、
基本的にもうペイドワーカーズですかね、
クラウドフレアのペイドワーカーズプランで、
月5ドルぐらいでもう全部できてるので、
全然いいなっていう。
クラウドフレアほんと5ドルあれば結構いろいろできちゃうから。
個人だと正直5ドル以上払うの難しいまであるんですよね。
難しいですね。
どうやって払うんだって感じなんですけど。
マジクラウドフレアやばいですよね。
みんな使ったほうがいいなと思いましたね。
使えるんだったら。
他のPodcastの人たちがどうやって録音してるか正直、
自分あんま詳しく知らないんですけど、
例えばMacとかWindowsのアプリを入れてローカルにファイルを保存して、
それを共有してるみたいなことやってる人もいるんじゃないかなと思うんですよね。
そうですね、やってるところもあるんじゃないかなと思います。
そうなると、前ちょっと話したアクシオスのサプライチェーンアタックなんですけど、
アクシオスも音声アプリを入れて、
ちょっとおかしいですね、これやってくださいみたいなことを言われて、
サプライチェーンアタックされたらしいんですよ。
我々これからこのPodcastにもゲスト呼びたいなみたいな、
特にOSS頑張ってる人を呼びたいなみたいな話してるじゃないですか。
まさにこれMacアプリだったら、
アクシオスのサプライチェーンアタックと同じことになっちゃうなっていう気がしてるんですよね。
12:02
そうですね、セキュリティ的な観点で言うと、
どこの誰が作ったっていう、信頼性がない人からのネイティブアプリを入れて、
いきなり入れて収録しましょうみたいなの、かなり抵抗ありますよね、普通に。
自分が逆の立場になったら嫌だって言うと思うんですよね。
分かります。
だからブラウザで完結してるのすごいいいなって思ってて、今のロックオンシステム。
ブラウザのセキュリティレベルに合わせられるっていうようなところですよね。
セキュリティのサンドボックスの中で動くので。
我々やっぱりウェブエンジニアなんで、
ブラウザからの攻撃って相当めんどくさいというか相当難しいの分かってるじゃないですか。
なのでブラウザで完結するんだったら全然怖くないなっていうのは結構大きいですね。
いや、でかいですよね。
ぶっちゃけここに関してはそれを意図していたわけではなくて、
アクシオスのサルプライチェーン攻撃があるからブラウザでやろうなんて全く思ってなくて、
全然違うことで、単純にいろんな人にゲストだったりとか、
あとは他のポッドキャストの収録とかでも、
僕のこのメキャストルームっていうのは使ってるんですけど、
その時に音を録るっていう収録ツールっていう観点に立つと、
例えばMac使ってる人とかWindows使ってる人とかLinux使ってる人とか、
いろんなOSがいるわけですよね。
ネイティブのアプリを入れてもらうっていう形にしてしまうと、
単純に使えないんですよね。
Macだけ対応しましたみたいな感じだとWindowsの人使えないしみたいな。
そういった観点があるので、ブラウザだったら誰でも使えるよねっていう観点で、
そっちでブラウザで使えるような形にしたっていうのがあるので、
その結果こうなったよねっていうような。
結果としてみんなが使えるし、かつセキュリティ的にも嬉しいみたいな感じになったって感じですかね。
そうですね。なんで三方良しって感じがしますね。
答えだいぶいいなと思ってますね。
ちょっと余談で他のポッドキャストがどうやって収録してるのかみたいな話なんですけど、
この収録ツール、そもそも作ろうとしたきっかけが他のポッドキャストの運営とかしている中で、
既存のワークフローがあったわけですよ、他のポッドキャストの収録ワークフローでは。
そっちでは各話者ごとにローカルの例えばMacだったらQuickTimeだったりとか、
あとはWindowsだったらちょっと名前わかんないですけど標準の録音、録画システムアプリとかを立ち上げて、
各話者ごとに全部ローカルのアプリ起動して録音開始してくださいねみたいな感じでやってたんですよ。
15:04
そうすると何が問題かって、例えば今片杉さんだったらマイクあるじゃないですか、
今MacBook Airのマイク使われてるかなと思うんですけど、
このマイクを使いたいとか、あとは逆にポッドキャストのプロデューサーの立場からこのマイク使ってください、
手話のこのマイク絶対にセットアップしてくださいとかあるわけじゃないですか、音質気にしたい場合は。
ローカルでそういった独自というか各話者のローカルで動いてるようなシステム、
QuickTimeとかだとそのマイクがどれ使って設定してるかってわかんないですよね。
ちゃんと見に行かないとわかんないですね、結構奥の方の設定見に行かないと。
全然間違ってることあるんですよ。
そうですよね。
手話のマイク使うはずだったのにAirPodsのマイクになってましたよみたいな。
それで収録ミスると痛いんですよかなり。
全然押して違いますからね。
これ使ってほしくなかったみたいなのがあると。
っていうのが1点と、デバイスがわかんない問題ですね。
使ってるデバイスがわかんない問題が1点と、
あともう1個地味にデカいのが頭が合わない問題です。
収録をするって各自がボタンをポチッと押すんで収録の音源が頭が合ってないんですよ。
0秒のタイミングが合ってないので、
これどうするかっていうと後で編集で頑張って波形を合わせるみたいなことをするんですけど、
物理的なやり方としてみんなで一斉の背でパチンって手で音を鳴らすっていうことをしてたんですよ。
その場では。
これなんだろうな、なんかテクノロジーで解決できるわなっていうような感じがあったので、
ブラウザで全員同じ部屋に入って、
ディレクターというか管理者がちゃんと使われてるマイクが、
どのマイクをこの人は設定してるっていうのが見れる状態で録音を一気に開始できる。
ミリ秒単位で合わせられるっていうようなシステムが必要だったんですよ。
っていうのでこのMakestreamを作ったっていうのがあります。
確かに結構嬉しいなと思ってて、
自分もたまにあるんですよね、仕事とかでも、
Google MeetでBluetoothのイヤホンしてるとそっちのマイク使えるんですけど、
やっぱBluetoothのイヤホンって基本的に音質悪いからMacのマイク使いたいんだけど、
なんか気づいたら切り替わってることがあって、
それでなんか音声悪いってなって、
あ、ごめん間違ってましたみたいな、結構やるんですよ。
けど今使ってるMakestreamだと最初にどのマイク選択されてるか出てるから、
18:01
これ地味にすごい嬉しいんですよね、自分も。
そこが重要だからっていうのがありますね。
なんか普通のミーティングツールとは観点違いますもんね。
そうですね、Meetだったら間違ってますよって言われたらその場で直すからそこまでじゃないんだけど、
ポッドキャストで録音するマイク間違ってたら結構へこむと思うんですよね。
いやかなり理解です。
なので結構嬉しいなと思ってます自分も。
っていうのでまるっと収録ツールのところで言うとブラウザで全員がアクセスできるような形で、
かつ効率的に後々の編集でやりやすいような形でしているっていうのが結構大きくありますね、
独自のツール使ってるっていう利点としては。
いいですね、これは。
そうですね、収録ツールの話かなと思います。
なるほど、じゃあ他のツールもいきますか。
そうですね、次が編集なんですけど、編集ツールとしてはこっちもMeycast Studioっていうのを作ってて、
こっちは全てOSSで現状でも公開しているようなものになってます。
こっちは逆にさっきMeycast Roomっていう収録ツールがブラウザで動作するっていうクラウドフレームのサーバーがあるような形だったんですけど、
こっちのStudioは編集ツールなんで基本的に僕しか使わないんですよね。
片杖さんが使うものではないですよね。
使わせてはないですね。
なのでmacOS専用アプリとして作ってます。
逆に振り切ってるって感じですね。
ブラウザでやる必要性もないし、ネイティブのアプリの方がいろいろできることがあるので、
それを使ってるっていうような形になってて。
結構こだわってるポイントとしては全ての操作を切り戻し可能にするっていうのにこだわってて、
非破壊っていう言い方をするのかどうかわかんないですけど、
何か編集をしたら全部のスナップショットというか、
変更したファイルを全部残していくっていう感じにしてます。
なのでファイル単位で単純に戻れるって感じですね。
編集を巻き戻せるって形にしてたりします。
それだとすごいローカルにファイル溜まってきません?
溜まりますね。
それは大丈夫なんですか?
大丈夫かどうかで言うと大丈夫じゃないんじゃないかなとは思いますけど、
別に自分でやってるから問題ないかなというような気がしてます。
定期的に?編集終わって定期的に消せばいいでしょっていう感じ?
そうですね、そんなパワー運用で解決でいいかなと思いますね、ここに関しては。
なるほど。
あとは基本的にこの編集ツールっていうのも、
21:04
Podcastの編集さんがいたりするようなところだと、
例えば普通にLogic ProとかそういうDAWって呼ばれる
商用ツールみたいなのも結構使われてるところとか結構あるかなと思うんですよね。
編集ツールって。
ただこれは僕の問題なんですけど、そういうLogic ProとかいうDAW、
全く使い方がわかんないんですよ。
この手の動画編集とかも有名なソフトはいくつかあるんですけど、
結構プロ用なんですよね基本的に。
だから使うの普通に難しいですよね。
難しいですね。何をしたらいいかわかんないですもん、そもそも。
自分もちょっと見たことあるんですけど、マジでわかんないですね。
気持ちわかります。
そういうLogic Proとかを一時期使ってたんですけど、
やってることって音声の波形を見てただ単にカット、
ここの部分はカットしたいからカットするみたいな感じなんですよ。
それしかやってないんですよ。
すごい機能とか多分あるとは思うんですけど、全く使ってないんですよね。
なので、だったら自分で作っちゃった方がやりやすいかなと思って
作ったっていうのが経緯としてありますね。
なるほど。
ここを作ったからこそいろいろできているところがあるなというのがあって、
カット編集ももちろんスタジオの方ではサポートしてますし、
このスライスのスライスっていう中で読んでるんですけど機能としては、
この機能もちょっと最近入れたのが、
ちょこちょこさっきとかこの収録の本番音源ではきっとカットされてるところなんですけど、
カットとか切ってここ切りますとか、さっき言ったかなと思って片杉さんにしかこれ伝わらないと思うんですけど、
ここ切りますとか、こういうワード入れてるかなと思うんですけど、
これも全部スタジオの方で自動で検知して、
ここの部分を切る候補にしますみたいな感じでやってたりします。
それも推薦されるってことですか?
推薦されます、はい。
え、すご。
内部で文字起こしして、その文字起こしからジェミニンを呼び出して、
カットとか切るとかそういうことを言ってるところをマーキングして、
ここ切ったほうがいいですよみたいな感じで推薦してたりしますね。
めちゃくちゃいいじゃないですか。
かなり便利になりました、それ入れて。
逆にそういうのが入れられるのが自作ツールの利点かなと思いますね。
自分のワークフローに合わせる形で。
なるほど。
これがSwiftで作ってるって感じですか?
24:00
全部Swiftですね。
全てSwiftで作ってます。
なるほど。
そういった形で編集した後、
あとはPodcastの場合ってさっき言った音声ごとの音量レベルを合わせたりだったりとか、
聞きやすいような音量調整したりとか、
あとはバックグラウンドのノイズをいい感じに削減したりとか、
正式名称はよくわかってないんですけど、
音声のクリアー化って勝手に呼んでるんですけど、
音声のクリアー化をする必要性がありますと。
それも結構いい感じの外部サービスがあって、
名前がどう発音するのか定かではないんですけど、
Authonicっていうようなサービスがかなりいい感じのものがあって、
これ使うと複数トラックのままいい感じに無音部分とかもカットしてくれるんですよ。
複数トラックで無音部分もちゃんと検知した状態でカットしてくれるっていうのが結構良くてですね、
あんまりないんですよね、そういう外部のAPIが。
全部シングルトラックで複数トラックをガッチャンコしてシングルトラックにした結果、
無音部分を検知するっていうことは大体のことはできるんですけど、
それをマルチトラックにした状態でちゃんとマルチトラックのまま無音部分をカットするっていうことがなかなか難しくて、
これがAuthonicがかなりすごいぞというような感じですよね。
でもマルチトラックの状態でカットした方が精度を上げやすい気がするんですよね。
例えば自分のマイクにしか入ってない雑音って絶対あるじゃないですか。
ありますね。
それカットしようと思ったらシングルトラックになってると逆にやりにくいと思うんですけど。
そうなんですよ。
なのでなんでシングルトラックしか他のサービスがサポートしてないのかはちょっと謎なんですけど、
Authonicがかなりいいですね。
なるほど。
っていうのをこのスタジオの内部からはAPI呼び出しして、
音声トラックをアップロードして処理してもらってダウンロードしてくるみたいなことをしてたりします。
なるほど。いいですね。
やっぱなんか実際ポッドキャスト、他のポッドキャスト聞いてるときもやっぱりなんかその雑音が入ってたりすると気になるし、
あと無音部分も自分の場合ポケットキャストってアプリで無音部分はこっちでもカットしちゃってるんですけど、
無音部分があまりにも長いやつって聞きにくいんですよねシンプルに。
だから自分ポケットキャストで自分のアプリの中でも無音部分消しちゃってるんですけど、
27:02
やっぱりちゃんと元の音源から消えてほしいなっていうのはすごい思ってるんですよね。
そもそもちゃんとしといてほしいですよね。最低限は。
最低限やってほしいなと思ってて、やってほしいことちゃんとやってくれるからすごい嬉しいなと思いますね、このAPI。
ほぼほぼこいつなんですよ、オーフォニックさんがいい感じにしてくれるという、オーフォニックに全て任せろという感じなんですけど、なんかいい感じになります。
なるほど。
っていうのが大体ざっくりした編集ツールのところかなと思いますね。
他にはこの内部でAppleの公式のスピーチアナライザーとかを使ってローカルで文字起こししてたりするんですけど、
そのAppleの公式のスピーチアナライザーの文字起こし精度がかなりいいぞというような話はあったりするんですけど。
なるほど。スピーチアナライザーだと無料で使えるんですよね。
無料でローカルのCPU使うので、しかもかなり早いんですよ。
ウィスパーとか使うよりか全然公式のAPI使っちゃった方が絶対いいと思いますね。下手にやるよりか。
意外とその手のAPI使うと意外と精度悪かったりとか結構お金かかっちゃったりとかするんで、これめっちゃいいですね。
かなり精度がいいし、ちゃんとトラック分離もマルチトラックなのでしているからこそ、
変でこの和写、文字起こし、形の文字起こしみたいな感じでちゃんと分けられるんで、かなりいいなと思いますね。
逆にシングルトラックになっていると和写分離できないんですよ。Appleの公式のスピーチアナライザーだと。
この間のWWDCの2026の発表で新しくAPIが追加されて和写分離が入ったんですけど、このスピーチアナライザーには新しいmacOSでは。
ただ精度どうなんだろうなというのはちょっと怪奇的ではありますね。
たぶん音質とか声質で頑張って分けるんですよね。もともとトラック分かれたらそんなことやる必要ない?
そうなんですよ。絶対にトラックはここでも分けてとかいいんですよ。
そうですね。絶対分けた方がいいですね。
というような感じがあったり。最終的にはそのシングルトラックにして一つのMP3でエクスポートするので、最終的にはFFMPEGでガッチャンコしてます。
そこだけFFMPEGなんですね。
そうですね。ここが結構肝なところで。
Podcastって最終的にMP3でアップロードしているんですけど、MP3の呪縛から離れられないというような問題が実はありまして。
本当はM4aでアップロードしたいんですよね。
M4aの方がMP4の形式とほぼ互換性があるので、同じ実装で全て叶えるんですけど、MP3だけちょっと違うというような形で。
30:13
このYawartsのOSSのPodcastではチャプターに対応しているんですけど、MP3ファイルの中にメタデータとしてチャプターを入れているという形なんですけど、
それをM4aでもチャプターの機能がメタデータとして入れられて、それを入れることができるんですが、M4aでSpotifyとかにアップロードしてしまうと、
Android端末でチャプターが出てこないという問題が発生してですね。
そうですね。自分が報告しました。
そんなことあるのかって感じがしたんですけど、この現代においてそんなAndroidのiOSで互換性ないかというような感じで、
結局これMP3にしないといけないんだということが判明しましてですね。
MP3でエクスポートするというようなことをするんですが、ここで非常に残念なんですけど、
Appleの公式のエクスポート、そういった音声のガッチャンコする処理する人の公式APIではですね、MP3を書き出すことができないんですよ。
なるほど。悲しい。
悲しいんですよ、これは。FFMPEGじゃないと対応ができなかったというのが現実でした。
まあ、そうそうですよね。今どきMP3使わないですよね。
確かにポッドキャストをやってる人のブログとかたまに見るんですけど、MP3以外使うなって大体のところ書いてあるんですよね。
多分この手のAndroidだとできないとか、そういう問題を踏んでこういう結論に至ったんだろうなっていう気持ちになりますね。
気持ちわかりました。MP3に未だに屈する気持ちが厳しいですね。
ここは確かにFFMPEGとか他のソフトに投げるのがいいですね。
投げてしまえばもう単純にFFMPEGのコマンドを実行するだけなんで、実装としてはかなり楽なんですよね。
ちゃんとチャプターとかの対応とかもFFMPEGの方はできるので、そこに分投げるっていうような形ができたので、かなりエクスポートの処理は楽にできたかなという感じですね。
逆に割り切ってしまえば。
そうですね。いい割り切りだと思いますよ。
っていうのが編集ツールですね。
ここまでが結構編集ツールと収録ツールってところが結構でかいような話で、後は細かいところなのかなっていうところがあったりしますが、
すごい細かいところで最終確認ツールみたいなのもあったりするんですけど、
これちょっと他のポッドキャストの人たちがどうやって確認してるのかなっていうのをマジで分かってなくてですね。
33:01
例えばmacOSとかでさっきの編集ツールでエクスポートしたMP3がありますと、どうやって手軽に聞くんだろうっていうのがあるんですよ。
ミュージックアプリで開いてもミュージックアプリのライブラリーの中に入るの嫌だしとかいうのがあったりして。
あれ使いにくいですよね。
すごい使いづらいんですよ。
Finderのプレビューとかもあるんですけど、それもちょっとフォーカス外れちゃうと止まってしまうとかそういうのもあったりとかして、
みんなどうしてんのっていうような感じなんですけど、
きっとこれLogic ProとかDAWとか使ってる場合はそのDAW上で最終の音源確認するんだろうなとは思うんですよね。
なんですけど、DAWとか僕が作ってるAcast Studioっていう編集ツールで確認しようとしても、
自分の実装を基本的には信頼しないという立場なんですけど。
最終確認はやっぱり他のでやりたいですね。
別実装でやりたいんですよ。じゃないと懸念が外せないので絶対どうしても。
ここちょっと変えたからやっぱぶっ壊れてるなとかいう可能性も全然無きにしもあるはずなので、
別実装でやりたいということで、これもブラウザで動作するような形でミニプレイヤーみたいなのを実装して、
もうそれでブラウザ上にMP3をポンって投げるだけで倍速再生とか、
あとはチャプターのプレビューとかそういうのができるような形で用意していたりはしますね。
なるほど。自分だとVLC使っちゃいますね。
それも聞いたらあったんですけど、入れるのもなぁと思ったんで。
VLCはいろんな動画フォーマットとか対応してたりするんで、VLCじゃないと再生できないやつとかたまにあるんで、
自分は結構VLC入れてるんでVLC使っちゃいますかね、こういう時は。
それでもいいのかもしれないですね。
でもサクッと作れたなら全然いいと思います。
そうですね。全く難しいことはしてないので、多分1時間ぐらいでできたんじゃないかなという感じがしますね。
っていうのがすごいちっちゃいのがあったり。
あとは配信準備ですかね。
最近ヤオヤロズのOSSでは配信のエピソードのタイトルとか、あとは概要とかですね。
そういったのはすべて一旦僕の方ですべて文字起こしをした上で、それをクロードコードでのスキルを使ってタイトルと、
あとはメタデータって言ってるんですけど、概要欄とかそういうのを全部生成させるみたいなことをローカルでしてますと。
その結果をGitHubでクローズドのレポジタリを作って、プリフィックで片瀬さんにレビューを依頼して、それでもう一回編集してもらってっていうような形を取ってたりしますね。
36:16
そうですね。自分は自分でCodeXに全部丸投げしてるだけなんですけど。
なんで自分もCodeXに全部データ入れて直してもらってるだけなんで、だいぶいい感じに今のところできてるかなと思ってます。
いい感じのワークフローになってきて、ちょっとずつ慣れてきてるかなという。
そんな気がしてます。
ここで使ってるやつとして、Deepgramってやつをちょっとここで紹介したいなと思うんですけど、
さっき編集ツールの方でそういう人のApple公式のスピーチアナライザーが文字起こしかなり精度がいいっていう形だったんですけど、
とはいえ精度は良くてスピードもそこそこなんですけど、ちょっとだけ時間かかるんですよ。
50分くらいの音源ファイルで2分くらいはかかるんですよね、全ての文字起こしすると。
ちょっとだけ時間かかると。
こういう配信準備の時とかってサクッとやっていきたい感じ。
プラスクラウドコードのスキルから呼び出すので、Apple公式のAPIがちょっと呼びづらいと。
そういうバイナリー用意しないといけないのでめんどくさかったんですけど、単純に。
っていうのでDeepgramっていう外部のサービスを使ってます、ここだけでは。
Deepgram CLIっていうのを自分で作ってて、そっちからAPI経由で呼び出すみたいな感じのことをしてたりします。
そっちは精度は若干落ちるんですけど、とにかく爆速です。
50分くらいのやつだったら10秒くらいで全部文字起こしされます。
ちょっと意味わかんないんですけど。
10秒でいけるんですね。
そのくらいの体感でいきます。
やばいですね。
日本語かどうかとか言語とかって指定するんですか?
言語も指定してますね。
日本語っていう形でやって、API呼び出しの時にしてます。
なるほど。
でもそんなスピード出せるんだっていう、ちょっとびっくりですね。
ちょっと意味はわからないです、Deepgramに関してはその速度が。
しかもこれ新規登録の時に200ドルクレジットをもらえるんですよ。
今多分Podcast50分くらいのやつ×50分くらいを全部文字起こしとかしてるんですけど、今まで。
残りクレジット170ドルくらいあるんですよ。
なるほど。
全然使ってないんですよね。
200ドル太っ腹ですね、そうなると。
そうなんですよ、ちょっと意味わかんないなとは思ってるんですけど、これ使い切るのかなっていう感じがしてますね。
39:03
そのくらいのDeepgramなんで、0円で未だにやってたりしますね。
なるほど。
っていうので土台を起こして方実際に見てもらって、最終的にはSpotifyの方で手動で登録するみたいなことをやってたりしますね。
このSpotifyへの自動アップロードっていうのもできたら一番いいかなとは思うんですが、未だに公式APIがここ用意されてないんですよね。
なるほど。
ちょっと厳しいなという感じです。
非公式APIはちなみに存在します。
なるほど、使わない方がいいと思いますよ。
そういうのはあんまりやらない方がいいかなと思って、普通に手動でやってたりしますね、ここに関しては。
この後が最近動画を出してるみたいなところの話をしていけたらなとは思うんですけど、予告編動画みたいな感じですね。
そうですね。
これもですね、いろいろやっていく中で気づいた点で、映画の予告編みたいな感じでPodcastの動画が作れたら見やすいかなという感じでちょっと作ってみたっていうのが始まりではありますね、ここに関しては。
すごい大事だと思ってて、Podcastって本当に聞かれるまでのハードルがめっちゃ高いじゃないですか。
そのハードルをやっぱり下げるのって、こういう予告編みたいな動画だと思うんですよね。
だからこれめっちゃいいなと思ってます。
かいつまんでどういうことをその中では話してるのかなっていうのが見えないですもんね。
わかんないから聞こうって気にあんまならないんですよね。
それが予告編だったらパッと見でこういうワード言ってるなみたいなのがなんとなくわかって聞いてみるかというちょっと後押しにはなるかなという感じですかね。
そうですね。実際になってると思いますよ。
だったらかなり作ってよかったなという感じなんですけど、これはすごい単純にですね、この予告編の動画はRemotionという動画の編集、編集ツールじゃないんですけど、
なんか生成ツールなんですかね。
具体的に言うとこれもRemotionもOSSなんですけど、
リアクトのコンポーネントをアニメーションしているのをヘッドレスブラウザで1フレームずつレンダリングすることによって動画化するみたいな感じのツールです、Remotionが。
そのRemotionが公式でクロードコードのスキルとか効果してくれてるんですよ。
それを読み込んだ上でこういう動画を作ってみたいな感じにすると結構いい感じのものになるみたいなザックリとしたRemotionの説明なんですけど、
42:03
それをより自分の中でRemotionを使った動画の生成の知見というのがかなり溜まってきてるんですけど、そういうのを全部織り込んだスキルを作ってて内部で。
こんな感じにするみたいな言うのが全部入った映画の予告編トレーラーを作るスキルみたいなポッドキャストトレーラースキルなんですけど、そういうのを作ってて。
それで音源ファイルと文字起こしのデータを渡せばいい感じのところを切り抜いた状態で作ってくれるって感じに今はなってます。
リアクトのコードに最終的になってるからすごいいいなと思ってて。
今のAIで動画作らせると日本語のフォントが変とか、この文字だけ直したいって言ってもその文字だけ直んなかったりとかするじゃないですか。
ポン出しの場合はそうですね。
ポン出しは無理だなと思ってて。だから文字をちゃんとソースコードとして渡せるっていうのはすごいデカいなと思ってますね。
そうですね。だからこそおいたリアクトとか、別に何でもいいんですけどね。リモーションじゃなくても他のツールでもぶっちゃけよくて。
これ決定論的に動画を生成できるツールであれば全部いいかな。
そう、決定的に出したいんですよね、動画は。
この動画の中で使っている文言とかそういったのも全部manifest.jsonみたいな形で管理してるので、
そのmanifest.jsonを片手さんに共有することですごい細かい用語の修正とかをしてもらったりしてますね。
そうですね。これ予告編で使う場所の切り抜きはAIにさっき言ったスキルでやらせてるって感じなんですかね。
そうですね。抽出自体は文字起こしからいい感じのところを抽出してもらってます。
予告編っていろんな型あるなとは思ってるんですけど、例えば冒頭にフックとなるようなシーンを持ってくるとか、
最後のところにいい感じのシーンに山場とかを作って持ってくるみたいなそういういろんな型があるんですけど、
そういうのを加味した上でいい感じに編集してもらうってことをしてたり、
あとは1分の中に収まるように2倍速までいかないまでも1.8倍速ぐらいで詰めてもらうとかね。
そういったことをしてもらってます。
なるほど。めっちゃいいと思いますよ。
ここら辺はもうちょっと定まってきたら何らかの形でOSSとして公開できていけたらなとは思ってます。
そうですね。自分も知り合いに一番聞かれるのは動画の作り方なんですよね。
なので結構絶対重要あると思うんですよね、あの動画作るの。
なのでOSSめっちゃ期待してます。
45:01
はい。ありがとうございます。
実際にTwitterでも一人の方がコメントで、これ動画どうやって作ってるんですかっていうのがコメント来て。
気になると思うんですよね。だって明らかにAIでポン出ししたやつじゃないし。
みんな作りたいと思いますよ、あの動画。
じゃあ皆さんが作れるような形にできればいいなと。
はい。
思ってます。っていうところまでが、すごいざっくりとした全体のワークフォームの中で現在やってるところですね。
なるほど、なるほど。だいぶざっくり見えてきましたね。
はい。ありがとうございます。
この中にはいろいろ辞めた機能だったりツールだったり、いろいろあったりはするんですけどね。
それもちょっとだけ聞きたいなと思ってて、これやったけどうまくいかんかったみたいなのも自分は知りたいですね。
その中で一個あるのがですね、わかりやすくあるのが、
ハイライト、予告編の時、予告編の動画を作る上でAIがいい感じに自動抽出してくれるみたいなこと言ったじゃないですか。
フロードコードがいい感じにやってくれるみたいな。
それをブラウザ上でというかウェブサーバー上でやるっていうツール、Makest Captionっていうものを実は作ってて過去に。
過去って言っても3ヶ月前くらいなんですけど。
そのMakest Captionっていうのが何かっていうと、音源ファイルをアップロードするとすべて文字起こししてくれて、
文字起こしした中でGeminiとかAIのLLMのモデルは何でもいいんですけど、それによっていい感じのところをピックアップしてくれると。
ハイライトを抽出してくれると。
そのハイライト抽出したものの音源ファイルをいい感じにカットした状態でダウンロードできるみたいなものを作ってたんですよ。
これがあればカットした音源ファイルを全部ダウンロードしてガッチャンクすれば単純に音声ファイルの切り抜き音声みたいなことができるかなと思ったんですよね。
作ってみたんですけど、使わなかったですね単純に。
なんでかっていうと、ハイライトの自動抽出をバーってAIがやってくれるんですが、それがどうしたっていう感じだったんですよ。
技術的な問題というよりはシンプルに面白くなかった。
シンプルに面白くなかったんですね、単純に。
シンプルに面白くなくて、あんま応用イメージ湧かないなと思って、単純に無くしたっていうのがありますと。
なんですけど、そこで気づいた点でハイライトを自動抽出するということはできますし、そのAIによってできるし、
48:02
その結果、そこでやろうとしてたことは単純な切り抜きだったんですよ。
切り抜いた音声ファイルを作るだけだったんですけど、そこから転じてさっき言った予告編というところに転じたかなと思ってて、自分の中でアイディアとして考えとして。
っていうので、こういうキャプションみたいなものを作ったからこそ、さっき言ってた映画の予告編みたいな方がいいんじゃねっていうアイディアに繋がったかなと思いますね。
やってなかったら多分できてないかなと思います。
なるほど、めっちゃいいですね。ある予告編に繋がってるんだったらすごくいい気がします。
っていう失敗がある中での予告編かなとは思ってます。
っていうのがあったりしますね。
ということで、今回結構ザックバランにポッドキャストの裏側というか運営のどういうツールを作ったりとか使ったりとかっていう話をしてきたんですけど、結構いい時間になってきたので。
最後にちょっと片瀬さんにこのバーって、全部基本的には僕の方で裏側でやってたことかなと思うんですけど、感想聞いてみてもいいですかね。こういうことやってたんだみたいな。
そうですね。なんか自分もポッドキャスト興味あったんで、なるほどこういうのが必要なのかみたいなのがいろいろ知れて、実際我々が今やってるYawaroseのOSSのポッドキャストの裏側ちゃんと自分も知れたんで、すごい良い機会になったなと思ってます。
ありがとうございます。
はい、ということで今回はここまでにしたいかなと思います。
YawaroseのOSSでは毎回ひとつまたは複数のOSSを取り上げてですね、それについてガタツイというか技術的なところも深掘りしながら話をしていく番組になってます。
今後もその名の通りYawaroseのOSSを取り上げていけたらなと思ってますので、ぜひお聞きのプラットフォームでフォローと高評価のほうをお願いします。
またですね、このOSSについても取り上げてほしいなどありましたらコメントやXなどで教えていただけると嬉しいです。
番組についての感想もお待ちしております。
あと最近公式ホームページ、公式ウェブサイトのほうでお便りフォームができましたので、そちらも見ていただければ匿名でご感想とか送れるかなと思いますのでよろしくお願いします。
またXなどでつぶやく際にはハッシュタグYawaroseのOSSをつけてくれるとありがたいです。
それでは今回もありがとうございました。
ありがとうございました。
50:31

コメント

スクロール