Several companies are already offering development kits for Amazon AVS (Alexa Voice Service), but as we’ve seen in the past, those are rather expensive with far-field kits such starting at $349 with kits such as Synaptics AudioSmart 4-Mic Development Kit, or Intel Speech Enabling Developer Kit, and hands-free kits being barely cheaper at $299 and up.
But there will soon be a cheaper solution, as Allwinner and SinoVoIP (aka Banana Pi) are working on “SoC-Only 3-Mic Far-Field Dev Kit for Amazon AVS” that includes 3 microphones, and works without special DSP, relying instead on Allwinner R18 processor’s audio codec and capabilities.
Allwinner SoC-Only 3-Mic Far-Field Dev Kit for Amazon AVS (aka R18-AVS-EVK) specifications:
- SoC – Allwinner R18 quad-core Cortex-A53 processor @ 1.15GHz with Mali400MP2 GPU
- System Memory – 1GB DDR3
- Storage – 8GB eMMC flash
- Video Output – HDMI
- Audio – 6x Microphones, 2x AEC, AUX and headphone output; GMEMS voice recognition algorithm
- Connectivity – Dual band WiFi, Bluetooth 4.0
- USB – 1x USB type A port, 1x micro USB OTG port
- Power Supply – 12V DC input
- Dimensions – Mainboard: 100 x 100mm; microphone array board: 90 mm ∅
The board will support Linux operating systems at first, but Android is also being worked on. A ribbon cable is also included in the kit to connect the mic array to the main board. Now you may wonder why a 3-mic development kit comes with 6 microphones. Allwinner explains:
6 microphones are included on the board, while only three are used and qualified, providing flexibility to tune for 6/4/3/2 mic solutions and freely match with different product designs
I’m not 100% sure what that means, but I guess the kit only works for three for now, but in the future algorithms may support a combination of up to 6 microphones. We’ll have to see how the solution works compared to DSP based systems.
Documentation can be found on Amazon Developer website, but the development kit is not sold through Amazon, and instead directly on SinoVoiP/ Banana Pi Aliexpress store for $129 plus shipping.
Jean-Luc started CNX Software in 2010 as a part-time endeavor, before quitting his job as a software engineering manager, and starting to write daily news, and reviews full time later in 2011.
Support CNX Software! Donate via cryptocurrencies, become a Patron on Patreon, or purchase goods on Amazon or Aliexpress
R18 is a relabeled A64?
Or vice versa 😉 (remember that the first Pine64 pictures were with an R18 on the PCB?)
As far as I know R18 is the same as A64, it’s just different BUs and for the R18 the respective Allwinner BU promised longer availability (IIRC 5 years, that’s why the so called Pine64 LTS variant replaced A64 with R18)
How are they attaching six mics to an R18? It is critical that the six mics are sampled simultaneously. And I don’t see any way to do that with an A64/R18. So… these must be analog mics from GMEMS with some kind of concentrator chip – ie that black rectangle on the mic board. So what is that concentrator chip? TI makes several but they aren’t cheap. The concentrator chip will have six parallel ADC and then be able to read the data out with I2S or similar.
Some of the Allwinner STB chips have 8 channel I2S. In that case it is easy to hook up eight I2S capable DMIC chips in parallel.
I have not seen anything yet that beats this:
https://www.synaptics.com/partners/amazon/ds20924/
But the chip it uses is $9 which is a problem.
Look at Charbax video about the allwinner R6 QFN chip here :
https://www.youtube.com/watch?v=qU_K3PTeKz8
This is the cheapest voice solution Allwinner is advertising so far. Only 2 mics.
So could someone build a Mic array for the $19.99 1GB NanoPi A64?
Or would that not work?
The cheapest scheme I have seen for building mic arrays is to use a couple of ESPs in parallel. You just ignore their wifi ability
I suspect there is new version of AC108 with 6 channels.
http://www.x-powers.com/en.php/Info/product_detail/article_id/41
@Jon Smirl
You might see better pictures in http://www.banana-pi.org/images/r18avs/AVS-quickstartguide.pdf
@tkaiser
First picture in the manual looks like the answer. It shows the back of the PCB. I can’t read the chips but it looks like a pair of AC108. A pair would normally need 4 IS2 inputs and the R18 only has two. But.. the AC108 also supports PCM TDM mode. In TDM mode each AC108 needs a single input pin and there are two input pins. So this likely the setup. GMEMS is doing the code since they are a DMIC manufacturer and want to expand their market.
This is likely a cost effective solution. That mic board should be under $10 to produce. Anyone have a price for the AC108? The gold plated TI equivalents are $3. So I suspect x-powers is under $1.
The bigger question, is the code for the hot word detection from GMEMS open source? How well does it work? There are a couple of open source, crummy hot word detectors floating around that miss about 25% of the time. Did they write it themselves or is it one of these known, not-so-good ones?
Next question, what is going on with that R18 dev board. It is not a BPI-M64 with a R18 soldered in. I have several M64 and they do not match the photo. Why did they need a new dev board? Maybe the two I2S/PCM inputs are not exposed on the M64?
BTW, this is why I want a GPU that supports OpenCL. I am going to run audio algorithms on it since we don’t have display and the GPU just sits there. We run the algorithms on the A64 currently, but they will eat up all the cores if we let them. Theoretically I can push them onto the GPU with the H6.
No need to use GPU for this kind of audio algorithm, the NEON engine of the A53 is very good, even for floating-point 🙂
@Jon Smirl
Microsemi Timberwolf is the similair chip – ZLS38051 for example. 4 digital mics, DSP, AEC, source locator, I2S, etc. Works here with Allwinner like a charm.
Why do you think this would be a Banana product? Allwinner most probably only uses BPi/Foxconn to distribute their own solution here…
@Jon Smirl
Could you use one of these with a NanoPi A64,
https://www.cnx-software.com/2017/08/29/respeaker-4-mic-array-is-25-quad-microphone-add-on-board-for-raspberry-pi/
Or would it just not work and be useless?
@Sfinx
ZL38051 is $8-9. Direct competitor to CX20924. Those chips have embedded DSP for hot word recognition. They work great, but they are expensive.
This solution uses a $0.75 (or less) chip instead of a $9 one, then it does the DSP processing on the host.
@theguyuk
It will work. But….
You will have to write an A64 driver or figure out how to put the I2S pins into PCM TDM mode. From the schematic the Repeaker-4 board is wired so that it has to be in PCM TDM mode. You will also need to figure out how to get it wired in.
The mic board in this article is just two ReSpeaker-4’s done on a single PCB to get 6 channel support. It needs both of the PCM TDM input pins on the A64.
The software from this article should work with the ReSpeaker4 with minor tweaking.
It would be a lot easier just to buy a RaspPi and play with the ReSpeaker-4 as is.
@tkaiser
I checked the M64 schematics, one of the PCM inputs is pointlessly wired into the BT audio out from the Ampak module. That is a scheme that was popular ten years ago but it isn’t used any more. Today all BT audio is processed on the host.
So there is no way to attach this mic board to a M64 since only one PCM input is exposed and the mic board needs two.
The ReSpeaker-4 should work since it is only 4 channels and thus only needs a single PCM input.
You’re likely correct, that is an Allwinner designed dev board that exposes both PCM inputs. Which also explains why it costs 5x as much.
It is using a closed source module on Rasp PI…
https://github.com/respeaker/seeed-voicecard/tree/master/ac108_plugin
libasound_module_pcm_ac108.so
But that is just the 4-channel PCM driver which can be reproduced with a few day’s effort.
So where is the hot word processing being done? Is Google Assistant smart enough to monitor the four input channels and do the hot word detection? If so, they’re doing all of the hard work for you.
Digging around more it appears that Google assistant includes support for “Ok Google”. If you want to change that you need to use closed-source Snowboy. Snowboy is free for hacking but needs a commercial license.