Arduino - モノホンTENGUとECM再考
結局気になってモノホンのTENGUを注文し一昨日届きました!
ソフトウェアの進捗が伸び悩んでいるので、今回は息抜きネタです。

自分でニッチとか言っておいてなんだけど、いろいろな意味で薄っぺらいという所感![]()
ある意味裏切らない商品なのかも。。。
ボタンとか無いからどうやって他の表情を出すのかと思ったら、思いっきりマイクに息を吹き掛けてやったら変わった。
どうやら、最大レベルが数秒続くと、別の表情に切り替わるようになっているみたい。
なるほど、こういうアイデアは素晴らしい。
でも、すぐに眠ってしまうのには残念。
せめて半固定抵抗かなんかで眠るまでの時間調節が出来るか、オン・オフの切り替えが出来ると良かったな。
どうせUSBで繋ぎっぱなしなんだし。
遊んでいて思ったことは、マイクの感度が意外なほど良い。
じゅんさんの話では、トランジスタ2個でプリアンプが構成されているらしい。
ということなので、やはり分解して検証してみることにした。
裏蓋を外すとまずPIC16F876Aが目に付きます。
基板を裏返すとLEDマトリクスの回路のみで、確かに目が横に3個ずつ並んでますね~
これがPWMで明滅しているのでしょう。
合計で6x8のマトリクスです。
そして気になるマイク周辺回路。
う~む、2つのトランジスタでアンプが構成されているのはわかるけど、結構抵抗とコンデンサが入っているんですねえ。
このトランジスタ、「1AM」と「2A」と書いてあるのだけど、1AMは調べてNPNではないかと分ったけど、2Aというのは何だろう??たぶんこれもNPNだとは思うけど、わかる方いましたら教えて下さいm(_ _)m
(下記参照)
で、見てても拉致があかないので、分かる範囲で回路図にしてみました。
2009.2.9追記
トランジスタの修正など回路図の訂正をしてアップし直しました。
ご協力頂いた じゅんさん に感謝致します。ありがとうございましたm(_ _)m
抵抗は数値から読み取れるので間違いないと思うけど、コンデンサはさすがに分かりません。
トランジスタは一応両方ともNPNとして入れてあります。
たぶんC1とC4はカップリングで、C2とC3がバイパス?、最終的にPICの2番ピンに接続されているようです。
基本的なプリアンプ回路を改造しているのは分かるのですが、いまいち勉強不足なので理解に至りません。
試しに出音を確認してみようと、下のようにして出力をPCのマイク入力で録音してみました。
途中、オルガンの音色でA(ラ=440Hz)の音をマイク付近で出して、そのまま1mほどまで遠ざけてます(かなり聞き取り辛い)。
ダウンロード tengu-ecm.mp3 (163.5K)(大きなノイズ音に注意)
強引に出力を奪っているので、電圧変化のノイズがバリバリ入ってます![]()
こういう場合、どうやったらうまく音を取り込めるのでしょう??
たまたま発覚したことですが、マイクのプラス側に何も接続してないテストクリップを接続したら、なんとAMラジオの音声が入ってきました!![]()
どうやら接続したテストクリップのコードがアンテナとして作用したようで、文化放送ともう1つの局が混線して聞こえます。すげ~~~
このままスピーカーを付けたらTENGUラジオになりそう・・・選曲出来ないけど![]()
一応ノイズが多いですが、TENGUで拾ったラジオ音声を録音したので置いておきます。
結構はっきり聞こえます。
ダウンロード tengu_radio.mp3 (24.3K)(女性の声が文化放送で、裏の音楽がBGMではなく他局の放送です)
--
別な意味で遊んでしまったけど、急遽ArduinoTENGUのマイク部分を改良してみることにしました。
というのも、これまでは反応があまり良くなくて、マイクのすぐ手前か大きな音を出さないと反応しなかった。
TENGUがこの反応なんだから、まだ改良の余地があると思い更なる調査をしてみました。
以下の感じでブレッドボードにマイク回路のみを移して、その出力を直接PCのマイク入力に入れてチェックしていきます。
ワニグチはPCのマイクへ(検証ではグランドも接続)、クリップはマイクへ接続。
改良点として、まず電源ラインにパスコンとして 220uF の電解コンデンサと 0.1uF の積セラをいれました。
これはマイクのプリアンプ回路でよく使用されているのと同じにしただけです。
制限抵抗はどこかの掲示板だかで、抵抗=電圧÷0.00068 という式を見かけたので、それに従うと約7.3kの抵抗になります。
よって手持ちで近いものとして10kを選びましたが、バラつきを無くすために金皮抵抗にしてます。
何故0.00068なのかは分かりません。
例えばWM-E13UYなら1.5V時に2kが推奨ですが、結構いろいろな回路を見ていると電圧も抵抗もバラバラなんですよね。
分圧して推奨電圧にするべきなのかと思ったけど、結局アンプに流したい電流によりけりなのでしょうか?
これまでの回路で音を聞いてみると、とにかくノイズが酷くて聞くに堪えません。
更に、音声を入れてもノイズに埋もれてしまっていたようです。
本来「音」自体は関係ないのだけど、「反応」という意味では重要。
まず電源のパスコンだけでも、ノイズのバラつきが落ち着きます。
そして制限抵抗は2.2kの抵抗を入れてましたが、10kにしたことでノイズが滑らか?で弱くなり、音の輪郭が出てきました。
更にコンデンサをカップリングすると交流成分だけが抜けて、ちゃんと音声を抜き取ることができ、ノイズもぐんと減りました。
まだノイズは乗りますが、とにかくノイズだらけだったのが、わずかな音でも反応するようになり、音がはっきりしました![]()
音声認識するわけでも録音するわけでもないので、これで十分といった感じです。
録音するならアンプからして再設計して、しっかりフィルターを作らないとならないし、まして音声認識なんてFFTを搭載するだけでもArduinoのプラットホームでは厳しいでしょう。
Processing側で認識部分を任せれば出来なくはないけど、データ転送のレイテンシーでサンプリングレートをかなり落とす必要がありそう・・・そうなると認識率がかなり落ち込んでしまう・・・
と、関係ない話は置いといて、最終的に出来上がった回路です。
マイクの制限抵抗は 10k の金皮抵抗で置き換え、カップリングとして1uF、4.7uF、10uF、47uFで試してみましたが、10uF の電解コンデンサに落ち着きました。
220uFだけやたらデカいですが、これしかなかった![]()
OSコンとかのオーディオ用コンデンサにしたら、どれくらい変わるのだろうか。
--
今度はマイクです。
TENGUのマイクのスペックは分かりませんが、そこそこ良いものを使っているのかもしれないですねえ。
手持ちのマイクは以前にも紹介しましたが一応紹介しておくと、秋月さんのC9767とWM-E13UY、そして千石さんのF9767Aというのが見つかったので、これも対象にしてみます。
これだけでは比較対象としては貧弱なので、手持ちの製品でプラグイン・パワー方式のマイクも使ってみます。
だいぶ前に買ったマイクですが、AudioTechnica製のAT9830という製品と、SONY製のECM-DS70Pというコンデンサ・マイクも対象にしてみました。
プラグイン・パワーは低電圧なので、ちゃんとしたコンデンサ・マイクみたいに48Vのファンタム電源を必要としないところは楽ですね~

