[fpc-pascal] TProcess with festival
Seth Grover
sethdgrover at gmail.com
Fri May 15 20:48:51 CEST 2009
Maybe I'm just dumb, but I cannot figure out why this isn't working.
I wanted to write a simple program which uses TProcess to send input
to festival (the text-to-speech engine). On the command line I can do
something simple like this:
echo hello | /usr/bin/festival --tts --pipe
and festival will say "hello". Pretty easy...
So why won't this work?
program talkie;
{$mode objfpc}{$H+}
uses
Classes, SysUtils, Process;
var
festival : TProcess;
line : string;
begin
try
festival := TProcess.Create(nil);
try
festival.Options := [poUsePipes, poStderrToOutput, poNoConsole,
poDefaultErrorMode];
festival.CommandLine := '/usr/bin/festival --pipe --tts';
line := 'hello'
festival.Execute;
festival.Input.WriteBuffer(line[1], length(line));
finally
festival.Terminate(0);
FreeAndNil(festival);
end;
except
on E : Exception do begin
writeln('Exception: ' + E.Message);
end;
end;
end.
I've googled TProcess for about 2 hours and I'm not seeing what I'm
missing. Can someone smarter than me please illuminate me?
Thanks,
Seth
--
This email is fiction. Any resemblance to actual events
or persons living or dead is purely coincidental.
Seth Grover
sethdgrover[at]gmail[dot]com
More information about the fpc-pascal
mailing list