Talsyntes:____"För Folk I Tiden"

Varning! Det som diskuteras här är inte alltid enkelt och det kan hända att vissa installationer/modifieringar kan göra ditt system oanvändbart. Inget för nybörjare. Gör alltid backup av känslig data innan du experimenterar.
Kategoriregler
Varning! Det som diskuteras här är inte alltid enkelt och det kan hända att vissa installationer/modifieringar kan göra ditt system oanvändbart. Inget för nybörjare. Gör alltid backup av känslig data innan du experimenterar.
Användarvisningsbild
Konservburk
Inlägg: 5919
Blev medlem: 07 apr 2007, 22:28

Re: Talsyntes/Festival/Scaletempo/Ubuntu-AMD64

Inlägg av Konservburk »

Hans Linde skrev:start kan inte stannas med pause eller stop
texten behöver markeras om vid tex "list".
Jag har visst haft sönder dem... just nu funkar de precis som start.
Hans Linde skrev:ctlF7 scale-fönster öppnas och röst stannar. Den går inte att starts.
Det felat lyckas jag inte hitta. För mig stannar det inte alls. Vad menar du med att den inte går att starta igen?
Hans Linde skrev:ctlF10-12 felmedelande
Samma felmeddelande som förut med "<Control>kommando" som inte finns?
Hans Linde
Inlägg: 3375
Blev medlem: 06 sep 2008, 07:46
OS: Crunchbang
Utgåva: Vet inte/ingen utgåva passar

Re: Talsyntes/Festival/Scaletempo/Ubuntu-AMD64

Inlägg av Hans Linde »

Jag kommer ingen vart eftersom det låst sig,
Det är möjligt att låsning skede på annan plats
i raden, men jag kunde inget dubbel kontrollera.

Nej det vart inte samma felmeddelande.
Om du ger tillbaka "print screen" ska jag visa :(

Hmmm... ny vilket funktion!!!!!
Det går att markera innehållet i en ruta.
Det är ett stort problem för dyslektiker
att de där j-vl grå små rutorna i Window inte
nappar på ctlC..... men här ser de felmeddelandet

Inget kommando 22 har definierats.
Inget kommando 23 har definierats.
Inget kommando 24 har definierats.
Användarvisningsbild
Konservburk
Inlägg: 5919
Blev medlem: 07 apr 2007, 22:28

Re: Talsyntes/Festival/Scaletempo/Ubuntu-AMD64

Inlägg av Konservburk »

Hans Linde skrev:Nej det vart inte samma felmeddelande.
Om du ger tillbaka "print screen" ska jag visa :(
Det går att ta en skärmbild från gimp utan någon print-screen... file(arkiv)-menyn -> acquire(hämta?)-> screenshot.
Hans Linde skrev:men här ser de felmeddelandet

Inget kommando 22 har definierats.
Inget kommando 23 har definierats.
Inget kommando 24 har definierats.
Har du kört en "install" igen?
Användarvisningsbild
Konservburk
Inlägg: 5919
Blev medlem: 07 apr 2007, 22:28

Re: Talsyntes/Festival/Scaletempo/Ubuntu-AMD64

Inlägg av Konservburk »

Du får en r9 med lagad stop/pause och en fulfix så att "list" inte förstör utklippet:

Kod: Markera allt

#!/bin/sh
# r9
case "$-" in *i*) return ;; esac
export LC_ALL=C
#exec 2>&-
APP="Talsyntes"
DIR=~/".talsyntes"
SCRIPT="$DIR/talsyntes.sh"
DATA_DIR="$DIR/data"
VOICES_DIR="$DIR/voices"
SETTINGS_DIR="$DIR/settings"

mkdir -p "$DATA_DIR" "$VOICES_DIR" "$SETTINGS_DIR"

if test "x$SCRIPT" != "x$0" && cp -f "$0" "$SCRIPT" 2>&-
then
   iconv -f utf-8 -t iso8859-1 "$0" >/dev/null 2>&- ||
   iconv -f iso8859-1 -t utf-8 "$0" >"$SCRIPT"
   chmod +x "$SCRIPT" && exec "$SCRIPT" "$@"
fi
get_dialog() {
   cat "$SETTINGS_DIR"/dialog 2>&- ||
   which zenity 2>&- ||
   which Xdialog 2>&- ||
   echo "$0: missing zenity or Xdialog" >&2
}
case "$1" in
stop|start)
   pkill -P $(pgrep -u"$(id -u)" -d, "${SCRIPT##*/}") mplayer
