Skip to content

A podcast transcription service built on Azure that transcribes any new episode of your podcast and displays synchronized transcripts alongside your audio making your podcast more accessible.

License

GuruCharan94/az-podcast-transcriber

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

69 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Az Podcast Transcriber

A podcast transcription service built on Azure that transcribes any new episode of your podcast and displays synchronized transcripts alongside your audio making your podcast more accessible. Read this blog post to learn more.

Overview

Contributing

Please read the contribution guidlines for details on submitting pull requests.

Code of Conduct

Please read our Code of Conduct as well.

License

This project is licensed under the MIT License - see the LICENSE.md file for details

Getting Started

These instructions will get you a copy of the project up and running on your local machine for development and testing purposes and also deploying this on Azure.

Prerequisites

  • Familiarize yourself with Azure Batch Transcription Concepts
  • You will need an active Azure Subscription.
  • Ensure you have dotnet core 2.2 or higher version on your machine.
  • You will need Visual Studio 2017 or higher with the dotnet core and Azure workloads.
  • Use Azure Shell that has the Azure CLI and Powershell tools installed.

Deploying Azure Infrastructure

  • Login in to Azure Shell and clone the repo.

  • Run the below commands to deploy required infrastructure on Azure.

    cd src/AzPodcastTranscriber.Infra
    ./deploy.ps1 - SubscriptionName "<Sub Name>" - ResourceGroupName "<RG Name>"

Deploy Code to Azure

  • Clone the repository on your machine.
  • Restore Nuget Packages and Build the solution.
  • Right click --> Publish the Functions.
  • Right click --> Publish the Web Project to Azure Web App.

Running the Azure Functions locally

  • Run the below commands to ignore changes to prevent accidentally committing your config secrets. Read more about the command here.

    git update-index --skip-worktree ./src/AzPodcastTranscriber.Functions/local.settings.json
    git update-index --skip-worktree ./src/AzPodcastTranscriber.Web/appsettings.json
  • Copy Relevant settings to local.settings.json file from Azure.

  • Set the Azure Functions as startup project and run it locally by pressing F5. Make a HTTP Post request to OnRSSFeedUpdated function with payload structure as below running on http://localhost:port/api/OnRSSFeedUpdated

    {
      "title": "Your favourite podcast episode",
      "primaryLink": "https://www.my-epidosde-link.mp3",
      "publishDate": "2019-05-30T00:00:00"
    }
  • You can check if the audio file is uploaded to storage account.

  • Testing the transcription webhook is tricky because the localhost URL is not publicly accessible.

  • Once a transcription is completed, make a request to the OnTranscriptionCompleted function running locally on http://localhost:port/api/OnTranscriptionCompleted. with below payload.

    {
          "id": "GUID-That-you-can-get-from-transcription-api",
    }

Running the Web App locally

  • Update relevant Cosmos DB Details in the appsettings.json file of the Web Project.
  • Set the AzPodcastTranscriber.Web project as startup project and run it. You will be able to see completed transcriptions.

About

A podcast transcription service built on Azure that transcribes any new episode of your podcast and displays synchronized transcripts alongside your audio making your podcast more accessible.

Topics

Resources

License

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published