text-to-speech-converter
Summary
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.
Deployed version here. Feel free to add your own things to convert to audio, download files, and delete files.
Technologies Used
Architecture Diagram
Directions To Run
- 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. Should be something like:
http://{your stack name}-frontend.s3-website-{your region}.amazonaws.com/
Backend API Endpoints
GET /voices
Populates the voices dropdown list
GET /file
Gets all files and fills the table with existing text to speech conversations
DELETE /file/{id}
Deletes a file
POST /file
Creates a new text to speech conversion
Running the Frontend Locally against a Deployed Backend
- Deploy the app
cd src/frontend
&&npm install
- create a new file under
src/frontend/src
and name itconfig.js
. Find you api URL...should look something likehttps://6wpbpyxfgf.execute-api.us-east-1.amazonaws.com
. Add the following to the file
export default {
backendAPI: '[ your backend api url here ]'
};
npm start
Known Limitations For Larger Requests
- Lambda has limits for the
/tmp
directory storage. It's possible to mount EFS to Lambda, but that seems a bit over complicated and more $$$ than I'd like to spend a pet project. - 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 $$$.
Outstanding TODO Items / Open Bugs
See open issues
Logging 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.
Pull Request Process
- Fork the respository
- Make any changes you'd like
- Open a new PR against
master
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 ]
Finding Help
Please send a direct message to @deeheber on Twitter if any of your questions have not been addressed by the documentation in this repository.