Skip to content

TheZeroHz/ESpeechServer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 

Repository files navigation

🗣️ ESpeechServer

ESpeechServer is a lightweight Flask-based backend server designed for speech-to-text conversion using the ESpeech Library. With support for audio uploads, it seamlessly transcribes speech using Google’s Speech Recognition engine. Deployed easily on platforms like Render, this project is perfect for integrating voice interfaces into web and IoT applications.


✨ Features

  • 🔊 Accepts raw audio data (.wav) via HTTP POST requests
  • 🧠 Uses Google Speech Recognition for high-accuracy transcription
  • ⚙️ Built with Flask and SpeechRecognition library
  • ☁️ Easily deployable on Render or similar cloud platforms
  • 🔁 Simple API endpoint for quick integration
  • 🎧 Ready to integrate with ESpeech client libraries or custom ESP32 IoT devices

📦 Tech Stack

  • Flask – Lightweight WSGI web application framework
  • SpeechRecognition – Python library for performing speech recognition
  • Pydub – Audio handling made easy
  • Gunicorn – Production WSGI server for Python apps

🚀 Getting Started

1. Clone the Repository

git clone https://github.com/yourusername/ESpeechServer.git
cd ESpeechServer

2. Install Dependencies

pip install -r requirements.txt

3. Run the Server Locally

python app.py

The server will start at http://0.0.0.0:8888.


🎯 Usage

Endpoint

POST /uploadAudio

Description

Uploads an audio file (in .wav format) and returns a JSON response with the transcribed text.

Request Headers

  • Content-Type: audio/wav

Example using curl

curl -X POST http://localhost:8888/uploadAudio --data-binary "@yourfile.wav"

Sample Response

{
  "transcription": "Hello, how are you?"
}

🌐 Deployment on Render

  1. Create a new Web Service on Render.
  2. Link your GitHub repo.
  3. Set the environment:
    • Build Command: pip install -r requirements.txt
    • Start Command: gunicorn app:app
  4. Deploy and you're done!

🛠️ Customization

You can modify the speech_to_text() function in app.py to use other engines like:

  • Sphinx (Offline)
  • Azure Speech
  • IBM Speech to Text

📹 Tutorial

Need a visual walkthrough?

🎥 Coming soon: Watch the Tutorial Video


🤝 Contributing

Have suggestions or improvements? Feel free to open an issue or submit a PR!


📄 License

This project is licensed under the MIT License. See the LICENSE file for details.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages