Thanks! And thanks for the insight! Iām in the US, but I do know Adafruit has the Mouser arm, then DigiKey ships to what⦠170 countries? The only thing I donāt know about is Seeedstudio, so Iām not sure about the ReSpeaker 2. Also for the amp, Iām curious if the ReSpeaker 2ās 1W would be enough. Granted, the 3W amp is only $5.
Love the project! I was a bit disappointed when I first read that Mark 2 perhaps finally would have a square shape factor. I prefer round/cilinder forms.
I have some questions ideas:
- 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.
- 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)
- 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.
- Dark color option! I found black more elegant and ācleanā than white or clear colors
Can you drop STLs here so we can take a peek?
A couple things weāve learned:
- The power needs to be extremely clean and grounding needs to be well thought out or the speaker will buzz.
- The mic and speaker should be in physically separated.
- 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 ).
- 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.
- Making textiles work on a plastic speaker is more difficult than you might think.
- Heat. Pay attention to how air gets in/out of the microprocessor chamber.
- 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.
- The timing between the wake word detection and dropping the volume via the Adafruit amp can be a problem.
- Noise canceling mic arrays need to be co-planer. They donāt work as designed under a dome.
There are probably a few more gotchas, but Iām glad to see youāre working on it. If you share the STLs Iām happy to take a look ( or print/make one if youāre happy with the results ).
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.

