Select Your Language

免責事項

  • 本サイトの情報の利用、内容、サービスによって、利用者にいかなる損害、被害が生じても、著者は一切の責任を負いません。ユーザーご自身の責任においてご利用いただきますようお願いいたします。

    本サイトで頒布している基板およびキットは、技術者、またはそれに準ずる電気的知識をお持ちの電子工作ファンの方のためのものです。一般のオーディオファンの方のためのものではありません。
    また、頒布基板およびキットは、いかなる条件でも動作を保証するものではございませんので、あらかじめご了承ください。

    電子工作では、火傷、感電、火災などの可能性があります。十分に注意をして作業して下さい。

    営利目的のご使用は認めておりません。 記事の転載や、基板・キットの商用利用の方は、ご連絡ください。学生やサークルの学習目的でまとめてご購入する場合は特別価格でご提供させていただきます。
無料ブログはココログ

スポンサー

« 一番やってはいけない? スピーカー工作で安易な方法をとってしまいました | トップページ | Stereo2016年8月号 メタルコーンスピーカーの箱の仕上げに水性ニスを塗ってみました »

2016年10月12日 (水)

RaspberryPiでデジタルイコライザーを使って補正してみる

先日は、ついつい低域ブースト(101イコライザ)つきのボーズアンカーを使ってしまいました。 

Stereo_sp5  

程よい低音の持ち上げ量で小型スピーカーにはぴったりなのですが、同じことをしようとしても再現するのが大変です。 このアンプはいまだに人気があって価格が下がらないのと、既に25年ほどだった古いアンプですから故障している可能性もあります。 

そこで考えたのが、RaspberryPiでイコライジングして、同じように低音をブーストしてみましょう。 という話です。 

 

volumio2には、プラグインがあって、間単に導入できるかと思ったのです。

Vol_plug 

https://github.com/volumio/volumio-plugins

ここからプラグインをダウンロードしてきて、Volumio2のWEB-UIからインストール 

Stereo_sp6 

これは簡単! と思ったのですが、途中でフリーズしてしまい上手くいきません。 

 

この方法は断念して、Alsa プラグインを使うことにしました。 

sshでvolumioにログインして、

sudo apt-get update

sudo apt-get install -y libasound2-plugin-equal

 

ALSA定義ファイル作成

sudo nano /etc/asound.conf で新規ファイルを作って下記(青文字部分)をコピペします。

ctl.equal {
  type equal;
}
pcm.plugequal {
  type equal;
  slave.pcm "plughw:1,0";
}
pcm.equal {
  type plug;
  slave.pcm plugequal;
}

この中の "plughw:1,0" は使用デバイスに依ります。

volumio2では既に上記ファイルがあり、ソフトウェアボリュームで使っています。 潔くソフトウェアボリュームをOFFにしてしまいましょう。

aplay -l  コマンドにてカード番号とデバイス番号を確認すると良いでしょう。 上記はvolumio2でSabreBerry32のときです。 カード番号=1、デバイス番号=0でした。 出力デバイス(サウンドカード)が1つしかない場合は、おそらく "plughw:0,0" となります。

 

次に、mpd.conf  を編集します。 このファイルはvolumioからmpd関連の設定を変更すると上書きされるので注意が必要です。 上書きされてしまったら、再度編集します。 

sudo nano /etc/mpd.conf

audio_output {
    type            "alsa"
    name            "alsa"
    device          "hw:1,0"
    dop             "no"
}
 
という部分を下記に編集します。
 
audio_output {
     type           "alsa"
     name           "equal"
     device         "plug:plugequal"
     mixer_control  "Master"
     mixer_device   "hw:0"
     mixer_index    "0"
     dop    "no"
}

念のためユーザー名がmpdになっているか確認します。

user      "mpd"

ファイルを保存して閉じます。 

ユーザーmpdをaudioグループに加えます。

sudo usermod -aG audio mpd

確認してみます。

cat /etc/group | grep audio

  audio:x:29:pi,mpd  <= mpdが入っていればOKです。

これで mpd を再起動するとイコライザーが使えるようになります。 念のため、volumio自体を再起動します。 

sudo reboot

再起動後、再びsshにてログインして、下記のコマンドを打ちます。 

sudo -u mpd alsamixer -D equal 

Alsa_equalizer  

このように10バンドのグラフィックイコライザーが現われます。 

※ Moode Audio ではこれが出ません。 下記のコマンドを打って対処します。

  sudo mkdir /home/mpd/
  sudo chown mpd /home/mpd/
  sudo reboot

 

このバーをやたらと上げると、波形がクリップして音が歪んでしまいます。 デジタル信号なので、0dBが最大であり、それ以上に上げると頭打ちになってしまうからです。 

 

そこで、ブーストしたい周波数を0dBにして、それ以外を下げるように設定します。(カーソールの左右で周波数を選択して、上下キーでレベルを上げ下げできます) 

0dBの正弦波を入れて、バーを上げ下げして確認したところ、 

 69 =  0dB
 63 = -3dB
 57 = -6dB
 45 = -10dB

という数値でした。 69以上の数値に設定するとクリップするのでそれ以上へは上げないようにしましょう。 

例えば、 63Hzを +6dBブーストしたい場合、63Hzを「69」。 それ以外を「57」に設定します。 

