From 5053a1406b551854c797ed7082508832e3a630a6 Mon Sep 17 00:00:00 2001 From: Delavec Date: Tue, 7 Mar 2017 23:28:26 +0000 Subject: [PATCH] Premik realtime mixerja v folder, apgrejd kbdja --- huekbd.sh | 66 +++++++++++++++++++++++++----- pocisti.sh => rtmix/pocisti.sh | 0 predvajaj.sh => rtmix/predvajaj.sh | 0 snemaj.sh => rtmix/snemaj.sh | 0 4 files changed, 55 insertions(+), 11 deletions(-) rename pocisti.sh => rtmix/pocisti.sh (100%) rename predvajaj.sh => rtmix/predvajaj.sh (100%) rename snemaj.sh => rtmix/snemaj.sh (100%) diff --git a/huekbd.sh b/huekbd.sh index 58141d6..b695059 100755 --- a/huekbd.sh +++ b/huekbd.sh @@ -1,21 +1,65 @@ #!/bin/bash -instrumenti=("sine" "square" "triangle" "sawtooth" "trapezium" "exp" "noise" "tpdfnoise" "pinknoise" "brownnoise" "pluck") +echo "Pritisni ? za navodila (kadarkoli)" +# Osnova za frekvenco +osnova=300 + +# Razlika (v Hz) med crkami +razlika=20 + +# Seznam uporabljenih instrumentov +instrumenti=("triangle" "pluck" "sine" "square" "sawtooth" "trapezium" "exp" "noise" "tpdfnoise" "pinknoise" "brownnoise") + +# Zacni pri prvem instrumentu trenutni_instrument=0 -while [ true ]; do - read -n 1 tipka - echo "tipka: $tipka" +# In ga izpisi +echo "Trenutni instrument: $trenutni_instrument (${instrumenti[$trenutni_instrument]})" - # Naslednji instrument ? - if [ $tipka = "1" ]; then - trenutni_instrument=$(perl -e "$trenutni_instrument + 1 % ${#instrumenti[@]}") +# Ponavljaj skoz +while [ true ]; do + # Preberi tipko + read -s -n 1 tipka + + # Znak ? izpise navodila + if [ $tipka = "?" ]; then + echo "Pritiskaj na tipkovnico za igranje tonov" + echo "Frekvence se vrstijo po abecednem redu" + echo + echo "Ukazi:" + echo "\t1\tPrejsnji instrument" + echo "\t2\tNaslednji instrument" + continue fi - echo "instrument: $trenutni_instrument (${instrumenti[$trenutni_instrument]})" + if [ $tipka = "2" ]; then + # Izberi naslednji instrument + trenutni_instrument=$(( ($trenutni_instrument + 1) % ${#instrumenti[@]})) - koda=$(perl -e "print ord(\"$tipka\") * 10") - play -n synth 1 ${instrumenti[$trenutni_instrument]} $koda & - echo "koda: $koda" + # In ga izpisi + echo "Trenutni instrument: $trenutni_instrument (${instrumenti[$trenutni_instrument]})" + continue + fi + + if [ $tipka = "1" ]; then + # Izberi prejsnji instrument + trenutni_instrument=$(( (${#instrumenti[@]} + $trenutni_instrument - 1) % ${#instrumenti[@]})) + + # In ga izpisi + echo "Trenutni instrument: $trenutni_instrument (${instrumenti[$trenutni_instrument]})" + continue + fi + + # Pretvori crko v ASCII kodo in pomnozi s 15 za visino frekvence + koda=$(perl -e "print ord(\"$tipka\") - 97") + + # Izracunaj frekvenco + frekvenca=$(( $osnova + $koda * $razlika )) + + # Zaigraj ton + play -n synth 1 ${instrumenti[$trenutni_instrument]} $frekvenca &>/dev/null & + + # Izpisi frekvenco + #echo "frekvenca: $koda" done diff --git a/pocisti.sh b/rtmix/pocisti.sh similarity index 100% rename from pocisti.sh rename to rtmix/pocisti.sh diff --git a/predvajaj.sh b/rtmix/predvajaj.sh similarity index 100% rename from predvajaj.sh rename to rtmix/predvajaj.sh diff --git a/snemaj.sh b/rtmix/snemaj.sh similarity index 100% rename from snemaj.sh rename to rtmix/snemaj.sh