Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Cannot install tflite-runtime-nightly #21

Open
formatBCE opened this issue May 7, 2024 · 37 comments
Open

Cannot install tflite-runtime-nightly #21

formatBCE opened this issue May 7, 2024 · 37 comments

Comments

@formatBCE
Copy link

Here's what i'm getting when trying to install tflite-runtime-nightly on Python 3.9.2:

pip install tflite-runtime-nightly
Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple
ERROR: Could not find a version that satisfies the requirement tflite-runtime-nightly (from versions: none)
ERROR: No matching distribution found for tflite-runtime-nightly

I guess, changing that dependency to tflite-runtime would work.
But as of now, installer from https://github.com/rhasspy/wyoming-satellite/blob/master/docs/tutorial_installer.md doesn't work, because it's pulling repo and installs as-is. So it fails to install wake word.

@jeremyfa55
Copy link

jeremyfa55 commented May 7, 2024

Hello,

I have also the same issue :

With the setup script :

Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple
ERROR: Could not find a version that satisfies the requirement tflite-runtime-nightly (from versions: none)
ERROR: No matching distribution found for tflite-runtime-nightly
Traceback (most recent call last):
  File "/home/jeremy/wyoming-openwakeword/script/setup", line 26, in <module>
    subprocess.check_call(pip + ["install", "-r", str(_PROGRAM_DIR / "requirements.txt")])
  File "/usr/lib/python3.11/subprocess.py", line 413, in check_call
    raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['/home/jeremy/wyoming-openwakeword/.venv/bin/python3', '-m', 'pip', 'install', '-r', '/home/jeremy/wyoming-openwakeword/requirements.txt']' returned non-zero exit status 1.

When i tried to install tflite-runtime-nightly separately :

jeremy@alfred:~/wyoming-openwakeword $ /home/jeremy/wyoming-openwakeword/.venv/bin/pip install "tflite-runtime-nightly==2.13.0.dev20230214"
Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple
ERROR: Could not find a version that satisfies the requirement tflite-runtime-nightly==2.13.0.dev20230214 (from versions: none)
ERROR: No matching distribution found for tflite-runtime-nightly==2.13.0.dev20230214

I also tried to remove "Nightly" from the requirement.txt, but i still got the error

I'm on a raspberry pi zero w with python 3.11.2

@j5bart
Copy link
Contributor

j5bart commented May 8, 2024

I have submitted #20 to get this fixed but still waiting to be merged.

@jeremyfa55
Copy link

I have submitted #20 to get this fixed but still waiting to be merged.

I'm not sure this will work as modifying the file directly does not change anything and still gives an error :

jeremy@alfred:~/wyoming-openwakeword $ cat requirements.txt
tflite_runtime
wyoming==1.5.3
jeremy@alfred:~/wyoming-openwakeword $ script/setup
Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple
Requirement already satisfied: pip in ./.venv/lib/python3.11/site-packages (24.0)
Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple
Requirement already satisfied: setuptools in ./.venv/lib/python3.11/site-packages (69.5.1)
Requirement already satisfied: wheel in ./.venv/lib/python3.11/site-packages (0.43.0)
Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple
ERROR: Could not find a version that satisfies the requirement tflite_runtime (from versions: none)
ERROR: No matching distribution found for tflite_runtime
Traceback (most recent call last):
  File "/home/jeremy/wyoming-openwakeword/script/setup", line 26, in <module>
    subprocess.check_call(pip + ["install", "-r", str(_PROGRAM_DIR / "requirements.txt")])
  File "/usr/lib/python3.11/subprocess.py", line 413, in check_call
    raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['/home/jeremy/wyoming-openwakeword/.venv/bin/python3', '-m', 'pip', 'install', '-r', '/home/jeremy/wyoming-openwakeword/requirements.txt']' returned non-zero exit status 1.

@formatBCE
Copy link
Author

@jeremyfa55 IDK for me it fixed installation.

@jeremyfa55
Copy link

ok, that's strange, i opened a ticket directly on piwheels github and they told me that they skip this package as there is no source available to build from :

piwheels/packages#450

Seems to be the case for tflite-runtime as well

@formatBCE
Copy link
Author

But openwakeword requires tflite. And tflite has releases available.
Try installing it with pip, it works.

@jeremyfa55
Copy link

i tried with pip and i have the same error ;

jeremy@alfred:~ $ /home/jeremy/wyoming-openwakeword/.venv/bin/pip install tflite_runtime
Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple
ERROR: Could not find a version that satisfies the requirement tflite_runtime (from versions: none)
ERROR: No matching distribution found for tflite_runtime

