Skip to content

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

0 watching

Forks

Latest commit

 

History

10 Commits

Folders and files

Repository files navigation

🎙️ TranscribeFlow

TranscribeFlow is an AI-powered web application that converts audio into text and generates concise summaries.
It supports both file uploads and live voice recording directly from the browser.
Built using Flask, html, css, JavaScript, and AI speech-to-text models.


🚀 Features

🎧 Audio Processing

  • Upload audio files (MP3, WAV, WEBM)
  • Live browser voice recording
  • Automatic transcription
  • AI-generated summary

📥 Export

  • Download transcription and summary as JSON and TXT file

👤 Authentication

  • User Signup
  • User Login
  • Logout functionality
  • User data stored in database

🌗 UI Features

  • Dark Mode & Light Mode (Persistent)
  • Clean, responsive design
  • Scrollable transcription view

🛠️ Tech Stack

Backend

  • Python
  • Flask
  • AI Speech-to-Text Model (e.g., Whisper or similar)
  • Summarization Model

Frontend

  • HTML
  • CSS
  • JavaScript
  • MediaRecorder API (for live recording)

Database

  • SQLite / MySQL (based on your configuration)

📂 Project Structure

TranscribeFlow/
│
├── app.py
├── static/
│   ├── style.css
│   ├── theme.js
├── templates/
│   ├── login.html
│   ├── signup.html
│   ├── upload.html
├── uploads/
├── requirements.txt
└── README.md

🎙️ How Live Recording Works

  1. Browser asks microphone permission
  2. Audio recorded using MediaRecorder API
  3. Audio blob sent to /api/process
  4. Flask processes audio
  5. Transcription + Summary returned as JSON
  6. Results displayed dynamically

🌗 Dark / Light Mode

  • Toggle button available on all pages
  • Theme preference stored in browser localStorage
  • Automatically persists across sessions

🔐 Authentication Flow

  • User signs up
  • Credentials stored in database
  • Login verifies user
  • Logout redirects to login page

📥 JSON Download Format

Example:

{
  "transcription": "Full transcribed text...",
  "summary": "Short summarized version..."
}

📡 API Endpoint /api/process

This endpoint receives recorded or uploaded audio and returns the generated transcription and summary.


🔹 Base URL

http://localhost:5000


🔹 HTTP Method

POST


🔹 Content-Type

multipart/form-data


🔹 Request Parameters

Parameter Type Required Description
audio File ✅ Yes Audio file or recorded blob to transcribe

🔹 Example Request (cURL)

curl -X POST http://localhost:5000/api/process \
  -H "Content-Type: multipart/form-data" \
  -F "audio=@sample.wav"

🔹 Success Response (200 OK)
{
  "transcription": "Full transcribed text...",
  "summary": "Short summarized version..."
}
🔹 Error Responses
400 – Bad Request

{
  "error": "Audio data not provided"
}
500 – Internal Server Error
{
  "error": "Internal server error"
}
🔹 Response Description
| Field         | Type   | Description                    |
| ------------- | ------ | ------------------------------ |
| transcription | String | Complete speech-to-text output |
| summary       | String | AI-generated concise summary   |

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages