Я изучаю настройку интерпретатора текста в речь, чтобы наши возможности CAPTCHA соответствовали требованиям ADA. Мы магазин ColdFusion, и Рэй Камден уже доказал концепцию в этом году. Я использовал свой блог здесь - http://www.coldfusionjedi.com/index.cfm/2009/5/29/Generating-Speech-with-ColdFusion-and-Java - в качестве ресурса.FreeTTS, висящий в ColdFusion 8/Java
Все, что работает отлично ... кроме той части, где предполагается работать FreeTTS. У меня есть следующий код:
<cfset jardir = expandPath("freetts-1.2.2-bin/freetts-1.2/lib") />
<cfset jars = [] />
<cfdirectory name="jarList" directory="#jardir#" />
<cfloop query="jarList">
<cfset ArrayAppend(jars, jardir & "/" & name) />
</cfloop>
<cfset loader = createObject("component", "javaloader.JavaLoader").init(jars) />
<cfset voiceManager = loader.create("com.sun.speech.freetts.VoiceManager") />
<cfset vm = voiceManager.getInstance() />
<cfset voice = vm.getVoice("kevin16") />
<cfset voice.allocate() />
<!--- <cfset voice.speak("Hi.") /> --->
<cfset voice.deallocate() />
Как это, она работает хорошо, и я могу cfdump голосовой объект после DEALLOCATE (или даже после выделения). Итак, из этого вы знаете, что зависимости находятся в правильном месте, а ColdFusion создает все правильно. Но как только я раскомментирую вызов для вызова(), тестовый скрипт будет висеть на этом методе.
Знаки указывают на то, что проблема с конфигурацией сервера является виновником здесь, но для жизни меня я не могу придумать, что бы это было. (Мы используем ColdFusion 8.01 by by.) Если кто-то может дать некоторое дополнительное представление о том, почему FreeTTS будет плохо себя вести, я бы очень благодарен.
Обновление: Это, по-видимому, более общая проблема Java. Журнал Jrun ColdFusion в показывает следующее сообщение об ошибке бросает, как сервер начинает зависать:
Exception in thread "Thread-667" java.lang.IllegalArgumentException: No line matching interface SourceDataLine supporting format PCM_SIGNED 8000.0 Hz, 16 bit, mono, 2 bytes/frame, big-endian is supported.
Далее, если я пытаюсь запустить FreeTTSHelloWorld.jar из коробки из командной строки (java -jar bin/FreeTTSHelloWorld.jar
), Java будет висеть и нам придется принудительно выйти с помощью^C.
http://www.google.com/recaptcha не работает для вас? – Henry
Является ли FreeTTs какой-либо ошибкой в cfserver.log (или везде, где stdout регистрируется при вашей установке)? –
@Edward M Смит - отрицательный. Ни один из обновленных журналов не содержит никакой обратной связи. –