# bananenkeyboard Resistive touch sensors to sound by touching the probes or things connected to them. # Install * Raspberry Pi OS Lite * Release date: January 28th 2022 * System: 32-bit * Kernel version: 5.10 * Debian version: 11 (bullseye) Remember to activate "ssh" before booting first (touch "/boot/ssh" on the MicroSD-card) After login (ssh) proceed with these steps: 1. `sudo apt update` 2. `sudo apt upgrade` 3. `sudo apt -y install git python3-pip libsdl2-mixer-2.0-0 usbmount screen libasound2-dev` 4. `sudo chmod 1777 /tmp` 5. `wget https://go.dev/dl/go1.19.2.linux-armv6l.tar.gz` 6. `sudo rm -rf /usr/local/go && sudo tar -C /usr/local -xzf go1.19.2.linux-armv6l.tar.gz` 7. `echo 'export PATH=$PATH:/usr/local/go/bin' >>~/.profile` 8. `. ~/.profile` 9. `git clone https://repos.ctdo.de/interfisch/bananenkeyboard/` 10. `cd ~/bananenkeyboard/Pi` 11. `go get .` 12. `go build .` 13. `sudo sh -c 'echo "\n[all]\nenable_uart=1\n" >>/boot/config.txt'` 14. `sudo sh -c 'sed "s/^dtoverlay=vc4-kms-v3d/dtoverlay=vc4-fkms-v3d/" -i /boot/config.txt'` 15. `sudo mkdir /etc/systemd/system/systemd-udevd.service.d` 16. `sudo sh -c 'echo "[Service]\nPrivateMounts=no" >/etc/systemd/system/systemd-udevd.service.d/00-my-custom-mountflags.conf'` 17. `sudo sh -c 'cp /home/pi/bananenkeyboard/piconfig/rc.local /etc/rc.local'` 18. `sudo chmod u+x /etc/rc.local` 19. `chmod u+x ~/bananenkeyboard/piconfig/readonly.sh` 20. `sudo gpasswd --add pi tty` 21. `sudo /home/pi/bananenkeyboard/piconfig/readonly.sh` 22. `sudo reboot` By copying the rc.local (step 17), the script will be started in a `screen` after reboot. To start it manually type: `./bananenkeyboard/Pi/bananenkeyboard` # Convert and remove silence from samples: `for file in *.mp3; do ffmpeg -i ${file} -af silenceremove=1:0:-30dB ${file/mp3/wav} -y; done` An open source for samples is for example: https://philharmonia.co.uk/resources/sound-samples/ # TODO * It's necessary to activate the serial via raspi-config? * raspi-config -> Interface -> I6 Serial Port -> No (Login Shell?) -> Yes (Serial hardware port?) -> Ok