音声ファイルの容量を小さくしたい!

ブログをCloudflare Pagesを利用して作成できるようになった・・・

Netlifyで運用しているブログをCloudflare Pagesに移行する

これで通信量を気にすることがなくなったといっても良いだろう!!!そして私にはやってみたいことがある。

ポッドキャストを始めたい!!

現在YouTubeのポッドキャスト機能?を利用してやっているのですが、本当の意味での?ポッドキャストを始めてみたいのです!!(RSSで更新情報を共有したりするやつね~!)

しかし立ちふさがる大きな問題があります・・・!

1ファイル25MBまでという制限・・・!!!

/posts/2024/12/%E9%9F%B3%E5%A3%B0%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%81%AE%E5%AE%B9%E9%87%8F%E3%82%92%E5%B0%8F%E3%81%95%E3%81%8F%E3%81%97%E3%81%9F%E3%81%84/Pasted_image_20241210050405.png

/posts/2024/12/%E9%9F%B3%E5%A3%B0%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%81%AE%E5%AE%B9%E9%87%8F%E3%82%92%E5%B0%8F%E3%81%95%E3%81%8F%E3%81%97%E3%81%9F%E3%81%84/Pasted_image_20241210050420.png

現在YouTubeに挙げているポッドキャストを音声に変換したところ、その容量は「47.5MB」となっています・・・!!大きすぎる・・・!!

ということで、色々試してみてファイルの容量を減らしてみます。その過程の共有です。

ちなみに変換のベースとしている音声ファイルを一部切り取ったもの(容量の問題で・・・)が以下です

方法

ChatGPTに聞いたところ、ひとまず以下の方法を試してみるのはいかが?と言われました。

  • 低ビットレートでエンコード
    • 音声の圧縮方法を工夫したりして?容量を減らしている??
  • モノラル変換
  • サンプリングレートの変更
    • 高音域がなくなったりする?
  • コーデックの選択
  • VBR(可変ビットレート)の活用

やってみる

https://aviutl.info/sannpurinngure-to-bittosinngo/

知識がないのであれなのですが・・・ビットレートを低くすることは実質サンプリングレートも小さくなるという気もするのだけど・・・違うのかな?

ということでとりあえず

  • 低ビットレートでエンコード
  • モノラル変換
  • コーデックの選択

このあたりを試してみることにする

低ビットレートでエンコード

ffmpeg -i output_audio.mp3 -b:a 64k output_audio_64bitrate.mp3

を実行する。容量を半分にすると24MB制限にぎりぎり耐えられそうだと思ったので、ビットレートを64kを指定した。

/posts/2024/12/%E9%9F%B3%E5%A3%B0%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%81%AE%E5%AE%B9%E9%87%8F%E3%82%92%E5%B0%8F%E3%81%95%E3%81%8F%E3%81%97%E3%81%9F%E3%81%84/Pasted_image_20241210061455.png

/posts/2024/12/%E9%9F%B3%E5%A3%B0%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%81%AE%E5%AE%B9%E9%87%8F%E3%82%92%E5%B0%8F%E3%81%95%E3%81%8F%E3%81%97%E3%81%9F%E3%81%84/Pasted_image_20241210061505.png

サ行のあたりが、かすれて聞こえている気がしますね。

けれども!この方法でも問題なく聞ける程度の音質な気がしますね!

ただ、現状を見るに大体50分程度の音声までが容量的な限界な気がします。

モノラル変換

単純に容量が半分になるとかならめっちゃでかいかも!!

ffmpeg -i output_audio.mp3 -ac 1 output_audio_mono.mp3

を実行する。

/posts/2024/12/%E9%9F%B3%E5%A3%B0%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%81%AE%E5%AE%B9%E9%87%8F%E3%82%92%E5%B0%8F%E3%81%95%E3%81%8F%E3%81%97%E3%81%9F%E3%81%84/Pasted_image_20241210061854.png

