#!/usr/bin/perl -w
#
# Submit text to the scansoft realspeak demo
# web form and save the resultant wave file.
#
# Copyright (c) 2005, Jeffrey Bird
# Email: jeff@jbird.org
#

use strict;
use warnings;

use LWP::UserAgent;

my $file = shift @ARGV || '-';
my $text = shift @ARGV;

my $language = 'Australian English';
my $voice = 'Lee';

if(length $text > 100)
{
    die "Text is too long. Must be less than 100 characters.\n";
}

my $ua = LWP::UserAgent->new;
push @{ $ua->requests_redirectable }, 'POST';

my $response = $ua->post('http://212.8.184.250/realspeak/speak.asp',
    [
        Voice => $voice,
        Step => 'Language',
        submit => 'Next >>',
        Language => $language,
        Frequency => 8,
        UserText => $text,
    ],
    [
        'Referer' => 'http://www.scansoft.com/speechworks/realspeak/demo/default.asp'
    ]
    );

if($response->is_success)
{
    if($file eq '-')
    {
        print $response->content;
    }
    else
    {
        open(OF,">$file");

        print OF $response->content;

        close(OF);
    }
}
else
{
    die $response->status_line;
}
