Scrum Summarizer

Scenario

Goal: summarize the scrum in points

record audio in ubuntu with python and flask and send to my another local API as a batch of streams.

Every 5 minutes, I will have to send audio to the API in the batch.

Also, I need to transcribe the multiple audio batches in flask and show the transcribed content in jinja2.


High-Level Steps

  1. Record Audio: Use a Python library like sounddevice or pyaudio to record audio.

  2. Save and Batch Audio Files: Save the audio files locally, and batch them every 5 minutes.

  3. Send Batches to Another API: Use the requests library to send audio batches to your second API endpoint.

  4. Transcribe Audio: Use a transcription service or library (e.g., OpenAI Whisper, Google Speech-to-Text, or SpeechRecognition) to process the audio.

  5. Display Transcription in Jinja2: Store the transcription data and render it in a Flask template using Jinja2.


Implementation Details

1. Record Audio

Install the necessary libraries:

pip install sounddevice numpy flask

Example code to record audio:


2. Save and Batch Audio Files

Use a task scheduler (e.g., apscheduler) to batch files every 5 minutes.

Example code for batching:


3. Transcribe Audio

Install a transcription library like SpeechRecognition or OpenAI Whisper.

Transcription example:


4. Display Transcriptions in Flask with Jinja2

Flask app example:


5. Create Jinja2 Template

templates/index.html:


Summary of Workflow

  1. Record audio files and save them locally.

  2. Batch the files every 5 minutes and send them to the API.

  3. The API processes the batch, transcribes them, and stores the results.

  4. Use Flask and Jinja2 to display the transcriptions on a web page.

Let me know if you'd like any additional clarifications or improvements!

Last updated