USBコントローラドライバの更新でUSB DACが死んだ場合の対処

USB DACはホスト側のUSBコントーラのドライバ更新やWindows Update等によって、なぜか認識はされているものの音が鳴らない、一瞬だけ鳴るもののその後鳴らなくなる、といった状態に陥る事が有ります。何かしらの条件が有るのかもしれませんが、特定のメーカーの製品で起きるという訳ではないようです。OS側、もしくは利用しているUSBコントローラチップの問題なのかもしれません。

Amulech AL-9628D:私の環境で再現

TEAC UD-503
https://teac.jp/jp/product/ud-503/faq

2017年6月2日現在、Windows10 Creators Updateに対して全ての更新プログラムを当てた最新の状態にすると、ドライバーのインストールが正常にできないという現象が報告されています。 このため、共有モードで動作するアプリケーションの音声再生が行えなかったり、Windowsのサウンド設定が出来ない等の現象が発生するとの情報がございます。

他にもAmazon.co.jpのレビューでWindows Updateと共に認識しなくなった製品のレビューを見かけたりします。

Soundfort DS-100+ ハイレゾ USB DAC(96kHz/24bit, DSD64対応)ヘッドフォンアンプ搭載
https://www.amazon.co.jp/dp/B0070J4K4G

私の場合任意にUSBコントローラのドライバを更新した際に発生したのですが、「システムの復元」を行う事で復旧する事が出来ました。PCの環境によってはシステムの復元機能が無効化されている場合も有りますが、基本的に様々なトラブルがこれで解決できますので有効にしておくといいでしょう。

Share this…

ハイレゾ音源を聴く為の本当に最低限の設定

※全体的に分かりやすさ重視の説明にしているので、細かい解釈・意味違いは有るかと思います。

その前に: ハイレゾ音源はどの辺が高音質なの?

「CD音源よりも高音が含まれている」「高音が聴こえない歳になったら意味が無いのでは」という理解の方もいますが、実際には3つの要素が有ります。

  • ビット深度が深く、音の抑揚がきめ細か。
    (CD: 16bit ハイレゾ: 24bit~)
  • サンプリング周波数が高く、CDでは削られた高音が含まれている。よく言われるメリット。
    (CD: 44.1kHz、 ハイレゾ: 48KHz~)
  • CD音源よりもしっかり聴ける環境に向けたマスタリング(後述)。

マスタリングとは簡単に言うと、歌唱や楽器の演奏などをミックスし、それをCDに書き込む曲として完成させる行程です。

CD用の音源だと、何かに付属してきたようなイヤホンや、その辺の安価なスピーカー、走行音の大きなカーステレオなど、様々な環境で楽しめるように迫力の有る、音圧を高めたマスタリングになっている事が多いです。その代償として音圧が終始大きく平べったく聞こえたり、音割れに感じられるような音が混じっていたりする場合が有ります。

これがハイレゾ音源向けのマスタリングだと、音圧を高めすぎて音が割れていた部分が改善されていたり、音の大小(ダイナミックレンジ)が広がって曲の静かな部分がしっかり静かになっていたりなど、しっかり聴ける環境に向けた調整になっています(そうでない場合も有ります)。その代わり、周りに雑音が有るような試聴環境には向きません。また、場合によってはCD音源の方が好みだ、という場合も有るかもしれません。

元となるCD音源の音質が微妙な場合にはビット深度やサンプリング周波数の違いよりも、このマスタリングの違いが大きく感じられるでしょう。

どこで買えるの?

「e-oinkyo music」や「mora」辺りが有名です。購入する際にファイル形式を選べることが多いですが、「32bit」と記載の物は再生環境・対応機器が限られてくるので、よく分かっていないうちは「24bit」を選ぶのが無難です。

ハイレゾ音源を聴く為の本当に最低限の設定: Windows編

ハイレゾ音源をWindows PCやMacで聴く為にはちょっとだけ設定が必要になります。
これはやって欲しいという、本当に最低限の設定だけ紹介します。