If you look on piwheels tflite-runtime has also been skipped :

https://www.piwheels.org/project/tflite-runtime/

I'm trying to install it since 2 days, i'm clueless...

@j5bart
Copy link
Contributor

j5bart commented May 9, 2024

@jeremyfa55 make sure tflite-runtime in your requirements.txt and not tflite_runtime?

@jeremyfa55
Copy link

yes, i checked it as well :

jeremy@alfred:~/wyoming-openwakeword $ script/setup
Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple
Requirement already satisfied: pip in ./.venv/lib/python3.11/site-packages (24.0)
Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple
Requirement already satisfied: setuptools in ./.venv/lib/python3.11/site-packages (69.5.1)
Requirement already satisfied: wheel in ./.venv/lib/python3.11/site-packages (0.43.0)
Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple
ERROR: Could not find a version that satisfies the requirement tflite-runtime (from versions: none)
ERROR: No matching distribution found for tflite-runtime
Traceback (most recent call last):
  File "/home/jeremy/wyoming-openwakeword/script/setup", line 26, in <module>
    subprocess.check_call(pip + ["install", "-r", str(_PROGRAM_DIR / "requirements.txt")])
  File "/usr/lib/python3.11/subprocess.py", line 413, in check_call
    raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['/home/jeremy/wyoming-openwakeword/.venv/bin/python3', '-m', 'pip', 'install', '-r', '/home/jeremy/wyoming-openwakeword/requirements.txt']' returned non-zero exit status 1.

@synesthesiam
Copy link
Contributor

Is your Python version too new or too old?

@jeremyfa55
Copy link

Is your Python version too new or too old?

I'm on python Python 3.11.2, should i upgrade or downgrade ?

@jeremyfa55
Copy link

I am running it on a rapberry 0 w (First gen) which is an ARMv6 architecture where the zero 2 w is an Armv7, i suspect this is my issue... i will try on a PI 3B+ to verify this

@synesthesiam
Copy link
Contributor

This is likely the issue. They don't provide a wheel for armv6.

@jeremyfa55
Copy link

yes i just did the install on a RPI 3B+ and it worked like a charm, sorry for the waste of time.. And Thanks for the amazing work you do

@formatBCE
Copy link
Author

I have Pi Zero 2w. It worked before (I have one satellite for several months), and now it doesn't. So problem exists anyway.

@EwoudDG
Copy link

EwoudDG commented May 16, 2024

I removed the -nightly in requirements.txt and it worked for me.

@tannisroot
Copy link
Contributor

I have Pi Zero 2w. It worked before (I have one satellite for several months), and now it doesn't. So problem exists anyway.

If you are using Legacy Raspberry Pi OS (Bullseye), it appears that tflite-runtime dropped support for it, so try installing non-legacy Raspberry Pi OS and using that.
See rhasspy/wyoming-satellite#151 (comment) if you need to install ReSpeaker drivers.

@formatBCE
Copy link
Author

I have Pi Zero 2w. It worked before (I have one satellite for several months), and now it doesn't. So problem exists anyway.

If you are using Legacy Raspberry Pi OS (Bullseye), it appears that tflite-runtime dropped support for it, so try installing non-legacy Raspberry Pi OS and using that.
See rhasspy/wyoming-satellite#151 (comment) if you need to install ReSpeaker drivers.

Thanks. Will definitely work for manual installation.
It's pretty extensive though for rookies.
I myself find installation script the best way to get satellite. It's really cool. But changes needed. :)

@formatBCE
Copy link
Author

@tannisroot
Copy link
Contributor

tannisroot commented May 18, 2024

This one: https://github.com/rhasspy/wyoming-satellite/blob/master/docs/tutorial_installer.md

Could you try using the instructions for the installer under non-Legacy (bookworm) version of Raspberry Pi OS Lite, but instead of

git clone https://github.com/rhasspy/wyoming-satellite.git

use this command?

git clone -b driver_installer_fix https://github.com/tannisroot/wyoming-satellite.git

@formatBCE
Copy link
Author

Could you try using the instructions for the installer under non-Legacy (bookworm) version of Raspberry Pi OS Lite, but instead of

I will, thanks!
Basically, I have my assistant working, but will try going from scratch to verify its work for others. :)

@Nokius
Copy link

Nokius commented May 19, 2024

This one: https://github.com/rhasspy/wyoming-satellite/blob/master/docs/tutorial_installer.md

Could you try using the instructions for the installer under non-Legacy (bookworm) version of Raspberry Pi OS Lite, but instead of

