AI-powered, immersive audiobook creation with granular voice control, powered by Murf AI. Transform your stories into lifelike audio, one sentence at a time.
Sonus is an innovative platform for creating immersive audiobooks with AI. Upload your manuscript, optimize your content, and generate professional-grade audio with sentence-level voice customization. Sonus leverages Murf AI, Facebook Bart, and Gemini Flash 2.0 to recommend the best voice settings—while you stay in control.
- 📄 Multi-format Upload: Supports
.txt,.pdf, and.docx. - 🧠 AI Content Optimization: Facebook Bart suggests improved/summarized content.
- 💸 Cost Transparency: See character usage, cost incurred, and savings instantly.
- 🎭 Character Recognition: Gemini Flash 2.0 identifies characters and assigns voices.
- 🎚️ Granular Voice Control: Per-sentence Murf AI voice, pitch, rate, and style recommendations.
- 🔁 Real-time Preview: Instantly stream audio for each block using Murf's streaming API.
- ✏️ Block Editing: Update text, delete blocks, and override voice settings.
- 🎵 Unified Export: Combine all blocks into a single MP3 via Murf's generation API.
- 🗂️ File Management: Preview, download, delete, and update files easily.
- 🔒 Secure Auth: User authentication and authorization powered by Clerk.
| Layer | Technology |
|---|---|
| Frontend | Next.js |
| Backend | Flask |
| AI Models | Facebook Bart, Gemini Flash 2.0 |
| TTS Engine | Murf AI |
| Storage | Supabase Buckets |
| Auth | Clerk |
| Deployment | Vercel, Render |
- Upload your document (
.txt,.pdf,.docx). - Choose between original or AI-optimized content (with cost analysis).
- Analyze: Gemini Flash 2.0 identifies characters and recommends Murf AI voice settings per sentence.
- Review & Edit:
- Preview each sentence/block with real-time AI voice.
- Edit text, override voice, pitch, rate, or style.
- Export: Combine all blocks into a single MP3.
- Manage: Preview, download, delete, and update your files.
Full documentation & examples in our Postman Collection.
{
"config": {
"voiceId": "en-UK-aiden",
"pitch": -10,
"rate": -10,
"style": "Narration",
"sampleRate": 44100,
"channelType": "MONO",
"format": "MP3",
"text": "On the edge of a quiet village nestled between silver hills..."
},
"analysis": {
"primary_emotion": "Nostalgia",
"preferred_accent": "UK",
"preferred_age": "middle_aged",
"preferred_gender": "male"
},
"reasoning": {
"pitch_rationale": "Pitch set to -10 based on emotional intensity...",
"rate_rationale": "Rate set to -10 based on urgency level...",
"style_rationale": "Selected 'Narration' based on Nostalgia emotion...",
"voice_choice": "A middle-aged UK male voice conveys warmth and experience."
}
}- Clone the repo
git clone https://github.com/your-org/sonus.git cd sonus
- Install dependencies
- Frontend:
cd frontend && npm install - Backend:
cd backend && pip install -r requirements.txt
- Set up environment variables
- Supabase, Clerk, and Murf AI API keys.
- Deploy
- Import API collection
- Use the provided Postman Collection for API testing.
sonus/
├── frontend/ # Next.js app
├── backend/ # Flask API
├── Murf.postman_collection.json
└── README.md
We welcome contributions! Please open issues, submit PRs, or suggest features.