-
phillowcompiler
- 7223
- 32
- 3
- 82
エンドユーザーがRISC-Vマイコンを手軽に扱えるということで2019年7月上旬に華々しくデビューしたM5StickV。
人気も高く、日本に入荷してはすぐに売り切れ。という品薄状態が続いている。
上述のRISC-Vマイコンは「K210」で、ニューラルネットワークアクセラレーター(KPU)も積んでいる優れもの。
さっそく日本の熱心なファンによるHackが始まり、画像認識機能の素晴らしさを垣間見せている。
その一方、音声認識機能を試し始めたところ…
※以下、英語ツイートの訳は適当ですw

@M5Stack Do you have any code to initialize M5StickV's mic?
2019-08-07 23:57:51M5StickVのマイクを使いたいんだけど、初期化の(サンプル)コードはあるかい?
解説■initialize
デバイスの初期化処理のこと
まずは「Brownie」作者ミクミンさん(初音ミクアイコン)のツイート。
「mic」は初音ミクのことではなくてmicrophoneの略。
(言うまでも無いけれど、念のためw)

@ksasao @M5Stack It's a I2S mic, you don’t need to init, just mux the corresponding pins to I2S channel. You can check Sipeed’s demo for now.
2019-08-08 02:05:38I2Sマイクだから、特にイニシャル処理(デバイスの初期設定処理)はいらないよ
ただ、SoCのMUX機能を使って必要なピンをI2S用のピンにしてね。
Sipeedのサンプルコードも確認してみて。
■I2Sマイク
音声はアナログデータなので、コンピューターが理解できるようにデジタルに変換する必要がある。
I2Sはそのデジタルデータの規格。
通常3本の信号線(LRCLK(WDCLK)、BLCK(SCLK)、SDATA)を使う。
※アナログステレオマイクだとL、R、GNDという信号線が出ているイメージ…かな?w
■MUX機能
SoC(CPU)から、剣山のようにたくさん出ているピンの役割をプログラムから決められる機能。
イマドキのCPUでは当たり前の機能ですが、昔はピンの役割は固定だったりしたので
基板のレイアウトが本当に大変だったようです(^_^;
■Sipeed
M5StickVに使われているSoCであるK210を積んだ開発ボード(Maixシリーズ)をこの世に送り込んだ、深センのメイカー。M5StickVはこのSipeed社のMaixシリーズのノウハウからの流用が多い

@HanxiaoM @M5Stack I tried writing a code, but not works. Any suggestions?gist.github.com/ksasao/7e8c28d…
2019-08-08 09:16:13こういうサンプルコードを(M5StickVで)書いてみたんだけど動かないなあ…他に何かした方がいいかな
仕事が早いw

@HanxiaoM @M5Stack Does this SD mean LRCLK? Or should I set a GPIO pin for this? pic.twitter.com/lVa2oNhaYt
2019-08-08 09:53:26
そうそう。この図の「SD」って「LRCLK」信号の意味かな? それともこういう名前のピンを割り当てるということ?
信号線名がメーカーによって違うことがあるので、ときどきややこしいことが起こるのはあるあるですねw
たしかに図を見ると「DAT」と「SD」というのがあって、どちらがデータビットの信号なのかわかりづらいですね…
しかし、このあと少し空白期間。
そして再び挑戦者が現れる。

I2SのIO名がマニュアルとソースで違う M5StickV manual SD:10 DAT:12 CLK:13 maixpy_m5stickv Board_Info.MIC_LRCLK=10 Board_Info.MIC_DAT=12 Board_Info.MIC_CLK=13 github.com/sipeed/MaixPy/…
2019-08-22 06:39:30
M5StickVとMaixduinoでMEMS MICのは一緒 MSM261のSD端子は、MaxduinoはDAT端子と繋がっている。 dl.sipeed.com/MAIX/HDK/Maixd… pic.twitter.com/Oy3tl4aKoc
2019-08-22 06:45:11

Maixduinoでは Maix M1 IO18->MIC_BCK -> MSM261S SCK Maix M1 IO19-> MIC_WS -> MSM261S WS Maix M1 IO20-> MIC_DAT3 -> MSM261S SD M5StickVはなぜSD端子とDAT端子が分かれているのか? M5StickV回路図欲しいなぁ。 pic.twitter.com/D5VJOPHSJg
2019-08-22 06:56:05

@ksasao @HanxiaoM @M5Stack I want to use a microphone. Maybe, there is an error in the M5StickV Manual. MaixDuino is this one. MaixDuino IO18-> MIC_BCK -> MSM261S SCK MaixDuino IO19-> MIC_WS -> MSM261S WS MaixDuino IO20-> MIC_DAT3 -> MSM261S SD What about M5StickV? pic.twitter.com/AvchbLoWcu
2019-08-22 07:02:37

M5StickVのMIC、だめだ、わからんので本家に投げてしまった。マニュアルからだとWS端子がないことになる。まさか、ハード的に繋がってないということは。。。
2019-08-22 07:07:32まさかのデータ信号2本疑惑。
なにやら不穏な雰囲気が…w

@nnn112358 @HanxiaoM @M5Stack I fixed the code (thanks @HanxiaoM ) gist.github.com/ksasao/7e8c28d… but still get no signal..
2019-08-22 08:30:51
@ksasao @nnn112358 @HanxiaoM can u try this? WS->IO10,SD->IO12,SCK->IO13 maybe some mistake of the sch. thanks pic.twitter.com/XOcMY95vv8
2019-08-22 10:51:04
図の「SD」は「WS」の間違いかもしれないね…(^^;
…ああ、やっぱり…

@M5Stack @nnn112358 @HanxiaoM It has been tested with the code above, but it doesn’t work..
2019-08-22 12:31:32
@ksasao @M5Stack @HanxiaoM I tried it but it doesn't work, too. I want other advice.
2019-08-23 12:24:39ん〜、やっぱり動かない!