また、スピーカーが鳴らせないような低音(バスレフ共振周波数よりも低い周波数)をブーストするのは好ましくありません。 

理由は、音圧へ変換できないのに、コーンだけストロークしてひずみを増やしてしまうからです。  そういう低音は、むしろカット(減衰)した方が良いくらいです。  

実際に、ステレオ誌附録のメタルコーンスピーカーを鳴らしながらイコライザを調整してみました。 上の図くらいの設定が良いと思いました。 (エンクロージャに依存します)

 

低音を過大に伸ばすと、今度は高域が物足りなくなってきます。 

帯域のバランスを考えると、ホドホドの補正がよろしいようです。  

 

どうぞ、お楽しみ下さい。 

 

 

 

※ ALSAプラグインは下記のサイトを参考にしました。

http://tatazotecmemo.blogspot.jp/2016/01/volumio.html

 

にほんブログ村 PC家電ブログ PCオーディオへ にほんブログ村
ブログランキングに参加中です。 めざせ1位! 
もしよろしければ「ぽちっと」お願いします。 



« 一番やってはいけない? スピーカー工作で安易な方法をとってしまいました | トップページ | Stereo2016年8月号 メタルコーンスピーカーの箱の仕上げに水性ニスを塗ってみました »

雑誌付録」カテゴリの記事

Raspberry Pi」カテゴリの記事

コメント

デジタルのまま基本音質劣化無し/スペース不要でVOLもイコライジングも出来るわけですね、素晴らしい!
無粋なアナログ機械式のトーンコントローラー付けても邪魔だし音質劣化が心配ですしで、ラズパイやBBB/BBRのネットワークオーディオに最適ですね。
アンプにもバスブースト回路組まなくて良いし、Botic7にもあったら良いなあ。

ALSAなら「あるさ」ですかねw

CR-Xさん

デジタルだから劣化がないかというと、そんなことはないですね。
0dB以上にはできないので、ブーストするということは、全体を下げて特定音域を0dBにするということです。 

例えば、-6dBにすると、16bitなら15bit精度に落ちます。 32bitDACなら問題ない。 と思うかもしれませんが、やはり振幅がおちるとs/nも劣化しますし、音の雰囲気が変わります。 

Yosyosさん

実は、BruteFIRを使って31バンドイコライザを入れようとしたのですが。。。 
まずは手軽なAlsaプラグインに走ってしまいました。 
うまく行ったら紹介します。

たかじんさん

BruteFIRですか。ちょっとググってみましたが、何やら難しそうです。
PCM5142のDSPプログラムでもできそうですね。

イコライザー、試したいです。
が、MoodeAudioではうまくいかなかったので、yosyosさんに教えてもらったVolumio2最新版をDLして試してみます。

たかじんさん

16bitはビット落ちあるとは思ってましたが、32bitでも差が出ますか・・・
デジタル(DAC内部&ソフト)はhttps://nw-electric.way-nifty.com/blog/2012/08/post-5cf7.htmlのとおりフルレンジで使い、良く出来たアッティネータ/トーンコントロールで調整する方が音質的には最良ですか。
まあネットワークプレーヤーのソフト制御はリモコン(スマホ/タブ含め)か使えるお気楽用途と割り切るべきなんでしょうね。

イコライザー動きました。
FX-AUDIO TUBE-01Jを繋げた時のシャリ感を抑えられていい感じになりました。
ありがとうございました。

Volumio2にもAPモードが搭載されたんですね。
いろいろ設定をいじくった後、WEB UIからRestartやPowe offができなくなる事がありますが、しばらくVolumio2も使ってみます。

yosyosさん

miniDSPですね。 いまひとつ使い方が分からないですがバイカットフィルタがついているようですね。 係数だしさえ出来れば同じことは可能と思います。

通りすがりのおじさんさん

moodeでも出来るようになりました。 記事に追記しました。 ユーザ mpdのhomeディレクトリが無いって怒られていたようです。 volumioにもないのですが。。。なぜか問題ない。

CR-Xさん

ビットパーフェクトでも、例えばCrystal変えると音が変わる世界なので、デジタルだからといって無劣化とは断言できないですね。 
32bit DACでも、-6dB減衰させると変化があることは体感することは出来ます。 特に1bit系DACは、さいごの6dBのリニアリティが悪化する傾向があるので、むしろ-6dBすることでリニアリティが悪化する部分を使わなくなる。 (ただしS/Nは不利)

たかじんさん
moodeで動きました。ありがとうございました。

Volumioは最新版でも安定度がまだまだの様なのと、RandomやRepeatの設定が再起動する度にリセットされるのが嫌なのでmoodeに戻ります。
(他の所でたかじんさんが書かれている様に、私もVolumio 1.55が1つの頂点だと思います)

通りすがりのおじさんさん

Moodeで動いたようで良かったです。
Volumio2の開発、頑張っているようですね。 でも、もう一息でしょうか。

コメントを書く

(ウェブ上には掲載しません)

トラックバック


この記事へのトラックバック一覧です: RaspberryPiでデジタルイコライザーを使って補正してみる:

« 一番やってはいけない? スピーカー工作で安易な方法をとってしまいました | トップページ | Stereo2016年8月号 メタルコーンスピーカーの箱の仕上げに水性ニスを塗ってみました »

サイト内検索(new)

2024年12月
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31