Como fazer o código da lista de exercícios funcionar no MS-Windows?

Como fazer o código da lista de exercícios funcionar no MS-Windows?

por Diego Silva -
Número de respostas: 4

Olá,

aparentemente, consegui instalar o Octave e o SoX. Quando fui rodar o código, até apareceram os gráficos das senóides mas nada de som... Tem a ver com aquele #Mudar esta linha no MS-Windows? Alguém conseguiu fazer o código funcionar devidamente?

 

 

Diego

Em resposta à Diego Silva

Re: Como fazer o código da lista de exercícios funcionar no MS-Windows?

por Marcelo Queiroz -

Olá, Diego!

Aquele comentário sobre mudar a linha no MS-Windows tem a ver com o comando rm para apagar o arquivo temp.wav. No Windows deve ser "del temp.wav" ou algo assim.

Se o som não está saindo no Octave é porque o Windows não está achando o comando play, que é parte do sox, e pode ser um problema de PATH. Tente abrir uma janela do prompt de comando do DOS e digite o comando play. Provavelmente a mensagem será "Comando não encontrado". Digite "sox" e veja se a mensagem é a mesma. Se for, tem que mudar o PATH, ou talvez mover os executáveis do sox (sox, play, rec) para uma pasta que esteja no PATH.

Se o comando sox produzir alguma outra saída, então pode ser que na sua distribuição o comando "play" não veio junto. Você pode tentar pegar um arquivo .wav qualquer e ver se o comando

sox arquivo.wav -d

funciona (isso é equivalente a "play arquivo.wav" e deve tocar o arquivo). Se isso der certo, mude a linha do código Octave de

play -r %d temp.wav

para

sox -r %d temp.wav -d

Talvez isso resolva.

Marcelo

Em resposta à Marcelo Queiroz

Re: Como fazer o código da lista de exercícios funcionar no MS-Windows?

por Daniel Cukier -

Eu estou tendo um problema inverso no Mac: o som toca, mas não plota o gráfico.

Em resposta à Daniel Cukier

Re: Como fazer o código da lista de exercícios funcionar no MS-Windows?

por Marcelo Queiroz -

Daniel,

você verificou que o gnuplot está acessível (no PATH)? Isso é o requisito número 1. Se estiver, tente executar plot(1:10); no octave...

Você não tem mais detalhes do problema pra dar?

Marcelo