New User Here With Matrix Voice


#1

I finally got my Matrix voice (standalone) in the mail and I am super excited. As a noob this seems a little more complicated than I anticipated. I was under the assumption that the standalone would be as easy to connect as pairing Bluetooth. Unfortunately it isn’t.

I looked and found virtually no reliable tutorials on how to connect it as a standalone. Can someone help me?


#2

Hi @Dominique,

You can try our Alexa demo on it ! See here.

To get more information related to MATRIX Voice and getting started go here. We will be improving and adding more examples the coming days!

Can you program in JavaScript, pyhton or C++ ?

Let me know if this helps.

Yoel


#3

I very much appreciate the response. However I was not interested in using Alexa with the Matrix. I really wanted to use it as a standalone. I want to use it for speech rec on my PC if possible or my Raspberry Pi.

I’ve seen that start guide before. This is what I was talking about. Many of it is gibberish to me.


#4

I’m new here but I have a legit question. Do most questions from users go unanwered around here?

I see other threads have people answering but not all of them.


#5

Hello @Dominique,

Sorry about the delayed reply.

We will be releasing tomorrow a detailed guide on how to setup the MATRIX Voice with ESP32 in Hackster. I will share the link with you here when its ready.

Meanwhile, you can follow the Readme in https://github.com/matrix-io/matrixio_hal_esp32 and use the LEDs and the mics running the demos there.

Quick question, do you have a MATRIX Voice with or without the ESP32 module?

Let us know how it goes.

Yoel


#6

I appreciate it Yoel. Yes I have the Matrix with the ESP32 module. I was told this version of the Matrix could be fully standalone.


#7

@Dominique,

Yes, the MATRIX Voice can run standalone using the ESP32 as the main processor, but in order to setup the ESP32 on your MATRIX Voice and upload your code to it you will need to connect your MATRIX Voice to a Raspberry Pi and follow the guide that I shared in my previous post.

We are working on easier ways to work with the ESP32 and we are here to help you if you run into any problems.

Yoel


#8

I appreciate the response. The process of initially having to set it up on a Pi is a little strange but okay. Is this a one-time thing? Will it be able to connect to any bluetooth after that? What if power goes out? Will setup have to be done again if it loses power?

Also, are there any plans in the future of eliminating having to initially setting it up on Pi for standalone usage?


#9

Hello @Dominique,

The initial setup process using a Raspberry Pi is currently required. After you deploy your app to the ESP32 module the MATRIX Voice can run without the Rasp Pi. In this scenario, you will be using the Rasp Pi mostly as a programmer.

We are working on a release that will include a way to programming the MATRIX Voice ESP32 module OTA (Over the Air) using Wifi. This will allow a flashing and running in standalone operation.

You could also runs apps in the Raspberry Pi that talk to the MATRIX Voice using MOS/MALOS/HAL Libraries but this is a not stand alone scenario.


#10

So tonight I attempted to try and perform the hackster.io tutorial on how to get this running as a standalone.

To be honest I grew so frustrated I stopped. This was waaaaaaaaay too complicated and drawn out.

The thing is, I am not completely helpless, I know some Python. However thinking of those who know absolutely zero Python or coding this ordeal would be EXTREMELY difficult for them.

I very much want to use this product because it seems like an amazing piece of technology. However since it is not user-friendly, I do not see how this could ever be marketed to the general public in its current state. This is not me publicly bashing the devs or the Matrix itself no. I am just being honest here.

I honestly do not know how I will proceed. I bought 2 of these devices. I admit, I initially thought they would be a simple Bluetooth connection in order to get it to work. I think as for now I may have no choice but to wait for the OTA update you had mentioned.


#11

@Dominique

stay brave :slight_smile: There are a lot of questions. As most those crowdfunding projects, most time is spend to release the product. Documentation comes later. As i figured out, most of the stuff for Martix Creator on github will work for the Voice as well (except sensor stuff)


#13

I would really like to know why t0t0r0’s comment was flagged and removed. Was it because he had feedback that wasn’t in your favor? How do you all ever anticipate creating a reliable product when you censor people on the forum? He had genuine feedback and it was taken down. That is a huge red flag. SMH


#14

Hi Dominique,

This post was actually flagged by other members of the community as being spam. As enough members had marked it as spam it was automatically hidden by the community system. The original post is still visible, and accessible, therefore, not censored. We always appreciate your feedback and support.

Thank you,
Team MATRIX


#15

For people who are bravely trying to get their Matrix Voice working: please post back and suggest that you are having issues.

The software packages that is provided (matrixio-malos, and libmatrixio-creator-hal-dev) is insufficient to making these boards work. My post elsewhere points out why:

If someone in the community has got it working, I’d be eager to know how.


#16

But I also found no working guide or workaround for the missing java classes when build the wakeword engine. So is it a whole hidden secret? I think some of the backers (like me) would like to use Alexa with this thing (most likely) out of the box (like the developer announced). For me it’s no big deal to wait for a solution that works but (we in Germany) there’s one rule for development and announcement: it’s done if it’s done and after it’s done you can release (the guide e.g.) and announce.
Half solutions are no solutions, they’re only frustrating


#17

Hello everyone I just prepare some videos with a step by step guide to set-up your raspberry pi and start with the MATRIX Voice and MATRIX Creator.

Make a SD Card:
asciicast

Install the matrixio-creator-init (It works for MATRIX Voice and MATRIX Creator)
asciicast

Running the HAL examples:

asciicast

Maybe it could help you to start with both devices.

Thank You.

Regards

Kevin Patino


#18

For all those wo struggled with the java workaround… be patient, the guys are working on the c++ sdk implementation for avs.
Thanks for getting me updated slight_smile:


#19

Hi,
I have the following result when i’ve made the apt-get update command

pi@raspberrypi:~ $ echo "deb https://apt.matrix.one/raspban $(lsb_release -sc) main" | sudo tee /etc/apt/sources.list.d/matrixlabs.list
deb https://apt.matrix.one/raspban stretch main
pi@raspberrypi:~ $ sudo apt-get update
Ign:1 https://apt.matrix.one/raspban stretch InRelease                              
Ign:2 https://apt.matrix.one/raspban stretch Release                                
Ign:3 https://apt.matrix.one/raspban stretch/main armhf Packages                    
Ign:4 https://apt.matrix.one/raspban stretch/main all Packages                      
Ign:5 https://apt.matrix.one/raspban stretch/main Translation-fr_FR                 
Ign:6 https://apt.matrix.one/raspban stretch/main Translation-fr                    
Ign:7 https://apt.matrix.one/raspban stretch/main Translation-en                    
Ign:3 https://apt.matrix.one/raspban stretch/main armhf Packages                    
Ign:4 https://apt.matrix.one/raspban stretch/main all Packages                      
Ign:5 https://apt.matrix.one/raspban stretch/main Translation-fr_FR                 
Ign:6 https://apt.matrix.one/raspban stretch/main Translation-fr                    
Ign:7 https://apt.matrix.one/raspban stretch/main Translation-en                    
Atteint:8 http://archive.raspberrypi.org/debian stretch InRelease                   
Atteint:9 http://mirrordirector.raspbian.org/raspbian stretch InRelease
Ign:3 https://apt.matrix.one/raspban stretch/main armhf Packages
Ign:4 https://apt.matrix.one/raspban stretch/main all Packages
Ign:5 https://apt.matrix.one/raspban stretch/main Translation-fr_FR
Ign:6 https://apt.matrix.one/raspban stretch/main Translation-fr
Ign:7 https://apt.matrix.one/raspban stretch/main Translation-en
Ign:3 https://apt.matrix.one/raspban stretch/main armhf Packages
Ign:4 https://apt.matrix.one/raspban stretch/main all Packages
Ign:5 https://apt.matrix.one/raspban stretch/main Translation-fr_FR
Ign:6 https://apt.matrix.one/raspban stretch/main Translation-fr
Ign:7 https://apt.matrix.one/raspban stretch/main Translation-en
Ign:3 https://apt.matrix.one/raspban stretch/main armhf Packages
Ign:4 https://apt.matrix.one/raspban stretch/main all Packages
Ign:5 https://apt.matrix.one/raspban stretch/main Translation-fr_FR
Ign:6 https://apt.matrix.one/raspban stretch/main Translation-fr
Ign:7 https://apt.matrix.one/raspban stretch/main Translation-en
Err:3 https://apt.matrix.one/raspban stretch/main armhf Packages
  404  Not Found