;;
pause)
   find "$DIR" -name mplayer.\*.fifo -type p -exec sh -c 'echo pause >{}' \;
;;
list)
   dialog="$(get_dialog)"
   ps -opid=,ppid=,args= $(pgrep -u"$(id -u)" "${SCRIPT##*/}") |
   grep -vE "(^|[[:blank:]]+)$$([[:blank:]]+|$)" | grep "$*$" |
   while read pid
   do pkill -P "${pid%% *}" "${dialog##*/}"
   done
;;
*)
   ps -opid=,ppid=,args= $(pgrep -u"$(id -u)" "${SCRIPT##*/}") |
   grep -vE "(^|[[:blank:]]+)$$([[:blank:]]+|$)" |
   grep -q "$*$" && exit
;;
esac

create_dialog() {
   dialog="$(get_dialog)"
   case "$1" in
   list)
      type="$2"
      title="$3"
      while read item
      do echo "$item" | grep -qE "($4)" && default=true || default=false
         case "$dialog" in
         *zenity)
            set "$@" "$default" "${item##*/}"
         ;;
         *Xdialog)
            set "$@" "${item##*/}" "${item##*/}"
            "$default" && set "$@" on || set "$@" off
         ;;
         esac
      done
      shift 4
      case "$dialog" in
      *zenity)
         set -- --width 400 --height 400 --list \
            --"$type"list --text "$title" --column "" --column "" "$@"
      ;;
      *Xdialog)
         set -- --stdout --separator "|" --no-tags \
            --"$type"list "$title" 400x400 0 "$@"
      ;;
      esac
   ;;
   scale)
      case "$dialog" in
      *zenity)
         set -- --scale --text "$2" --print-partial \
            --min-value -100 --max-value 100 --value "$3"
      ;;
      *Xdialog)
         set -- --stdout --rangebox "$2" 10 60 -100 100 "$3"
      ;;
      esac
   ;;
   progress)
      case "$dialog" in
      *zenity)
         set -- --width 300 --progress --auto-close --text "$2"
      ;;
      *Xdialog)
         set -- --stdout --gauge "$2" 5 60
      ;;
      esac
   ;;
   question)
      case "$dialog" in
      *zenity)
         set -- --question --text "$2"
      ;;
      *Xdialog)
         set -- --stdout --yesno "$2" 10 60
      ;;
      esac
   ;;
   info)
      case "$dialog" in
      *zenity)
         set -- --info --no-wrap --text "$2"
      ;;
      *Xdialog)
         set -- --stdout --fixed-font --msgbox "$2" 0 0
      ;;
      esac
   ;;
   *) return ;;
   esac
   LC_ALL=sv_SE.UTF-8 "${dialog:-:}" --title "$APP" "$@"
}
metacity_info() {
   echo '
      KEY="/apps/metacity/global_keybindings"
      CMD="/apps/metacity/keybinding_commands"
      PREFIX="run_command_"
      SUFFIX=""
   '
}
compiz_info() {
   echo '
      KEY="/apps/compiz/general/allscreens/options"
      CMD="/apps/compiz/general/allscreens/options"
      PREFIX="run_command"
      SUFFIX="_key"
   '
}
scale_mapping() {
   awk -vmin="$1" -vdef="$2" -vmax="$3" -vbend="${4:-1}" '
      function f(x)
      {
         factor = (a != b) ? 2*a*b*log(a/b)/(a-b) : (a+b)
         return factor * log(x) * x / (x^2-1) - ((a < b) ? a : b) / bend
      }
      BEGIN {
         a = (max - def)
         b = (def - min)
         if (max < min) { a = -a; b = -b; }
         x0=2; x1=3; y0=f(x0); y1=f(x1); lim=1e-4
         while( x1>1 && ( (x1-x0)>lim || (x0-x1)>lim) ) {
            y1 = f(x1); x2 = x1 - (x1 - x0) * y1 / (y1 - y0)
            x0 = x1; x1 = x2; y0 = y1;
         }
         incl = (x1>1) ? x1 : 1
      }
      {
         expo = $1 / 100
         if (incl != 1) expo = (incl^expo - 1/incl^expo) / (incl - 1/incl)
         expo = (expo + 1) / 2
         if (a != b) expo = ((a / b)^(2 * expo) - 1) / ((a / b)^2 - 1)
         printf("%f\n", min + (max - min) * expo)
      }
   '
}
get_speed() {
   2>&- scale_mapping 5 1 0.2 <"$SETTINGS_DIR"/speed || echo 1.0
}
get_freq() {
   2>&- scale_mapping 0.2 1 5 <"$SETTINGS_DIR"/freq || echo 1.0
}
get_volume() {
   2>&- scale_mapping 0.2 1 5 <"$SETTINGS_DIR"/volume || echo 1.0
}
get_rate() {
   2>&- scale_mapping 1000 16000 48000 <"$SETTINGS_DIR"/rate || echo 16000
}
get_scale() {
   2>&- scale_mapping 0.2 1 5 <"$SETTINGS_DIR"/scale || echo 1.0
}
get_stride() {
   2>&- scale_mapping 1 60 400 <"$SETTINGS_DIR"/stride || echo 60
}
get_overlap() {
   2>&- scale_mapping 0 0.2 1 <"$SETTINGS_DIR"/overlap || echo 0.2
}
get_search() {
   2>&- scale_mapping 0 14 200 <"$SETTINGS_DIR"/search || echo 14
}
get_method() {
   2>&- cat "$SETTINGS_DIR"/method || echo tempo
}
get_accel() {
   2>&- scale_mapping 0.2 1 5 <"$SETTINGS_DIR"/accel || echo 1.0
}
get_voice() {
   2>&- readlink "$SETTINGS_DIR"/voice
}

