音声波形 PNG / SVG 生成 — 振幅波形を画像化
音声ファイル (MP3 / WAV / M4A / FLAC / OGG / Opus) をドロップすると、ブラウザ内で波形 (振幅 vs 時間) を Canvas に描画して PNG または SVG としてダウンロードできます。Mode 切替: ミラー (上下対称、SoundCloud / Audacity 風) / ベースライン (上方向のみ、シンプル)。Option: 色 (HEX) / 背景色 (HEX or 透明) / 解像度 (480 / 720 / 1080 / 1440 px 横幅) / ステレオを L/R 別レーン or モノラル化。サムネイル画像、ポッドキャストのカバー、配信用 OG 画像、ZINE のレイアウト素材、講義音声の S/N 確認用ビジュアル化など、音声を見て理解したいあらゆる場面に。音声はブラウザ内で完結。
使い方
音声ファイル (MP3 / WAV / M4A 等) を 1 つ以上ドロップまたは選択します。 描画モード (ミラー / ベースライン) と横幅 / 高さ、波形色、背景色を調整します。 ステレオ音源は L/R 別レーン (上下並べて表示) かモノラルミックスを選択できます。 ファイル追加または設定変更で自動的に再描画されます。 PNG / SVG ボタンから現在の波形をダウンロード。背景チェックを外せば PNG / SVG を透過で書き出せます。
詳細解説
波形画像を作るために渡す音声は、多くの場合作りかけの素材
波形ビジュアライゼーションが必要になる場面は、SoundCloud や Spotify のような配信プラットフォームに合わせたサムネイル制作、ポッドキャストのエピソードサムネイル、音楽アーカイブやブログ記事への埋め込み用画像、動画制作でのトランジションや背景エフェクトなどです。これらはすべて「音声コンテンツを公開する直前」か「まだ制作中の段階」で作業が発生します。
波形画像の生成には音声ファイル全体を読み込む必要があります。波形の見た目だけが目的であっても、サーバーには音声全体が届きます。「波形の画像が欲しかっただけ」という操作の軽さと、「音声全体が転送される」という実態のギャップがあります。
波形生成サービスに音声を送ることの問題
波形画像生成に特化したオンラインサービスは少ないですが、音声に関連した機能を複数持つサービスがこの機能を提供することがあります。このとき音声ファイルはサーバーへ届き、利用規約でコンテンツ使用の許諾が設定されているサービスでは、楽曲やポッドキャストの音声が対象になります。
波形画像の外見から元の音声の内容は分かりませんが、波形パターンは音声の特徴 (ダイナミクス・無音区間の分布・音量の時系列変化) を視覚的に表しています。この視覚パターンも派生データとして、どこかに記録されます。「画像だけ返してもらえれば」という意図と、実際の動作には差があります。
decodeAudioData + Canvas 2D / SVG polyline でブラウザ内描画
このツールは Web Audio API の decodeAudioData で音声をデコードし、サンプル列をダウンサンプリング (横幅 px に対応するブロック単位で RMS を計算) してから Canvas 2D コンテキストでミラーモードまたはベースラインモードの波形を描画します。SVG 出力は polyline 要素として書き出し、サイズ自由なベクター形式で保存できます。透過背景 PNG も Canvas の toBlob('image/png') で対応しています。処理全体がブラウザのメモリ内で完結します。
DevTools の Network タブを開いた状態でファイルをドロップしても、ページロード後の音声関連リクエストはゼロです。描画パラメータの変更 (色・サイズ・モード) も、デコード済みのサンプルデータをブラウザ内で再計算するだけです。実装コードは GitHub で公開されています。
波形画像を制作フローに活用する際の注意点
ステレオ音源の L/R 別レーン表示は、インタビュー録音の話者別音量バランスの視覚確認や、マルチマイク録音の素材確認に便利です。SVG 形式での書き出しは、デザインツール (Figma / Illustrator 等) でサイズや色を後から編集できるため、ブランドカラーに合わせた波形画像の制作に向いています。波形と並べて周波数分布を確認したい場合は audio-spectrum を、テンポやリズム構造を把握したい場合は audio-bpm-detect を同じブラウザ内で開けます。
波形のダウンロード後は音声ファイルそのものは手元に保持されたままです。波形画像だけを外部サービスへのアップロード素材として使い、音声ファイルを出さないという使い方が、プライバシーの観点から最も安全です。SNS や配信プラットフォームに使う波形サムネイルを、ブラウザ内で完成品として用意しておく設計になっています。
波形ダウンサンプリングのアルゴリズム — RMS / Peak / Min-Max
横幅 1080 px の波形を 3 分 (約 8 百万サンプル) の音声から描画する際、サンプル列を約 7400 サンプルごとの「バケット」にまとめて 1 px に圧縮します。このバケット内の代表値を選ぶ方式が 3 つあり、それぞれ視覚効果が異なります。RMS (Root Mean Square) は sqrt(Σ x²/n) で計算し、エネルギーの「平均的な大きさ」を表現するため、楽曲全体のダイナミクスを滑らかに見せます。本ツールが採用する方式です。
Peak (絶対値の最大) は各バケットの max(|x|) を取り、瞬間的なスパイクを保存するため SoundCloud / Audacity 風の「角張った」波形になります。Min-Max は [min(x), max(x)] のペアを保存し、本来の波形の上下対称性を保ったまま視覚化できる方式で、Audacity の高ズーム時の表示と一致します。それぞれの方式は最大値ピクセルの解釈が異なるため、同じ音声でも見た目が変わります。デザイン用途では RMS の「滑らかさ」、解析用途では Peak の「正確なクリップ位置」、編集用途では Min-Max の「上下対称」が向いています。
SVG vs PNG の選び方とブランディング用途での寿命
PNG はラスタ画像で、書き出した時点の解像度 (480 / 720 / 1080 / 1440 px) で固定されます。Twitter / Instagram などで直接シェアする・ブログに <img> として埋め込む用途では PNG が手軽です。一方 SVG はベクター形式で、出力後に Figma / Illustrator / Sketch でストローク色・線幅・グラデーション・フィルター効果を後付けできます。ブランドカラーのリブランディング、シリーズ全体のサムネイル再生成、印刷物 (ZINE / ライナーノーツ / ポスター) への流用といった「将来再加工する可能性が高い」用途では SVG を保存しておく価値があります。
ファイルサイズの観点では、3 分の音声を 1080 px 横幅の SVG に出すと polyline 要素のポイント数が 2160 (mirror モードで上下 2 本) になり、約 25-50 KB です。同サイズの透過 PNG は密度によって 50-200 KB、不透明 PNG は 100-300 KB と SVG より大きくなります。ロード時間が重要なサムネイル用途では SVG の方が軽く、品質も維持できます。透過背景 PNG は SoundCloud のプレイヤー埋め込みなど「背景色を環境に合わせたい」場面で、CSS で背景色を動的に変える前提なら有用です。
よくある質問
- どのくらいの長さまで描画できますか?
- 1 時間級の音声でもブラウザ内で扱えますが、横幅 px が決まっているので長くなるほど 1 px に多数のサンプルが詰め込まれ、細かい変化が見えにくくなります。長尺の細部を見たいときは横幅を 1440 px や 1080 px に上げてください。
- ミラーとベースラインはどう使い分ければいいですか?
- 音楽や Podcast の見た目重視ならミラー (SoundCloud 風)。サムネイル / アイコン的に小さく表示する場合は、潰れにくいベースラインが向きます。Audacity を真似たいならミラー一択です。
- SVG と PNG の違いは?
- PNG はラスター画像で確定サイズ。SoundCloud のような Web 表示には十分です。SVG はベクター (polyline) なのでサイズ可変、印刷やバナーの差し替え素材に最適。Path は (時間, 振幅) を線で結んだ単純構造なのでデザインソフトでも編集できます。
- ステレオの L/R を別々に出したい
- Mode は 1 ファイル 1 出力ですが、ステレオオプションで「L/R を上下に分けて表示」を選べば 1 枚の中に上下並べて出せます。完全に別ファイルにしたい場合は audio-channel-split を先に通してから各モノラルファイルを個別解析してください。
- データはどこかに送信されますか?
- いいえ。Web Audio API の decodeAudioData で読み、Canvas / SVG で描画して Blob を作るだけです。アップロードはありません。
「送らない」を確かめるには
このツールは入力データを外部に送信しません。仕組み・監査手順・運営方針は以下で詳しく説明しています。
類似のツール
音声スペクトラム解析 — 周波数成分を可視化
音声ファイル (MP3 / WAV / M4A / FLAC / OGG / Opus) をドロップすると、ブラウザ内で FFT 解析を行い周波数スペクトルを可視化します。Mode 切替で、全体の平均スペクトル (周波数 vs 振幅) と、時間軸付きのスペクトログラム (時間 × 周波数 × 振幅) を切り替え可能。FFT サイズ (512 / 1024 / 2048 / 4096) と周波数軸 (Linear / Log) を選べます。マスタリング前のローエンド確認、ノイズ帯域の特定、楽器の倍音構成のチェック、講義音声の S/N 確認などに。Canvas を PNG ダウンロード、平均スペクトルは CSV エクスポート対応。音声はすべてブラウザ内で処理され、サーバーには送信されません。
BPM 自動検出 — 音声から BPM を推定
音声ファイル (MP3 / WAV / M4A / FLAC / OGG) をドロップすると、Web Audio API のローパスフィルタ + ピーク検出 + ヒストグラム解析で曲の BPM を自動推定します。DJ ミックスの相手曲、サンプル素材のテンポ確認、踊りやランニングのテンポ合わせ、bpm-time-stretch で揃える前の参考値取得などに便利。半分・倍テンポの候補も併記するので、4 つ打ちで 60 BPM と出たけど実際は 120 BPM、のような誤検出も自分で判断できます。音声はブラウザ内で完結。
音声の無音カット — 前後の無音を自動で除去 (ffmpeg.wasm)
MP3 / WAV / M4A / AAC / OGG / OPUS / FLAC の先頭と末尾にある無音区間を ffmpeg.wasm の silenceremove フィルタでまるごと自動カットします。録音直後の数秒のしんとした部分、講演の出だしのもたつき、ポッドキャスト末尾の余韻が長すぎる場合などに。しきい値 (dB) と最小無音長 (秒) を細かく調整でき、前後どちらをカットするかも切り替えられます。複数ファイルを一括処理して ZIP でまとめて受け取れます。すべての処理はブラウザ内で完結し、ファイルは外部に送信されません。
音声フォーマット変換 — MP3 / WAV / M4A / OGG / FLAC
音声ファイルを mp3 / wav / m4a / ogg / flac へ変換します。ffmpeg.wasm が出力拡張子に応じてコーデックを選択して再エンコード。複数ファイル一括処理 + ZIP ダウンロード対応。ファイルはサーバーに送信されません。