Ign:4 https://apt.matrix.one/raspban stretch/main all Packages
Ign:5 https://apt.matrix.one/raspban stretch/main Translation-fr_FR
Ign:6 https://apt.matrix.one/raspban stretch/main Translation-fr
Ign:7 https://apt.matrix.one/raspban stretch/main Translation-en
Lecture des listes de paquets... Fait
W: The repository 'https://apt.matrix.one/raspban stretch Release' does not have a Release file.
N: Data from such a repository can't be authenticated and is therefore potentially dangerous to use.
N: See apt-secure(8) manpage for repository creation and user configuration details.
E: Impossible de récupérer https://apt.matrix.one/raspban/dists/stretch/main/binary-armhf/Packages  404  Not Found
E: Le téléchargement de quelques fichiers d'index a échoué, ils ont été ignorés, ou les anciens ont été utilisés à la place.

Any idea?


#20

It looks like an error in the word raspbian. You have raspban instead.
Please, take a look here

Yoel


#21

Thanks for your help.

I’ve another error, this time when i try to build files with msys32…

$ make
CC build/bootloader/bootloader_support/src/bootloader_random.o
CC build/bootloader/bootloader_support/src/flash_encrypt.o
CC build/bootloader/bootloader_support/src/bootloader_sha.o
CC build/bootloader/bootloader_support/src/esp_image_format.o
CC build/bootloader/bootloader_support/src/flash_partitions.o
CC build/bootloader/bootloader_support/src/secure_boot_signatures.o
CC build/bootloader/bootloader_support/src/bootloader_clock.o
CC build/bootloader/bootloader_support/src/secure_boot.o
CC build/bootloader/bootloader_support/src/efuse.o
CC build/bootloader/bootloader_support/src/bootloader_flash.o
AR build/bootloader/bootloader_support/libbootloader_support.a
CC build/bootloader/log/log.o
AR build/bootloader/log/liblog.a
CC build/bootloader/spi_flash/spi_flash_rom_patch.o
AR build/bootloader/spi_flash/libspi_flash.a
CC build/bootloader/micro-ecc/micro-ecc/uECC.o
AR build/bootloader/micro-ecc/libmicro-ecc.a
CC build/bootloader/soc/esp32/rtc_clk.o
CC build/bootloader/soc/esp32/rtc_time.o
CC build/bootloader/soc/esp32/rtc_sleep.o
CC build/bootloader/soc/esp32/rtc_init.o
CC build/bootloader/soc/esp32/soc_memory_layout.o
CC build/bootloader/soc/esp32/cpu_util.o
CC build/bootloader/soc/esp32/rtc_pm.o
AR build/bootloader/soc/libsoc.a
CC build/bootloader/main/flash_qio_mode.o
CC build/bootloader/main/bootloader_start.o
AR build/bootloader/main/libmain.a
LD build/bootloader/bootloader.elf
esptool.py v2.2.1
Building partitions from /home/Franck/esp/esp-idf/components/partition_table/par                                                                                                                                                                                               titions_singleapp.csv...
CC build/app_trace/app_trace.o
CC build/app_trace/host_file_io.o
CC build/app_trace/app_trace_util.o
CC build/app_trace/gcov/gcov_rtio.o
AR build/app_trace/libapp_trace.a
CC build/app_update/esp_ota_ops.o
AR build/app_update/libapp_update.a
AR build/aws_iot/libaws_iot.a
CC build/bootloader_support/src/bootloader_random.o
CC build/bootloader_support/src/flash_encrypt.o
CC build/bootloader_support/src/bootloader_sha.o
CC build/bootloader_support/src/esp_image_format.o
CC build/bootloader_support/src/flash_partitions.o
CC build/bootloader_support/src/secure_boot_signatures.o
CC build/bootloader_support/src/bootloader_clock.o
CC build/bootloader_support/src/secure_boot.o
CC build/bootloader_support/src/efuse.o
CC build/bootloader_support/src/bootloader_flash.o
AR build/bootloader_support/libbootloader_support.a
CC build/bt/bt.o
AR build/bt/libbt.a
CC build/coap/libcoap/src/address.o
CC build/coap/libcoap/src/async.o
CC build/coap/libcoap/src/block.o
CC build/coap/libcoap/src/coap_time.o
CC build/coap/libcoap/src/debug.o
CC build/coap/libcoap/src/encode.o
CC build/coap/libcoap/src/hashkey.o
CC build/coap/libcoap/src/mem.o
CC build/coap/libcoap/src/net.o
CC build/coap/libcoap/src/option.o
CC build/coap/libcoap/src/pdu.o
CC build/coap/libcoap/src/resource.o
CC build/coap/libcoap/src/str.o
CC build/coap/libcoap/src/subscribe.o
CC build/coap/libcoap/src/uri.o
CC build/coap/port/coap_io_socket.o
AR build/coap/libcoap.a
CC build/console/linenoise/linenoise.o
CC build/console/argtable3/argtable3.o
CC build/console/commands.o
CC build/console/split_argv.o
AR build/console/libconsole.a
CXX build/cxx/cxx_exception_stubs.o
CXX build/cxx/cxx_guards.o
AR build/cxx/libcxx.a
CC build/driver/rtc_module.o
CC build/driver/i2c.o
CC build/driver/sdmmc_host.o
CC build/driver/spi_slave.o
CC build/driver/sdmmc_transaction.o
CC build/driver/mcpwm.o
CC build/driver/rmt.o
CC build/driver/sdspi_crc.o
CC build/driver/pcnt.o
CC build/driver/timer.o
CC build/driver/gpio.o
CC build/driver/sdspi_host.o
CC build/driver/ledc.o
CC build/driver/periph_ctrl.o
CC build/driver/i2s.o
CC build/driver/sdspi_transaction.o
CC build/driver/uart.o
CC build/driver/sigmadelta.o
CC build/driver/spi_master.o
CC build/driver/spi_common.o
AR build/driver/libdriver.a
CC build/esp32/int_wdt.o
CC build/esp32/brownout.o
CC build/esp32/system_api.o
CC build/esp32/restore.o
CC build/esp32/dport_access.o
CC build/esp32/esp_timer.o
CC build/esp32/hw_random.o
CC build/esp32/pm_esp32.o
CC build/esp32/event_loop.o
CC build/esp32/pm_locks.o
CC build/esp32/core_dump.o
CC build/esp32/ets_timer_legacy.o
CC build/esp32/intr_alloc.o
CC build/esp32/ipc.o
CC build/esp32/cache_err_int.o
CC build/esp32/fast_crypto_ops.o
CC build/esp32/freertos_hooks.o
CC build/esp32/clk.o
CC build/esp32/spiram_psram.o
CC build/esp32/esp_timer_esp32.o
CC build/esp32/wifi_init.o
CC build/esp32/pm_trace.o
CC build/esp32/phy_init.o
CC build/esp32/crosscore_int.o
CC build/esp32/wifi_internal.o
CC build/esp32/gdbstub.o
CC build/esp32/lib_printf.o
CC build/esp32/cpu_start.o
CC build/esp32/spiram.o
CC build/esp32/sleep_modes.o
CC build/esp32/smartconfig.o
CC build/esp32/task_wdt.o
CC build/esp32/event_default_handlers.o
CC build/esp32/stack_check.o
CC build/esp32/panic.o
CC build/esp32/hwcrypto/aes.o
CC build/esp32/hwcrypto/sha.o
AS build/esp32/dport_panic_highint_hdl.o
AR build/esp32/libesp32.a
CC build/esp_adc_cal/esp_adc_cal.o
CC build/esp_adc_cal/esp_adc_cal_lookup_tables.o
AR build/esp_adc_cal/libesp_adc_cal.a
CC build/ethernet/emac_main.o
CC build/ethernet/emac_dev.o
CC build/ethernet/eth_phy/phy_tlk110.o
CC build/ethernet/eth_phy/phy_lan8720.o
CC build/ethernet/eth_phy/phy_common.o
AR build/ethernet/libethernet.a
CC build/expat/library/xmltok_impl.o
CC build/expat/library/xmlrole.o
CC build/expat/library/xmlparse.o
CC build/expat/library/xmltok.o
CC build/expat/library/xmltok_ns.o
CC build/expat/port/chardata.o
CC build/expat/port/expat_element.o
CC build/expat/port/minicheck.o
AR build/expat/libexpat.a
CC build/fatfs/src/diskio.o
CC build/fatfs/src/vfs_fat.o
CC build/fatfs/src/diskio_spiflash.o
CC build/fatfs/src/vfs_fat_spiflash.o
CC build/fatfs/src/diskio_sdmmc.o
CC build/fatfs/src/vfs_fat_sdmmc.o
CC build/fatfs/src/ffunicode.o
CC build/fatfs/src/ff.o
CC build/fatfs/src/ffsystem.o
AR build/fatfs/libfatfs.a
CC build/fft/qmath.o
CC build/fft/kiss_fft.o
AR build/fft/libfft.a
CC build/freertos/xtensa_overlay_os_hook.o
CC build/freertos/FreeRTOS-openocd.o
CC build/freertos/timers.o
CC build/freertos/tasks.o
CC build/freertos/event_groups.o
CC build/freertos/port.o
CC build/freertos/xtensa_init.o
CC build/freertos/list.o
CC build/freertos/croutine.o
CC build/freertos/queue.o
CC build/freertos/xtensa_intr.o
CC build/freertos/ringbuf.o
AS build/freertos/portasm.o
AS build/freertos/xtensa_vector_defaults.o
AS build/freertos/xtensa_vectors.o
AS build/freertos/xtensa_context.o
AS build/freertos/xtensa_intr_asm.o
AR build/freertos/libfreertos.a
CXX build/hal/matrix_driver.o
CXX build/hal/microphone_array.o
C:/msys32/home/Franck/matrixio_hal_esp32/components/hal/microphone_array.cpp: In                                                                                                                                                                                                member function 'void matrix_hal::MicrophoneArray::CalculateDelays(float, float                                                                                                                                                                                               , float, float)':
C:/msys32/home/Franck/matrixio_hal_esp32/components/hal/microphone_array.cpp:139                                                                                                                                                                                               :17: error: 'round' is not a member of 'std'
     int delay = std::round((it->first - min_distance) * sampling_frequency_ /
                 ^
C:/msys32/home/Franck/matrixio_hal_esp32/components/hal/microphone_array.cpp:139                                                                                                                                                                                               :17: note: suggested alternative:
In file included from c:\msys32\opt\xtensa-esp32-elf\xtensa-esp32-elf\include\c+                                                                                                                                                                                               +\5.2.0\cmath:44:0,
                 from C:/msys32/home/Franck/matrixio_hal_esp32/components/hal/mi                                                                                                                                                                                               crophone_array.cpp:21:
C:/msys32/home/Franck/esp/esp-idf/components/newlib/include/math.h:278:15: note:                                                                                                                                                                                                  'round'
 extern double round _PARAMS((double));
               ^
make[1]: *** [/home/Franck/esp/esp-idf/make/component_wrapper.mk:274: microphone                                                                                                                                                                                               _array.o] Error 1
make: *** [C:/msys32/home/Franck/esp/esp-idf/make/project.mk:450: component-hal-                                                                                                                                                                                               build] Error 2

So i can’t deploy files to the matrix voice via raspberrypi

Franck@Franck-PC MINGW32 ~/matrixio_hal_esp32/examples/everloop_demo
$ export RPI_HOST=pi@192.168.0.31

Franck@Franck-PC MINGW32 ~/matrixio_hal_esp32/examples/everloop_demo
$ make deploy
CXX build/hal/microphone_array.o
C:/msys32/home/Franck/matrixio_hal_esp32/components/hal/microphone_array.cpp: In                                                                                                                                                                                                member function 'void matrix_hal::MicrophoneArray::CalculateDelays(float, float                                                                                                                                                                                               , float, float)':
C:/msys32/home/Franck/matrixio_hal_esp32/components/hal/microphone_array.cpp:139                                                                                                                                                                                               :17: error: 'round' is not a member of 'std'
     int delay = std::round((it->first - min_distance) * sampling_frequency_ /
                 ^
C:/msys32/home/Franck/matrixio_hal_esp32/components/hal/microphone_array.cpp:139                                                                                                                                                                                               :17: note: suggested alternative:
In file included from c:\msys32\opt\xtensa-esp32-elf\xtensa-esp32-elf\include\c+                                                                                                                                                                                               +\5.2.0\cmath:44:0,
                 from C:/msys32/home/Franck/matrixio_hal_esp32/components/hal/mi                                                                                                                                                                                               crophone_array.cpp:21:
C:/msys32/home/Franck/esp/esp-idf/components/newlib/include/math.h:278:15: note:                                                                                                                                                                                                  'round'
 extern double round _PARAMS((double));
               ^
make[1]: *** [/home/Franck/esp/esp-idf/make/component_wrapper.mk:274: microphone                                                                                                                                                                                               _array.o] Error 1
make: *** [C:/msys32/home/Franck/esp/esp-idf/make/project.mk:450: component-hal-                                                                                                                                                                                               build] Error 2