find -L "$SETTINGS_DIR" -maxdepth 1 -name voice -type l -exec rm {} \;
ls "$VOICES_DIR"/[a-z][a-z][1-9]:* >/dev/null 2>&- &&
test -x "$SCRIPT" &&
test -x "$DIR/mbrola" ||
set install

cd "$DIR"
case "$1" in
stop|pause)
;;
loop)
   while "$SCRIPT" start ; do :; done
;;
start)
   #xclip -o | grep -q . || exit
   test -h "$SETTINGS_DIR/voice" || exec "$SCRIPT" adjust voice
   find "$DIR" -name mplayer.\*.fifo -type p -exec rm -f {} \;
   FIFO="$DIR/mplayer.$$.fifo"
   trap 'rm -f "$FIFO"' EXIT
   test -p "$FIFO" || mkfifo "$FIFO"
   if voice=$(ls "$VOICES_DIR/$2":* 2>&-)
   then shift
   else voice="$(get_voice)"
   fi
   voice="${voice##*/}"
   speed="$(get_speed)"
   freq="$(get_freq)"
   volume="$(get_volume)"
   rate="$(get_rate)"
   scale="$(get_scale)"
   stride="$(get_stride)"
   overlap="$(get_overlap)"
   search="$(get_search)"
   method="$(get_method)"
   accel="$(get_accel)"

   scaletempo="$scaletempo${scaletempo+:}scale=${scale:-1}"
   scaletempo="$scaletempo${scaletempo+:}stride=${stride:-60}"
   scaletempo="$scaletempo${scaletempo+:}overlap=${overlap:-0.20}"
   scaletempo="$scaletempo${scaletempo+:}search=${search:-14}"
   scaletempo="$scaletempo${scaletempo+:}speed=${method:-tempo}"
   scaletempo="-af scaletempo=$scaletempo -speed ${accel:-1}"

   xclip -o |
   espeak -v mb-"${voice%:*}" |
   "$DIR/mbrola" -e \
      -t "${speed:-1}" \
      -f "${freq:-1}" \
      -v "${volume:-1}" \
      -l "${rate:-16000}" \
      "$VOICES_DIR/$voice" - -.wav |
   mplayer -really-quiet -input file="$FIFO" $scaletempo -demuxer audio -
;;
list)
   cd "$SETTINGS_DIR"
   list=$(
      echo "Nuvarande inställningar"
      echo
      for option in \
         voice speed freq rate volume accel \
         scale stride overlap search method dialog
      do if test -h "$option"
         then
            setting=$(readlink "$option")
            setting="${setting##*/}" && value=""
         else
            setting="$(cat $option 2>&-)"
            value="$(get_$option)"
         fi
         test "$option" = dialog &&
         setting="${value##*/}" && value=""
         test "$option" = method &&
         setting="${setting:-tempo}" && value=""
         printf "%s:\t\t%s\t\t%s\n" \
            "$option" "${setting:-0}" "${value:+(}$value${value:+)}"
      done #| sort
   )
   create_dialog question "$list"
   exit
