...@...$ cd



language is ...


a/v live coding performance
software: bash, sox, unix shell
(2018)

performed at:
Algosix (Algorave Sixth Birthday ) - 17th March 2018 [online worldwide];
Pharmacia (Limerick - Ireland) - 13 March 2018;
Superbudda in collaborazione con SMET (School of Electronic Music - Conservatory of Turin) (Turin, Italy) - 21 February 2019;
Limerick Sound Festival 4th August 2018 - Irish World Academy of Music and Dance, University of Limerick, Limerick (Ireland);





              # ~/.bashrc: executed by bash(1) for non-login shells.
        # see /usr/share/doc/bash/examples/startup-files (in the package bash-doc)
        # for examples

        # If not running interactively, don't do anything
        case $- in
        	*i*) ;;
          	*) return;;
        esac

        # don't put duplicate lines or lines starting with space in the history.
        # See bash(1) for more options
        HISTCONTROL=ignoreboth

        # append to the history file, don't overwrite it
        shopt -s histappend

        # for setting history length see HISTSIZE and HISTFILESIZE in bash(1)
        HISTSIZE=1000
        HISTFILESIZE=2000

        # check the window size after each command and, if necessary,
        # update the values of LINES and COLUMNS.
        shopt -s checkwinsize

        # If set, the pattern "**" used in a pathname expansion context will
        # match all files and zero or more directories and subdirectories.
        #shopt -s globstar

        # make less more friendly for non-text input files, see lesspipe(1)
        [ -x /usr/bin/lesspipe ] && eval "$(SHELL=/bin/sh lesspipe)"

        # set variable identifying the chroot you work in (used in the prompt below)
        if [ -z "${debian_chroot:-}" ] && [ -r /etc/debian_chroot ]; then
        	debian_chroot=$(cat /etc/debian_chroot)
        fi

        # set a fancy prompt (non-color, unless we know we "want" color)
        case "$TERM" in
        	xterm-color|*-256color) color_prompt=yes;;
        esac

        # uncomment for a colored prompt, if the terminal has the capability; turned
        # off by default to not distract the user: the focus in a terminal window
        # should be on the output of commands, not on the prompt
        #force_color_prompt=yes

        if [ -n "$force_color_prompt" ]; then
        	if [ -x /usr/bin/tput ] && tput setaf 1 >&/dev/null; then
            # We have color support; assume it's compliant with Ecma-48
            # (ISO/IEC-6429). (Lack of such support is extremely rare, and such
            # a case would tend to support setf rather than setaf.)
            color_prompt=yes
        	else
            color_prompt=
        	fi
        fi

        if [ "$color_prompt" = yes ]; then
        	PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '
        else
        	PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ '
        fi
        unset color_prompt force_color_prompt

        # If this is an xterm set the title to user@host:dir
        case "$TERM" in
        xterm*|rxvt*)
        	PS1="\[\e]0;${debian_chroot:+($debian_chroot)}\u@\h: \w\a\]$PS1"
        	;;
        *)
        	;;
        esac

        # enable color support of ls and also add handy aliases
        if [ -x /usr/bin/dircolors ]; then
        	test -r ~/.dircolors && eval "$(dircolors -b ~/.dircolors)" || eval "$(dircolors -b)"
        	alias ls='ls --color=auto'
        	#alias dir='dir --color=auto'
        	#alias vdir='vdir --color=auto'

        	alias grep='grep --color=auto'
        	alias fgrep='fgrep --color=auto'
        	alias egrep='egrep --color=auto'
        fi

        # colored GCC warnings and errors
        #export GCC_COLORS='error=01;31:warning=01;35:note=01;36:caret=01;32:locus=01:quote=01'

        # some more ls aliases
        alias ll='ls -alF'
        alias la='ls -A'
        alias l='ls -CF'

        # Add an "alert" alias for long running commands.  Use like so:
        #   sleep 10; alert
        alias alert='notify-send --urgency=low -i "$([ $? = 0 ]
        && echo terminal || echo error)" "$(history|tail -n1|sed
        -e '\''s/^\s*[0-9]\+\s*//;s/[;&|]\s*alert$//'\'')"'

        # Alias definitions.
        # You may want to put all your additions into a separate file like
        # ~/.bash_aliases, instead of adding them here directly.
        # See /usr/share/doc/bash-doc/examples in the bash-doc package.

        if [ -f ~/.bash_aliases ]; then
        	. ~/.bash_aliases
        fi

        # enable programmable completion features (you don't need to enable
        # this, if it's already enabled in /etc/bash.bashrc and /etc/profile
        # sources /etc/bash.bashrc).
        if ! shopt -oq posix; then
          if [ -f /usr/share/bash-completion/bash_completion ]; then
        	. /usr/share/bash-completion/bash_completion
          elif [ -f /etc/bash_completion ]; then
        	. /etc/bash_completion
          fi
        fi


        ########################
        ######## MY FUNCTIONS GT
        ########################


        # PERFORMANCE 1


        # atom   note/s  duration  gain

        function noema(){
        terminology -b b11.jpg -g 20x2+$[ ( $RANDOM % 1900 ) + 1 ]+$[ ( $RANDOM % 1000 ) + 1 ] -e "bash -c \"
          if [ $# == 3 ]; then
          play -n synth $2 sine  $1 fade .2 $2 gain $3 && exit;
          elif [ $# == 4 ]; then
          play -n synth $3 sine  $1 sine $2  fade .2 $3 gain $4 && exit;
          elif [ $# == 5 ]; then
          play -n synth $4 sine  $1 sine $2 sine $3 fade .2 $4 gain $5 && exit;
          elif [ $# == 6 ]; then
          play -n synth $5 sine  $1 sine $2 sine $3 sine $4 fade .2 $5 gain $6 && exit;
          elif [ $# == 7 ]; then
          play -n synth $6 sine  $1 sine $2 sine $3 sine $4 sine $5 fade .2 $6 gain $7 && ex$
          elif [ $# == 8 ]; then
          play -n synth $7 sine  $1 sine $2 sine $3 sine $4 sine $5 sine $6 fade .2 $7 gain $
          fi
          exec bash\""&
        }


        # tremolo note/s duration tremolo_speed tremolo_depth gain

        function tremolo() {
        terminology -g 2x15+$[ ( $RANDOM % 1900 ) + 1 ]+$[ ( $RANDOM % 1000 ) + 1 ] -e "bash -c \"
          if [ $# == 5 ]; then
          play -n synth $2 sine  $1 fade .2 $2 tremolo $3 $4 gain $5 && exit;
          elif [ $# == 6 ]; then
          play -n synth $3 sine  $1 sine $2  fade .2 $3 tremolo $4 $5 gain $6 && exit;
          elif [ $# == 7 ]; then
          play -n synth $4 sine  $1 sine $2 sine $3 fade .2 $4 tremolo $5 $6 gain $7 && exit;
          elif [ $# == 8 ]; then
          play -n synth $5 sine  $1 sine $2 sine $3 sine $4 fade .2 $5 tremolo $6 $7 gain $8 && exit;
          elif [ $# == 9 ]; then
          play -n synth $6 sine  $1 sine $2 sine $3 sine $4 sine $5 fade .2 $6 tremolo $7 $8 gain $9 && exit;
          elif [ $# == 10 ]; then
          play -n synth $7 sine  $1 sine $2 sine $3 sine $4 sine $5 sine $6 fade .2 $7 tremoolo $8 $9 gain $10 && exit;
          fi
         exec bash\""&
        }



        function this(){
        terminology -g $[ ( $RANDOM % 20 )  + 1 ]x$[ ( $RANDOM % 20 ) + 1 ]+
        $[ ( $RANDOM % 1900 )  + 1 ]+$[ ( $RANDOM % 1000 )  + 1 ] -e "bash -c \"
        play -n synth 7 sine $[ ( $RANDOM % 200 ) + 150 ] fade 0 5 2 gain -10 && exit
        exec bash\""&
        }

        function followed(){
        sleep 3.5 &&
        terminology -g $[ ( $RANDOM % 20 )  + 1 ]x$[ ( $RANDOM % 20 ) + 1 ]+
        $[ ( $RANDOM % 1900 )  + 1 ]+$[ ( $RANDOM % 1000 )  + 1 ] -e "bash -c \"
        play -n synth 7 sine $[ ( $RANDOM % 200 ) + 150 ] fade 0 5 2 gain -10 &&
        sleep 2 && play -q wow.wav && exit
        exec bash\""&
        }




        function thanks(){
        play -q crowd-laugh.wav  && exit
        }

        function language(){
        terminology -g $[ ( $RANDOM % 20 )  + 1 ]x$[ ( $RANDOM % 20 ) + 1 ]+
        $[ ( $RANDOM % 1900 )  + 1 ]+$[ ( $RANDOM % 1000 )  + 1 ] -e "bash -c \"
        play abc.wav  fade 0 0 .2 gain -3 && exit
        exec bash\""&
        }




        function debate(){
        terminology -g 2x20 -e "bash -c \" play noam.ogg trim $1 $2 fade 1 $2 gain 0 && exit
        exec bash\""&
        }


        function so(){

        play confusion.wav gain -10 fade t 0 10 3

        }


        function u(){
        terminology -g 2x10+$[ ( $RANDOM % 1900 )  + 1 ]+$[ ( $RANDOM % 1000 )  + 1 ]
        -e "bash -c \" for i in {1..5}; do play confusion.wav trim $[ ( $RANDOM % 100 ) +
         1 ] $1  pad 0 5 gain -5 reverb && sleep 1; done && exit
        exec bash\""&
        }

        function beauty(){
        terminology -g 30x20+$[ ( $RANDOM % 1900 )  + 1 ]+$[ ( $RANDOM % 1000 )  + 1 ]
         -e "bash -c \" tybg minchia.ogv
        exec bash\""&

        }

        function meaning(){
        terminology -g 40x15+$[ ( $RANDOM % 1900 )  + 1 ]+$[ ( $RANDOM % 1000 )  + 1 ]
        -e "bash -c \" tybg fagioli.ogv
        exec bash\""&
        }

        function limit(){
        tybg beethoven.ogv
        }

        function world(){
        tybg asilvio.ogv
        }




        function viz(){
        shuf -r -e -z '               	' $(echo -e "\e[3$1m$2\e[0m") '                            	'
        }


        function bye(){
        terminology -F -e "bash -c \" shuf -r -e -z '               	'
        $(echo -e "\e[33m$1\e[0m") '                                  	' &  play wow.wav
        exec bash \""&
        }


        function glit(){

        terminology -g $[ ( $RANDOM % 20 )  + 1 ]x$[ ( $RANDOM % 20 )  + 1 ]+
        $[ ( $RANDOM % 1900 )  + 1 ]+$[ ( $RANDOM % 1000 )  + 1 ] -b b$[ ($RANDOM % 10 ) + 1 ].jpg
        -e "bash -c \"
        play 0-glitch$[ ($RANDOM % 12 ) + 1 ].wav gain $1 &&
        exit
        exec bash\""&
        }


        ###########################

        function frand(){

        ###########################

        v=$[t100 + (RANDOM % 100)]$[1000 + (RANDOM % 1000)]
        v=0.${v:1:2}${v:4:3}
        echo $v
        }

        ###########################
        ###########################
        ###########################
        ##########################
        ##########################
        ##########################

        function loop(){

        ###########################

        re='^[0-9]+$'

        if ! [[ $2 =~ $re ]] ; then

            if [ "$1" -gt 0 ]; then

           	 for ((i=1;i<=$1; i++));
           	 do
           	 ${@:3} && sleep $($2);
           	 done

            elif [ "$1" -eq 0 ]; then

           	 while true;
           	 do
           	 ${@:3} && sleep $($2);
           	 done

            fi
        else

            	if [ "$1" -gt 0 ]; then

                    	for ((i=1;i<=$1; i++));
                    	do
                    	${@:3} && sleep $2;
                    	done

            	elif [ "$1" -eq 0 ]; then

                    	while true;
                    	do
                    	${@:3} && sleep $2;
                    	done

            	fi

        fi

        }
        ##########################
        ##########################
        ##########################

        


Italian Trulli

Italian Trulli

Italian Trulli

Italian Trulli