3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

記事投稿キャンペーン 「2024年!初アウトプットをしよう」

フラグメントシェーダー(GLSL で実装)や p5.js を組み合わせて音のビジュアライザーを作るための下調べ

Posted at

はじめに

タイトルのとおりです。

音を可視化するビジュアライザーに関して、過去に、p5.js をベースにしたものを作ってみるというのを、ほんの少しだけやってみたことがありました。

その時は、上記以外のものをさらに作るというのはやっていませんでした。

そして最近シェーダーを触るようになって、シェーダーを使った作例をいろいろ見ていく中で、音と連動する作品を複数見かけました。それで、シェーダーを使った音の可視化に手をつけようかと思い始め、まずは下調べからやろうと思いました。
それで書いたのがこの記事です。

シェーダーと音を組み合わせた作品やそれに関して書かれた記事

シェーダーを使った描画と音を連動させた作品について、気になった作品のリンクや、作り方について書かれた記事などを、いくつかピックアップしてみようと思います。

ちなみに、探し方は単純で、例えば以下のキーワードの組み合わせで Web検索をしたりという感じです(キーワードの組み合わせを、いろいろ変えてみて、探しています)。

●glsl visualizer javascript - Google 検索
 https://www.google.com/search?q=glsl+visualizer+javascript

他に、Shadertoy で「visualizer」などのキーワードで検索をするというのも良さそうです。

●Browse (1) - Shadertoy BETA
 https://www.shadertoy.com/results?query=visualizer

GLSL を使って VJ をされた方の記事

以下は、GLSL を使って VJ をされた方の記事です。

●GLSLを使ってVJしてきたのでそこで使ったこととかまとめ - Qiita
 https://qiita.com/edo_m18/items/51bbda8ebd81742e19c8

UV の値をそのまま極座標として扱って利用する話や、他の複数の表現の事例などが紹介されていて、とても参考になりました。

シェーダーを使っていない音の可視化

上で紹介したものはシェーダーを使った描画と音を連動させるものでしたが、以下は、シェーダーを使っていないものになります。

シェーダーを使った方法にも参考になりそうで気になったものを掲載しています。

2D・3Dのビジュアライザー

以下は、2D・3Dのビジュアライザーの事例を紹介しています。

●JavaScriptで作成するサウンドビジュアライザー - Web Audio APIで周波数解析 - ICS MEDIA
 https://ics.media/entry/230421/

3Dのビジュアライザーのサンプルがカッコいいです。

image.png

Babylon.js を使ったもの

以下は、Babylon.js を使って実装されたもののデモ動画と、作られたものを試せるライブデモのリンクです。クリック操作に反応した描画なども行われるものでした。

●Babylon JS Audio Visualization Link in the discription - YouTube
 https://www.youtube.com/watch?v=PAjrrzXO1L8

●hiteshsahu.com/AudioAnalysis
 https://hiteshsahu.com/AudioAnalysis

Three.js を使ったもの

以下は、Three.js で描画した球体状のものを使ったもののデモ動画と、ソースコードのリンクです。

●How To Create A 3D Audio Visualizer Using Three.js - YouTube
 https://www.youtube.com/watch?v=qDIF2z_VtHs

●WaelYasmina/audiovisualizer
 https://github.com/WaelYasmina/audiovisualizer

デバイスを使った事例

以下は、可視化の部分をソフトウェアベースにするのではなく、ハードウェア(フルカラーLEDテープ)を使ったものです。

おわりに

フラグメントシェーダー(GLSL で実装)や p5.js を使ったビジュアライザーを作ろうとして下調べをしたのですが、GLSL を使ったもの以外がメインになってしまいました。

次は、自分で書いたプログラムでビジュアライザーを作っていければと思います。

3
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?