processing minimで音楽に連動する動画を作った

processing minimで音楽に連動する動画を作った

はじめに

processing でちょっと作成した内容の音楽連動プログラムを作成したので備忘録から書きます。

processingとは:MITメディアラボで開発されていた。電子アートとビジュアルデザインのためのプログラミング言語。
参考 wikipedia

minim

minim は音楽ライブラリーです。
これを利用して音と連動させて、描画のステップをさせようと思います。

minimのライブラリーのインストール

Processingを起動。
ライブラリーインポート → ライブラリー追加 
Filter 検索 minim
Minim 選択 
右下のInstall

考え方

❶、FFTした波形を閾値を利用して描画する。
❷、閾値が低い→高いに切り替わる際に描画。
❸、❷を実現するためにステートマシンを利用して状態を記録する。
波形との対応は下記図のように考えました。
理想なので、実際には、離散化することによるズレがあると思います。あくまでイメージ。

コード

作品

サンプル実行例。(実行環境mac OS X: soundflowerを使用。バーチャルケーブルを使用すると実行できると思います。)

音源は下記リンクより使用させていただきました。
https://www.d-elf.com/hip-hop-free-bgm

おまけ バーチャルケーブルの設定について

Mac soundflower

Macでマイク入力(ラインイン)に内部出力音声を割り当てます。

環境 mac osX high Sierra
コードではminimを使用したProcessing 使うコードはリンク先のページのものを使いました。

soundflowerをインストール
まず、内部出力音声を取り込むのため、soundflowerをインストールします。

dmgファイルをダウンロードします。

Soundflower.pkg を右クリック(2本指)でクリックしてインストーラを実行。

セキュリティ警告エラー

「システム環境設定」の「セキュリティとプライバシー」

このまま開く

一回でできなくても何回かするとインストールできる場合がある。

スピーカーで外部出力しない場合はこれOK.

スピーカーに出力する。
LadioCast をApp storeからインストールする。

設定
環境変数 → sound
入力 前 内蔵マイク → 変更後 Soundflower(2ch)
出力力 前 内蔵スピーカー → 変更後 Soundflower(2ch)
音を出す場合
LadioCastを起動。
入力1 Soundflower(2ch)
出力メイン 内蔵出力

これでpcで再生した音(itunesなど)をプログラムに取り込むことができます。
minimはmp3の読み込みをできるようですがライブで使うコードと同じコードを利用できるため、この方法が便利と思います。

ライブでライン入力使う場合は、

環境変数 → sound
入力  内蔵マイク 

としたままにします。

参考リンク

http://30min-processing.hatenablog.com/entry/2016/10/20/000000
https://github.com/mattingalls/Soundflower/releases

Windows Voice Meeter Banana

windowsでマイク入力(ラインイン)に内部出力音声を割り当てます。
確認は Macbook air (bootcamp windows 10) で試してみました。

Voice Meeter Bananaをインストールします。

https://www.vb-audio.com/Voicemeeter/banana.htm

windowsの規定の入出力先を変更します。逆のような気がしますが下記の通りです。

設定→サウンド
出力 Voice Meeter Input(AB-Audio Voice…
入力 Voice Meeter Output(AB-Audio Voice…

Voice Meeter Bananaを起動する。
AB-Audio VoiceMeeterVAIO(B1)の設定の出力設定をする。
出力 A1 B1 をクリックして設定する。

HARDWARE OUT
音を確かめながら作業する場合は、A1に実際に出力する先(スピーカーなど)を選択する。

Voice Meeter Bananaを終了すると音声が聞こえなくなるので、元に戻す。

processingカテゴリの最新記事