というわけで、今日この音声はPodTrack P4 Nextを使って録音をしています。
マイクはちなみにSMコッパーを使って録音をしています。
というわけで、今日の話すテーマなんですけども、そのPodTrack P4 Nextの企画と、そして科学系Podcastのテーマはゼロということで、
アナログデジタル変換のゼロレベルとは、について話したいと思っています。
というわけで、まずゼロレベルの話する前に、アナログデジタル変換って何ってところをちょっとおさらいをしたいなと思っています。
私自身が元々の仕事で、全職で電気回路設計、特にアナログ回路、そしてデジタル回路、デジタル信号処理、そういったところの回路設計を担当していたことがあって、
なのでアナログデジタル変換っていったところのゼロレベルの考え方とかですね、ちょっとそのあたりを話せたらいいなと思っていますし、
このPodTrack P4 Nextっていうマイクの入力、アナログの音ですよね、自分がしゃべっている声をデジタルに変換するっていう機械なわけですよね、このPodTrack P4 Next。
そのあたりも踏まえて話せたらいいなと思っています。
皆さん、アナログデジタルって何って言われたときにどういうふうに答えるかですが、
端的に言ってしまえば、数字じゃないものを数字にするっていうことがアナログをデジタルに変換するっていうふうに捉えて、ほぼほぼ問題ないんじゃないかなとは思っています。
世の中のものっていうのはほぼ数字じゃない、例えばこうやって私がしゃべっている声もそうですし、光の量だったりとか温度だったりとか、いろんな量が基本的には数字じゃないんですよね。
でもそれを数字にすることで世の中が理解しやすくなるということですよね。
その数字にするっていうことはどういうことかというと、例えばデジタル時計とアナログ時計の違いって何って言われたら、アナログ時計って要は長心短心、針があって秒針が回っててっていう時計が基本的にはアナログ時計ですよね。
基本的にはそういう時計。デジタル時計っていうのは数字で何時何分っていうのが数字で表示されているのがデジタル時計。
時計を見た時にアナログ時計にも数字って書いてあるものが多いじゃないですか、12とかね、1,2,3,4,5。
だから時計をパッと見た時に今何時ですかって言われた時にアナログ時計を見て今4時53分25秒とか数字に変換して言うことができるわけですよね。
その時にじゃあこの時計って数字に変換できるじゃないですかと。だからデジタル時計と言ってもいいんじゃないかっていうふうに思おうと思えば思えるかもしれないんですけど、
これはアナログの時計を数字に変えるっていうことを自分がやっている、見ている人が読んでやっているので、この場合その時計の時間を数字に言っているあなたがアナログデジタル変換を行っているっていうことになりますね。
だからアナログデジタル変換器になっているわけです。
ちなみにアナログデジタル変換器って言葉が長いのでAD変換とか言うことがあるので、ちょっと言葉が混在するかもしれませんが、アナログデジタル変換イコールAD変換またはADコンバーターとかそういう言葉があります。
なのでこの時はあなたがADコンバーターになってますねっていう話ですね。
でも自分が数字を読んでその読んだ数字がその後どう活用されるかというところで、コンピューターに読み込ませないとその後うまく活用できないですよね。
あなたが口で言ったとしてもそれを紙に書いてもコンピューターがそれを認識しないと信号処理ができないので、
だったらやっぱりコンピューターの中であなたがやったアナログ値を数字に変えるっていうことをコンピューターの中でやってしまうっていうことが信号処理としては望ましいと。
つまりデジタル時計の中にはあなたが今やった数字に変換するっていうAD変換をするものが中にいるっていうことになります。
それがADコンバーターっていうものですね。
だからこうやって今私がしゃべっているマイクの声もアナログで、そのアナログの声がデジタルに変換されてこうやって最終的にはPodcastのデータとなって世の中に発信されるわけですけども、
ここでもやっぱりそのアナログデジタル変換をしているADコンバーターというものがこのPodTrack Before Nextの中に入っているということになります。
ここまで理解できるともう大体もう理解できたんじゃないかなとは思うので、世の中にはアナログデジタル変換している機械がいっぱいあるよっていうことですよね。
だってパソコンで信号処理するのはもう全部デジタル量でしかないので、あらゆるものがデジタルに変換されているわけですよね。
音をすべてデジタルに変換するものがあったり、カメラだったら光をデジタルに変換したりとかするわけで、温度計は温度をデジタルに変換するものがあるということですよね。
じゃあこのAD変換っていろんなもの変換しないといけないじゃないですかということになるんですけど、じゃあどんなAD変換機、ADコンバーターがあるんだろうかっていうふうに考えたときに、ADコンバーターってどういうものかなってイメージできますかね。
ほぼイメージ通りであっていると思うんですけど、電気回路基板の中には半導体で作られたICチップとかLSIだったり、なんでもいいんですけど半導体で作られた部品が入っているわけですよね。
やっぱりADコンバーターも基本的には半導体で作られたチップがアナログ量をデジタルに変換するということをやっています。
ADコンバーターは半導体でできた電子部品ですというふうに理解してもらって大丈夫ですと。
ということはこうやって喋っている声、空気の振動をまず電気に変換するっていうものが必要になってくるわけです。
そしてカメラだったら光の量を電気に変換するっていうセンサーが必要になってくる。
温度だったらその温度を電気に変換するっていうセンサーが必要になってくる。
だから基本的な考え方としてセンサーがあって、センサーはまず電気に変換するセンサーがあり、電気に変換したらそれをADコンバーターが
はい喜んでっていう感じでデジタルに変換してくれるというようなものが中に入っています。
このポッドキャストの場合は音の振動を電気に変換しているのは、このマイクの場合、例えばSM5%、今僕が持っているマイクですけど
この中には空気の振動を電気に変換する素子があります。
ダイヤフラムって言って、要するに横隔膜みたいな膜があって、空気の振動によってポコポコポコポコ振動するわけですね。
その振動によってコイルが振動を検出して、コイルが動くと電気が流れるみたいなことを
昔、理科とか物理とかで習った人も多いと思うんですけど、そのような原理で振動することによって電気が流れる。
電気が流れていって、その流れた電気を最終的にはADコンバーターがその電気の量を測定して数字に変えるということをしています。
では、いよいよ電気に変換されたものをデジタルに変換するっていう、アナログデジタル変換がいかにして、どのようにして変換しているのかっていうところの話をしたいと思うんですけども、
デジタルに変換したときに数字に変換されるわけですけど、どういう数字をイメージするかって言ったら、それは物によりけり。
例えばさっき時計だったらもう10時23分58秒ですとか、そういう時間をイメージしますよね。
だからADコンバーターというものがそういう時間の情報を変換してくれるもんなんじゃないのって思うかもしれないですけど、そこはもうちょっと先の話で、
やっぱりAD変換器っていうのはもっと人間が理解できないような数字を扱って変換したりとかしてるんですよね。
簡単に言うと、物理量、大きい信号、そしてちっちゃい信号、いろいろありますよね。
喋ってるときに小さく喋ったりとか大きく喋ったりとかするたびに、この波形は大きく変わるわけですけど、それによってデジタルが小さくなったり大きくなったりするんじゃないかみたいに思いますよね。
だから何も喋ってないときがゼロ。
喋り始めたら一番大きい値が、例えばゼロから1万までだとしたら1万とか、そういうイメージを持たれるかもしれないですけど、そうそう簡単な話じゃないんですよねっていうところなんです。
そもそもゼロって何なんだろうっていうところが、特にデジタルの領域でもそうですし、
まずアナログ回路の時点からゼロっていうところが、一般的な感覚からするとちょっとおよよってなるような感じがあるんですよね。
電気回路って、例えば本当に簡単な回路でもいいんですけど、乾電池に豆電球をつなげてとか、そういう回路をしたときに、ここがどこがゼロボルトでとかね、そもそもゼロボルトって何ですかっていうね。
何だと思いますか、ゼロボルトって。ゼロボルトっていうのは電圧ですよね。電圧っていうのは、なじみやすい言葉で言うと電圧っていう言葉を使うんですけど、
本当に一気に難しくなる電位差っていう言葉が、高校の物理科、ちょっとどこで習うかわかんないですけど、電位差っていう言葉が出てくるんですよね。
なんやねん電位差って。電位差イコール電圧です。じゃあ電圧って言えよっていうものがあるんですけど、これはなぜかっていうと電位差っていうのは差っていう言葉が出てきて、
電圧っていうのはそもそもが絶対値持ってなくて、ある点とある点の間の電位、電位っていう言葉を使いますけど、ある点とある点の差が何ボルトだよっていう風にしか規定できないんですよね。
例えばもうこの回路の中のここは1.2ボルトだって絶対的に言えないんですよ。こことここの差は1.2ボルトだっていう風にしか言えないんですね。電圧っていうのは。電位差だから。差でしかないので。
じゃあその時にゼロボルトっていうのがどこなのかっていうのをどう決めるのかっていう話はあるんですよね。電気回路の設計をしている人とかだったらまあなじみがあるんですけど、
グランドっていう言葉があります。グランドって地面っていう意味ですけど、グランドっていうのがすなわちゼロボルトだっていう風に回路設計の中では扱います。
これは地面っていう意味で、アースっていう言葉。アースって地球ですけど地面だったりしますよね。だからアースって言葉もありますが、アースっていう言葉はもっと洗濯機とか乾電しないように漏電防止のためにアースに接続してくださいっていうようなあるじゃないですか。
このようにですね、今デジタル変換以前の話ですけど、アナログ回路、電気回路を設計するときには基準レベル、ゼロレベルというのを揃えないとうまく動作しないということがあります。
これも視差深いなと思うんですけど、人とコミュニケーションを取るとか、違った文化を持っている人たちとコミュニケーションを取るとか、そういったときにそれぞれの文化の中ではイエーイって盛り上がってたとしても、それぞれの常識だとか基準っていうものが違ってたりする、そういう状況があるとやっぱりお話がなかなかできない。
こっちは別に普通のことを言っていると思うんだけど、めちゃくちゃ大きいことを言っているように聞こえるかもしれないし、それを基準を合わせるっていう、グランドでつないであげるっていうことをすると、ゼロはゼロだよ、これがゼロだよっていうことを共有しあえれば、ちゃんとお話できるっていうことになったりするんですよね。
そういうことを言いたかったんだねっていうことになるので、人と人でもいいかもしれないですけど、やっぱり基準が違うんだなっていうことを理解するというか、認識するっていうことがこの事象からちょっと思うことでもあったりとかはするんですが、そんなサイコパス的な考え方している時点で多分会話がなかなか難しいっていう状態になるんですけど、そんなことを考えたりします。
ここからアナログをデジタルに変換するっていうところも話をしたいと思うんですけど、デジタルって、さっきも言ったように時計だったら何時何分っていうイメージあるじゃないですか。温度計でもやっぱり25度とか40度とかある程度その数字があると思うんですけど、でもADコンバーター、アナログをデジタルに変換するそのADコンバーターっていうのは、そこまでリッチなことはできないんですよね。
なぜならばデジタル回路っていうのがそもそも1と0でしか動かないので、電圧が高いか低いかっていうそのハイかローかっていうようなことを、そういう信号処理をしているんですけど、そういう線が4本あるのが4ビットです。
だから4本あると、0000から0001、0010、0011みたいな感じで増やしていくと、最終的に1111っていうところまで16通り出てくるっていうのがあるので、4本の線で16通りの状態を表すことができるので、16分割になります。
同じように16ビットADコンバーターで言えば、16本の線があると0000000が16個並んだところから、1がどんどん増えていって、すべて1になって変わる。
1が16個並ぶところまで数えていくと、65536通りになりますよっていうことで、65536通りの状態を表すことができるっていうことなんですけど、
例えば温度計だとしたら、0度から100度まで測れますみたいな温度計があったとして、0度から100度まで測れて、1度単位で測れます。
100通りだとしたら、2の7乗が128なので、7ビットADコンバーターっていうのはないので、基本8ビットですね。
8ビットADコンバーター使うと256通りあるから、0から100までを表すことができますね。
だから最低8ビットのADコンバーターが必要ですよねっていうことになる。
つまりデジタルで8ビット。8ビットにしましょうか。簡単すぎず難しすぎない8ビット。
8ビットっていうのは、01っていう信号が8本あるってことですね。
0000000から11111111まで数えていくと256通りありますよということになります。
この場合、温度計が0度から100度まで測れる温度計が欲しいよってなったときに、
0度の時にデジタルって何にしますかっていうことで、デジタルも0だから0000000でしょっていうふうになんとなく感覚的には思うんですけど、
でもそうすると0よりも低い数字っていうのはもう範囲外になっちゃうので、
なんとなく0から100度まで測れるんだったらちょっとマイナス1度2度3度ぐらいまで測れるようにしたいよねとか、誤差とかいろいろ考えると。
そうすると0度が0000000にしちゃうと良くないよねってなるので、
0度をもうちょい上にしましょうっていうことで00001000とかを0にしましょうとか、
そこの数字は何でもいいんですけど、ちょっとオフセットを入れてあげたりとかする。
ここのレベルが0だよっていうのを決めてあげたりするっていうことをしたりします。
つまり言いたいのは、ADコンバーターの出力0は0、アナログの0を示してないよっていうことで、
結局は決め事で、この電圧だったら0Vっていうのをもう決めると、決めないといけないっていうことですね。
さっきアナログのところでも言ったように、0Vってそもそも何っていうところもあるけど、
ここのグラウンドレベルが0Vなんだよって言ったら、その0Vはこのデジタルの中では0から256通りだとしたら、
0から255までの数字の100を0Vとしますみたいな、そういう設定をして、
デジタルに変換した後に100が0レベルだから100を引いて計算してねみたいなことを後でやる必要があったり。
ポトトラックP4Nextは多分24ビットのADコンバーターが中に入っていると。
僕もADコンバーターの設計とか昔してたんで、いろんなADコンバーターの選定を、いろんな会社のADコンバーターをいろいろ調査したりとかしてたんですけど、
やっぱり24ビットが最大なんですよね。ADコンバーター単品が。
僕が設計してたのも数年前、10年前くらいなんで、今最新はもうちょっと違うかもしれないですけど、やっぱり24ビットっていうのが割ともう限界でした。
今32ビットフロートとかっていうのがあるじゃないですか。32ビットってなると、32ビットを分割するADコンバーターというのはなくて、
2つのADコンバーターを並べて同じ信号を2つのADコンバーターに入れるんですけど、片方のADコンバーターは信号を大きくして、片方は小さくしてっていう形で入れることをします。
そうすると小さい信号を細かく分割するADコンバーターと、大きい信号を細かく分割するADコンバーターがあって、
そうすると小さい声も大きい声もある程度どっちかがちゃんと取れてるっていう状態になったりするわけですよ。
っていうような信号処理をやったりとかするAD変換というのもあって、このPodTrack P4nextはそういうデュアルADとかっていう感じではないみたいなので、
24ビットのADコンバーター1個が入ってると思うんですけど、世の中的には2つのADコンバーターを使って32ビット振ろうということをやっているものがあるんだろうなというふうに思っています。
要するに細かく分割する、細かく分割して小さい音から大きい音まで拾おうとすると、24ビットが限界で、32ビット振ろうと言ってるのをやろうとすると、ADコンバーター1個じゃ足んないんじゃないかなと思ってます。
そうするとでも高くなるんですよね。ADコンバーターって、ものすごく電気回路の中では高い部類に入ります。値段がですね。
ADコンバーター、特にリッチなADコンバーターになればなるほど値段が高くなってくるので、なるべくその数を抑えたいというふうに考えたときに、ADコンバーター1個で16ビットよりももっと多くできないかなというふうに考えると、ダイナミックにゲインを変えていくというやり方もあります。
だから入ってきた信号のレベルを検出してて、小さい信号のときはゲインを大きくしてて、大きな信号が入ってきたらゲインを下げてっていうのをリアルタイムにダイナミックに処理するような回路を作るということをやると、見かけ上ダイナミックレンジを広くすることができると。
ダイナミックレンジっていうのは、どのくらい小さい音からどのくらい大きい音までリアルタイムに取得できるかっていうような指標ですけど、それを大きく広げることができる。