53d7f10960 | ||
---|---|---|
Pi | ||
backup | ||
piconfig | ||
touchcircuit | ||
touchcontroller | ||
.gitignore | ||
Bananenkeyboard.code-workspace | ||
README.md | ||
plexibox.svg |
README.md
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:
sudo apt update
sudo apt upgrade
sudo apt -y install git python3-pip libsdl2-mixer-2.0-0 usbmount screen libasound2-dev
sudo chmod 1777 /tmp
wget go1.19.2.linux-armv6l.tar.gz
rm -rf /usr/local/go && tar -C /usr/local -xzf go1.19.2.linux-amd64.tar.gz
echo 'export PATH=$PATH:/usr/local/go/bin' >>~/.profile
git clone https://repos.ctdo.de/interfisch/bananenkeyboard/
cd ~/bananenkeyboard/Pi
go get .
go build .
sudo sh -c 'echo "\n[all]\nenable_uart=1\n" >>/boot/config.txt'
sudo sh -c 'sed "s/^dtoverlay=vc4-kms-v3d/dtoverlay=vc4-fkms-v3d/" -i /boot/config.txt'
sudo mkdir /etc/systemd/system/systemd-udevd.service.d
sudo sh -c 'echo "[Service]\nPrivateMounts=no" >/etc/systemd/system/systemd-udevd.service.d/00-my-custom-mountflags.conf'
sudo sh -c 'cp /home/pi/bananenkeyboard/piconfig/rc.local /etc/rc.local'
sudo chmod u+x /etc/rc.local
chmod u+x ~/bananenkeyboard/piconfig/readonly.sh
sudo gpasswd --add pi tty
sudo /home/pi/bananenkeyboard/piconfig/readonly.sh
sudo reboot
By copying the rc.local (step 16), 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