git clone https://github.com/rhasspy/wyoming-satellite.git

use this command?

git clone -b driver_installer_fix https://github.com/tannisroot/wyoming-satellite.git

EDIT: did a rerun to make sure I didn't do a mistake. Looks like I missed after the 'apt upgrade' a reboot this are the results now

the install is possible with no issue but the ReSpeaker 4Mic HAT is not recognized

voiceassistant@voiceassistant:~ $ uname -a
Linux voiceassistant 6.6.28+rpt-rpi-v8 #1 SMP PREEMPT Debian 1:6.6.28-1+rpt1 (2024-04-22) aarch64 GNU/Linux
voiceassistant@voiceassistant:~ $ lsb_release -a
No LSB modules are available.
Distributor ID:	Debian
Description:	Debian GNU/Linux 12 (bookworm)
Release:	12
Codename:	bookworm
voiceassistant@voiceassistant:~ $ pinout
Description        : Raspberry Pi 4B rev 1.1
Revision           : a03111
SoC                : BCM2711
RAM                : 1GB
Storage            : MicroSD
USB ports          : 4 (of which 2 USB3)
Ethernet ports     : 1 (1000Mbps max. speed)
Wi-fi              : True
Bluetooth          : True
Camera ports (CSI) : 1
Display ports (DSI): 1

,--------------------------------.
| oooooooooooooooooooo J8   +======
| 1ooooooooooooooooooo  J14 |   Net
|  Wi                    12 +======
|  Fi  Pi Model 4B  V1.1 oo      |
| |D     ,---. +---+          +====
| |S     |SoC| |RAM|          |USB3
| |I     `---' +---+          +====
| |0                C|           |
| oo1 J2            S|        +====
|                   I| |A|    |USB2
| pwr   |hd|   |hd| 0| |u|    +====
`-| |---|m0|---|m1|----|x|-------'

J8:
   3V3  (1) (2)  5V
 GPIO2  (3) (4)  5V
 GPIO3  (5) (6)  GND
 GPIO4  (7) (8)  GPIO14
   GND  (9) (10) GPIO15
GPIO17 (11) (12) GPIO18
GPIO27 (13) (14) GND
GPIO22 (15) (16) GPIO23
   3V3 (17) (18) GPIO24
GPIO10 (19) (20) GND
 GPIO9 (21) (22) GPIO25
GPIO11 (23) (24) GPIO8
   GND (25) (26) GPIO7
 GPIO0 (27) (28) GPIO1
 GPIO5 (29) (30) GND
 GPIO6 (31) (32) GPIO12
GPIO13 (33) (34) GND
GPIO19 (35) (36) GPIO16
GPIO26 (37) (38) GPIO20
   GND (39) (40) GPIO21

J2:
GLOBAL ENABLE (1)
          GND (2)
          RUN (3)

J14:
TR01 TAP (1) (2) TR00 TAP
TR03 TAP (3) (4) TR02 TAP

For further information, please refer to https://pinout.xyz/
voiceassistant@voiceassistant:~ $ arecord -L
null
    Discard all samples (playback) or generate zero samples (capture)
lavrate
    Rate Converter Plugin Using Libav/FFmpeg Library
samplerate
    Rate Converter Plugin Using Samplerate Library
speexrate
    Rate Converter Plugin Using Speex Resampler
jack
    JACK Audio Connection Kit
oss
    Open Sound System
pulse
    PulseAudio Sound Server
speex
    Plugin using Speex DSP (resample, agc, denoise, echo, dereverb)
upmix
    Plugin for channel upmix (4,6,8)
vdownmix
    Plugin for channel downmix (stereo) with a simple spacialization
default
playback
ac108
usbstream:CARD=Headphones
    bcm2835 Headphones
    USB Stream Output
usbstream:CARD=vc4hdmi0
    vc4-hdmi-0
    USB Stream Output
usbstream:CARD=vc4hdmi1
    vc4-hdmi-1
    USB Stream Output

dmesg

.....
[    4.871271] snd_soc_seeed_voicecard: loading out-of-tree module taints kernel.
.....

lsmod | grep seeed
snd_soc_seeed_voicecard    16384  1 snd_soc_ac108
snd_soc_simple_card_utils    32768  1 snd_soc_seeed_voicecard
snd_soc_core          307200  5 snd_soc_seeed_voicecard,vc4,snd_soc_hdmi_codec,snd_soc_ac108,snd_soc_simple_card_utils

If running the arecord with default option I get following error

arecord -D default -r 16000 -c 1 -f S16_LE -t wav -d 5 test.wav
ALSA lib confmisc.c:165:(snd_config_get_card) Cannot get card index for seeed4micvoicec
arecord: main:831: audio open error: No such device