;;
reset)
   cd "$SETTINGS_DIR"
   case "$2" in
   '')
      create_dialog question "Återställ standardinställningarna?" || exit
      rm -f \
         dialog speed freq volume rate scale stride overlap search method accel
   ;;
   dialog|speed|freq|volume|rate|scale|stride|overlap|search|method|accel)
      rm -f "$2"
   ;;
   esac
;;
adjust)
   case "$2" in '')
      set "$1" $(
         printf "%s\n" speed freq volume rate \
            scale stride overlap search method accel voice dialog |
         create_dialog list radio "Välj inställning" speed
      )
      test $# -gt 1 && exec "$SCRIPT" "$@" || exit
   esac
   value=$(cat "$SETTINGS_DIR/$2" 2>&-)
   case "$2" in
   voice)
      case "$3" in
      '')
         voice=$(readlink "$SETTINGS_DIR"/voice)
         voice=$(
            ls "$VOICES_DIR"/[a-z][a-z][1-9]:* 2>&- |
            create_dialog list radio "Välj röst" "^${voice#../}$"
         ) && test -n "$voice" && voice="$VOICES_DIR/$voice"
      ;;
      *)
         voice=$(ls "$VOICES_DIR/$3":* 2>&-)
      ;;
      esac &&
      ln -sf "$voice" "$SETTINGS_DIR"/voice
      exit
   ;;
   dialog)
      case "$3" in
      '')
         value=$(
            which zenity Xdialog 2>&- |
            create_dialog list radio "Välj dialogrutesystem" "${value:-zenity}"
         ) && echo "$value" >"$SETTINGS_DIR/$2"
      ;;
      zenity|Xdialog)
         echo "$3" >"$SETTINGS_DIR/$2"
      ;;
      esac
      exit
   ;;
   speed) title="Uppläsningshastighet" ;;
   freq) title="Röstläge" ;;
   volume) title="Uppläsningsvolym" ;;
   rate) title="Rösttäthet" ;;
   scale|stride|overlap|search|accel) title="scaletempo: $2" ;;
   method)
      case "$3" in
      '')
         value=$(
            printf "%s\n" tempo pitch both none |
            create_dialog list radio "scaletempo: $2" "${value:-tempo}"
         ) && echo "$value" >"$SETTINGS_DIR/$2"
      ;;
      tempo|pitch|both|none)
         echo "$3" >"$SETTINGS_DIR/$2"
      ;;
      esac
      exit
   ;;
   *) exit
   ;;
   esac
   case "$3" in
   '')
      { create_dialog scale "$title" "${value:-0}" || echo "$value"; } |
      while read value
      do test -n "$value" && echo "$value" >"$SETTINGS_DIR/$2"
      done
   ;;
   *)
      echo "$3" |
      awk -vvalue="$value" '{
         value = ($1) ? value + $1 : 0
         value = (value < 100) ? value : 100
         value = (value > -100) ? value : -100
         print(value)
      }' >"$SETTINGS_DIR/$2"
   ;;
   esac