/posts/2024/12/%E9%9F%B3%E5%A3%B0%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%81%AE%E5%AE%B9%E9%87%8F%E3%82%92%E5%B0%8F%E3%81%95%E3%81%8F%E3%81%97%E3%81%9F%E3%81%84/Pasted_image_20241210061903.png

うーん・・・?ビットレートが半分になっている?ああ、「ビットレート」だから良いのか!確かにビットが半分になっているからビットレートも半分になっているっていうことね!

先ほどの変換で起こったサ行等の違和感は減っている気はしますね!! ただ、モノラルになった影響なのかBGMの雰囲気は変わってしまっている気がしますね・・・ここは注意が必要そうですね

コーデックの選択(&ビットレートを下げる)

使用するコーデック(mp3とか~・・・aacとか~・・・そういったものだと理解)によって、低ビットレートでもいい感じに聞こえる!高ビットレートだといい感じ!みたいな特徴があるらしく・・・いろいろ見ていると「Opus」というものがかなり良い感じみたいなのでそれを利用してみる。

指定するビットレートは先ほどビットレートを下げたものと同じ64k

ffmpeg -i output_audio.mp3 -b:a 64k output_audio_opus_64bitrate.opus

/posts/2024/12/%E9%9F%B3%E5%A3%B0%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%81%AE%E5%AE%B9%E9%87%8F%E3%82%92%E5%B0%8F%E3%81%95%E3%81%8F%E3%81%97%E3%81%9F%E3%81%84/Pasted_image_20241210063117.png

/posts/2024/12/%E9%9F%B3%E5%A3%B0%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%81%AE%E5%AE%B9%E9%87%8F%E3%82%92%E5%B0%8F%E3%81%95%E3%81%8F%E3%81%97%E3%81%9F%E3%81%84/Pasted_image_20241210063135.png

なぜか知らないけどmp3のビットレート64kのものより容量が減った。

主観かもしれませんが、変換後のopusファイルを聞いてみると、先ほどのmp3(ビットレート64k)のモノで発生していた、サ行の違和感がなくなっているように感じました!!!すごい!!

もう少しビットレートを落としてみる

ffmpeg -i output_audio.mp3 -b:a 32k output_audio_opus_32bitrate.opus

さらに半分にしてみる。これがうまくいくなら2時間程度の音声なら24MBに収められる!

/posts/2024/12/%E9%9F%B3%E5%A3%B0%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%81%AE%E5%AE%B9%E9%87%8F%E3%82%92%E5%B0%8F%E3%81%95%E3%81%8F%E3%81%97%E3%81%9F%E3%81%84/Pasted_image_20241210063702.png

/posts/2024/12/%E9%9F%B3%E5%A3%B0%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%81%AE%E5%AE%B9%E9%87%8F%E3%82%92%E5%B0%8F%E3%81%95%E3%81%8F%E3%81%97%E3%81%9F%E3%81%84/Pasted_image_20241210063712.png

そこまで違和感ないかも!!!!!すごい!!!!

こうなってくるとさらに下げてみたくなってくる・・・!!!

ffmpeg -i output_audio.mp3 -b:a 16k output_audio_opus_16bitrate.opus

さらにもう半分!!

おーーーー!違和感がかなり増えてきたけど、まだ全然聞ける感じかも???

さらにもう半分!!

ffmpeg -i output_audio.mp3 -b:a 8k output_audio_opus_8bitrate.opus

一気に急に音質が悪くなったように聞こえる!!!!!wさすがにここまで下げたくはないですね・・・・

結論

自分の用途だと・・・

大体一時間程度までの音声: 32k opus ffmpeg -i output_audio.mp3 -b:a 64k output_audio_opus_64bitrate.opus 大体二時間程度までの音声: 16k opus もしくは 32k opus のモノラル 大体四時間程度までの音声: 16k opus のモノラル

っていうか!!二時間とかになるなら音声ファイルを分割したほうが良いかもね!!!!そもそも!!!!

もとの音声の何倍も小さいサイズに変換できるのすごいよね・・・!マジで!!