aws-transcribe-demo
aws-transcribe-demo copied to clipboard
A simple AWS demo utilises Amazon Transcribe to convert audio to text and analyse.
AWS Transcribe demo
A simple AWS demo utilizes Amazon Transcribe to convert audio to text and do analyze. Demo site
Please consider to sponsor this project for the AWS expenses.

Deploy to your own AWS
- Setup AWS CLI and credential configuration (
aws configure). - Run
yarnto install all dependencies. - Run
yarn buildto build both front end and back end. - Run
yarn bootstrapto initialize AWS CDK deployment. - Run
yarn deployto do the actual deployment.
If the deployment is successful, the cloudfront URL will be displayed in the output like:
Outputs:
AwsTranscribeDemoStack.CloudFrontURL = xxx.cloudfront.net
CI/CD with Github Actions
- Sign up Github Actions as a beta user.
- Save your AWS credential and region in Github repo's secret (
[YOUR_REPO_URL]/settings/secrets)AWS_DEFAULT_REGION: region nameAWS_ACCESS_KEY_IDandAWS_SECRET_ACCESS_KEY
- Every push will trigger a build/deploy to AWS, check your repo's "Actions" tab for details.
Behind the scenes

- Static website built by React and hosted on S3.
- Upload audio file via website (click upload button):
- Call
GetTokenLambda function via API gateway to get pre-signed URL for Audio File bucket. - Use S3 JS SDK to upload audio file directly to S3 with the pre-signed URL returned above.
- Newly uploaded audio file will trigger
NewAudioLambda function which will:- Create a record in DynamoDB
- Publish the record ID to
NewAudioTopic in SNS - SNS will trigger
TranscribeAudioLambda function to submit audio transcription job via Amazon Transcribe service API
- Newly uploaded audio file will trigger
- Call
- Check audio transcription status via website (click search button):
- Call
GetAudiosLambda function via API gateway to get transcription status- After getting record ID from DB, check the corresponding transcription job via Amazon Transcribe service API.
- If the job is ready, update the result URL to DB and return it to frontend.
- If the job is still processing, do nothing.
- Call