Connection between raspberry pi 4 and edge impulse

@louis @shawn_edgeimpulse I am out of ideas. Any advice?

What does uname -m show?

@MMarcial
Could you also tell us which OS you are running and what is the Node.js version?

Best regards,
Mateusz

  • @fubar and @ASM56 Mr. Mateusz wants to know your node.js version.
    • At a CMD line type node --version.

@ASM56 could you describe your whole development environment? As I see you are using RPi OS 64-bit. But which exact version? And what is your Node.js version?
Could you report us the output of those commands on your board?

  • cat /etc/os-release
  • cat /etc/rpi-issue
  • node --version

You can also force to build/deploy particular target: edge-impulse-linux-runner --force-target runner-linux-aarch64

BR,
Mateusz

@ASM56 It seems the issue may be related to the Node.js version you are using (or upgrading the system). See this SO topic: node.js - Node does not detect correct arch on Raspberry Pi arm64 - Stack Overflow

BR,
Mateusz

@MMarcial @mateusz @AIWintermuteAI Works as needed after re-installing the OS to a 64-bit system. Thanks.

If I want to remove the modelfile.eim since I recalibrated by adding new samples and removed old ones, do I just drag the old modelfile.eim into the trash and run the “edge-impulse-runner-linux --download modelfile.eim” again? @mateusz @MMarcial @shawn_edgeimpulse

Hi @fubar,

Yes, you can just delete the .eim file and re-download it using the the runner command you posted.

Another error occurred, after changing the Modelfile.eim out, the run command would just error and time out. We tried rerunning it and it gave us a problem with the lib portaudio0, so we just redid the whole thing and is still giving us the same error. Followed step-by-step and this error continues on our AARCH64, we tried running it on 32-bit but it still failed. @shawn_edgeimpulse

I have redownloaded the 64-bit Raspberry Pi OS, uploaded that to my Raspberry Pi 4, did all the steps for the dependencies, as well as the SDK-Linux set up process to get my raspberry pi set up. I get to the point to where I ru

Sudo apt-get install libatlas-base-dev libportaudio0 libportaudio2 libportaudiocpp0 portaudio19-dev libopenjp2-7 libgtk-3-0 libswscale-dev libavformat58 libavcodec58

and

pip3 install edge_impulse_linux -i Simple index

Then it gives me an error for not having lib portaudio0 for some reason? Despite the fact it worked fine prior. I then run a command:

sudo apt install portaudio19-dev

because someone from another forum said it fixed it for them, but not for me I guess?
Then I go on to finishing the other steps @shawn_edgeimpulse instructed me to do like the first time, and now I get errors stating:

File “/home/team7/linux-sdk-python/examples/audio/classify.py”, line 5, in from edge_impulse_linux.audio import AudioImpulseRunner
File “/home/team7/.local/lib/python3.9/site-packages/edge_impulse_linux/init.py”, line 2 in from edge_impulse_linux import audio
File “/home/team7/.local/lib/python3.9/site-packages/edge_impulse_linux_audio.py”, line 3, in import pyaudio
ModuleNotFoundError: No module named “pyaudio”

This all happens when I try to run:

python classify.py modelfile.eim

It was working earlier today before the OS wipe, now it’s not. Any solution?
@MMarcial @mateusz

Hello @fubar,

Can you try to install pyaudio?

python -m pip install pyaudio

Best,

Louis

The pip3 worked whenever I used python3 as a category to download. The last problem we’re having is that sometimes a user that isn’t speaking is hitting 1.00 in the terminal output of the classify.py. We can’t figure out as to why that is. We have around 3 minutes in samples of each member (three total) as our output, but for some reason one of them gets a 1.00 whenever someone else speaks/ no one is speaking. Any reason you may think this is happening?

Hello @fubar,

I just checked your project.

Could you add a noise/background/garbage/unknown class so when no one is speaking or isn’t saying the right word is it still recognized as something else? Try to add as much variance in this class, it will make your model more robust.

Best,

Louis