;;
install)
   URL="http://tcts.fpms.ac.be/synthesis/mbrola"
   TMP=$(mktemp)
   trap 'rm -f "$TMP"' EXIT
   wget -qO- "$URL"/mbrcopybin.html |
   sed -n '
      s|.*"\(bin/[^"]*.zip\)"[^>]*>[^<]*LINUX i386.*|\1 (0.3Mb)|p
      s|.*"\(dba/[^/]*/[^"]*\)"[^>]*>\([^:]*:\s*[^<]*\).*|\1\t\2|p
   ' >"$TMP"
   voices=$(
      cd /usr/share/espeak-data/voices/mb &&
      echo mb-[a-z][a-z][1-9] |
      sed 's/mb-//g;s/\(.\)\s\(.\)/\1|\2/g'
   )
   voices=$(
      grep -E "/($voices)/" <"$TMP" | cut -f2 |
      create_dialog list check "Välj språk" '^(sw|us|en)[[:digit:]]:' |
      sed 's/:[^|]*//g'
   )
   test -n "$voices" || exit
   rm -f "$VOICES_DIR"/[a-z][a-z][1-9]:* 2>&-
   cd "$DATA_DIR"
   grep -E "(^bin|/$voices/)" <"$TMP" |
   awk '{
      size[NR]=size[NR-1]+substr($NF,2,length($NF)-4)
      $NF=""
      voice[NR]=$0
   } END {
      for(i=1; i<=NR; i++) {
         print(100*size[i]/size[NR],voice[i])
      }
   }' |
   while read progress file voice
   do test -f "${file##*/}" ||
      wget -q "$URL/$file" 2>&1
      if test -z "$voice"
      then
         unzip -p "${file##*/}" mbrola-linux-i386 >"$DIR"/mbrola
         chmod +x "$DIR"/mbrola
      else
         unzip -p "${file##*/}" "${voice%%:*}" >"$VOICES_DIR/$voice" 2>&- ||
         unzip -p "${file##*/}" "${voice%%:*}/${voice%%:*}" \
            >"$VOICES_DIR/$voice"
      fi
      echo $progress
   done |
   create_dialog progress "Hämtar Röster..."
   bind_key() {
      eval $("$1"_info)
      gconftool-2 -a "$KEY" |
      awk '$1~/^'"$PREFIX"'[0-9]+'"$SUFFIX"'$/ && $3~/^'"$2"'$/{print($1)}' |
      while read binding
      do gconftool-2 -u "$KEY/$binding"
      done
      ID=$(
         gconftool-2 -a "$KEY" |
         sed -n "s/^\s*$PREFIX\([0-9]\+\)$SUFFIX\s*=\s*/\1\t/p" |
         sort -n |
         awk '{if($1-prev>1)exit;prev=$1}END{print(prev+1)}'
      )
      gconftool-2 \
         -s -t str "$KEY/$PREFIX${ID:-1}$SUFFIX" "$2" \
         -s -t str "$CMD/${PREFIX#run_}${ID:-1}" "$3"
   }
   for wm in metacity compiz ; do
      bind_key "$wm" "F1" "$SCRIPT stop"
      bind_key "$wm" "F2" "$SCRIPT pause"
      bind_key "$wm" "F3" "$SCRIPT start"
      bind_key "$wm" "F4" "$SCRIPT loop"
      bind_key "$wm" "F5" "$SCRIPT adjust"
      bind_key "$wm" "F6" "$SCRIPT list"
      bind_key "$wm" "F7" "$SCRIPT reset"
      bind_key "$wm" "F8" "$SCRIPT uninstall"
      bind_key "$wm" "F9" "$SCRIPT install"
      bind_key "$wm" "<Control>F1" "$SCRIPT voice"
      bind_key "$wm" "<Control>F2" "$SCRIPT speed"
      bind_key "$wm" "<Control>F3" "$SCRIPT freq"
      bind_key "$wm" "<Control>F4" "$SCRIPT rate"
      bind_key "$wm" "<Control>F5" "$SCRIPT volume"
      bind_key "$wm" "<Control>F6" "$SCRIPT accel"
      bind_key "$wm" "<Control>F7" "$SCRIPT scale"
      bind_key "$wm" "<Control>F8" "$SCRIPT stride"
      bind_key "$wm" "<Control>F9" "$SCRIPT overlap"
      bind_key "$wm" "<Control>F10" "$SCRIPT search"
      bind_key "$wm" "<Control>F11" "$SCRIPT method"
      bind_key "$wm" "<Control>F12" "$SCRIPT dialog"
   done
   create_dialog info "$APP installerad"
   exec "$SCRIPT" voice
;;
uninstall)
   create_dialog question "Avinstallera $APP?" || exit
   unbind_keys() {
      eval $("$1"_info)
      gconftool-2 -a "$CMD" |
      grep -F "$SCRIPT" |
      sed -n 's/[^0-9]*\([0-9]\+\)[^0-9]*/\1/p' |
      while read binding
      do gconftool-2 -u "$CMD/${PREFIX#run_}$binding"
         gconftool-2 -u "$KEY/$PREFIX$binding$SUFFIX"
      done
   }
   unbind_keys metacity
   unbind_keys compiz
   rm -rf "$DIR"
   create_dialog info "$APP avinstallerad"
;;
voice|dialog|speed|freq|volume|rate|scale|stride|overlap|search|method|accel)
   exec "$SCRIPT" adjust "$@"
