投稿

12月, 2011の投稿を表示しています

dB(デシベル)とbit(ビット)の関係について

イメージ
デシベルって? サウンドでよく使われるデシベルは、基準となる音に対しての対数比で音量差を表したもの。 なぜdBを使うかというと、いくつかの理由がある。 小さな数から大きな数までを一緒に扱いやすく、それらを簡単に計算することができるから。 また対数は人の感覚に近く、イメージしやすいことなどが上げられる。 人の聴覚は小さい音に敏感に反応し、大音量になるほど鈍感になっていくるというもの。これがdBであらわされた数値に近い。例えば物理量で10倍の音量になっても、そこまで大きくなったとは感じない。2倍程度に感じるというのが一般的な話。 デシベル表示だと20dBということになるが、 ベル表示では一桁減らして2となり、ちょうど人間の感覚に近い数値になる。 また人は0~120dB(100万倍)までが聞き取れる範囲。このことはオーディオ等に求められているダイナミックレンジは120dBあれば十分ということを意味する。 オーディオ機器などでは最大音量を基準とし、0dBと決めている。そのため扱われる音量はマイナスdBで表示される。 物理量からdB(電圧比)を導く計算式 G[dB] = 20log 10 (Vo/Vi) G:デシベル換算した比 Vi:入力音量 Vo:出力音量 反対にdB(電圧比)から物理量を導く計算式 Vo/Vi = 10^(G/20) 物理量 デシベル 等倍 0dB 1/2 -6dB 1/3 -10dB 1/10 -20dB 1/100 -40dB 1/1000 -60dB 1/1万 -80dB 1/10万 -100dB 1/100万 -120dB 下記はデシベルと物理量のグラフ。上記と違いプラスで表記している。見やすく実用的な範囲の40dBまでをグラフにしてみた。 約30dBまでは、物理量がデシベル値よりも小さく、その後は逆転し、デシベル値がそれほど増えなくても、物理量は、すさまじい勢いで大きくなっていく。 感覚的にあると便利なのは20dB差は10倍だということ。40dB差であれば100倍で、60dB差であれば1000倍という感じ。 ビットって? サウンドのビットは音量の分解

32-bit float IEEE 754 浮動小数点数について

イメージ
自作サウンド・エフェクト を32-bit floatに対応させた。そのときに32-bit floatについて改めて調べてみた。少し疑問もあったので、それを明確にするのが目的。はじめネット上の情報で理解できるかと高を括っていたが、知りたいことがズバリ書いているところが見つからなかった。仕方なく32-bit float IEEE 754の原理を調べて、その後はプログラムを組んで確認していった。そのときのメモ。 無圧縮音声ファイルのWAV 32-bit floatを扱うための知識 floatの数値で音声ファイルに重要なのは、-1~0~+1の範囲。下の絵はAudacityのトラック部分。上下のレベルは-1~0~+1に対応している。この部分が、どのような精度で記録されていくのかを調べてみた。16bitや24bitと比較してどうなのか? という点も重要。その差は問題となるのか? など。 WAVフォーマットでは32-bit floatをそのまま利用しているので、1を超える数値や-1以下の数値も扱えてしまう。そういう部分にも触れたいと思う。 疑問点 そもそもの解像度を知りたいというところから始まった。漠然とかなりの解像度であることは分かっていたが、計算すると、かなり不思議な値が出てきた。0に近いほど精度が上がっていたり・・・ やたら大きな数も扱えたり・・・ 表現出来る範囲は32bitのはずだが・・・ こんな感じで、その仕組みを知る必要性を感じはじめた。 ビットとは? デジタル音声ファイルで、よく聞くビットというのは、Audio bit depth のことで、音量レベルの解像度のこと。CDでは16bitが使われている。最近のデジタルレコーダーなどは24bitなどが採用されている。波形編集ソフトのAudacityでは様々なビットを扱うことができる。このビット数が高いほど細かな音量差を表現出来ると考えてよい。ただこのページの32-bit floatは、ビットの後にfloatという言葉が付いている。floatは浮動小数点数が扱えることを意味する。ビット数は同じでも表現出来る数値が違ってくる。 浮動小数点数 Javaで扱える数字の型はいくつかある。その中でfloat、doubleは小数を直接扱うことができる。つまりこれ以外は少数は直接扱えない整数型。fl

