This is an application that takes in text and outputs an audio file of that text. Written with US-English in mind, so it might not convert as expected for other languages.
My deployed version here. Feel free to add your own things to convert to audio, download files, and delete files.
- Clone this repo (note: this script is designed to work with public Github repos, it might possibly also work with public Bitbucket and public Gitlab repos, but it hasn't been tested)
- Deploy the stack via the AWS SAM CLI. Getting started directions here. TL;DR run
sam build
andsam deploy --guided
. - Navigate to the url for your frontend. It'll be in the CloudFormation stack Outputs...should be something like:
http://{your stack name}-frontend.s3-website-{your region}.amazonaws.com/
Populates the voices dropdown list
Gets all files and fills the table with existing text to speech conversations
Deletes a file
Creates a new text to speech conversion
- Deploy the app
cd src/frontend
&&npm install
- create a new file under
src/frontend/src
and name itconfig.js
. Find you ApiURL from the CloudFormation stack Outputs...should look something likehttps://6wpbpyxfgf.execute-api.us-east-1.amazonaws.com
. Add the following to the file
const apiRef = {
backendAPI: 'Add your backend API URL here'
};
export default apiRef;
npm start
- Lambda has limits for the
/tmp
directory storage. Currently the template is set to the default value which is 512mb. For an extra cost, you can up this value by adding the EphemeralStorage property with the storage value that you want to theCreateNewFile
function. - Pagination is not in place for
ListFiles
, but you probably don't want to scan a very very large dynamoDB table and return all the results anyway bc it can get very $$$.
See open issues
If you find a bug or have a question, feel free to open a new issue and our maintainers will reply as soon as they possibly can. Please describe the issue including steps to reproduce if there are any.
- Fork the respository
- Make any changes you'd like
- Open a new PR against
main
with a description of the proposed changes as well as any other information you find relevant. - If your PR fixes an open issue be sure to write
fixes #[ issue number here ]
Please send a direct message to @deeheber on Twitter if any of your questions have not been addressed by the documentation in this repository.