Usando spd-say em uma função de script bash

1

Tenho certeza de que isso é bastante elementar, mas não consigo entender.

Meu script:

#!/bin/bash
sez ()
{
  echo $1
  spd-say "$1"
}
sez "does this work"
sez "this does work"

O que estou tentando fazer é usar o spd-say em uma função para fazer o computador falar comigo.

A parte de eco da minha função funciona. Ele produz as duas linhas de texto que eu forneço a ele na ordem esperada. No entanto, a parte do spd-say não. Apenas diz a última linha. Estou assumindo que é porque o segundo comando é "sobrescrever" a saída do primeiro porque ele está tentando executá-los em paralelo com a mesma saída. Eu tentei adicionar; wait, & & amp ;, e várias outras coisas ao final do comando sez, na próxima linha depois, dentro da função no comando spd-say, etc, mas tudo o que estou tentando é isn ajudando.

O que estou fazendo de errado?

    
por lightwing 09.10.2016 / 17:06

1 resposta

1

Eu tive um problema semelhante e encontrei uma solução alternativa. Em vez de usar spd-say eu usei o espeak diretamente.

    
por 04.12.2016 / 11:00