2014-10-25 8 views
0

Я пытаюсь настроить сервер преобразования текста в речь на моем Mac (Mavericks) с помощью PHP и Python. Когда я выполняю скрипт Python через терминал, он отлично работает. Однако, когда я выполняю его через свой браузер через PHP, создается звуковой файл TTS, но LAME не может преобразовать файл.Настройка сервера TTS на Mac с помощью PHP и Python

Это то, что я в моем сценарии Python:

from os import system 
import sys 
word=sys.argv[1].strip() 
system('say -v Allison -o audio/'+word+'.aiff '+word) 
system('lame audio/'+word+'.aiff audio/'+word+'.mp3') 

И это мой PHP:

<html> 
<?php 
error_reporting(E_ALL); 
if (isset($_GET['word'])){$word=$_GET['word'];} 
else {$word="test";} 
echo $word; 
exec('python tts.py '.$word); 
echo "<audio controls><source src='audio/".$word.".mp3'></audio>"; 
?> 
</html> 

Любые предложения о том, что могло бы идти неправильно было бы очень признателен.

ответ

0

Итак, я понял, что проблема заключалась в том, что, хотя файл exec `say 'находился в usr/bin, lame был в usr/bin/local. Следующий скрипт PHP работал после переезда lame в usr/bin, и я смог полностью удалить Python:

<html> 
<?php 
error_reporting(E_ALL); 
if (isset($_GET['word'])){$word=$_GET['word'];} 
else {$word="test";} 
echo $word; 
//exec('python tts.py '.$word); 
exec('say -v Allison -o audio/'.$word.'.aiff '.$word); 
exec('lame audio/'.$word.'.aiff audio/'.$word.'.mp3'); 
echo "<audio controls><source src='audio/".$word.".mp3'></audio>"; 
?> 
</html>