Audacity Tips

イメージ
知っていると、ちょっと便利なチップを書いておくページ。 各種設定ファイルをAudacity.exeと同じ階層に格納する  111220 Audacity.exeと同じ階層にportable settingsフォルダがあると、各種設定ファイル(エフェクトの設定なども)をそこに格納する。デフォルトでは、このフォルダはなく、ウィンドウズの場合、C:\Documents and Settings\ユーザー名\Application Data\Audacity\ ここに保存される。 定義ファイルなどを直接いじったりするような使い方をする人はアプリケーションと同じフォルダにあると、あちこち開く必要がなく便利。またUSBメモリ等にAudacityを入れて、他のPCで作業するときなども有効。注意点としてはバージョンアップするときに、設定等を反映させるには、手作業でフォルダをコピーする必要あり。 180421 Windows10においては、settingファイルは以下になった。 C:\Users\user\AppData\Roaming\audacity また、残念ながらAudacity.exeと同じ階層にportable settingsフォルダを入れても無視されるようだ。 レイテンシの設定  111127 多重録音では必須のレイテンシを調整してみた。 使用機材は、PCがThinkPad X61でオーディオインターフェイス兼ミキサーがALESIS MultiMix 4 USB。これにダイナミックマイクを接続してギターなどを録音している。 Audacityで録音した音を再生して、それを聴きながら2回目の録音をする場合、何も設定しないと、1回目と2回目の録音がズレてしまう。これを調整するのが Latency correction。 AudacityのPreferencesを開いて、Recording > Latency > Latency correctionで調整する。録音トラックは再生トラックよりも遅れるために、その遅れを録音後に修正するための秒数を設定する。 自分の環境では  -154.6773 milliseconds   になった。 秒数の決め方 Auda

Audacity Effect VSTについて

イメージ
220911更新 VSTとは? AudacityではDAW(Digital Audio Workstation)で標準的になったエフェクト規格であるVSTが扱える。VST(Virtual Studio Technology)は、スタインバーグ社(ドイツ)のプラグイン規格。VSTには大きく分けて2種類ある。VSTiと言われる音源タイプと、VST、VSTeなどと言われているエフェクトタイプ。 Audacityで使えるVST エフェクトタイプのVSTeのみ有効。音源であるVSTiは使えない。 Audacityが64bitになったことで、VSTも64bit版が使えるようになった。 VSTのバージョンは現在のところVST2までで、VST3は、まだサポートされていないが、Audacity3.2からはサポート予定となっている。 VSTプラグインの入手先 VSTの入手は下記URLなどを参考に。膨大なVSTエフェクトがある。 http://www.kvraudio.com/ インストール方法 各ホームページ等でダウンロードしたVSTプログラムである.dllをAudacityのディレクトリにあるPlug-Insフォルダに入れ、 EffectメニューのAdd/Remove Plug-ins...でEnableにする。 また前提として、環境設定:エフェクトでVSTにチェックが入っていること。 VSTウィンドウ 下はVSTプラグインを表示させたところ。 Play / Backward / Forward ボタン 再生しながらVSTを設定し、リアルタイムで変化を確認できる。Audacity 2.1.0 から、これが可能になった。Audacityはリアルタイム処理には向いていないので、こういう機能は諦めていたのだが、ついに実現してしまった。 Manage presets and options ボタン このボタンをクリックすると以下の内容が表示される。 User Presets: 任意の設定がここに登録される。 Save Preset: 任意の設定を保存するときに選択する。そうすると User Presets に登録される。 設定情報はC:\Users\

