この記事では、自分でスオーディオ空間の特性の測定方法するための方法を記載できればと思います。
一連の流れをpythonで記述してプログラムを作成していますので
演算上の流れも把握できます。
##スピーカー特性の測定方法
①インピーダンス特性
②音圧-周波数特性
③歪率-周波数特性
④指向特性
⑤伝達関数(位相特性)
⑥遅延時間測定
##音響特性の測定方法
①インパルスレスポンス測定)
#用意するもの
・PC(記事ではMacを使います)
.マイク
(S6D社iAI2など、感度、特性をHPで確認できるもの)
・ターンテーブル
・インピーダンス測定ケーブル
##記事を作成した背景
世の中には高級オーディオ機器と呼ばれるものがあり
一式を揃えると、数百万円〜一千万近く円かかる場合もあります。
雑誌を読むとアナログの信号ケーブルに数万円するものも販売されていたりします。
一般にハイエンド(高級機)ほど周波数特性がフラットと呼ばれていますが、マニアは電源系、ケーブル類にもこだわります。
こだわるのはいいことですが、音質の変化は
プラセボ(気のせい)の可能性もあるため、ここは定性・定量的に
何がどう違ってくるのかを記事にしたいと思います。
また、安価なスピーカでも周波数特性を適切に補正するこで
ある程度、ハイエンドのに近いところまで調整できるはずです。
それでも、周波数特性だけで近づいても音質としては
異なるはずです。何が違うのか数値、グラフを元に紐どければと思います。
##第1回目 WAVファイルの読み込み
オーディオファイル(test.wav)を読み込むためのコードを示します。
import wave
import numpy as np
wav = wave.open('test.wav','r')#読み込むWAVEファイル名
wdata = wav.readframes(wav.getnframes())
data = np.frombuffer(wdata, dtype='int16')
print ('Sampling rate:', wav.getframerate())
print(data.shape)
print(data)
print(data.dtype)
wav.close()
##解説
wave.readframesの部分で音声ファイルを
Wave_read型(オブジェクト)として読み込みます。
その後、ヘッダー部分を除いた音声のみのデータの
読み込んだ音声データを1次元配列(int型データ)に収納しています。
#表示
確認のためMatplotlib関数を使って表示すると良いでしょう。
import matplotlib.pyplot as plt
plt.plot(data) #グラフを書く
plt.show()
以上
参考文献:Pythonで学ぶWAVプログラミング
デジタル時代のホーンスピーカー製作