Transform your text files into professional audiobooks with intelligent chapter organization, text-to-speech conversion, and powerful audio management tools.
- 📖 Create and manage chapters with drag-and-drop organization
- 🎧 Upload and manage audio files for each section
- 🎯 Highlight and organize text into sections
- 🎵 Chapter-level audio player with section tracking
- 📦 Export/Import functionality for backup and sharing
- 🎨 Color-coded sections for easy visualization
- 📱 Responsive design for various screen sizes
- Node.js (v14 or higher)
- npm (v6 or higher)
- FFmpeg (for audio processing)
- Clone the repository:
git clone https://github.com/yourusername/audiobook-organizer.git
cd audiobook-organizer- Install dependencies:
npm install- Install FFmpeg (if not already installed):
Windows:
# Using Chocolatey
choco install ffmpeg
# Or download from https://ffmpeg.org/download.htmlmacOS:
brew install ffmpegLinux:
sudo apt-get update
sudo apt-get install ffmpeg- Create required directories:
mkdir uploads exports- Start the server:
npm start- Open your browser and navigate to:
http://localhost:3000
- Click the "New Chapter" button to create a chapter
- Double-click the chapter name to rename it
- Use the collapse/expand arrow to manage chapter visibility
- Select text in the book content area
- Click "Create Section" in the selection tools
- The section will be added to the current chapter
- Drag and drop sections to reorder or move between chapters
- Click the upload button in a section to add audio
- Supported formats: MP3, WAV
- Use the chapter-level audio player to play all sections continuously
- Individual section audio controls are also available
- Click the "Export" button to save your work
- Options include:
- Export metadata
- Export audio files
- Export book content
- Create ZIP archive
- Merge audio files
Ctrl/Cmd + Z: Undo last actionCtrl/Cmd + Y: Redo last actionCtrl/Cmd + S: Save current stateSpace: Play/Pause current chapter (when focused)
Create a .env file in the root directory:
PORT=3000
UPLOAD_FOLDER=uploads
EXPORT_FOLDER=exports
MAX_UPLOAD_SIZE=100mbEdit config.js to customize audio processing:
module.exports = {
audio: {
format: 'wav',
sampleRate: 44100,
channels: 2
}
}- Fork the repository
- Create a feature branch
- Commit your changes
- Push to the branch
- Open a Pull Request
Please read CONTRIBUTING.md for details on our code of conduct and development process.
audiobook-organizer/
├── public/ # Static files
│ ├── index.html # Main application HTML
│ └── styles/ # CSS files
├── uploads/ # Audio file uploads
├── exports/ # Exported files
├── server.py # Main server file
└── exportUtils.js # Export utilities
- Frontend: Vanilla JavaScript, HTML5, CSS3
- Backend: Python (Flask)
- Audio Processing: FFmpeg
- File Management: Node.js fs-extra
- Compression: archiver
- Large audio files may take longer to process
- Section reordering may require audio player refresh
- Some browsers may have limited audio format support
- Multi-user support
- Cloud storage integration
- Advanced audio editing
- Collaborative editing
- Mobile app version
This project is licensed under the MIT License - see the LICENSE file for details.
- FFmpeg for audio processing
- Flask for the backend framework
- Contributors and testers
For support, please:
- Check the Issues page
- Create a new issue if needed
- Join our Discord community
Made with ❤️ by [Your Name/Organization]
START LOCALLY:
python -m venv venv .\venv\Scripts\Activate.ps1 (if not installed yet) pip install -r requirements.txt npm install
python -m venv venv .\venv\Scripts\Activate.ps1 npm start
OR BEST OPTION TO START: python app.py