Maybe it’s time to crowd source the mark II? Lots of talented people in the community, plenty of individual hw testing happening (speakers, microphones, noise cancelling, displays, etc.)
We had a meeting about getting people in the community more involved in the hardware ( and software ) development process. More news on this to come, but…yes…we are going to start involving the community more in both the decision making and implementation.
I don’t want to hijack this thread tho, so we’ll have that discussion in a new thread soon.
Wow, thanks for all the feedback! There is some super-helpful stuff in here.
do the microphones work well when they are placed upon the speaker? I mean, can the user speak to the C1 when there is sound? I guess ReSpeaker has noise cancelation, but just wondering.
That is a very good question. See below. 
LED light is just a dot? it would be great if it would were a “line” on the border around the top and/or bottom of the speaker, a la Alexa ( I like their design of that light)
It is just a single LED (for now). I’m trying to make this design simple for the community to print and assemble at home, but aRBG is something I’ve considered.
Hardware buttons, don’t see any, but what about 4: power, vol +, vol - and play|pause . Buttons should be placed on top and be part of the enclosure, without standing out from it.
See below on this one, too!
Dark color option! I found black more elegant and “clean” than white or clear colors
This will be completely up to the user. I don’t currently plan to distribute this, just to provide it to the community. If there is enough interest I would investigate a group-buy of professionally printed parts, though.
Can you drop STLs here so we can take a peek?
I would love to get some feedback from you since you’ve been so intimately familiar with designing these things, but I’m rather enjoying designing on my own without influence from a whole bunch of people so I can continue to learn
Would you be OK if I DM them directly to you?
The power needs to be extremely clean and grounding needs to be well thought out or the speaker will buzz.
Do you have any specific suggestions here?
The mic and speaker should be in physically separated.
…
Noise canceling mic arrays need to be co-planer. They don’t work as designed under a dome.
Hrm, this may require a redesign of sorts to make things wider then. The second item also seems like two separate ideas. So you’re saying I need to lay the mic array flat (co-planar) but also don’t put it underneath the lid (dome)? Just trying to follow the thought process.
The Re-Speaker stuff makes us of a proprietary binary for noise cancellation. This may or may not work with the 2 mic setup ( I don’t know because I haven’t tested ).
Is there another hardware suggestion you would recommend?
The grill can be printed with FDM, but it is very hard to get it right. The retract on the FDM can cause issues with alignment and make prints difficult.
The “printed” grill is really a frame to wrap in speaker cloth. It’s a tiny bit narrower than the top and bottom which overlap the edges. It’s also why there is a gap across the back, to make it easier for assemblers to pull the cloth inside the cylinder and then attach it. I’ve actually already redesigned that some to simplify construction (removing the need for supports) and make the holes bigger.
Making textiles work on a plastic speaker is more difficult than you might think.
I’ve done a lot of speaker design/construction in the past (I’ve designed crossovers that were balanced flat for a room/etc) however this will be my first time laying cloth onto plastic. I am also curious how this will go, but I think I’ve got a working idea with the pull-through attachment method.
Heat. Pay attention to how air gets in/out of the microprocessor chamber.
This was why I put the Pi inside the speaker cloth area. I’m hoping there will be enough ventilation that way.
Hardware buttons are important. Precise works…(ish)…but in a loud enviroment it may become impossible to control the speaker which leads people to unplug it…which corrupts the CF…which bricks it until it is re-flashed.
Yea, 2 votes already for hardware buttons. This is something that I’ll certainly find a way to implement, but maybe in v2.0 so I can get this thing out to the world more quickly. I started to look into capaciive buttons that I could lay under cloth like how the Google Home Mini works.
The timing between the wake word detection and dropping the volume via the Adafruit amp can be a problem.
Good to know. Same question as above, any hardware suggestion?
We had a meeting about getting people in the community more involved in the hardware ( and software ) development process. More news on this to come, but…yes…we are going to start involving the community more in both the decision making and implementation.
I don’t want to hijack this thread tho, so we’ll have that discussion in a new thread soon.
Please post a link in here when it comes so we (I) can find it 
On a good note, the test print (rough) came out as expected:
The Respeaker 2Mic-Pi-Hat is a very simplistic mic board. The Mic-Array-v2 and the USB-Mic-Array are more sophisticated with hardware-suppported audio processing for echo-cancellation etc.
Hi
Can you list what 3D printer and accessories you used or what you suggest using for prototyping the Moira cylinder and parts?
Well, I like the look of that Mic-Array-v2, however the price is way up there compared to the 2Mic. I don’t want to put this out of the price range of what some people may want to pay, so I’ll need to do some research on benefits. Thanks for pointing it out!
Not yet, sorry. My test prints are just rough cuts using PLA on a Monoprice Maker Select v2. Once the design is complete and final hardware is selected, I will probably make slightly oversized versions of the SLTs, too, so that ABS can be used and smoothed with acetone vapors. That would make for a nice clean finish with at-home prints.
I will be posting all of this type of progress here as time goes on. Thanks!
Very interesting thread. Will follow the development.
As soon as the final part list is available, i will support them within MycroftOS similar as the Mark-2 device.
@J_Montgomery_Mycroft Hey, don’t want to hound you, and I know there is a lot up there, but I’m on hold with the design until I hear back on this:
Any chance you could address that one part? Does the array need to be “open air” at the top, or can it be under cover (dome) just flat at the top separated from the speaker?
So I’ve decided to go with the ReSpeaker 6-mic array to stay in line with the feature set on the new hardware. It’s more pricey, but I have a feeling this group would prefer functionality over price.
Poll for the group. With the new 6-mic array, the device will need to be wider, and can thus be a bit shorter. That being said, I have two options I can go down for audio. The “Google Home” model or the “Alexa v1” model.
The first is dual full-range speakers. These would likely be 2" full-rangers that could get down to (potentially) around 175hz, most likely one of the popular Peerless models. These would be outward facing, similar to the Google Home to give a bit of “surround” presence.
The second is a single 2-way speaker design. This would consist of a 3" woofer and <1" tweeter, likely adding clarity in higher volumes and may be able to get down below 100hz. So while this setup would be mono, it may actually “sound better”.
Thoughts?
This does not really hooks into your poll, but is more my view / idea /wish for an enclosure.
Why not flipping the enclosure 90 degrees into a soundbar type of form factor. Then you can use the top and bottom, which are now the left and right side of the enclosure for two speakers.
With the soundbar form factor you can use the 4-mic lineair from respeaker at the front for the mics and leds;
https://wiki.seeedstudio.com/ReSpeaker_4-Mic_Linear_Array_Kit_for_Raspberry_Pi/
But to really kick ass (IMHO) you use below screen as the front of the soundbar formfactor;
https://www.waveshare.com/product/raspberry-pi/displays/7.9inch-hdmi-lcd.htm
Witth, the 4-mic lineair as top (or just above the screen) and as described two nice speakers left and right. You could even use the back of the soundbar formfactor enclosure for proper openings / airflow etc.
With the right design, you could make the screen a option. If no screen, you just provide a (fabric) type of insert/wrap.
(Really no clue if above makes sense for your guys? Hard to speak about something that is visual in your brain. If I could draw it I would…)
Edit; BTW no clue why that ribbon connector is at the front, but the one from voicen (same company i believe) has it at the back;
https://wiki.voicen.io/hardware/
Depends on your goal - is Moira a voice assistant that can play some music (like Amazon Echo device) or is Moira a music player with voice assistant capabilities (e.g. Sonos)?
Anyway some knowledge in acoustics desing should be helpful here…
Hey @Fmstrat great design. I like the clean form. Here are some quick thoughts. I don’t have much experience with the 6 microphone array, but it looks like it uses a software solution for the Audio Front End (Librespeaker). We have been relying on a hardware solution for the Audio Front End (Respeaker Mic Array v2.0 with Xmos XVF-3000). The drawback of using a software solution is that it could impact the performance since they’re both using the Rpi for resources, but I’ve been curious about some of the software solutions out there and how they perform. We have really only heavily evaluated one software based Audio Front End by Alango.
It was a good idea to move your speaker drivers to an outward firing design because upward firing would likely impact your barge-in performance. Having the speakers pointed at the microphones would impact the Acoustic Echo Cancellation.
For a lot of the hardware-based Audio Front End solutions the designs are dependent on the microphones being planar with as little obstruction as possible. That is why you see a lot of designs with a flat top. You also want to get the mics as close to exterior as possible.
Lastly, use some strategies to reduce vibration between the acoustic chamber and the microphones. For example, we mount everything on either foam tape or silicone. We are also using a separate enclosure for the acoustic chamber. All of this improves barge-in performance.
Great project!
We are using a dual driver setup with two TC5FC07-04 that are rated at 146hz. We will drive these with 5W continous (7W peak) per channel or 10W continous (14W peak) total. I’ve found that loudspeaker designs are very subjective, it might be worth experimenting with a few different set ups and seeing how they sound. We went through almost a dozen different configurations before landing on the dual TC5FC07-04 drivers.
The software EC works really well due to diversification of process.
The actual EC algorithm only runs when audio is playing, so soon as your VAD or KWS kicks in and stops audio play essentially there is no load until media starts again.
The Respeaker USB products are not that great the firmware isn’t really capable on multi mic and respeaker admit its better to use the single channel firmware.
Also the audio out isn’t all that good, seems to be plenty of complaints.
The 2mic is a great piece of hardware but the drivers suck slightly, well for me a lot, don’t like at all seemed to had all sorts of conflicts my 2 mic now gathers dust.
The software EC works well on both Pi3 & pi4 and think it does a slight better job on the Pi4 which makes me think its just fiiting into the Pi3 load.
Many of the microphones are planar but that is due to DOA (Direction of Arrival) and the beamforming you can produce.
As that part in software as far as I am aware (Beamforming) doesn’t exist in a good working form.
The respeaker USB stuff doesn’t make a lot of sense for price.
Anker do a Jabra challenger https://www.amazon.co.uk/Anker-Speakerphone-Microphones-Conference-Compatible-Black/dp/B07ZNT7PRL
Which £69 free delivery from Amazon makes it cheaper and its far better than a respeaker.
Personally I have found with barge in you can do it with any usb sound card and the EC software that works reasonably well that doesn’t give a Mycroft Gump that refuses to stop that it does without.
There is an Edimax stereo mic USB card that first thing to do is break that great little pcb out of its butt plug housing and link up 2x active mics.
The modules are really cheap mems or electret and have AGC and programmable gain by GPIO.
https://www.scan.co.uk/products/enermax-ap001e-dreambass-usb-soundcard-plus-earphones-genie-with-integrated-80-hz-plus6-db-bass-boos
The noise/buzz can often be solved with a DC blocking capacitor approx 4.7uF inline to your amp, but again there are amps that have a standby pull to Gnd that a transistor on GPIO could activate.
Also on the input a relatively small for audio standards capacitor can help.
TPA3116 has a wide array of configs and this one was my budget one with standby https://www.ebay.co.uk/itm/TPA3116-2x50W-Mono-100W-Digital-Audio-Power-Amplifier-Board-Module-12V-24V-AMP/172479863207
I went the other way round with the speaker with a 4 Ohm 8cm 30watt from tectonic as the BMR are supposed to have far less directional audio with this freaky radiator design.
The problems of isolating mics which makes a huge difference was I mounted the speaker in the base facing downwards and the fixing screws became pillars to raise a gap for sideways audio dispersal (approx 10mm or above seems to work great).
https://www.tectonicaudiolabs.com/audio-components/bmr-speakers/
I didn’t print a thing as used PVC tube which I have learnt order, receive and measure as the outside dimension will always be correct but the internal always seems to vary.
Its really cheap and easy to get acrylic disks cut via ebay that I taped underside ran a bit of epoxy around the join and created an airtight seal.
I used some hex spacers for the next level pulled the speaker cable through with a bit of flex left and also sealed that.
I dremmeled an access slot again hex pillars and a final disk of the outside diameter went on the top.
Mics where planar as they where easier to fit the top disk was clear in fact they all where as it made the order easier and also had one with the speaket cutout also.
Mic could of gone on the sides with no DOA beamforming choice is yours and never got round to testing effects on sensitivity.
4" or 5" pipe makes a relatively low profile puck than a tube, so actually don’t need access to 3Dprint.
I was supposed to draw up some vinyl cutouts and add some leds but it was just a test.
If you can cope with the rather ropey 3.5mm Pi audio out you can also just add x2 I2S as adafruit do drivers and have a howto on their site.
You could also add a hdmi2hdmi+audio and use with x2 I2S mics as the are less than $10 google hdmi audio extractor and yeah the cheap china ones are relatively decent.
The active mics on a soundcard are far more sensitive and you could put multiples on an input if that floats your boat.
My s-pipe Mycroft got disassembled with me just playing with hardware and Pi’s both the Pi3A+ and Pi4-2gb are best value.
Pi0W just doesn’t make the grade for me anymore but there is a Zero priced RockPi-S RK3308 Pi3 equivalent with built in audio codec that maybe I might get round to doing some work with but sort of lost interest and been a bit lax of late.
With heat a 12v 3cm fan on 5v works surprisingly well and is extremely silent, which a 5v running at full speed will definitely not.
If I had access to 3dprint I would prob make an access cover for my dremeled port, maybe make some internal mic housings and really go to town on mic isolation, but that would prob be it.
The denser more solid PVC is miles better with higher wattage audio as from what I have seen of some of the 3dprints they are likely to flex and rattle and detract from audio quality as they often look extremely thin and the filament material is often low density.
But just to throw in a swerve ball the speaker can go on the bottom and it still sounds sweet.
There is also a Syba USB stereo mic soundcard and I have purchased x2 and both turned up as fakes with a c-media mono mic input, but mono can be ok and as said its choice how many mics you feed it.
I don’t really see beamforming and far field as much loss as they work extremely well in either distributed noise with predominant volume voice or a quiet background.
If they have to compete with another single predominant noise source they can quickly return this vocoded synthetic noise that is bad for recognition.
In industry the beamformers prob work great but domestic wise hifi or TV depending on position to you can often totally negate its effectiveness.
A couple of I2S mics and 3.5mm of the Pi is just a couple of $ with software EC.
Soundcard and active mic modules £15 same approx for hdmi2hdmi+audio and I2S which gives you an upgrade from the 3.5mm but soundcard and active mics is prob way to go if you did not get i2s mics.
My opinion with Respeaker is there is always gotchas or snakeoil and why I don’t like them I think its very much the latter.
The Anker is supposed to be a great piece of kit but haven’t tried myself.
Thanks! Honestly I’m thinking about returning the 6 microphone array and going for the Mic Array v2.0. The software support for the 6 mic array is not acceptable in my book. The drivers don’t support the latest kernel, and the “solution” requires downgrading kernels, not something I’m open to.
For the Mic Array V2.0, how would you recommend positioning it? For some reason they designed it with the USB plug and 3.5mm jack on the top, increasing the distance from the surface for a mount. Any idea if those can be removed from the board?
Yea, I’ve also been looking at how the latest Echo handles this, with the curved panel between a tweeter and woofer that pushes the wavelengths outward. I may try a few things like that and measure frequency response. I’m not really sure how to test for mic interference, though.
Perfect, good insight into requirements and will certainly be helpful.
@StuartIanNaylor wow that is a lot of info, thanks! I’ll digest most of it but a few thoughts/questions:
That’s an interesting idea. I had not considered disassembling something like this, however I only see reviews that it has problems in linux.
First off, hah! And secondly, this seems like a similar method to using the Adafruit module. I will investigate this as well.
I’ve actually run into this as an amp, and it’s on my “list of potential parts.” Have you had good experiences with it (assuming this is what you are using)?
Ahh yes, this is similar to a structure I am/was considering, however instead of firing down onto the surface, having it fire down onto a curved plate similar to how the Echo works.
Now this is something I hadn’t considered, either. I’ve just been using a Pi3 because that’s what I had on hand. I guess there’s no reason I couldn’t improve my form factor with something smaller.
Stay away from the Anker as with linux its a proper Anker and does have problems.
I think its just the keep alive that is the problem as it cuts the first few secs of each output which is something they firmware fixed recently with Windows are the update I downloaded fixed.
Its a new product so calling it a proper Linux Anker is a bit unfair but currently yeah stay away.
But as in your other post the respeaker drivers are in my opinion terrible and so is support the USB is prob the only option with those after a 2, 4 & 4 linear mic board.
Its actually a xmos chip something along the lines of the respeaker with bluetooth, speaker, amp and huge battery for less than they do boards.
Bus 001 Device 007: ID 10d6:2048 Actions Semiconductor Co., Ltd
Couldn't open device, some information will be missing
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 1.10
bDeviceClass 0
bDeviceSubClass 0
bDeviceProtocol 0
bMaxPacketSize0 64
idVendor 0x10d6 Actions Semiconductor Co., Ltd
idProduct 0x2048
bcdDevice 0.00
iManufacturer 1
iProduct 2
iSerial 3
bNumConfigurations 1
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 0x00e5
bNumInterfaces 4
bConfigurationValue 1
iConfiguration 0
bmAttributes 0x80
(Bus Powered)
MaxPower 100mA
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 1
bInterfaceClass 3 Human Interface Device
bInterfaceSubClass 0
bInterfaceProtocol 0
iInterface 0
HID Device Descriptor:
bLength 9
bDescriptorType 33
bcdHID 1.10
bCountryCode 0 Not supported
bNumDescriptors 1
bDescriptorType 34 Report
wDescriptorLength 33
Report Descriptors:
** UNAVAILABLE **
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x82 EP 2 IN
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x0040 1x 64 bytes
bInterval 9
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 1
bAlternateSetting 0
bNumEndpoints 0
bInterfaceClass 1 Audio
bInterfaceSubClass 1 Control Device
bInterfaceProtocol 0
iInterface 0
AudioControl Interface Descriptor:
bLength 10
bDescriptorType 36
bDescriptorSubtype 1 (HEADER)
bcdADC 1.00
wTotalLength 0x004e
bInCollection 2
baInterfaceNr(0) 2
baInterfaceNr(1) 3
AudioControl Interface Descriptor:
bLength 12
bDescriptorType 36
bDescriptorSubtype 2 (INPUT_TERMINAL)
bTerminalID 1
wTerminalType 0x0101 USB Streaming
bAssocTerminal 0
bNrChannels 2
wChannelConfig 0x0003
Left Front (L)
Right Front (R)
iChannelNames 0
iTerminal 0
AudioControl Interface Descriptor:
bLength 12
bDescriptorType 36
bDescriptorSubtype 2 (INPUT_TERMINAL)
bTerminalID 2
wTerminalType 0x0203 Personal Microphone
bAssocTerminal 0
bNrChannels 1
wChannelConfig 0x0000
iChannelNames 0
iTerminal 0
AudioControl Interface Descriptor:
bLength 9
bDescriptorType 36
bDescriptorSubtype 3 (OUTPUT_TERMINAL)
bTerminalID 3
wTerminalType 0x0301 Speaker
bAssocTerminal 0
bSourceID 9
iTerminal 0
AudioControl Interface Descriptor:
bLength 9
bDescriptorType 36
bDescriptorSubtype 3 (OUTPUT_TERMINAL)
bTerminalID 4
wTerminalType 0x0101 USB Streaming
bAssocTerminal 0
bSourceID 11
iTerminal 0
AudioControl Interface Descriptor:
bLength 7
bDescriptorType 36
bDescriptorSubtype 5 (SELECTOR_UNIT)
bUnitID 11
bNrInPins 1
baSourceID(0) 10
iSelector 0
AudioControl Interface Descriptor:
bLength 13
bDescriptorType 36
bDescriptorSubtype 6 (FEATURE_UNIT)
bUnitID 9
bSourceID 1
bControlSize 2
bmaControls(0) 0x0001
Mute Control
bmaControls(1) 0x0002
Volume Control
bmaControls(2) 0x0002
Volume Control
iFeature 0
AudioControl Interface Descriptor:
bLength 11
bDescriptorType 36
bDescriptorSubtype 6 (FEATURE_UNIT)
bUnitID 10
bSourceID 2
bControlSize 2
bmaControls(0) 0x0003
Mute Control
Volume Control
bmaControls(1) 0x0000
iFeature 0
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 2
bAlternateSetting 0
bNumEndpoints 0
bInterfaceClass 1 Audio
bInterfaceSubClass 2 Streaming
bInterfaceProtocol 0
iInterface 0
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 2
bAlternateSetting 1
bNumEndpoints 1
bInterfaceClass 1 Audio
bInterfaceSubClass 2 Streaming
bInterfaceProtocol 0
iInterface 0
AudioStreaming Interface Descriptor:
bLength 7
bDescriptorType 36
bDescriptorSubtype 1 (AS_GENERAL)
bTerminalLink 1
bDelay 1 frames
wFormatTag 0x0001 PCM
AudioStreaming Interface Descriptor:
bLength 14
bDescriptorType 36
bDescriptorSubtype 2 (FORMAT_TYPE)
bFormatType 1 (FORMAT_TYPE_I)
bNrChannels 2
bSubframeSize 2
bBitResolution 16
bSamFreqType 1 Discrete
tSamFreq[ 0] 48000
junk at descriptor end: 00 00 00
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x02 EP 2 OUT
bmAttributes 9
Transfer Type Isochronous
Synch Type Adaptive
Usage Type Data
wMaxPacketSize 0x00c0 1x 192 bytes
bInterval 1
AudioStreaming Endpoint Descriptor:
bLength 7
bDescriptorType 37
bDescriptorSubtype 1 (EP_GENERAL)
bmAttributes 0x01
Sampling Frequency
bLockDelayUnits 1 Milliseconds
wLockDelay 0x0001
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 3
bAlternateSetting 0
bNumEndpoints 0
bInterfaceClass 1 Audio
bInterfaceSubClass 2 Streaming
bInterfaceProtocol 0
iInterface 0
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 3
bAlternateSetting 1
bNumEndpoints 1
bInterfaceClass 1 Audio
bInterfaceSubClass 2 Streaming
bInterfaceProtocol 0
iInterface 0
AudioStreaming Interface Descriptor:
bLength 7
bDescriptorType 36
bDescriptorSubtype 1 (AS_GENERAL)
bTerminalLink 4
bDelay 1 frames
wFormatTag 0x0001 PCM
AudioStreaming Interface Descriptor:
bLength 11
bDescriptorType 36
bDescriptorSubtype 2 (FORMAT_TYPE)
bFormatType 1 (FORMAT_TYPE_I)
bNrChannels 2
bSubframeSize 2
bBitResolution 16
bSamFreqType 1 Discrete
tSamFreq[ 0] 16000
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x81 EP 1 IN
bmAttributes 5
Transfer Type Isochronous
Synch Type Asynchronous
Usage Type Data
wMaxPacketSize 0x0040 1x 64 bytes
bInterval 1
AudioStreaming Endpoint Descriptor:
bLength 7
bDescriptorType 37
bDescriptorSubtype 1 (EP_GENERAL)
bmAttributes 0x00
bLockDelayUnits 0 Undefined
wLockDelay 0x0000
The is the output of lsusb if it makes any sense, but again I was trying to help a section who don’t want to do any building or making and just buy off the shelf ready made.
Its looking currently Jabra510 but I purchased this and that is enough and also returning to Amazon as with the person I was trying to help in selection I was trying to explain for recognition the operating parameters for a conference mike are not the same.
A computer doesn’t care about noise as long as it doesn’t effect the signal of interest…
So to be honest all the Jabra/Anker/Respeaker high tech supposedly wonderful units bemuse me and thought what the hell out of interest I will buy one and expected it would work and that after a play I would sell it.
So the Anker had problems with Linux but the Edimax USB has no Linux problems as doesn’t cut audio start.
Its just the housing I don’t like but the stereo ADC I do but any even cheap $3 usb audio with active powered mics which running Vcc/Gnd from the Pi to a mic module is means they suddenly become really sensitive.
There is a Syba stereo ADC USB but after purchasing x2 cmedia fakes that is it to them.
I am having another punt recently on a AXAGON ADA-17 USB HQ Mini Audio which like the last 2 I think is a Via Envy chipset also, when not fake (Actually CM6533) .
Yeah liked it and purchased 2 more to use in bridged 100watt mode as the wattage ratings we get are like old PPO car stereo ratings. Bridged it will never do 100watt but should do over 40 with a 24vdc supply.
A 60-120 watt decent enough PSU usually a cctv psu can be got for about £10 and its quite easy to get a 3amp buck and set at 5.1v for a Pi. Its almost impossible to get a 5.1v PSU that supplies anything more than 3amp.
Also again the true max output is over 40watt but I am never going to force near the wattage ceiling where THD can be up 10% and likely will run at 25-30 watt max.
I like the above because they have a standby input as all the ClassD amps to me hiss whilst idle and depending how close you are can be annoying.
The ratings of amps are usually with 10%THD into 2ohms at max voltage and the adafruit amp for me in reality for audio purposes is little more than a toy module.
To invest so much spend in certain items of a voiceai / wireless audio device and then skimp so much on audio that its more cognitive disconnect than bad choice.
Even the low end Google & Amazon devices have had huge design and product importance in the mic and audio setup and the structures that house and isolate.
Its hugely important otherwise you will get something that does sound like a cheap plastic toy.
I don’t have access to any of the fancy beaming forming DSP algs the big 2 have so being planar in mic array isn’t a requirement but like you say the isolation and housing can give different parameters. In fact you can use those to your advantage and create a directional array of individual mics of differing angle of acceptance and just paralel onto a mono input.
Adafruit do an Electret Microphone Amplifier - MAX9814 with tri states for AGC and Gain which if powered from 3.3v can go direct to GPIO.
That is quite interesting for those stuck with a mono usb input as you have 20db gain to play in 2 steps of 10db.
Only shame about that module is that tC the AGC timing cap they plumbed for 100nf and prob on the low side and to reactive for voice. On the top setting for voice its OK but a soldering iron and a 680nf or 1uf will fix that.
I have also been using analogue mems and can not make my mind up which I prefer as starting to wonder if mems are really worth it.
Not being SMD and just two short wires and round electrets are wonderfully easy to house and create isolation for as a drill bit and a rubber grommet is exceptionally easy and very effective.
Then you get these mems boards and your left scratching your head on how you are going to mount and implement.
I know electrets lose charge over time, but its a long time but unless your a mobile phone or amazon and google mems are not the be all and end all they are portrayed to be unless you have gone digital.
Also digital vs analogue especially the analogues with relatively high gain modules can be on the end of quite a long cable run and whilst we are all wondering how to enclose a voice AI the only thing that needs to be 1-2 meters from voice source is a tiny mic module on a very thin gauge cable that can be extended to huge lengths if used in conjunction with a balanced line driver.
Its sort of weird as we are blind sighted by Google and Amazon consumer goods whilst lateral systems that are likely better have no correlation.
The Rockpi-S wasn’t about form factor really just price for multiple satellite installs as its a quad A35 at zero price with built in stereo Dac, 8 channel ADC and DSP interrupt based VAD.
Its a soc designed for voiceai that is zero priced.
Sadly the ADC probably board is noisey and onboard gain amplifies the onboard noise that with high gain such as electrets its unacceptable.
Analogue wise maybe due to the high output of the MAX9814 for recognition its acceptable and you can use the onboard stereo dac.
Otherwise you need to use $2 I2S mems mics and a $5 Dac as enabling I2S will enable the I2S interface and disconnect the built in codec.
Its a Pi3 perf $13 soc that unlike a Pi3A+ can run Dac & I2S mics concurrently and runs off the same master clk so should have no problem with software EC with clock drift or cpu perf.
Its a jaw dropping $13 piece of kit and such a shame about the ADC noise and maybe a revision might fix, but maybe high gain inputs are acceptable or I2S as said.
@Fmstrat do you have a design to support a display, and is your current submission free for anyone to use ?
