Skip to content

A web application that enables users to record audio, play it back, and manually transcribe the content. Features include audio recording and playback, text transcription capabilities, and persistent storage of audio files with their corresponding transcriptions.

Notifications You must be signed in to change notification settings

Tech-lo/Audio-transcript-app

Repository files navigation

Audio-transcript-app

A web application that allows users to record audio, play it back, and manually transcribe the content. The application features audio recording, playback, text transcription, and persistent storage of audio files with their transcriptions.

Table of Contents

Project Overview

This project includes:

  • Backend: A REST API built with FastAPI, handling audio data and transcription storage.
  • Frontend: A React-based interface using Material-UI and Wavesurfer.js for audio recording and playback.

Project Structure

  • Front-end files:

public/ - Static files src/ - Source code package.json - Frontend dependencies package-lock.json - Frontend dependency lock file

  • Back-end files:

main.py - Main server file models.py - Database models database.py - Database configuration requirements.txt - Python dependencies sql_app.db - SQLite database file

Technologies Used

  • Backend: FastAPI, Python, SQLite, SQLAlchemy, Pydantic, Python-Decouple
  • Frontend: React, Material-UI, Axios, Wavesurfer.js

Getting Started

Follow these instructions to set up and run the project on your local machine.

Prerequisites

  • Python 3.8+
  • Node.js 14+ and npm (Node Package Manager)
  • SQLite

How to Run the Project

Backend Setup

  1. Clone the repository:
    git clone https://github.com/your-username/Audio-transcript-app.git
    
  2. Go to the directory
    cd Audio-transcript-app
    
  3. Set up a virtual environment (recommended):
    python -m venv venv
    
  4. Activate the virtual environment: on Windows
    venv\Scripts\activate
    
  5. On Mac/Linux:
    source venv/bin/activate
    
  6. Install dependencies
    pip install -r requirements.txt
    
  7. Run the backend server:
    uvicorn main:app --reload
    

To install dependencies, you can check in requirements.txt

Frontend Setup

  1. Go to directory
    cd Audio-transcript-app
    
  2. Install frontend dependencies
    npm install

The package.json includes dependencies.

  1. Run the frontend server:
    npm start
    

Accessing the Application

Database

  1. The application uses an SQLite database (sql_app.db) to store audio and transcription data. Ensure that this file is in the root directory of the project.
  2. If you need to reset the database:
    • Delete sql_app.db from the root directory.
    • Run the backend server again to generate a fresh database with the required schema.

About

A web application that enables users to record audio, play it back, and manually transcribe the content. Features include audio recording and playback, text transcription capabilities, and persistent storage of audio files with their corresponding transcriptions.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published