AudioTechnica - AT9830

SONY - ECM-DS70P
SatE-Oが適当に弾いたJazzy?なコード進行をサンプル音として作りました。
オープン・ヴォイシングでクリシェしていくように音域を稼ぎながら弾いて、音色はロック系で使われるオルガンを使用。
アタックがあって低域もある音色なので、急激なレベル変化があり、低域から高域までカバーできていると思います。
ダウンロード chord.mp3 (90.3K) 比較サンプル元音
このサンプルをスピーカーから流して、スピーカーの手前10cmあたりのところにマイクを置いて録音します。
但し、使用しているスピーカーが2.1chなので、ウーファー側からの集音が出来ず、中高域用のスピーカーからでしか録音できませんでした。
また、自宅でノイズ対策も何もしてない環境です。
ステレオのものはL側のみの使用。
本来ならモニタースピーカーを使うべきですが、引越しやらで邪魔になって譲ってしまいました![]()
そして録音結果ですが、カップリング・コンデンサを1uFと10uFでそれぞれ録音したのが以下です。
最初の3秒ほどが無音(何もしてない状態)で、次いでサンプルの音が入り、サンプル終了後も2~3秒ほど無音となってます(だいたい12秒程の長さ)。
- C9767
ダウンロード C9767b.mp3 (136.5K) 1uF
ダウンロード C9767c.mp3 (140.2K) 10uF
- WM-E13UY
ダウンロード WM-E13UYb.mp3 (138.1K) 1uF
ダウンロード WM-E13UYc.mp3 (149.4K) 10uF
ダウンロード WM-E13UYd.mp3 (148.2K) 前回までの回路での録音
- F9767AL
ダウンロード F9767ALb.mp3 (130.7K) 1uF
ダウンロード F9767ALc.mp3 (141.4K) 10uF
- AT9830
ダウンロード AT9830b.mp3 (131.6K) 1uF
ダウンロード AT9830c.mp3 (132.9K) 10uF
- DS70P
ダウンロード DS70P.mp3 (144.5K) 10uF
前回まで良かったと思っていたWM-E13UYですが、製品以外では一番ノイズが多い結果となってしまいました。
それから前回までの回路での録音結果も入れてありますが、こんなに酷かったんですねえ![]()
C9767とF9767ALは名前からして恐らくほぼ同じ特性ではないかと思いますが、ノイズも少なく、かなり良好です。
けど、F9767ALの方が若干ノイジーで音の厚みが違います。
この中で最も良いと思われたDS70PはWM-E13UY同様、とってもNoizyyyで意外な結果。
これは10uFしかありませんが、この状態だったので1つだけにしました。
そしてAT9830が最もノイズが少なく、一番良い結果となりました。
かなり距離が離れていても集音してくれます。
しかし、中域の特性に弱いのか、だいぶ高域寄りな結果となってます。
DS70Pには期待していたのですが、どうもSONYはいろいろと制限するのが好きなのでしょうか。。。
でも、このマイクの中身はしっかり作られていて、ECMにはノイズシールドがあり、L/Rそれぞれにダイオードとコンデンサがかましてあります。
AT9830にはシールドもなく、特別な部品などありません。
恐らく適合した機種での動作保証という感じで、それに見合ったお膳立てをしてやらないとならないのでしょうねえ。
なのでWM-E13UYもそういう特性のECMなのかもしれません。
う~む、意外な落とし穴・・・![]()
ちなみにDS70Pは、同社のMDウォークマンと併用していて、主にバンドやっていた時にスタジオでの録音に使ってました。
もちろん、この組み合わせでの録音は非常に良好でした。
PCM-D1みたいなレコーダーがその当時にあったらなあ。。。
また、コンデンサの違いでは、10uFの方が中域での豊かさがあるように思います。
コンデンサ容量を下げていくと高域を多く取り込んでくるため、10uFの方が中域が目立ってくるのではないでしょうか。
結果としてノイズのレベルにも違いが出てきてます。
FFTによるスペクトラム解析では、全体を通していきなり100Hzあたりから減衰するローパス状態です。
これは回路自体の問題だと思うので仕方ないとして、いつかはアンプ自体もモジュールではなくディスクリートなりしたいと思います。
たぶんその頃には違う目的になっているかもしれないけど・・・
これでもまだ本家TENGUの方が反応が良い時があるのだけど、かなり近づいたと検証と改良には満足。
というわけで、ArduinoTENGUにはC9767を載せることに決定~
はぁ、単純なテストだったはずなのに疲れた![]()
でも、もっといろいろなECMで試してみたくなってしまい、今後もECMが増えていきそうな予感が・・・
とまぁ、いろんな回路を調べていたおかげで、アンプというものが少し分かってきた気がします。
今まで中のことなんて考えたことなかったからなあ。
このTENGUのROMを吸い出して解析してみようかと思ったけど、リバースするのもアレだし、余計な労力を得るだけか・・・気になるけど。
| 固定リンク
「電子工作」カテゴリの記事
- Arduino - ArduinoによるAVRライターとATmega328P再換装(2009.03.07)
- Arduino - SparkFun マイク・モジュール(2009.02.15)
- Arduino - Arduino用容量倍化ATmega328P到着(2009.01.07)
- Arduino - ブレッドボードでArduino(2008.04.05)
- Arduino - モノホンTENGUとECM再考(2009.02.06)