;;
*)
   exec "$SCRIPT" start "$@"
;;
esac
Hans Linde
Inlägg: 3375
Blev medlem: 06 sep 2008, 07:46
OS: Crunchbang
Utgåva: Vet inte/ingen utgåva passar

Re: Talsyntes/Festival/Scaletempo/Ubuntu-AMD64

Inlägg av Hans Linde »

Du får en r9 med lagad stop/pause och en fulfix så att "list" inte förstör utklippet:

tack,tack ;)
Hans Linde
Inlägg: 3375
Blev medlem: 06 sep 2008, 07:46
OS: Crunchbang
Utgåva: Vet inte/ingen utgåva passar

Re: Talsyntes/Festival/Scaletempo/Ubuntu-AMD64

Inlägg av Hans Linde »

Lysande!

Då kan du ta en öl, så återkommer jag morgon. 8)
Hans Linde
Inlägg: 3375
Blev medlem: 06 sep 2008, 07:46
OS: Crunchbang
Utgåva: Vet inte/ingen utgåva passar

Re: Talsyntes/Festival/Scaletempo/Ubuntu-AMD64

Inlägg av Hans Linde »

Nej!!! stopp, kom tillbaka!

loop stannar då jag med "adjust" väljer "accel".
Jag tror att det inträffade när jag kvitterade med"ok" och att justeringslisten kom upp.

