MatlabのfreqzもどきをJuliaで

MatlabやOctaveにはfreqzという関数があり、FIR/IIRフィルタの周波数特性・位相特性を計算しグラフ表示してくれます。PythonでもSciPy.signalに同名の関数があります。似たことをJuliaでやってみました。 今回は双二次フィルタを見てみましょう。標本化周波…

振幅スペクトルのリアルタイム可視化

とある場所で振幅スペクトルのリアルタイム可視化をデモすることになったので、久しぶりにProcessingのプログラムを書きました。Minimに入っていた例をほぼそのまま使っています。(左右方向は20 Hz〜ナイキストを対数軸で、上下方向は-60〜0 dBを表示してい…

MacBook Pro (15in, 2017)の3 chマイク

MacBook Pro (15in, 2017)ですが、「Audio MIDI設定」の画面でマイク設定を確認してみると4 ch入力ができるかのように書いてあります。 最高で96 kHz / 24 bit / 4 chまでいけるとなれば、マイクロホンとヘッドアンプの性能によっては本体だけでもかなり面白…

音ファイルの読み込みと単純な可視化

ここ数年の僕はプログラミングというと音と統計ばかりやっているのですが、特に音の分析や加工に関してよく使うものはMatlab、Python、Rで実装したので、次はCommon LispかJuliaで実装してみようかと思います。最終的にはCommon Lispでなんでもやるのが夢な…

ピンクノイズを作るPython関数

Voss法でピンクノイズを作るプログラムをMatlabからPythonに移植しました。ベクトルではなくループで書いているところなんて、Python的・numpy的にも汚い書き方だと思うので、適当に修正して使って下さい。ピンクノイズについては「DSP Generation of Pink N…

ヘッドホンを新調

10年以上にわたって使用してきた某社*1のノイズ・キャンセリング・ヘッドホンのイヤーパッドやヘッドバンドがぼろぼろになってきたので、近くの直営店で相談したところ、もう廃盤になってから長いので保守部品もなく修理できないとのことでした。イヤーパッ…

ステレオパンニングの実装(R Advent Calendar 2014)

はじめに R Advent Calendar 2014 (ATND)の28日目の記事です。Qiitaにもアドベント・カレンダーがあるのですね。 昨年のカレンダーでもRを使って音響信号処理っぽいことをしたのですが、今年もその路線でやりたいと思います。今年は少し簡単な素材として、ス…

室内音響指標C値の計算 (R Advent Calendar 2013)

あけましておめでとうございます。R Advent Calendar 2013の32日目の記事です。僕の専門は音響と心理との学際領域で、ふだんは音に関する主観評価実験の準備・分析にMatlabやRを使用しています。今回は室内音響分野で使われる計算をRでやってみます(その分…

wavread

R

Rで、Matlab互換のwavreadが欲しかったのだけど、いろいろ探しても3ch以上のファイルに対応したものがなかったので、しょうがなく自分で作ってみた。これで5.1chのファイルもいじれる。 source("wavread.R") x <- wavread("filename.wav") とするとfilename.…

Ambisonicsのフォーマット変換

AmbisonicsのA-FormatからB-Formatに変換するMatlab/Octaveプログラムをつくろうと思ったら、あまりにあっけなかったのでここに載せておきます。 function [W,X,Y,Z] = ambisonicsABconversion(LFU, RFD, RBU, LBD) % Ambisonics Format-A to Format-B Conve…

サウンドプログラミングの入門用言語

ここ数年間、音のプログラミングを教えるための言語として、Octaveを採用しています。Octaveの良いところは 無料 OctaveForgeのライブラリによってWAVファイル読み込みが簡単 多くのディストリビューションには最初からライブラリが含まれていて、起動時にパ…

LWJGLを試してみます

いま僕が作りたいと考えているオーディオ・アプリケーションについて、ざっと要件をあげてみると次のようになります。 クロス・プラットフォームであること*1 とりあえずはデスクトップ機で動けばいいのですが、Mac OS Xをメインに、可能であればWindowsでも…

オーディオ・ライブラリ

クロス・プラットフォームのオーディオ・ライブラリはいくつかあるものの、どれもいまいち盛り上がっている気配がない。オーディオ・プログラミング自体が盛り上がっていないのかなぁ。 xiph libao http://www.xiph.org/ao/ OpenAL http://connect.creativel…

DAFX: Digital Audio Effects, 2nd ed.

『DAFX: Digital Audio Effects, 2nd ed.』が出ていたので即購入。じつは、これの第1版は僕が博士号を取るときにものすごくお世話になった文献です。歪み系エフェクトについての文献が少ない中、ページ数は少なかったとはいえ、アカデミックな解説がありMatl…

Audacityの録音は数十サンプルずれることも

手軽に音響測定ができるような無料システムとして、Octaveで動く測定信号生成プログラム&分析プログラムを作成し、学生に使ってもらっていました。再生・録音には学生の持っているシステムを使ってもらっていましたが、特にProToolsなどを持っていない学生に…

MP3は元音源からサンプルずれするのか

MP3のエンコード/デコード時にどのくらいもとの音源からサンプルずれがあるのかを調べてみました。方法は、インパルスが1発だけ入ったWAVファイルをLAME 3.98.4で符号化し、同じくLAMEで復号化、そしてインパルス周辺部だけを拡大して見てみる、というもの。…

相互相関と畳み込み

相互相関と畳み込みは処理が似ているので、どちらかを使ってもう一方を計算できないかと考えた。で、Matlabで実験したところ、xcorr(a, b)はconv(a, flipud(b))と同じだということがわかった。convの代わりにFFTを用いて処理してみたが*1、xcorrのほうが若干…

バークリー・メソッドに関して読んでみているところ(続)

下巻に突入。まずセカンダリー・ドミナントについて学ぶ。以前から知っていたドッペル・ドミナントの一般形だとのことで、なぜか親近感がわいたり。

バークリー・メソッドに関して読んでみているところ

冬休みなので、持ち帰った仕事の合間に趣味の読書(というより読書の合間に少しだけ仕事か)。今回は菊池成孔+大谷能生『憂鬱と官能を教えた学校 (上)---【バークリー・メソッド】によって俯瞰される20世紀商業音楽史 調律、調性および旋律・和声』と『同 (…

東京事変『林檎の唄』のクラビを聞く

東京事変のファーストアルバム『教育』の第1曲目にクラビネットが入っている『林檎の唄』があります。右方向から音が出ていますが、ヒイズミマサユ機がどんな演奏をしているのか詳しく聞きたかったので、クラビネットを強調するプログラムを書きました。 [x,…

シンセ買った

自宅に鍵盤楽器がなかったので、シンセを一台買いました。Nord Electro 3やKorg SV-1もかなり迷ったんですが、Nord StageにNord Sample Libraryの機能が付いたら買おうと思って見送りました。とりあえず現時点では、オールマイティな機種でありつつも、良い…

Matlab/Octaveで平均律

単純なプログラムですが、MIDIノート番号を周波数に、周波数をMIDIノート番号とピッチベンド値(およびセント値)に変換するものを置いておきます。特に後者はあまり見かけないと思うので。デフォルト設定は、基準ピッチが440Hz、ベンドレンジは±2半音です。…

音のHDR

富士フイルムのスーパーCCDハニカムEXRサイトを見ていて思ったのは「音でも同じことできてるじゃん」ということ。録音時には、音のピークがクリップしないようにアンプのゲインを合わせます。そうすることで演奏が佳境に入って音のレベルが高くなっても、録…

ラウドネスの近似値計算

コンピュータの中にあるWAVファイルどうしの音量比較をしたいときはけっこうあります。音量の指標として「ラウドネス(sone)」があり、以前その計算プログラムも書いたのですが、その音を鳴らしたときの音圧値(dBSPL値)が分からないと正確な値が得られな…

コサイン窓

音楽にフェードイン・アウトをかけるときには、音圧に対して直線でかけたり、等パワーになるように2次曲線を用いたりしています。それは「Pro Toolsのデフォルトだから」だったり「音量感があまり変化しないように」だったりするわけで、フェードが音に及ぼ…

Korg SV-1

Korgはすてきなものを作りますねぇ。CX-3にも未だに惹かれているんですが、ビンテージ・キーボードの音がふんだんに入ったSV-1も良い感じです。ドローバーはついていませんが、オルガンも入っていますし。

iPhone Core Audio プログラミング

Amazonだけに頼らず、物理的な本屋には行くべきです。そのおかげでこんな良書に出会いました。永野哲久氏(Audible Realities)による「iPhone Core Audioプログラミング」です。世の中にはCore Audioについてのドキュメントが少なく、頼りになるのは世界を…

6軸センサーをMax/MSPから使う(後編)

やっぱりMac OS Xで直接USBを叩くのはめんどくさくなってしまい、作りかけだったMax/MSPのヘッドトラッキングっぽいパッチを完成させました。ヘッドホンのヘッドバンド部分に秋月電子で買ってきたTDS01V評価キットを両面テープで貼り付けてハードの準備は完…

Special Thanks

ようやく『僕と少女と宇宙船』の最終話を聞き終わりました。第3話の最後でどうなるのかと思っていたら、第4話で大どんでん返しが待っていてビックリしてしまいました。スタッフロールにまた(個人的な)衝撃が用意されていて、またまたビックリ。ありがとう…

FF13の効果音収録

Final Fantasy 13の特設サイト内の「REPORT」セクションに「フォーリー収録」というページがありました。フォーリーとは、映画やドラマなどで使われる効果音のことです。海の波音を表現するためにカゴの中で小豆を転がしたりて録音するのが有名ですね。Final…