https://github.com/tigerabrodi/igris
A more streamlined way to create and manage voice messages. Great for e.g. games.
https://github.com/tigerabrodi/igris
convex elevenlabs react typescript
Last synced: 6 months ago
JSON representation
A more streamlined way to create and manage voice messages. Great for e.g. games.
- Host: GitHub
- URL: https://github.com/tigerabrodi/igris
- Owner: tigerabrodi
- Created: 2025-02-09T15:10:13.000Z (8 months ago)
- Default Branch: main
- Last Pushed: 2025-02-15T10:40:22.000Z (8 months ago)
- Last Synced: 2025-03-29T05:51:17.818Z (7 months ago)
- Topics: convex, elevenlabs, react, typescript
- Language: TypeScript
- Homepage: https://igris.vercel.app
- Size: 175 KB
- Stars: 6
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
https://github.com/user-attachments/assets/7a4c6273-5eb5-4c18-ac0c-b3414d7678cc
## Why I made this
When I was building my game, I found it annoying to use the ElevenLabs GUI. I could only generate one voice at a time. What I wanted is to be able to have a set of multiple voice messages.
Think of a level up voice message in a game. I want to be able to quickly generate 10 of them. The idea behind the variety is so that the user is more engaged. That's why when building my game, I prefer to have a set of voices and randomly pick one message from the set. So when you level up, you won't hear the same voice message over and over again. Causing you to be more engaged and getting more dopamine.
Yes, I know their API exists. But to me, their API makes sense when you need mass generation of voices or on the fly generation. I had to frequently write and tweak scripts. It wasn't a nice experience. Also, I wanna know if the voice is good or if I've to regenerate it.
---
I want to have similar messages quickly generated and be able to download them with a specific naming convention.
If the set's name is "Level Up", files should be named after the order of generation e.g. "level-up-1.mp3", "level-up-2.mp3", etc. This way, when building the game, it's easy to refer to the different voices.
## Free and OSS
## Tech stack 💻
- [React](https://react.dev/) for frontend.
- [Convex](https://www.convex.dev/) for backend.
- [Motion](https://motion.dev/) for animations.
- [Tailwind](https://tailwindcss.com/) for styling.
- [Shadcn](https://ui.shadcn.com/) for components.
- [React Hot Keys](https://github.com/jaywcjlove/react-hotkeys) for hotkeys.
- [Vercel](https://vercel.com/) for hosting and web analytics.## Cloning & running 🏄
1. Clone the repo: `git clone https://github.com/tigerabrodi/igris`
2. Setup a Convex account and create a new project.
3. Run `pnpm install`
4. Run `npx convex dev` (this will setup your `.env.local` file)
5. Run `pnpm dev`## License
This project is licensed under the MIT License ❤️