Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/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 <http://www.gnu.org/licenses/>.
- ######################################################################
- # 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
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement