スピーカ / マイク /PC で試せる

［実験］音で音を消す

アクティブ・ノイズ・キャンセリング
新連載

第 1 回 実験環境の構築
音波

騒音源

図1

川村 新

空気の振動によって音が伝わる

アクティブ・ノイズ・キャンセリング（ANC）技術
はその名前の通り，音で音を消す技術です．身近な例
では，ノイズ・キャンセリング・イヤホン（またはヘッドホン）で ANC が採用されています．密閉された小さな空間では，比較的安定して動作させることができます．
イヤホン以外では，本田技研工業のアコードや日産自動車の X-trail などが車内の騒音低減のために ANCを活用しています．その他，空調機器のダクト，工場，建設作業現場にも ANC が採用され，騒音低減を実現しています．

アクティブ・ノイズ・キャンセリング
技術の実装は難しい● 逆位相の音を作って音を消す
我々の耳に届く音は，図 1 のように空気の振動です．
ここに，消したい音の振動と逆の振動をもつ音（これを逆位相音と呼ぶ）をぶつければ，空気の振動を止めて音を消すことができます（図 2）．これが ANC 技術の概要です .

● 安定した逆位相音をつくることが課題
音を音で消す，すなわち，ある波に逆位相の波をぶつけてやるということなので，原理は理解しやすいと思います．ところが音は空間を球面状に広がるので，・ 気温

消音スピーカ

騒音源

空気の振動が逆向きのため音が消える
騒音の逆位相音を放射
図2

消したい音の逆位相音をぶつければ音を消すことができる

時々刻々と変化します．そのため，指定したマイク位置で，ちょうど逆位相となる音を，自動的かつ安定して作ることは難しい問題であり，ANC 技術を実装する上での最大の課題です．

連載概要
本連載では，この ANC 技術を使って自宅で試せる消音実験を解説します．
今回は実験環境の構築までを紹介します .
次回（連載第 2 回）は，マイクでモノラル音声を取り込み，ステレオ・スピーカ，つまり 2 つのスピーカのうち，一方から取り込んだ音声を出力し，もう一方から取り込んだ音の逆位相音を出力して，音の打ち消しを行います（図 3）.
連載第 3 回では，2 つのスピーカから正弦波を出力し，逆位相による音の打ち消し実験を行います（図 4）．
連載第 4 回以降では，適応アルゴリズムを用いて，自動的に安定した逆位相音をつくることにチャレンジします（図 5）．

実験環境…ハードウェア

・ 人の動き● PC とマイク，スピーカだけで OK・ 椅子や机の位置

今回の実験では次の USB マイクロフォンとステレ
オ・スピーカを使います .

・ 壁の材質などによって伝わり方が変化します．従って，2 つの音波が空間上で，ちょうど逆位相となってぶつかるス
ポットは，小さな領域に限定される上，環境に応じて2023 年 6 月号

IF06̲165-168̲ANC(05)-2.indd 165

・ USB マイクロフォン BX078（VersionTECH.）
・ USB スピーカ MM-SPU7BK（サンワサプライ）・ PC（Windows）

165

2023/04/13 18:12

Lchはスルー

モノラル音声を入力

Rchは逆位相ノイズ源
Lch

RchLch

PC

スピーカ

マイク
スピーカ

スピーカ
マイク

マイクからの音声を逆位相にして，元の音声とぶつける

連載第 2 回の実験イメージ

図5
正弦波を出力Rchは逆位相

Lchはスルー

低い音が消えやすい？
高い音が消えやすい？

Rch

スピーカ

PC

音が消える？
図4

マイクに入る音が小さくなるように，適応アルゴリズムで逆位相音をつくる

自動的に安定した逆位相をつくる

連載第 4 回以降の実験イメージ用します注 1．今回はコンパイラの導入まで次に説明します．

Lch

スピーカ

PC

Rch

音が消える？
図3

自動的に音が消えるか？

Lch

Rch

スピーカ

ANC出力
（逆位相音）

正弦波を逆位相にして，元の波形とぶつける

連載第 3 回の実験イメージ● Borland C++ コンパイラの導入▶ステップ 1：ウェブ・サイトからファイルのダウンロード
まずは，エンバカデロ社のBorland C++コンパイラダ
ウンロード・ページ（https://www.embarcadero.

com/jp/free-tools/ccompiler）から，以下のそれぞれを接続した様子を写真 1 に示します . 同じ型の製品でなくとも，マイクロフォンとステレオ・スピーカがあれば，各実験は行うことができるでしょう．

実験環境…ソフトウェア● 音声処理プログラムを作成
マイクからモノラル音声を取り込み，入力信号を反転（逆位相にする）させるなどの音声処理をして，ス
ピ ー カ か ら 出 力 す る プ ロ グ ラ ム を 作 り ま す．
Windows パソコン上で Borland C++ コンパイラを利USB スピーカ
MM-SPU7BK

Borland C++ でコンパイル手順に従って BCC32C コンパイラをダウンロードしましょう．
ダウンロード・ページ画面中央の「今すぐダウンロード」をクリックし（図 6），必要事項（姓，名，メールアドレスなど）を入力して，下の「今すぐダウンロード」をクリックします（図 7）．クリックするとダウンロードが開始されます．
▶ステップ 2：ファイルの解凍
ダウンロードが終わったら，ファイルを解凍して任意の場所に置きます．ここでは C ドライブ直下としておきます（図 8）．
▶ステップ 3：パスを通す
まずは，ウィンドウ左の「PC」上で右クリックし，表示されたメニューの「プロパティ」をクリックします（図 9）．開かれたウィンドウの中から「システムの
注 1：今回は Windows 向けの Borland C++ でのみ，動作確認を行 っ て い ま す． 他 の コ ン パ イ ラ で は，windows.h のmmsystem.h あたりでエラーが生じる可能性が高いです．

