Audicle (Article + Audio) is a platform that reads article content on web pages aloud.
It provides a comfortable "reading while doing something else" experience.
Audicle is offered in three forms to suit your usage style.
The easiest way to get started, this is the cloud version of the web application.
- Features:
- No need to create an account or configure a server
- The latest features are immediately available
- Provides high-quality, stable audio (Supabase + Vercel Storage)
- Access:
- Currently operating on an invitation-only basis. Please contact us if you wish to use it.
This version is for those who want to run Audicle in their own server environment.
- Features:
- Lightweight and simple
- Less dependence on external services
- Easy to deploy
- Setup:
- See
packages/web-app.
- See
An extension to install directly into your browser to read the article you are currently viewing on the spot.
- Features:
- Start reading with a single click without leaving the website
- Simple and intuitive operation
- Can use Google TTS (default) or connect to your self-hosted
api-server
- Installation:
- See
packages/chrome-extensionand load it in developer mode.
- See
- One-Click Playback: Playback starts just by clicking the paragraph you want to read
- Intelligent Content Extraction: Removes ads and extracts only the main text
- Playback Highlighting: You can see at a glance where it's being read
- Multiple TTS Engine Support: You can select a text-to-speech engine according to your needs
This project is built with the following tech stack.
-
web-app-vercel(Full-Featured Frontend)- Framework: Next.js 16, React 19
- Language: TypeScript
- UI: Tailwind CSS
- Testing: Jest, Playwright
- Database: Supabase, Vercel Storage
- Authentication: NextAuth.js
-
web-app(Simple Frontend)- Framework: Next.js 15, React 19
- Language: TypeScript
- UI: Tailwind CSS
-
api-server(Backend)- Framework: FastAPI (Python)
- TTS Engine: Google Cloud Text-to-Speech
- Deployment: Docker
-
chrome-extension(Browser Extension)- Language: JavaScript
- Library: Mozilla Readability.js
Audicle consists of multiple packages in a monorepo configuration.
/packages
├── api-server/ # API server for text-to-speech (Python/FastAPI)
├── chrome-extension/ # Browser extension
├── db/ # Database schema management
├── web-app/ # Simple self-hosted web app
└── web-app-vercel/ # Full-featured Vercel-hosted web app
chrome-extensionextracts the body of the currently viewed page. It can perform TTS directly or send text toapi-server.web-appis a lightweight viewer that fetches articles and performs text-to-speech.web-app-vercelis the full-featured version optimized for Vercel, including user authentication, database integration, and advanced playback features.api-serverprovides a robust TTS API using Google Cloud Text-to-Speech, used by the Chrome extension or self-hosted setups.
The self-hosted api-server provides the following endpoint.
curl -X POST "http://localhost:8000/synthesize" \
-H "Content-Type: application/json" \
-d '{"text": "This is a test"}' \
--output test.mp3On success, the audio data is saved with the filename test.mp3.
- Problem: The container does not start normally even after running
docker-compose up. - Solution:
- Check if the Google Cloud credential file (
credentials.json) is correctly placed in thepackages/api-server/credentialsdirectory. - Check if Docker is running correctly.
- Check if the Google Cloud credential file (
- Problem: There is no response when clicking the extension icon, or reading does not start.
- Solution:
- Check if the
api-serveris running correctly (if usingapi_servermode). - Check if the API server URL is set correctly in the extension settings (
http://localhost:8000). - Check if any error messages are displayed in the developer tools console.
- Check if the
Contributions are welcome! Please see the Contribution Guidelines (English) or Contribution Guidelines (Japanese) for details.
This project is under the MIT License. See the LICENSE file for details.