Audacity Effect Menu (エフェクト) LADSPA part4

イメージ
220911更新 現時点のAudacity3.1.3では、LADSPAプラグインはすべて排除されてしまった。それでもサポートされ続けてほしい。自作プラグインをいくつか使っているので、使えなくなるのは辛い。下記の以前書いた記事はそのままにしておく。 180720更新 LADSPAはLinuxでは標準的なエフェクト。 ver2.1.1ではLADSPAエフェクトは、1つしか入っていないが、 公式ページ から90を超えるプラグインをダウンロードできる。 またLADSPAを拡張したLV2という規格のプラグインも扱えるようになった。 Windowsでは.dllで提供されている。 現行バージョンではVSTと同じようにリアルタイムプレビューが可能になり、設定の保存も出来るようになり使い勝手は大幅に向上した。 Winでは以下のファイルに保存されている。 C:\Documents and Settings\USER\Application Data\Audacity\pluginsettings.cfg しかしながら、まだまだ不安定な印象で、うまく保存できなかったり、リアルタイムプレビューはエフェクトによっては使えなかったりする。 LADSPAはシンプルな仕様なので、C言語が少し理解できれば比較的簡単に自作することも可能。 個人的にAudacityで実験するためのプラグインをたまに作っている。 自作LADSPAなどのプログラムはこちら LADSPA Effects SC4 (LADSPA Effects) コンプレッサー コンプレッサー。今回レビューにあたり、初めて使ってみたが使い勝手はよさそうだ。Audacity標準コンプレッサーよりも、こちらの方が普通のパラメーターが並ぶ。 特徴としてはRMSとピークの両方を見れることだろう。RMSは実効値、一定時間の平均の音量のようなもの。 RMS/Peak:0~1 これの挙動がわかりずらいので、下図のようにドラムのようなピークのある波形に適用してみた。ピークが鋭くない波形だと違いはほとんど出ない。 設定画面RMSを1にした状態。つまりピークを見ているので、ピークの値がThresholdを超えたら圧縮すること

Audacity Audio Track について

イメージ
150720更新 オーディオトラックは大きく分けて、以下のステレオとモノラルに分けられる。 ステレオトラック:左右のチェンネルがセットになったトラックで、上段が左トラックで、下段が右トラックとなる。 モノラルトラック:通常のモノラルか、ステレオの左か右の場合がある。 Track Drop-Down Menu メニュー トラックコントロールパネルの名前(三角)をクリックするとメニューが表示される。ここでしか操作できない項目もあり、どれも重要な機能ばかり。ここのメニューは各トラックごとに別々の設定ができる。 Name トラックに任意の名前をつけることが出来る。 英語でguitarとかの楽器の名称をつけると、Viewメニューの ミキサーボード のアイコンが楽器になる。 Move Track Up / Move Track Down / Move Track to Top / Move Track to Bottom トラックが複数ある場合は、上下に移動できる。これはマウスでコントロールパネルをつかんでドラッグして移動も可能。 Waveform ~ Pitch(EAC) 表示の切替 設定で表示波形のデフォルトを任意に決められる。 Waveform デフォルトの波形、リニア表示。個人的には電圧として見ている。最大値が1Vと考えるとラインレベルの規格と一致する。 波形の濃い青はピーク値で、薄い青は実効値(RMS)となる。実効値とは2乗平均平方根で、計算式もそのまま。ある範囲の値をそれぞれ2乗して、それらの平均を出した上で平方根をとると実効値が出てくる。 リニア表示のレベルは、人間の耳の感覚とは違う。人間の感覚に近いのはdB表示と言われている。 また録音しているときにリアルタイムに表示されるのは、これと下のdB表示のみ。 Waveform(dB) 音処理の多くはdBが基本なので、波形もdB表示にしないと、まともに作業が出来ないことも多い。dBは人間の感覚に近い。デシベルとビットの関係については こちらのページ 。 Spectrogram scaleは周波数(Hz)になっている。Preferences > Spe