GeekFunkLabs / squishbox

Software and design files for a Raspberry Pi sound module enclosure
20 stars 3 forks source link

No sound produced #16

Closed Pauldb8 closed 3 months ago

Pauldb8 commented 3 months ago

Hello,

First off thank you for this great idea ! I have a M-AUDIO OxygenPro61 and wanted to use it standalone to play and sing along. I have a RPi that is currently being used for Pi-hole (DNS with adblock) pretty light and stays at 0.00 load all the time.

Now I've updated my RPi (had been a while) and ran the script via the recommended command (curl xxx | bash). Now the services seems to start fine.

I'm using Raspbian, kernel: 6.1.21-v7+

image

However no sound is produced.

Now I'm out of idea, but I'd like to make it work because it would be so nice !

Thank you for your help.

albedozero commented 3 months ago

Seems like it could be a problem with the multiple MIDI devices - maybe they're assigned to channels other than the one set in the bank file. Enter this command to see what the port numbers are:

aconnect -iol

Then, you can see what MIDI messages are being sent by each of the devices your OxygenPro is presenting by entering

aseqdump -p<port>

Where you change <port> to one of the client numbers given by aconnect. Let me know what you find and I can help troubleshoot.

Pauldb8 commented 3 months ago

Hey thank you for the feedback ! Indeed by setting MIDI_CTRL = 0 in the squishbox.py file, it now works ! This is very cool :) and exactly what I needed !

I also have a question, how might I get to know which of my buttons correspond to which number ? So as to be able to change Banks and sounds ? The default don't work.

Another feedback, by installing the web file uploader, the service wouldn't start because it needed "nmcli":

aoû 07 17:22:22 raspberrypi systemd[1]: Started SquishBox.
aoû 07 17:22:25 raspberrypi squishbox.py[489]: /bin/sh: 1: nmcli: not found
aoû 07 17:22:26 raspberrypi squishbox.py[379]: Traceback (most recent call last):
aoû 07 17:22:26 raspberrypi squishbox.py[379]:   File "/home/pi/squishbox.py", line 1101, in <module>
aoû 07 17:22:26 raspberrypi squishbox.py[379]:     sb = SquishBox()
aoû 07 17:22:26 raspberrypi squishbox.py[379]:   File "/home/pi/squishbox.py", line 123, in __init__
aoû 07 17:22:26 raspberrypi squishbox.py[379]:     self.wifi_state()
aoû 07 17:22:26 raspberrypi squishbox.py[379]:   File "/home/pi/squishbox.py", line 589, in wifi_state
aoû 07 17:22:26 raspberrypi squishbox.py[379]:     state = 'on' if self.shell_cmd("nmcli radio wifi") == 'enabled' else 'off'
aoû 07 17:22:26 raspberrypi squishbox.py[379]:   File "/home/pi/squishbox.py", line 553, in shell_cmd
aoû 07 17:22:26 raspberrypi squishbox.py[379]:     return subprocess.run(cmd, check=True, stdout=subprocess.PIPE, shell=True,
aoû 07 17:22:26 raspberrypi squishbox.py[379]:   File "/usr/lib/python3.9/subprocess.py", line 528, in run
aoû 07 17:22:26 raspberrypi squishbox.py[379]:     raise CalledProcessError(retcode, process.args,
aoû 07 17:22:26 raspberrypi squishbox.py[379]: subprocess.CalledProcessError: Command 'nmcli radio wifi' returned non-zero exit status 127.
aoû 07 17:22:26 raspberrypi systemd[1]: squishbox.service: Main process exited, code=exited, status=1/FAILURE
aoû 07 17:22:26 raspberrypi systemd[1]: squishbox.service: Failed with result 'exit-code'.
aoû 07 17:22:26 raspberrypi systemd[1]: squishbox.service: Consumed 1.387s CPU time.
aoû 07 17:22:26 raspberrypi systemd[1]: squishbox.service: Scheduled restart job, restart counter is at 1.
aoû 07 17:22:26 raspberrypi systemd[1]: Stopped SquishBox.
aoû 07 17:22:26 raspberrypi systemd[1]: squishbox.service: Consumed 1.387s CPU time.

Keep in mind my RPi originally is Raspbian with Pi-Hole (DNS adblocker for my home, and as it happens DCHP too).

I fixed by installing network-manager. It then started. But then when I restarted my RPI. My whole network broke.. Because my RPi is used a DCHP server (giving IPs to everyone), but network-manager took over the /etc/dhcpcd.conf (static IP for the PI), and then it wouldn't get an IPv4 address anymore, and other devices couldn't find RPi. Which drove me crazy. Solution was using network-manager utility to set the same IP/DNS/Subnet configuration as in the /etc/dhcpcd.conf file, by typing: sudo nmtui and visually configuring.

Then after a restart everything now works as expected on startup. Phew ! Thank you.