[Ubuntu-BR] Um shellscript para a criação de audiolivros

Fabiano Barros barrosfabiano em gmail.com
Sexta Agosto 5 12:28:56 UTC 2011


que parametro voce esta passando na hora de executar o script?




2011/8/5 Luciano de Souza <luchyanus em gmail.com>

> Se faço echo $file, são listados  corretamente todos os arquivos existentes
> no diretório.
>
> Mas se faço echo "$file.mp3", então, obtenho "/tmp/audioshelf/*.mp3". Este
> é um resultado estranho porque, em lugar de *, esperava encontrar o nome do
> arquivo. E se a cada iteração o lame encontra * em lugar do arquivo, não se
> admira que nada tenha conseguido converter.
>
> então, se faço: "open" ou "create", as funções são processadas normalmente.
> Se faço "converte", obtenho um erro na linha do lame porque a cada iteração
> ele parece não processar adequadamente. E quando faço "close", ele novamente
> não me permite apagar os arquivos do diretório  e, como resultado, quando se
> deseja apagar o próprio diretório, ele ainda está cheio.
>
> Em suma, parece que o problema encontra-se na concatenação de $tmp_shelf
> com "/*".
>
> Eis o script com a função close:
>
>
> #!/bin/bash
>
> #Audioshelf
>
> speed=260
> amplitude=140
> voice="pt-br"
> split=20
> quality=128
> tmp_shelf="/tmp/audioshelf"
>
> open()
> {
> mkdir $tmp_shelf
> }
>
> create()
> {
> echo "Criando $1"
>
> espeak -f "./$1" -w "$tmp_shelf/$1" -v $voice -s $speed -a $amplitude
> --split=$split
> }
>
> convert()
> {
> for track in "$tmp_shelf/*"
> do
> echo "$track.mp3"
> # lame -b 128 $track "$track.mp3"
> done
>
> }
>
> close()
> {
> rm "$tmp_shelf/*"
> rmdir $tmp_shelf
> }
>
>
>
> Em 04-08-2011 23:06, Fabiano Barros escreveu:
>
>> tente mudar como abaixo pra vc ver a saida da variavel file.
>>
>>
>> convert()
>> {
>> for file in "$tmp_shelf/*"
>> do
>>          echo $file
>> done
>>
>> }
>>
>>
>>
>>
>>
>>
>> 2011/8/4 Luciano de Souza<luchyanus em gmail.com>
>>
>>  Caros,
>>>
>>> Desejo converter um arquivo de texto em audiolivro. Para tanto criei um
>>> shellscript, mas ele dá erro na linha: for file in "$tmp_shelf/*"
>>>
>>> #!/bin/bash
>>>
>>> #Audioshelf
>>>
>>> speed=260
>>> amplitude=140
>>> voice="pt-br"
>>> split=20
>>> quality=128
>>> tmp_shelf="/tmp/audioshelf"
>>>
>>> open()
>>> {
>>> mkdir $tmp_shelf
>>> }
>>>
>>> create()
>>> {
>>> espeak -f "./$1" -w "$tmp_shelf/$1" -v $voice -s $speed -a $amplitude
>>> --split=$split
>>> }
>>>
>>> convert()
>>> {
>>> for file in "$tmp_shelf/*"
>>> do
>>> lame "$file" "$file.mp3" -b $quality
>>> done
>>>
>>> }
>>>
>>> convert
>>>
>>> O que poderia estar errado. Não tenho dúvidas quanto à sintaxe de espeak
>>> e
>>> de lame e, de qualquer modo, o Bash diz que o erro encontra-se na linha
>>> que
>>> mencionei.
>>>
>>> Luciano
>>>
>>> --
>>> Mais sobre o Ubuntu em português: http://www.ubuntu-br.org/****comece<http://www.ubuntu-br.org/**comece>
>>> <http://www.ubuntu-br.**org/comece <http://www.ubuntu-br.org/comece>>
>>>
>>>
>>> Lista de discussão Ubuntu Brasil
>>> Histórico, descadastramento e outras opções:
>>> https://lists.ubuntu.com/****mailman/listinfo/ubuntu-br<https://lists.ubuntu.com/**mailman/listinfo/ubuntu-br>
>>> <htt**ps://lists.ubuntu.com/mailman/**listinfo/ubuntu-br<https://lists.ubuntu.com/mailman/listinfo/ubuntu-br>
>>> >
>>>
>>>
>>
>>
>
> --
> Mais sobre o Ubuntu em português: http://www.ubuntu-br.org/**comece<http://www.ubuntu-br.org/comece>
>
> Lista de discussão Ubuntu Brasil
> Histórico, descadastramento e outras opções:
> https://lists.ubuntu.com/**mailman/listinfo/ubuntu-br<https://lists.ubuntu.com/mailman/listinfo/ubuntu-br>
>



-- 
Fabiano Barros
Cel.: 55 15 9715-8004
barrosfabiano em gmail.com



More information about the ubuntu-br mailing list