コメント
こんにちは、毎度楽しく拝見してます。
掲載のTENGUの回路図と基板の写真をじっと眺ると、
2AをPNPとすれば1AMとダーリントン接続に接続になって
いるように見えます。
動作点やらなんやらと難しい部分は分かりませんが、
教科書で見たことあるような回路です。
雰囲気としては、ダーリントンで高い増幅率を稼ぎつつ
2段目から負帰還をすることでF特の良いアンプにしている
のかと思います。(雰囲気しか分かりませんが…^^;)
これ、オペアンプで受けたらちゃんと聞こえるかも知れませんね。
と、無責任なことを言ってみる・・・
投稿: じゅん | 2009-02-08 10:03
じゅんさん、こんにちは~(^-^)
早速の助言ありがとうございます!
ダーリントン接続!調べている時に何度かその言葉を見かけましたよ~
でも、ダーリントンって1段目のエミッタが2段目のベースに繋がる回路ですよね??
そうなると掲載の回路図のトランジスタの向きは両方とも逆として考えるべきなんでしょうかね?
まぁ回路図側もしっかり目で追えているかも怪しいので、方向があっているか自信ないですが^^;
>2段目から負帰還をすることでF特の良いアンプにしている
なるほど!
単に増幅率を上げているだけでなく、2段目はそういう役目もあるわけですか~
>これ、オペアンプで受けたらちゃんと聞こえるかも知れませんね。
了解、今度試してみますw
基礎知識がないとわからないことだらけです^^;
投稿: SatE-O | 2009-02-08 11:29
SatE-Oさん こんにちは
手元の本によると、PNPとNPNのダーリントン接続は、
インバーテッド・ダーリントン接続と呼ばれるそうです。
この場合、初段(NPN)のエミッタが後段(PNP)のコレクタに接続します。
で、全体として、NPNのように振る舞うみたいですよ。
>そうなると掲載の回路図のトランジスタの向きは両方とも逆として考えるべきなんでしょうかね?
遅れ馳せながらもSatE-Oさんの写真を見ながら手書き
スケッチしてみました。
見間違えを含んでいるかも知れませんが、SatE-Oさんの回路と若干の違いがありました。
何かの手段でメモ送れるといいのですが・・・
あ、それから、無責任なこと書きっぱなしも…と思い
TENGUに抵抗の切れ端を半田してオシロあててみました。
口笛テストではPICの入力部分は2.5Vバイアスの
ほぼ正弦波の綺麗な波形が見えました。
感度のいいアンプですね。
試しに入力インピーダンス10k程度の自作アンプに
つなぎかえるとノイズバリバリで音が歪むようになりました。
バイアスも電圧降下して波形もぐちゃぐちゃです。
やはり、ちゃんと聞くには、オペアンプのボルテージフォロアとかで受けるのが手っとりはやそうです。
ではではー
投稿: じゅん | 2009-02-08 12:05
なるほど、インバーテッドでしたか。
それなら合点がいきます^^
そう考えると2段目はPNPである可能性は高いですね~
これで1つのNPNとして考えて、大きな増幅率が得られるわけですね。
>何かの手段でメモ送れるといいのですが・・・
わざわざすみません。
ステアド用意しましたのでメールでしたらこちらへお願いしますm(_ _)m
sate.sateoにアットマークを挟んでgmail.com
です。
>あ、それから、無責任なこと書きっぱなしも…
これもわざわざすみません^^;
やはりこの回路自体も良く出来ていそうですね~
ボルテージフォロワですね、なるほど。
そうか、それで回路を分離するわけですね^^
いや~分かっている人がいると話が早いです^^;
投稿: SatE-O | 2009-02-08 12:35
じゅんさん、メール受け取りました!
無事にメモPDF拝見しましたが、確実に合っているのは抵抗値くらいですねw
仰る通り、2AをPNPとして見たらかなりすっきりします。
今思うとその部分って書いてて違和感みたいのあったんです。
上下がすっきりしなかったというか・・・インバーテッドが分かっていたら^^;
それにしても良い勉強になりました~
お手数お掛けしましたが、わざわざありがとうございましたm(_ _)m
後日、確認をして回路図書いてアップします^^
仕事なのに思いっきり夜更かししてしまった・・・
投稿: SatE-O | 2009-02-09 02:48
じゅんさんへ
訂正した画像をメールで送りましたので、一応回路図のチェックよろですm(_ _)m
投稿: SatE-O | 2009-02-09 22:47
訂正したTENGUのECM回路の回路図を入れ換えました。
じゅんさん、ほんとにありがとうございます(^-^)
それから高域増強回路の見本を見せて頂きありがとうございましたm(_ _)m
C2のコンデンサによって高域の増強をしているみたいですね~
そんな回路になっているとはつゆ知らず、確かに奥が深いですね^^;
やっぱりこういう回路を一度作って、値をいろいろ変えてみたいです。
作ったとして、Arduinoに載せるのに小型するのが大変でしょうけど^^;
投稿: SatE-O | 2009-02-09 23:52
SatE-Oさん こんばんはぁ
アナログアンプって電子工作の王道だなって再認識した次第ですhi
投稿: じゅん | 2009-02-10 01:26
いや、ここにきて全くそう思いますよ(^-^;
お付き合い下さってご苦労さまでした~
投稿: SatE-O | 2009-02-10 19:22