https://github.com/rastereo/clean-voice-bot
Your AI assistant for voice cleaning
https://github.com/rastereo/clean-voice-bot
ai bot elevenlabs ffmpeg grammyjs telegram telegram-bot typescript
Last synced: 3 months ago
JSON representation
Your AI assistant for voice cleaning
- Host: GitHub
- URL: https://github.com/rastereo/clean-voice-bot
- Owner: rastereo
- License: mit
- Created: 2024-12-15T20:18:15.000Z (6 months ago)
- Default Branch: main
- Last Pushed: 2025-01-16T17:56:54.000Z (5 months ago)
- Last Synced: 2025-01-16T19:11:28.194Z (5 months ago)
- Topics: ai, bot, elevenlabs, ffmpeg, grammyjs, telegram, telegram-bot, typescript
- Language: TypeScript
- Homepage: https://t.me/cleanVoiceBot
- Size: 3.07 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
![]()
# cleanVoiceBot
cleanVoiceBot is a [Telegram bot](https://core.telegram.org/bots/api) that helps you remove background noise from audio files. It's easy to use — just send or forward an audio file to the bot, and it will return a cleaned version. The bot supports different audio formats for your convenience.
## 🔧Installation
To get started with the project, ensure that you have [Node.js](https://nodejs.org/en) installed. Then, clone this repository and install the dependencies:
```bash
git clone https://github.com/rastereo/cleanVoiceBot.git
cd clean-voice-bot
npm install
```**Installing FFmpeg on Linux**
[FFmpeg](https://www.ffmpeg.org/) is required to run this script and can typically be installed on most Linux distributions using a package manager:
```bash
sudo apt update
sudo apt install ffmpeg
```Ensure that FFmpeg is installed and accessible in your system's PATH, so your Node.js script can execute FFmpeg commands successfully.
## 🌍Environment Variables
The project utilizes several environment variables for configuration. These should be defined in a `.env` file at the root of your project. Below is a description of each variable:
- `BOT_KEY`: API key for the Telegram bot in a production environment.
- `DEV_BOT_KEY`: API key for the Telegram bot in a development environment.
- `ELEVENLABS_API_KEY`: API key for [ElevenLabs](https://elevenlabs.io/).
- `FILE_URL`: URL for accessing files that the bot will process.
- `API_ROOT`: Base URL for the API the bot interacts with.
- `GATE_MAX_DURATION`: Maximum allowed audio file duration (in seconds) for processing.
- `GATE_MIN_DURATION`: Minimum allowed audio file duration (in seconds) for processing.
- `RESULTS_DIR_NAME`: Directory name for storing processed file results.
- `ADMIN_ID`: Telegram ID of the administrator for notifications or special access.
## ⚙️Scripts
To start the bot in production mode:
```bash
npm run build
npm run start
```For development:
```bash
npm run dev
```## 🤖 Technologies
The project leverages the following technologies:
- [grammY](https://grammy.dev/)
- [ElevenLabs JS](https://github.com/elevenlabs/elevenlabs-js?tab=readme-ov-file#elevenlabs-js-library)
- [FFmpeg](https://www.ffmpeg.org/)
- [TypeScript](https://www.typescriptlang.org/)## 🎁Support
Consider supporting the project on [Boosty](https://boosty.to/cleanvoicebot/donate). Your contributions help keep the service running.