ここをクリック
USB マイクロフォン
BX078
写真 1

ANC 消音実験の様子

166

IF06̲165-168̲ANC(05)-2.indd 166

Windows の PC

図 6 ダウンロード・ページ画面の「今すぐダウンロード」をクリック

2023 年 6 月号

2023/04/13 18:12

［実験］音で音を消す アクティブ・ノイズ・キャンセリング

①入力
右クリック

③クリック
②チェック

図 7 下にスクロールして必要事項を入力し，「今すぐダウンロード」をクリック

クリック

解凍したファイル

図8

図 9 ウィンドウ左カラムの「PC」上で右クリックして「プロパティ」をクリック

解凍したフォルダは C ドライブ直下に入れる詳細設定」を探してクリックします（図 10）．
「システムのプロパティ」というウィンドウが開くの で， そ の 中 の「 環 境 変 数 」を ク リ ッ ク し ま す（図 11）．その後，現れた画面の「Path」，「編集」を順にクリックします（図 12）．
次に出てきた「環境変数名の編集」画面右の「新規」をクリックすると，下に新しい入力欄ができるので，「C:¥BCC102¥bin」と入力して「OK」をクリックしクリック
図 10 「システムの詳細設定」をクリック「システムの詳細設定」の位置は Windows のバージョンによって異なる．
図は Windows11 Pro. の場合

ま す（ 図 13）． こ れ で パ ス が 通 る よ う に な り，BCC32C コンパイラが使えるようになりました．この画面を閉じます．
▶ステップ 4：パスが通ったことの確認
検索欄に「cmd」と入力してコマンド・プロンプトを起動します．出てきたウィンドウで「bcc32c」と入 力 し て Enter キ ー を 押 し て み ま し ょ う． そ の 後，
図 14 の よ う に「Embacadero C++ ….」の メ ッ
注 2：「…として認識されていません」というメッセージが表示されると，パスが通っていませんので，パスを通す作業を再確認してください．ただし，パスを再設定した場合，コマンド・プロンプトを再起動しないと設定が反映されないので注意してください．

2023 年 6 月号

IF06̲165-168̲ANC(05)-2.indd 167

クリック

図 11 「システムのプロパティ」の「環境変数」をクリック

1672023/04/13 18:12

①「新規」をクリック「OK」をクリック①「Path」をクリック②「編集」をクリック

このように入力

図 12 「Path」をクリックした後に「編集」をクリック

図 13「bcc32c」と入力して Enter キーを押す（test.c）

環境変数名の編集

リ ス ト 1 「Hello World!」と 表 示 す る サ ン プ ル・ プ ロ グ ラ ム#include <stdio.h>
int main(void){printf("Hello World!¥n");}パスが通っていればこのメッセージが出る
図 14 コマンドプロンプトに「bcc32c」と入力後に上記のメッセージが表示されれば OKセージが表示されれば，パスが通っています注 2．
▶ステップ 5：サンプル・プログラムを実行する
パスが通れば，Borland C++ コンパイラが使える状態になっています．早速，プログラム test.c を実行してみましょう．test.c の内容はリスト 1 に示すように 4 行のみです．
まず，test.c があるフォルダに移動して，「bcc32c test.c」と入力して Enter キーを押す

作成された「test.exe」を実行する
図 15 test.c をコンパイルして実行ファイル「test.exe」を作成し，実行すると「Hello World!」と表示がでる> bcc32c test.cと入力し，Enter キーを押してください．図 15 の画
面上部のようなメッセージがでれば実行ファイル「test.exe」が出来上がっています．
次に，> test.exeと入力し，Enter キーを押してみましょう（.exe は省略可能）．
「Hello World!」と表示されれば成功です（図 15 の下部）．これで実験の準備が整いました．

https://www.nissan.co.jp/OPTIONAL-PARTS/NAVIOM/X-TRAIL_SPECIAL/E-POWER/2207/
index.html#!page?guid-475eabf6-035e47bc-9179-ae5dbe4b45e8（4）車の森，株式会社ヨシダオートサービス．

https://kurumanomori.com/topics/car/new_xtrail/（5）空調ダクトの騒音を軽減する「ANC（アクティブノイズコン
トロール）消音装置」とは，有限会社岩元空調．

https://www.ductya.com/blog/post-104/▪参考文献▪
（1）ノイズキャンセリングイヤホン特集，イヤホン・ヘッドホン専門店 e ☆イヤホン．

https://www.e-earphone.jp/ex/contents/
feature/5234/noise-cancelling-earphone/（2）HONDA アコード，本田技研工業株式会社．

https://www.honda.co.jp/auto-archive/
accord/4door/2023/webcatalog/interior/cabin/（3）NISSAN エクストレイル，日産自動車株式会社．

168

IF06̲165-168̲ANC(05)-2.indd 168（6）ANC 騒音制御，株式会社エフ・ピー・エス．

https://fpsinc.co.jp/anc/（7）協和 ANC 消音システム，協和化工株式会社．

http://www.kyowakako.co.jp/products/anc.
html（8）音のなんでも Q ＆ A，一般社団法人日本音響学会．

https://acoustics.jp/qanda/answer/73.
html
かわむら・あらた

2023 年 6 月号

2023/04/13 18:12