Osis. :(
Hans Linde
Inlägg: 3375
Blev medlem: 06 sep 2008, 07:46
OS: Crunchbang
Utgåva: Vet inte/ingen utgåva passar

Re: Talsyntes/Festival/Scaletempo/Ubuntu-AMD64

Inlägg av Hans Linde »

Och nu är det låst igen.

Nej så illa var det inte.

Åhh vad rörigt det blir.

Med "reset" kan jag häva låsningen.
Så då får jag också möljighet att kolla var exakt låsningen sker
och det var...hmmm.... ja var vardet..jo när jag släpper justeringen på listen.
Det gäller för alla val från "scale" och ner. Inget "method" o "voice".
Så det har med "listen" att göra.
Användarvisningsbild
Konservburk
Inlägg: 5919
Blev medlem: 07 apr 2007, 22:28

Re: Talsyntes/Festival/Scaletempo/Ubuntu-AMD64

Inlägg av Konservburk »

Hans Linde skrev:Med "reset" kan jag häva låsningen.
Så då får jag också möljighet att kolla var exakt låsningen sker
och det var...hmmm.... ja var vardet..jo när jag släpper justeringen på listen.
Det gäller för alla val från "scale" och ner. Inget "method" o "voice".
Så det har med "listen" att göra.
Det är när du släpper listen som den ska uppdatera värdet. Det är väl där någonting inte riktigt stämmer.... hur är det, fungerar det ibland? Eller låser det sig alltid?
Hans Linde
Inlägg: 3375
Blev medlem: 06 sep 2008, 07:46
OS: Crunchbang
Utgåva: Vet inte/ingen utgåva passar

Re: Talsyntes/Festival/Scaletempo/Ubuntu-AMD64

Inlägg av Hans Linde »

det låser sig alltid, när reglaget på listen släpps.
Användarvisningsbild
Konservburk
Inlägg: 5919
Blev medlem: 07 apr 2007, 22:28

Re: Talsyntes/Festival/Scaletempo/Ubuntu-AMD64

Inlägg av Konservburk »

Hans Linde skrev:det låser sig alltid, när reglaget på listen släpps.
Jag kan inte komma på varför... för mig fungerar det. Du kan börja med att försöka byta ut första raden från "#!/bin/sh" till "#!/bin/bash", men jag tvivlar på att det hjälper :-\
Hans Linde
Inlägg: 3375
Blev medlem: 06 sep 2008, 07:46
OS: Crunchbang
Utgåva: Vet inte/ingen utgåva passar

Re: Talsyntes/Festival/Scaletempo/Ubuntu-AMD64

Inlägg av Hans Linde »

eller uninstall:
Spelar det någon roll om kommandot är
~/bin/talsyntes.sh
eller
~/bin/talsyntes.sh install
??
Hans Linde
Inlägg: 3375
Blev medlem: 06 sep 2008, 07:46
OS: Crunchbang
Utgåva: Vet inte/ingen utgåva passar

Re: Talsyntes/Festival/Scaletempo/Ubuntu-AMD64

Inlägg av Hans Linde »

Nej, låsningen inträffar iaf.

Installation gjordes med:
~/bin/talsyntes.sh install
Hans Linde
Inlägg: 3375
Blev medlem: 06 sep 2008, 07:46
OS: Crunchbang
Utgåva: Vet inte/ingen utgåva passar

Re: Talsyntes/Festival/Scaletempo/Ubuntu-AMD64

Inlägg av Hans Linde »

Vill du ha något mera "snabb-test" gjord, annars tar jag kväll?
Användarvisningsbild
Konservburk
Inlägg: 5919
Blev medlem: 07 apr 2007, 22:28

Re: Talsyntes/Festival/Scaletempo/Ubuntu-AMD64

Inlägg av Konservburk »

Hans Linde skrev:Spelar det någon roll om kommandot är
~/bin/talsyntes.sh
eller
~/bin/talsyntes.sh install
??
~/bin/talsyntes.sh kör ~/bin/talsyntes.sh start ifall den hittar någon röst som funkar, annars kör den ~/bin/talsyntes.sh install istället. Om du redan har en fungerande röst, men vill installera fler, eller vill att tangentbindningarna ska uppdateras, då är det ~/bin/talsyntes.sh install som gäller.
Användarvisningsbild
Konservburk
Inlägg: 5919
Blev medlem: 07 apr 2007, 22:28

Re: Talsyntes/Festival/Scaletempo/Ubuntu-AMD64

Inlägg av Konservburk »

Hans Linde skrev:Nej, låsningen inträffar iaf.
Eftersom vi vet var det låser sig så kan vi testa den delen av koden löst. Då kan jag förhoppningsvis förstå hur den bör modifieras för att undvika låsning.

Test1:

Kod: Markera allt

zenity --scale --print-partial
Test2:

Kod: Markera allt

zenity --scale --print-partial | while read i; do echo $i; done
Test3:

Kod: Markera allt

{ zenity --scale --print-partial || echo nej;  } | while read i; do echo $i; done
Användarvisningsbild
Konservburk
Inlägg: 5919
Blev medlem: 07 apr 2007, 22:28

Re: Talsyntes/Festival/Scaletempo/Ubuntu-AMD64

Inlägg av Konservburk »

Bara som en förvarning så att du inte tror att tråden helt plötsligt har försvunnit... som vän av ordning funderar jag på om det inte är bäst att slå ihop båda talsyntes-trådarna och flytta alltihop till experimentverkstad.
Hans Linde
Inlägg: 3375
Blev medlem: 06 sep 2008, 07:46
OS: Crunchbang
Utgåva: Vet inte/ingen utgåva passar

Re: Talsyntes/Festival/Scaletempo/Ubuntu-AMD64

Inlägg av Hans Linde »

Bara som en förvarning så att du inte tror att tråden helt plötsligt har försvunnit... som vän av ordning funderar jag på om det inte är bäst att slå ihop båda talsyntes-trådarna och flytta alltihop till experimentverkstad.

Det låter som en bra idee.
Annars kanske alla nybörjarna börja med sådan här djupdykningar. ;D
Hans Linde
Inlägg: 3375
Blev medlem: 06 sep 2008, 07:46
OS: Crunchbang
Utgåva: Vet inte/ingen utgåva passar

Re: Talsyntes/Festival/Scaletempo/Ubuntu-AMD64

Inlägg av Hans Linde »

Det funkar väl som du tänkt...?

hans@hans-ubuntu:~$ zenity --scale --print-partial
55
55
hans@hans-ubuntu:~$
hans@hans-ubuntu:~$ zenity --scale --print-partial | while read i; do echo $i; done
34
34
hans@hans-ubuntu:~$
hans@hans-ubuntu:~$ { zenity --scale --print-partial || echo nej; } | while read i; do echo $i; done
77
77
hans@hans-ubuntu:~$
hans@hans-ubuntu:~$
Användarvisningsbild
Konservburk
Inlägg: 5919
Blev medlem: 07 apr 2007, 22:28

Re: Talsyntes/Festival/Scaletempo/Ubuntu-AMD64

Inlägg av Konservburk »

Hans Linde skrev:Det funkar väl som du tänkt...?
Det verkar så. Prova även att trycka på cancel-knappen (eller stäng fönstret med krysset).
Skriv svar

Återgå till "Experimentverkstad"