@Nokius
Copy link

Nokius commented May 19, 2024

whie trying to understand where the issue may comes from I spotted following in the logs of the seeed-voicecard.service

May 19 13:13:36 voiceassistant seeed-voicecard[2874]: + alsactl restore
May 19 13:13:36 voiceassistant seeed-voicecard[2946]: alsa-lib main.c:1541:(snd_use_case_mgr_open) error: failed to import hw:0 use case configuration -2
May 19 13:13:36 voiceassistant seeed-voicecard[2946]: No state is present for card Headphones
May 19 13:13:36 voiceassistant seeed-voicecard[2946]: alsa-lib main.c:1541:(snd_use_case_mgr_open) error: failed to import hw:0 use case configuration -2
May 19 13:13:36 voiceassistant seeed-voicecard[2946]: /usr/share/alsa/init/bcm2835:20: control element not found
May 19 13:13:36 voiceassistant seeed-voicecard[2946]: No state is present for card Headphones
May 19 13:13:36 voiceassistant seeed-voicecard[2946]: alsa-lib main.c:1541:(snd_use_case_mgr_open) error: failed to import hw:1 use case configuration -2
May 19 13:13:36 voiceassistant seeed-voicecard[2946]: No state is present for card vc4hdmi0
May 19 13:13:36 voiceassistant seeed-voicecard[2946]: alsa-lib main.c:1541:(snd_use_case_mgr_open) error: failed to import hw:1 use case configuration -2
May 19 13:13:36 voiceassistant seeed-voicecard[2946]: Found hardware: "vc4-hdmi" "" "" "" ""
May 19 13:13:36 voiceassistant seeed-voicecard[2946]: Hardware is initialized using a generic method
May 19 13:13:36 voiceassistant seeed-voicecard[2946]: No state is present for card vc4hdmi0
May 19 13:13:36 voiceassistant seeed-voicecard[2946]: alsa-lib main.c:1541:(snd_use_case_mgr_open) error: failed to import hw:2 use case configuration -2
May 19 13:13:36 voiceassistant seeed-voicecard[2946]: No state is present for card vc4hdmi1
May 19 13:13:36 voiceassistant seeed-voicecard[2946]: alsa-lib main.c:1541:(snd_use_case_mgr_open) error: failed to import hw:2 use case configuration -2
May 19 13:13:36 voiceassistant seeed-voicecard[2946]: Found hardware: "vc4-hdmi" "" "" "" ""
May 19 13:13:36 voiceassistant seeed-voicecard[2946]: Hardware is initialized using a generic method
May 19 13:13:36 voiceassistant seeed-voicecard[2946]: No state is present for card vc4hdmi1

@tannisroot
Copy link
Contributor

This one: https://github.com/rhasspy/wyoming-satellite/blob/master/docs/tutorial_installer.md

Could you try using the instructions for the installer under non-Legacy (bookworm) version of Raspberry Pi OS Lite, but instead of

git clone https://github.com/rhasspy/wyoming-satellite.git

use this command?

git clone -b driver_installer_fix https://github.com/tannisroot/wyoming-satellite.git

EDIT: did a rerun to make sure I didn't do a mistake. Looks like I missed after the 'apt upgrade' a reboot this are the results now

the install is possible with no issue but the ReSpeaker 4Mic HAT is not recognized

voiceassistant@voiceassistant:~ $ uname -a
Linux voiceassistant 6.6.28+rpt-rpi-v8 #1 SMP PREEMPT Debian 1:6.6.28-1+rpt1 (2024-04-22) aarch64 GNU/Linux
voiceassistant@voiceassistant:~ $ lsb_release -a
No LSB modules are available.
Distributor ID:	Debian
Description:	Debian GNU/Linux 12 (bookworm)
Release:	12
Codename:	bookworm
voiceassistant@voiceassistant:~ $ pinout
Description        : Raspberry Pi 4B rev 1.1
Revision           : a03111
SoC                : BCM2711
RAM                : 1GB
Storage            : MicroSD
USB ports          : 4 (of which 2 USB3)
Ethernet ports     : 1 (1000Mbps max. speed)
Wi-fi              : True
Bluetooth          : True
Camera ports (CSI) : 1
Display ports (DSI): 1

