#!/bin/bash ###################################################################### #Copyright (C) 2020 Kris Occhipinti #https://filmsbykris.com #Noise-O-tron #makes noise from keypresses to dsp audio hardware #This program is free software: you can redistribute it and/or modify #it under the terms of the GNU General Public License as published by #the Free Software Foundation, either version 3 of the License, or #(at your option) any later version. #This program is distributed in the hope that it will be useful, #but WITHOUT ANY WARRANTY; without even the implied warranty of #MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the #GNU General Public License for more details. #You should have received a copy of the GNU General Public License #along with this program. If not, see . ###################################################################### # Inspired by code written by: Antonio Macchi # https://www.tldp.org/LDP/abs/html/devref1.html duration=1000 volume=$'\xc0' mute=$'\x80' function main(){ echo "Press Keys on Keyboard" echo "(ASCII Characters) - Press Enter to exit." while [ 1 ];do read -n 1 n n="$(ord $n)" [[ $n == 0 ]]&& exit n="$(note $n)" echo -n "$n" > /dev/dsp done } function note(){ for i in `seq 0 $duration` do [ $(( $i % $1 )) -eq 0 ] && echo -n $volume || echo -n $mute done } function ord() { LC_CTYPE=C printf '%d' "'$1" } main