はじめに
二年目の竹村です。
業務の内容とは異なるのですが、サウンドプログラミングネタを書いてみました。
私はValve TromboneでJazzをやっているのですが、練習の時に問題になるのが音漏れ。
家での練習は大丈夫なのですが、宿泊時の練習がこれまで課題でした。
そこで、最近、消音しつつヘッドフォンで音をモニタリングしてくれる、YAMAHAのサイレントブラスを購入しました。
サウンドハウスの購入ページ
https://www.soundhouse.co.jp/products/detail/item/326702/
なんとこのサイレントブラス、オーディオインターフェイス機能がありまして、PCに接続して、ミーティングアプリなどに繋げることができます。
今回は、学生の時から使用しているpuredataというプログラミング言語を使用して、エフェクターを作ってみたいと思います。
puredataについて
puredataは音信号に特化したビジュアルプログラミング言語です。
オブジェクトと呼ばれる箱を線で繋いでいくことで実装できます。
シンセサイザーやエフェクターが作れたり、メディアアート作品なんかにも使用されています。
日本の公式サイト
https://puredatajapan.info/
こちらのサイトがかなり初歩的な内容から書かれていて、わかりやすいかと思います。
こじ研(小嶋研究室)
https://www.ei.tohoku.ac.jp/xkozima/lab/avmed-pd1.html
今回の検証
今回はライブラリが用意されていてかなりリアルなサウンドになる、リバーブを用いて検証してみたいと思います。
[freeverb~]というオブジェクトを使用してみます。
このオブジェクトは、dry-wetでエフェクトの効き具合を、roomsizeで空間の大きさ、dampingで壁の反射度合い(音が反射しやすいのか、吸収されやすいのか)を操作します。
これらのパラメータのみでリバーブを実現できてしまいます。
↓こちらが試してみた際の動画になります。
ピッチが安定していないのはご了承ください。
ミュート類をつけるとピッチが変わってしまうんですよね。
https://www.youtube.com/watch?v=BUtGcmNMmqs
結論
演奏している側からすると若干の遅延を感じますが、問題にならないレベルでしょうか。
今回はUbuntu StudioというLinuxディストリビューションを使用しましたが、Windowsだと遅延が発生してしまうので注意です。
raspberry piでも問題なく動作するので、自作エフェクターとかに応用しても面白そうですね。
サイレントブラスだと、生音がほとんど出ないから、ギターのエフェクターのように、エフェクトかけた音だけを外に出すことができるのがメリット。
これから徐々に他のエフェクトも試したいと考えております。
使用環境
OS:Ubuntu Studio 22.04 LTS
puredata:version 0.52-2