1.「サウンド」の設定にたどり着く
Win7ならコントロールパネルから、Win10ならタスクトレイの音量右クリックが早い。

2.使っている再生デバイスを選択して「プロパティ」ボタンを押す。

3. 開いたプロパティの「詳細」タブで、「既定の形式」を「2チャンネル 16bit 44100KHz CDの音質」から「24bit 96000KHz」や「32bit 96000KHz」と書かれたものに変更します。「テスト」ボタンで音が鳴ることを確認できたら「OK」で保存
(CD以上の設定で音が鳴らない場合は再生デバイスがハイレゾ再生非対応です)。

→これでとりあえずは本来の音質でハイレゾ音源を聴けるようになります。

逆にこれを設定しておかないと、Windows側が音質をCD相当まで落として再生してしまいます
(それでもマスタリングが良くなった分の改善は聴き取れますが……)。

iTunesの場合の追加設定

ハイレゾ音源は「FLAC」ファイルの場合が多いので、FLACの再生に対応しないiTunesよりも、対応した他のプレイヤーの方が便利ですが、iTunesでハイレゾ音源聴くよ! という方は、iTunesの「設定」にも「再生」タブに同様の設定が有るので、96KHz、24bitに変更しておきましょう。
(iTunesはFLACファイルには非対応ですがWaveファイル形式での再生が可能です)

Windows 10の場合は標準のプレイヤーでFALCファイルが再生可能です。他には「VLC」であったり、「foobar2000」辺りが有名です。

Macの場合は?

Macの場合も「Audio MIDI 設定」画面で同様の設定を行う必要が有ります。

気持ち音量を上げよう

ハイレゾ音源はマスタリングの違いから、CD音源に比べて音量が小さい場合が有ります。人間の耳は音が大きいほど良い音に聞こえるようになっているのでそのままでは「何だこの音」、と感じる事も有るかもしれません。CD音源と同じぐらいに聴こえる音量まで上げて聴きましょう。

AndroidやiPhoneで聴きたい

とりあえず再生するだけであれば、最近のAndroid OSは標準でFLACファイルの再生に対応しています。いつもお使いの再生プレイヤーで再生可能か試してみるといいと思います。iPhoneの場合は「HF Player」など別の再生アプリが必要になってきます(有償アプリです)。

PCから出る音がそもそもよくない件

音の事を一切気にしていないPCの端子であったり、液晶ディスプレイのイヤホン端子であったりの場合、そもそもそこの音質が良くないんだけど、という事が有ると思います。「USB DAC」と呼ばれる製品をUSB端子に接続し、そこからスピーカーやイヤホン・ヘッドフォンにつなげる事でPC内臓の端子よりも高音質で音楽を楽しめます。

「24bit」「32bit」「96KHz」「192KHz」対応といった事が謳われいている「USB DAC」から、評判の良さそうな物を試してみるといいと思います。安価な物は1万円ちょっとで購入可能です。普通のCD音源やダウンロード購入した音源を聴く場合にもPC内蔵端子より高音質なのでおすすめです。

Share this…

Zabbixの設定のみをバックアップする (Zabbix 3.0)

OSSのサーバー監視ツール Zabbix はMySQL(やPostgreSQLなど)にデータを保存するのでDBのダンプ(とzabbix_server.conf)を取得しておけば概ねのバックアップが可能ですが、ログデータ(ヒストリ、トレンド)が巨大なデータになりがちです。おそらくログ系のテーブル以外をバックアップする事でコンパクトなバックアップにする事が出来る物と思われます。

ただ、Zabbix公式のドキュメントにはデータベースの中身の構造についての内容が見当たりません。

Database Schemas – Zabbix.org
https://www.zabbix.org/wiki/Database_Schemas

真偽不明な情報としては上記がZabbix 2.4のER図になります。これを参考にZabbix 3.0.10をインストールした状態のDBと見比べてみると、いくつかのテーブルで追加カラムが有る他、以下のテーブルが増えています。

  • application_discovery
  • application_prototype
  • item_application_prototype
  • opinventory
  • screen_user
  • screen_usrgrp
  • slideshow_user
  • slideshow_usrgrp
  • sysmap_user
  • sysmap_usrgrp

結構な数のテーブルが増えていますが、いずれも設定系のテーブルであり、ログ系のテーブルではないものと思われます。つまり以下のようなmysqldumpコマンドを投げれば設定のみをバックアップする事が出来る物と思われます

mysqldump -u [ユーザー名] -p –single-transaction –hex-blob \
–ignore-table=[DB名].alerts \
–ignore-table=[DB名].history \
–ignore-table=[DB名].history_uint \
–ignore-table=[DB名].history_str \
–ignore-table=[DB名].history_text \
–ignore-table=[DB名].history_log \
–ignore-table=[DB名].trends_uint \
–ignore-table=[DB名].trends \
–ignore-table=[DB名].auditlog \
–ignore-table=[DB名].auditlog_details \
–ignore-table=[DB名].events 
[DB名] | gzip > [ファイル名].gz

バイナリデータ(中身は画像)を含んだテーブルが有るので –hex-blob を付けておいてください。また、ファイル名は取得時刻が秒単位で分かるようにしておいた方がいいでしょう(後述)。

例: zabbix_configuration_only_backup_20170817_151515.sql.gz

復旧時の注意点

上記コマンドで取得したダンプデータですが、まっさらなZabbixに設定を投入するなら良いのですが、例えばZabbix画面上で設定変更を色々と行い、元に戻したいといった用途に使用しようとすると、ログに残ったアイテムIDなどでつじつまが合わなくなってくる可能性が有ります。安全を期すためには「itemid」カラムのあるテーブルに注意する必要が有ります。

データが欠けても良いのであれば、バックアップを取った時点以降のログデータを吹き飛ばすのが一番簡単だと思います。clockカラムにUNIXタイムの形式で日付が入っているので、それ以降のデータを飛ばします。

DELETE FROM alerts WHERE clock >= [UNIX時間];
DELETE FROM events WHERE clock >= [UNIX時間];
DELETE FROM history WHERE clock >= [UNIX時間];
DELETE FROM history_uint WHERE clock >= [UNIX時間];
DELETE FROM history_str WHERE clock >= [UNIX時間];
DELETE FROM history_text WHERE clock >= [UNIX時間];
DELETE FROM history_log WHERE clock >= [UNIX時間];
DELETE FROM trends_uint WHERE clock >= [UNIX時間];
DELETE FROM trends WHERE clock >= [UNIX時間];

DELETE audit_d FROM auditlog_details AS audit_d
LEFT JOIN auditlog USING(auditid)
WHERE auditlog.clock >= [UNIX時間];

DELETE FROM auditlog WHERE clock >= [UNIX時間]

auditlog_detailsはauditlogに関連しており、単体ではclockカラムを持っていないのでdetailsの方を先にDELETEする必要が有ります。これらDELETE分をzabbix-serverが停止した状態で実行し、その後バックアップのダンプデータをDBに流し込みます。

最後に

あくまでDBのテーブルのカラム名などから推測してバックアップをしているので、この方法には何かしら不具合が含まれる可能性が有ります。非公式なバックアップ方法なので、自己責任でのご利用の程お願いします。

また、あくまでZabbix 3.0.10時点でのテーブル内容を参考にしているので、3.2等ではそのまま動かない事も有るかと思います。

なお、Zabbixの有償サポートに入っているユーザーであれば、公式で(おそらくより高機能な)設定のみのバックアップと復元が可能なようです。整合性をチェックをするような記載も有るので、この方法のようにデータを飛ばす必要も無いのかもしれません。ミッションクリティカルな用途で使うなら、サポートの有るツールを使った方がいいでしょう。

Zabbix設定バックアップツール | Zabbix Enterprise
http://enterprise.zabbix.co.jp/solutions/3661

2017年10月16日追記

PHPで動くCLIインタフェースの様な物を作りました。
https://github.com/lf-uraku-yuki/zabbix_db_config_backup

2017年11月02日追記

簡易的なZabbixの設定バックアップ・リストアツールを作ってみた

Share this…