1.補聴器とは何か
補聴器とはどのようなものでしょうか。日本版Wikipediaでは次のように説明しています。
・補聴器(ほちょうき:英語hearing aid)とは、聴覚障害者の聞き取りを補助する補装具である。
・マイクロホン、アンプ、レシーバーから構成され、交換用の補聴器専用空気電池が電源である。
・また単に音を増幅する単純な音処理ではなく、聴力に合わせた調整が必要で、耳に障害を与えかねないほどの強過ぎる音を出力しないようにする出力制限装置を備えていなければならない。
これに続いて、
補聴器は医療機器に分類され規制されていて、要件を満たさないものは補聴器(米国ではHearing Aid)と称することはできない。
としています。
また英語版Wikipediaでは、
PSAPやその他の単純な音響強化システムなどの小型オーディオアンプは、「補聴器」として販売できない。
とあります。
ここでPSAPとはPersonal Sound Amplification Productsの略で、「これは補聴器ではなく、補聴器の代替としてPSAPを選択すると、聴覚への損傷が増える可能性がある」旨の専門家のコメントが添えられています。
さらに、PSAPについて次のように述べています。
PSAPは補聴器と価格・機能が大きく異なり、一部のデバイスは単に音を増幅するものである。
その他では、指向性マイク、オーディオ信号のゲインを調整してノイズをフィルターするイコライザーが含まれている。
このようなデバイスは、ハンター、博物学者(動物や鳥の音声観察用)、一般の人々(たとえば、静かな部屋でテレビの音量を上げるため)などに使用されるものである。
では、デジタル補聴器が備えている主な機能はどのようなものでしょうか。補聴器カタログなどで見かける代表的なものをまとめると以下の通りです。
①チャンネル数
低い音から高い音までを何分割して処理するかがチャンネル数である。
チャンネル数が多いほど利用者の聴力に合わせた細かい調整が可能になる。
②雑音抑制機能
マイクで拾った音を分析して、雑音と判断した場合に自動的に抑制する機能。
人の声は抑制せず雑音のみを抑制するという試みが各メーカーで行われている。
③ハウリング抑制機能
すき間から音が漏れ、その音を再度増幅することで発生するハウリングを抑制する。
重度難聴の場合にはハウリング抑制機能が特に重要になる。
④指向性機能
雑音下での聞き取りを向上させるために音を拾う方向を絞り込む機能。
全方位の音を拾う無指向性に対し、固定指向性では後方の音を抑制する。
上位器種は適応型指向性で、雑音の方向を判断して自動的にその方向からの音を抑制する。
⑤ワイヤレス通信機能
両耳の補聴器が通信し合い、周囲の音環境をより精密に分析することで、最適な聞こえを提供。
ワイヤレスアクセサリを利用して、補聴器の音量を調整したり、電話などの音を補聴器に飛ばす。
スマホと接続してリモコン代わりに使ったり、通話や音楽を楽しむことができる。
これから明らかなように、最近の補聴器はとても高度な機能を備えています。しかし、すべての補聴器がこれらの機能を備えているわけではありません。
2.どのような聴力補助ツールを目指すのか
補聴器という言葉を使わず「聴力補助ツール」と呼ぶのは、先のような事情からです。
補聴器の主要機能を知ると「こんなものが開発できるのか?」とひるんでしまいそうですが、手元のカタログを見ると、これらすべての機能を備えるものは少ないようです。まずまずと思われるものは、両耳用の価格が50~100万円超なので、自作品はあまり高望みしないことにしましょう。
とはいえ、音の増幅が主目的のPSAPと違って、音声信号処理用のシングルボードコンピューターを採用するので、最初はシンプルな機能から着手して、しだいに高機能化することが可能です。
当初目標とする聴力補助ツールは、次のようなものをイメージしています。
○タイピンで留められる程度の小型ステレオマイクロフォンで音声を入力する
・マイクロフォン素子またはマイクモジュールを購入して自作する。
・マイク出力はI2Sなどデジタル出力を基本とするが、アナログマイクも除外しない。
・ゲインが小さい場合はマイクアンプの製作が必要になるかも知れない。
○アナログマイク対応にADコンバーターを備える
・音声信号プロセッサーに使用するRaspberry Piにはアナログ入力がないので、アナログマイクを使用する場合はアナログデジタルコンバーターの製作が必要になる。
○音声信号プロセッサーの採用
・高性能プロセッサーがほしいところだが、使用OSやライブラリーおよび物理的サイズを考慮してRaspberry Pi Zeroを採用する。
・OSはLinux、開発言語はC/C++、サウンド処理にはALSA(Advanced Linux Sound Architecture)を使用する。
・音声処理ライブラリーとしてPortAudioを想定。
○ヘッドフォンアンプの設置
・左右の音量を独立して微調整できるものにする。
・利用者にとって左右がバランスした状態で、左右を同時に音量調整できるようにする。
○再生はイヤフォンで
・インナーイヤー型にするかカナル型かは使用してから判断する。
・当面はケーブル型を使用。ワイヤレス型も視野に。
○電源はモバイルバッテリー
・消費電力が大きい Raspberry Pi Zeroは小型軽量のモバイルバッテリーを利用する。
・マイクとアンプは別に電源が必要になるので別途検討する。充電可能な二次電池が前提。
このような構成(構造)で、まずはマイクロフォンで集音した情報をイヤフォンで再生するという基本機能の実現を目指すことにします。
3.プロジェクトの進め方
現時点では、前ページのような流れを考えていますが不確定です。まずは複数のマイクロフォンがどのように再生できるかを試しながら、最適なマイクと関連ハードウェアの組み合わせを絞り込むのが最初の課題になると思います。
構成が決まった時点で、いろいろなデジタルフィルターによる音声信号処理を試しながら、聴力補助に最適なソフトウェアの作成に取り組みます。
それらが完了したらハードウェアとしての完成度を高め、聴力補助ツールとして仕上げることになります。
スタート時点では、次のマイクロフォンを入手しています(品名で購入先にリンク/写真は購入先のカタログから)。
・高感度アンプ付コンデンサーマイクロフォンのキット
(秋月電子通商) \500.- x 2個
・USBミニマイク / MI-305
(共立エレショップ) \605.- x 1個
・ADMP441使用I2Sデジタル出力マイク DIPモジュール
(秋月電子通商) \750.- x 2個
・SPU0414HR5H-SB使用 超小型シリコンマイクモジュール
(秋月電子通商) \220.- x 2個
・デジタルシリコンマイクモジュールSPM0405HD4H
(秋月電子通商) \300.- x 2個
これらを対象にしておおよそ次の順序で進める予定です。
step-1. 高感度アンプ付コンデンサーマイクロフォン2個をヘッドフォンアンプに直結して、ステレオ・アナログ音声処理の状態を観察し、音質を評価する。
step-2. USBミニマイクをRaspberry Pi Zeroに接続して、LinuxのカーネルコンポーネントであるALSAサウンドカード用デバイスドライバを使って音声入力と再生を確かめる。
step-3. I2Sデジタル出力マイクをRaspberry Pi Zeroにステレオ接続して、オープンソースのオーディオライブラリーPortAudioを使って音声入力と再生を確かめる。この時点で、音声のリアルタイム処理ソフトの骨格を作成する。
step-4. Raspberry Piにはアナログ入力がないため、アナログデジタルコンバーターを作成して、これを介して高感度アンプ付コンデンサーマイクロフォンをステレオ接続して、動作確認と音質の評価を行う。
step-5. ここまでの状況によって、必要ならさらに超小型シリコンマイクなどの接続テストと評価を行う。
step-6. 以上の過程を通して、聴力補助ツールに最適なマイクとハードウェアの組み合わせを選定し、ユニバーサル基板に回路を組み付ける。
step-7. 音声リアルタイム処理ソフトに各種のデジタルフィルターを組み込んで、フィルターの効果と適切なファクターを選択する。
step-8. 以上と平行して、あるいはこの時点で、最終的な電源を決定する。すべて充電可能な二次電池とし、ノイズレスでシステム全体の安定性に問題ないことを確認する。
step-9. 十分に完成度が高いことを確認できれば、最終的な音量調整ボリュームやスイッチ類を追
加して聴力補助ツールを完成させる。
問題があれば、さらに改良や新たなパーツやモジュールの採用、あるいは作り直しによって改善を図る。
4.想定される制約と留意事項
取り組みの内容が広範にわたるため、あらかじめ想定される制約や留意点をまとめておくことにします。これらのことを心に留めてスタートしましょう。
・必要なソフトウェア技術
適用範囲の制約を避けるために、オープンソースとクロスプラットフォームを開発の基本とします。音声信号プロセッサーにRaspberry Piを使用するので、OSはDebianベースのRaspberry Pi用Linuxを、開発言語はC/C++言語を使用し、GNUコンパイラーの gccとg++でコンパイルします。これらの知識が必要になります。
・音声信号処理の基礎知識
音声信号処理という物理学と数学が必須の世界ですが、難解な理論はさておき、音声信号の特性やアナログ信号とデジタル信号の特徴や相互変換などについて知っておくことは重要です。これらは、その都度簡単に解説する予定です。
・電子工作(回路の配線)
基本的にブレッドボードに部品を配置し、ジャンパーワイヤーで配線して組み立てます。動作確認後は、ノイズ対策や配線の安定化のためにユニバーサル基板へ組み付けます。 できるだけシンプルな組み立てキットや高密度部品モジュールを使って作業を簡易化しますが、配線図を読むこと、配線の加工とハンダ付け作業が必要になります。
・利用可能な技術を総動員する
利用できるオープンソースやネット上の情報を最大限に活用します。利用情報については、リンク切れによる情報の欠落を防ぐために、出所を明らかにした上で必要な部分を参照・引用・要約することにします。
・関連技術について
音声信号を視覚的に把握するために、いくつかのツール(ソフト)を利用します。それに加えて、パソコンを利用した簡易オシロスコープを作成します。これは絶対に必要というものではありませんが、アナログデジタルコンバーターを製作する場合の動作確認に威力を発揮します。これを作成するには、ワンボードマイコンのArduinoと統合開発環境であるArduino IDEが必要になります。
・技術的制約
高性能な補聴器は、最新の微細加工技術や高度な情報処理技術が集約されていて、これと同等のものを製作することは困難です。当面はマイク入力した音声を、いかに利用者の聴覚にフィットする音声として再生できるかに絞ることにします。
このプロジェクトは、音声信号処理などについて研究しながら、個人的な必要性から聴力補助ツールの開発を目指すものです。その過程を記録しておくための私的なノートであり、プロジェクトが完結する保証はありません。また安全性の観点から、皆様に同様の聴力補助ツールの開発をお勧めするものではありません。
なお、もし同様のテーマに取り組まれる場合は、作成した電子回路やプログラムの動作を確認するために、しばしばイヤフォン出力を試すことになります。その際、音量を適切に調整するかイヤフォンの位置を調整しなければ、耳を傷つける恐れがあります。絶対に耳を痛めることがないようにくれぐれもご注意ください。なにとぞ自己責任でよろしくお願いします。