Necklace is a cross-platform application that provides real-time audio transcription capabilities using OpenAI's Whisper model. The project consists of two main components: a Flutter frontend application and a FastAPI backend service.
.
├── necklace/ # Flutter frontend application
│ ├── lib/ # Main Flutter source code
│ ├── web/ # Web platform specific code
│ ├── android/ # Android platform specific code
│ ├── ios/ # iOS platform specific code
│ ├── windows/ # Windows platform specific code
│ ├── linux/ # Linux platform specific code
│ └── macos/ # macOS platform specific code
│
└── transciberApi/ # FastAPI backend service
├── main.py # Main API implementation
└── .env # Environment variables (not tracked in git)
- Real-time audio transcription using OpenAI's Whisper model
- Cross-platform support (Android, iOS, Web, Windows, Linux, macOS)
- Modern and responsive UI with animations
- WebSocket-based real-time communication
- Secure API key management
- Flutter SDK (^3.6.1)
- Python 3.x
- OpenAI API key
- Git
-
Navigate to the
transciberApidirectory:cd transciberApi -
Create a virtual environment and activate it:
python -m venv venv source venv/bin/activate # On Windows: venv\Scripts\activate
-
Install dependencies:
pip install fastapi uvicorn python-dotenv openai python-multipart
-
Create a
.envfile with your OpenAI API key:OPENAI_API_KEY=your_api_key_here -
Start the backend server:
python main.py
The API will be available at http://localhost:8000
-
Navigate to the
necklacedirectory:cd necklace -
Install Flutter dependencies:
flutter pub get
-
Run the application:
flutter run
GET /: Health check endpointPOST /transcribe: Transcribe audio file endpoint
- FastAPI
- OpenAI
- python-dotenv
- uvicorn
- python-multipart
- Flutter SDK
- web_socket_channel
- http
- path_provider
- google_fonts
- flutter_animate
- animated_background
- glassmorphism
- loading_animation_widget
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- OpenAI for providing the Whisper model
- Flutter team for the amazing cross-platform framework
- All contributors and maintainers