,--------------------------------.
| oooooooooooooooooooo J8   +======
| 1ooooooooooooooooooo  J14 |   Net
|  Wi                    12 +======
|  Fi  Pi Model 4B  V1.1 oo      |
| |D     ,---. +---+          +====
| |S     |SoC| |RAM|          |USB3
| |I     `---' +---+          +====
| |0                C|           |
| oo1 J2            S|        +====
|                   I| |A|    |USB2
| pwr   |hd|   |hd| 0| |u|    +====
`-| |---|m0|---|m1|----|x|-------'

J8:
   3V3  (1) (2)  5V
 GPIO2  (3) (4)  5V
 GPIO3  (5) (6)  GND
 GPIO4  (7) (8)  GPIO14
   GND  (9) (10) GPIO15
GPIO17 (11) (12) GPIO18
GPIO27 (13) (14) GND
GPIO22 (15) (16) GPIO23
   3V3 (17) (18) GPIO24
GPIO10 (19) (20) GND
 GPIO9 (21) (22) GPIO25
GPIO11 (23) (24) GPIO8
   GND (25) (26) GPIO7
 GPIO0 (27) (28) GPIO1
 GPIO5 (29) (30) GND
 GPIO6 (31) (32) GPIO12
GPIO13 (33) (34) GND
GPIO19 (35) (36) GPIO16
GPIO26 (37) (38) GPIO20
   GND (39) (40) GPIO21

J2:
GLOBAL ENABLE (1)
          GND (2)
          RUN (3)

J14:
TR01 TAP (1) (2) TR00 TAP
TR03 TAP (3) (4) TR02 TAP

For further information, please refer to https://pinout.xyz/
voiceassistant@voiceassistant:~ $ arecord -L
null
    Discard all samples (playback) or generate zero samples (capture)
lavrate
    Rate Converter Plugin Using Libav/FFmpeg Library
samplerate
    Rate Converter Plugin Using Samplerate Library
speexrate
    Rate Converter Plugin Using Speex Resampler
jack
    JACK Audio Connection Kit
oss
    Open Sound System
pulse
    PulseAudio Sound Server
speex
    Plugin using Speex DSP (resample, agc, denoise, echo, dereverb)
upmix
    Plugin for channel upmix (4,6,8)
vdownmix
    Plugin for channel downmix (stereo) with a simple spacialization
default
playback
ac108
usbstream:CARD=Headphones
    bcm2835 Headphones
    USB Stream Output
usbstream:CARD=vc4hdmi0
    vc4-hdmi-0
    USB Stream Output
usbstream:CARD=vc4hdmi1
    vc4-hdmi-1
    USB Stream Output

dmesg

.....
[    4.871271] snd_soc_seeed_voicecard: loading out-of-tree module taints kernel.
.....

lsmod | grep seeed
snd_soc_seeed_voicecard    16384  1 snd_soc_ac108
snd_soc_simple_card_utils    32768  1 snd_soc_seeed_voicecard
snd_soc_core          307200  5 snd_soc_seeed_voicecard,vc4,snd_soc_hdmi_codec,snd_soc_ac108,snd_soc_simple_card_utils

If running the arecord with default option I get following error

arecord -D default -r 16000 -c 1 -f S16_LE -t wav -d 5 test.wav
ALSA lib confmisc.c:165:(snd_config_get_card) Cannot get card index for seeed4micvoicec
arecord: main:831: audio open error: No such device

Did the 4mic card work correctly with 6.1 kernel (Legacy Raspi os?)

@tannisroot
Copy link
Contributor

Also, could you please show me the picture of the exact HAT board you are using this with? Do I understand correctly it's the variation that plugs into GPIO pins?

@Nokius
Copy link

Nokius commented May 19, 2024

This one: https://github.com/rhasspy/wyoming-satellite/blob/master/docs/tutorial_installer.md

Could you try using the instructions for the installer under non-Legacy (bookworm) version of Raspberry Pi OS Lite, but instead of

git clone https://github.com/rhasspy/wyoming-satellite.git

use this command?

git clone -b driver_installer_fix https://github.com/tannisroot/wyoming-satellite.git

EDIT: did a rerun to make sure I didn't do a mistake. Looks like I missed after the 'apt upgrade' a reboot this are the results now
the install is possible with no issue but the ReSpeaker 4Mic HAT is not recognized

voiceassistant@voiceassistant:~ $ uname -a
Linux voiceassistant 6.6.28+rpt-rpi-v8 #1 SMP PREEMPT Debian 1:6.6.28-1+rpt1 (2024-04-22) aarch64 GNU/Linux
voiceassistant@voiceassistant:~ $ lsb_release -a
No LSB modules are available.
Distributor ID:	Debian
Description:	Debian GNU/Linux 12 (bookworm)
Release:	12
Codename:	bookworm
voiceassistant@voiceassistant:~ $ pinout
Description        : Raspberry Pi 4B rev 1.1
Revision           : a03111
SoC                : BCM2711
RAM                : 1GB
Storage            : MicroSD
USB ports          : 4 (of which 2 USB3)
Ethernet ports     : 1 (1000Mbps max. speed)
Wi-fi              : True
Bluetooth          : True
Camera ports (CSI) : 1
Display ports (DSI): 1

,--------------------------------.
| oooooooooooooooooooo J8   +======
| 1ooooooooooooooooooo  J14 |   Net
|  Wi                    12 +======
|  Fi  Pi Model 4B  V1.1 oo      |
| |D     ,---. +---+          +====
| |S     |SoC| |RAM|          |USB3
| |I     `---' +---+          +====
| |0                C|           |
| oo1 J2            S|        +====
|                   I| |A|    |USB2
| pwr   |hd|   |hd| 0| |u|    +====
`-| |---|m0|---|m1|----|x|-------'

J8:
   3V3  (1) (2)  5V
 GPIO2  (3) (4)  5V
 GPIO3  (5) (6)  GND
 GPIO4  (7) (8)  GPIO14
   GND  (9) (10) GPIO15
GPIO17 (11) (12) GPIO18
GPIO27 (13) (14) GND
GPIO22 (15) (16) GPIO23
   3V3 (17) (18) GPIO24
GPIO10 (19) (20) GND
 GPIO9 (21) (22) GPIO25
GPIO11 (23) (24) GPIO8
   GND (25) (26) GPIO7
 GPIO0 (27) (28) GPIO1
 GPIO5 (29) (30) GND
 GPIO6 (31) (32) GPIO12
GPIO13 (33) (34) GND
GPIO19 (35) (36) GPIO16
GPIO26 (37) (38) GPIO20
   GND (39) (40) GPIO21

J2:
GLOBAL ENABLE (1)
          GND (2)
          RUN (3)

J14:
TR01 TAP (1) (2) TR00 TAP
TR03 TAP (3) (4) TR02 TAP

For further information, please refer to https://pinout.xyz/
voiceassistant@voiceassistant:~ $ arecord -L
null
    Discard all samples (playback) or generate zero samples (capture)
lavrate
    Rate Converter Plugin Using Libav/FFmpeg Library
samplerate
    Rate Converter Plugin Using Samplerate Library
speexrate
    Rate Converter Plugin Using Speex Resampler
jack
    JACK Audio Connection Kit
oss
    Open Sound System
pulse
    PulseAudio Sound Server
speex
    Plugin using Speex DSP (resample, agc, denoise, echo, dereverb)
upmix
    Plugin for channel upmix (4,6,8)
vdownmix
    Plugin for channel downmix (stereo) with a simple spacialization
default
playback
ac108
usbstream:CARD=Headphones
    bcm2835 Headphones
    USB Stream Output
usbstream:CARD=vc4hdmi0
    vc4-hdmi-0
    USB Stream Output
usbstream:CARD=vc4hdmi1
    vc4-hdmi-1
    USB Stream Output

dmesg

.....
[    4.871271] snd_soc_seeed_voicecard: loading out-of-tree module taints kernel.
.....

lsmod | grep seeed
snd_soc_seeed_voicecard    16384  1 snd_soc_ac108
snd_soc_simple_card_utils    32768  1 snd_soc_seeed_voicecard
snd_soc_core          307200  5 snd_soc_seeed_voicecard,vc4,snd_soc_hdmi_codec,snd_soc_ac108,snd_soc_simple_card_utils

If running the arecord with default option I get following error

arecord -D default -r 16000 -c 1 -f S16_LE -t wav -d 5 test.wav
ALSA lib confmisc.c:165:(snd_config_get_card) Cannot get card index for seeed4micvoicec
arecord: main:831: audio open error: No such device

Did the 4mic card work correctly with 6.1 kernel (Legacy Raspi os?)

yes it works perfectly fine on :

voiceassistant@voiceassistant:~/wyoming-satellite/examples $ lsb_release -a
No LSB modules are available.
Distributor ID:	Debian
Description:	Debian GNU/Linux 11 (bullseye)
Release:	11
Codename:	bullseye
voiceassistant@voiceassistant:~/wyoming-satellite/examples $ uname -a
Linux voiceassistant 6.1.21-v8+ #1642 SMP PREEMPT Mon Apr  3 17:24:16 BST 2023 aarch64 GNU/Linux

Also verifed both 2mic and 4mic are not working under 6.6 kernel

@Nokius
Copy link

Nokius commented May 19, 2024

Also, could you please show me the picture of the exact HAT board you are using this with? Do I understand correctly it's the variation that plugs into GPIO pins?

It's v1.0 - 08/08/2017

4micReSpeaker

@tannisroot
Copy link
Contributor

This one: https://github.com/rhasspy/wyoming-satellite/blob/master/docs/tutorial_installer.md

Could you try using the instructions for the installer under non-Legacy (bookworm) version of Raspberry Pi OS Lite, but instead of

git clone https://github.com/rhasspy/wyoming-satellite.git

use this command?

git clone -b driver_installer_fix https://github.com/tannisroot/wyoming-satellite.git

EDIT: did a rerun to make sure I didn't do a mistake. Looks like I missed after the 'apt upgrade' a reboot this are the results now
the install is possible with no issue but the ReSpeaker 4Mic HAT is not recognized

voiceassistant@voiceassistant:~ $ uname -a
Linux voiceassistant 6.6.28+rpt-rpi-v8 #1 SMP PREEMPT Debian 1:6.6.28-1+rpt1 (2024-04-22) aarch64 GNU/Linux
voiceassistant@voiceassistant:~ $ lsb_release -a
No LSB modules are available.
Distributor ID:	Debian
Description:	Debian GNU/Linux 12 (bookworm)
Release:	12
Codename:	bookworm
voiceassistant@voiceassistant:~ $ pinout
Description        : Raspberry Pi 4B rev 1.1
Revision           : a03111
SoC                : BCM2711
RAM                : 1GB
Storage            : MicroSD
USB ports          : 4 (of which 2 USB3)
Ethernet ports     : 1 (1000Mbps max. speed)
Wi-fi              : True
Bluetooth          : True
Camera ports (CSI) : 1
Display ports (DSI): 1

,--------------------------------.
| oooooooooooooooooooo J8   +======
| 1ooooooooooooooooooo  J14 |   Net
|  Wi                    12 +======
|  Fi  Pi Model 4B  V1.1 oo      |
| |D     ,---. +---+          +====
| |S     |SoC| |RAM|          |USB3
| |I     `---' +---+          +====
| |0                C|           |
| oo1 J2            S|        +====
|                   I| |A|    |USB2
| pwr   |hd|   |hd| 0| |u|    +====
`-| |---|m0|---|m1|----|x|-------'

J8:
   3V3  (1) (2)  5V
 GPIO2  (3) (4)  5V
 GPIO3  (5) (6)  GND
 GPIO4  (7) (8)  GPIO14
   GND  (9) (10) GPIO15
GPIO17 (11) (12) GPIO18
GPIO27 (13) (14) GND
GPIO22 (15) (16) GPIO23
   3V3 (17) (18) GPIO24
GPIO10 (19) (20) GND
 GPIO9 (21) (22) GPIO25
GPIO11 (23) (24) GPIO8
   GND (25) (26) GPIO7
 GPIO0 (27) (28) GPIO1
 GPIO5 (29) (30) GND
 GPIO6 (31) (32) GPIO12
GPIO13 (33) (34) GND
GPIO19 (35) (36) GPIO16
GPIO26 (37) (38) GPIO20
   GND (39) (40) GPIO21

J2:
GLOBAL ENABLE (1)
          GND (2)
          RUN (3)

J14:
TR01 TAP (1) (2) TR00 TAP
TR03 TAP (3) (4) TR02 TAP

For further information, please refer to https://pinout.xyz/
voiceassistant@voiceassistant:~ $ arecord -L
null
    Discard all samples (playback) or generate zero samples (capture)
lavrate
    Rate Converter Plugin Using Libav/FFmpeg Library
samplerate
    Rate Converter Plugin Using Samplerate Library
speexrate
    Rate Converter Plugin Using Speex Resampler
jack
    JACK Audio Connection Kit
oss
    Open Sound System
pulse
    PulseAudio Sound Server
speex
    Plugin using Speex DSP (resample, agc, denoise, echo, dereverb)
upmix
    Plugin for channel upmix (4,6,8)
vdownmix
    Plugin for channel downmix (stereo) with a simple spacialization
default
playback
ac108
usbstream:CARD=Headphones
    bcm2835 Headphones
    USB Stream Output
usbstream:CARD=vc4hdmi0
    vc4-hdmi-0
    USB Stream Output
usbstream:CARD=vc4hdmi1
    vc4-hdmi-1
    USB Stream Output

dmesg

.....
[    4.871271] snd_soc_seeed_voicecard: loading out-of-tree module taints kernel.
.....

lsmod | grep seeed
snd_soc_seeed_voicecard    16384  1 snd_soc_ac108
snd_soc_simple_card_utils    32768  1 snd_soc_seeed_voicecard
snd_soc_core          307200  5 snd_soc_seeed_voicecard,vc4,snd_soc_hdmi_codec,snd_soc_ac108,snd_soc_simple_card_utils

If running the arecord with default option I get following error

arecord -D default -r 16000 -c 1 -f S16_LE -t wav -d 5 test.wav
ALSA lib confmisc.c:165:(snd_config_get_card) Cannot get card index for seeed4micvoicec
arecord: main:831: audio open error: No such device

Did the 4mic card work correctly with 6.1 kernel (Legacy Raspi os?)

yes it works perfectly fine on :

voiceassistant@voiceassistant:~/wyoming-satellite/examples $ lsb_release -a
No LSB modules are available.
Distributor ID:	Debian
Description:	Debian GNU/Linux 11 (bullseye)
Release:	11
Codename:	bullseye
voiceassistant@voiceassistant:~/wyoming-satellite/examples $ uname -a
Linux voiceassistant 6.1.21-v8+ #1642 SMP PREEMPT Mon Apr  3 17:24:16 BST 2023 aarch64 GNU/Linux

Also verifed both 2mic and 4mic are not working under 6.6 kernel

That's weird, I can't vouch for 4mic myself but on my Pi3 board, Respeaker 2mic worked fine under the 6.6 kernel.

@Nokius
Copy link

Nokius commented May 20, 2024

Tested both 4mic and 2mic on the shared RPi4 board and both are not working with 6.6 kernel. The issue should be moved over to the correct repo as it's just part of this project. (imho)

For now I use the modification in requirements.txt tflite-runtime-nightly to tflite-runtime which works for me on bullseye and 6.1

@tannisroot
Copy link
Contributor

Tested both 4mic and 2mic on the shared RPi4 board and both are not working with 6.6 kernel. The issue should be moved over to the correct repo as it's just part of this project. (imho)

For now I use the modification in requirements.txt tflite-runtime-nightly to tflite-runtime which works for me on bullseye and 6.1

I've found that on bullseye, the 2.13 version of tflite-runtime gets installed, which for me has a tendency to crash, at least on zero2w.

@donburch888
Copy link

Interesting long conversation...
reinstalling on my RasPi 4 running bullseye version of Raspbian
editing ~/wyoming-openwakeword/requirements.txt
changing tflite-runtime-nightly to tflite-runtime
then running script/setup ... worked for me.

Thanks

@tensor5g
Copy link

tensor5g commented Jun 7, 2024

I am running Ubuntu 24.04 on my Pi and it seems like the included Python 3.12 version is too new. I suppose there is nothing we can do but wait for Google to update tflite-runtime? Or downgrade my OS.

@tannisroot
Copy link
Contributor

I am running Ubuntu 24.04 on my Pi and it seems like the included Python 3.12 version is too new. I suppose there is nothing we can do but wait for Google to update tflite-runtime? Or downgrade my OS.

You can install python311 from somewhere (I imagine there are PPAs) and create a venv with that python version.

@ramin40
Copy link

ramin40 commented Jun 15, 2024

Interesting long conversation... reinstalling on my RasPi 4 running bullseye version of Raspbian editing ~/wyoming-openwakeword/requirements.txt changing tflite-runtime-nightly to tflite-runtime then running script/setup ... worked for me.

Thanks

Thank you. Did the changing of tflite-runtime-nightly to tflite-runtime cause any error or malfunction of the Wak word detector system?

@tannisroot
Copy link
Contributor

Interesting long conversation... reinstalling on my RasPi 4 running bullseye version of Raspbian editing ~/wyoming-openwakeword/requirements.txt changing tflite-runtime-nightly to tflite-runtime then running script/setup ... worked for me.
Thanks

Thank you. Did the changing of tflite-runtime-nightly to tflite-runtime cause any error or malfunction of the Wak word detector system?

It did for me personally before I abandoned bullseye, the service would at some point crash and not restart.

@chrisbennight
Copy link

for fellow python 3.12 users here is the tensorflow issue tracking publishing a compatible release: tensorflow/tensorflow#62003

@Joldiges
Copy link

I am running Ubuntu 24.04 on my Pi and it seems like the included Python 3.12 version is too new. I suppose there is nothing we can do but wait for Google to update tflite-runtime? Or downgrade my OS.

You could build tflite-runtime yourself. It isn't difficult for the armv7
https://www.tensorflow.org/lite/guide/build_cmake_pip

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests