[arm-allstar] developing voice packs for ASL/HamVoIP

Danny K5CG k5cg at hamoperator.org
Wed Oct 23 17:11:57 EDT 2019


If we're not concerned about disk space whynot use wav files. They play just fine and are easier to manipulate with tools like sox.

Danny
K5CG

----- Original Message -----
From: "ARM Allstar" <arm-allstar at hamvoip.org>
To: "ARM Allstar" <arm-allstar at hamvoip.org>
Cc: "Patrick Perdue" <borrisinabox at gmail.com>
Sent: Wednesday, October 23, 2019 2:44:45 PM
Subject: Re: [arm-allstar] developing voice packs for ASL/HamVoIP

I thought about just time compressing and/or chopping the existing pack 
a bit, but most of it is GSM, so no good way to do that losslessly. Yes, 
it's raw data, so you could literally just truncate the ends, but... 
nah, not worth it.


On 10/23/2019 3:18 PM, "Mike Sullivan via ARM-allstar" wrote:
> I’m personally not a fan of the default pack either. I think if the dead
> space on each end was cut out it would make a drastic difference. I’m all
> for testing out different packs.
>
> Mike
>
> On Wed, Oct 23, 2019 at 11:34 "Patrick Perdue via ARM-allstar" <
> arm-allstar at hamvoip.org> wrote:
>
>> Hi all:
>>
>>
>> I'm a new allstar/hamvoip user, but I am not new to Asterisk itself.
>>
>> I just put a node together a couple of days ago using a Raspberry Pi 3,
>> URI-X, and a Motorola Radius SM50 VHF radio.
>>
>> I managed a few Asterisk PBXs several years ago, and one of the first
>> things I did on a new install was replace the Allison Smith voice
>> prompts. I just don't like them. They're too slow and emphasized.
>>
>> So, I came up with the idea  of lazy building voice packs using TTS
>> engines on Mac OS, since this can be scripted  using the "say" command.
>>
>> Thus, I wrote a bash script that creates an empty directory tree with
>> rpt, wx, letters, phonetic, and digits, using a variable for a base
>> directory.
>>
>> The script then reads a | (vertical bar) delimited text file with a list
>> of prompts and filenames in a while loop, using the number of lines in
>> the text file as the number of times to run the loop.
>>
>> The text format looks like this:
>>
>> This is a prompt to be spoken.|/rpt/something-to-say|
>>
>> It's too hot in here.|/wx/not-cold-enough|
>>
>> Column 1 is the prompt, and column 2 is the path minus the base
>> directory, or file extension.
>>
>> These columns are then passed as arguments to "say" in the appropriate
>> places, with output to $BASEDIR/$IO2, where $IO2 is the rest of the path
>> as specified by column 2 of the current line read from the text file.
>>
>> As say only outputs in aiff or m4a, I call SoX to convert *.aiff
>> recursively to 8 khz ulaw, trimming silence at the ends of files
>> generated by the TTS engine, dropping the volume to 70%, with high pass
>> at 300hz and low pass at 3600hz.
>>
>> This all works great. I have some additional voices plus the ones that
>> come with Mac OS, and, since I'm using bash, it would be easy enough to
>> adapt this for use with command line TTS options in Linux, but, let's
>> face it, there really aren't many good ones there, unless you like
>> eSpeak or Festival.
>>
>> The most tedious part is writing out a list of all the possible things
>> that ASL/hamvoip will say. There are a ton of files from the original
>> pack that I'm sure will never be used (business development comes to mind.)
>>
>> So, my questions are thus:
>>
>> 1. Is there a definitive list somewhere of only the files specifically
>> used by rpt and scripts from hamvoip? If I don't have to write out every
>> single prompt from the original sound pack just to make sure nothing
>> breaks, that would be great, and save a lot of space as well. It would
>> still be faster than recording them all myself in my project studio, I
>> guess...
>>
>> 2. I am using ulaw rather than GSM, because I don't really care about
>> disk space, and it sounds sooooooo much better than GSM, even over the
>> radio. Of course, this means that any of the hard-coded scripts in
>> /usr/local/sbin should be wholesale find/replaced ulaw=gsm. While I'm
>> fine doing this for my own use, I assume this will break pretty hard
>> when there are updates. I want to generate a few packs with different
>> voices, and make them generally available for anyone who, like me, wants
>> an Allison replacement. For ease-of-use, should I just go against
>> everything I hold dear as an audio engineer, and generate GSM files, or
>> should I also offer ulaw with the warning that more work is required to
>> implement them?
>>
>> 3. Would there be any interest in voice packs by anyone on this list
>> besides me? My biggest reason, other than I just don't like Allison's
>> voice, for creating these in the first place, is that the original pack
>> is just so slow. I've cut the time by more than half with a test pack
>> using acapella Wil, without really losing anything. I think I'll slow it
>> down a little more, but the difference is amazing. It cuts back on TX
>> time, especially good with simplex nodes, gets the info across more
>> concisely, etc.
>>
>>
>> 73
>>
>> de
>>
>> KE4DYI
>>
>> Node 50368
>>
>> _______________________________________________
>>
>> ARM-allstar mailing list
>> ARM-allstar at hamvoip.org
>> http://lists.hamvoip.org/cgi-bin/mailman/listinfo/arm-allstar
>>
>> Visit the BBB and RPi2/3 web page - http://hamvoip.org
> _______________________________________________
>
> ARM-allstar mailing list
> ARM-allstar at hamvoip.org
> http://lists.hamvoip.org/cgi-bin/mailman/listinfo/arm-allstar
>
> Visit the BBB and RPi2/3 web page - http://hamvoip.org
_______________________________________________

ARM-allstar mailing list
ARM-allstar at hamvoip.org
http://lists.hamvoip.org/cgi-bin/mailman/listinfo/arm-allstar

Visit the BBB and RPi2/3 web page - http://hamvoip.org


More information about the ARM-allstar mailing list