This is a FreePBX TTS Engine for AWS Polly. It is based on the FreePBX TTS Engine from The Web Machine. I updated the code to work with the aws sdk v3 (as v2 is no longer supported), packaged it with a 'new' version of nodejs (16) and added some new features.
See the step-by-step guide in the wiki.
- AWS Polly TTS Engine
- Multi Language Support
- Multi Voice Support
- Prefix and Suffix Support
For beginners: see the step-by-step guide in the wiki.
Login to your FreePBX Server and run the following command:
curl -s https://raw.githubusercontent.com/scolastico/freepbx-aws-polly/main/install.sh | bash
After the installation you can configure the
/opt/scolastico/freepbx-aws-polly/config.json
file.
See the defaultConfig.json
for reference.
You can find the available voices here.
You should create a IAM user with the following permissions:
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "Stmt1234567890",
"Effect": "Allow",
"Action": [
"polly:SynthesizeSpeech"
],
"Resource": [
"*"
]
}
]
}
After the installation you can configure the TTS Engine in the FreePBX GUI.
Settings -> Text to Speech Engines -> Add TTS Engine
Engine name: polly
Engine path: /opt/scolastico/freepbx-aws-polly/bin
If you want to use a different voice or language you can use a !<presets as csv>
before your text. You can chain multiple presets which will overwrite already set
variables For example:
!en Hello World!
or
!de,2-seconds-silence Hello World!
If something does not seem to work, check the log files:
tail -f /opt/scolastico/freepbx-aws-polly/logs/combined.log
If this does not help, you are always welcome to open an issue.
Just run the installation again.
You need to install the following packages:
sudo apt install nodejs npm lame
Then install the dependencies:
pnpm install
This project is licensed under the Apache License 2.0.
Apache-2.0 A permissive license whose main conditions require preservation of copyright and license notices. Contributors provide an express grant of patent rights. Licensed works, modifications, and larger works may be distributed under different terms and without source code.
Permissions | Conditions | Limitations |
---|---|---|
🟢 Commercial useThe licensed material and derivatives may be used for commercial purposes. |
🔵 License and copyright noticeA copy of the license and copyright notice must be included with the licensed material. |
🔴 LiabilityThis license includes a limitation of liability. |
🟢 DistributionThe licensed material may be distributed. |
🔵 State changesChanges made to the licensed material must be documented. |
🔴 Trademark useThis license explicitly states that it does NOT grant trademark rights, even though licenses without such a statement probably do not grant any implicit trademark rights. |
🟢 ModificationThe licensed material may be modified. |
🔴 WarrantyThis license explicitly states that it does NOT provide any warranty. |
|
🟢 Patent useThis license provides an express grant of patent rights from contributors. |
||
🟢 Private useThe licensed material may be used and modified in private. |
Information provided by https://choosealicense.com/licenses/apache-2.0/
Read more here.