Skip to content

feat: add Resemble AI TTS integration#148

Merged
dbrockmann merged 7 commits intojoinly-ai:mainfrom
ArghaSarker:main
Sep 29, 2025
Merged

feat: add Resemble AI TTS integration#148
dbrockmann merged 7 commits intojoinly-ai:mainfrom
ArghaSarker:main

Conversation

@ArghaSarker
Copy link
Contributor

It's created by GitHub agent. Some of the dependency issues and python version updates are from the library mismatch.

Summary

This PR adds support for Resemble AI text-to-speech integration and includes several project configuration improvements.

Changes

  • New TTS Service: Added Resemble AI integration in joinly/services/tts/resemble.py
  • 🔧 Configuration: Added config.json for MCP remote configuration
  • 📝 Environment: Updated .env.example with new service configurations
  • 🐍 Python Version: Updated Python version requirements
  • 📦 Dependencies: Updated pyproject.toml and uv.lock with new dependencies
  • 🛡️ Security: Improved .gitignore to exclude sensitive files and audio outputs

TTS Integration Details

  • Supports Resemble AI voice synthesis
  • Configurable voice UUID and API key
  • Integrated with existing TTS service architecture

Testing

  • Configuration files validated
  • TTS service integration tested
  • No sensitive data in commit history

Notes

All API keys have been replaced with placeholders for security.

Copy link
Member

@dbrockmann dbrockmann left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice, thanks for adding this!

It would be nice for you to clean up a bit more. Some changes are not necessary for this PR, so keep only minimal changes for this feature, leave out unfinished/commented-out code, and remove the Python version pinning change (I marked some changes). Also make sure that tests pass: locally you can do uv run ruff check, uv run ruff format, and uv run pyright, all should have no suggestions/fails.

Comment on lines 1 to 16
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
# from .kokoro import KokoroTTS
# from .elevenlabs import ElevenlabsTTS
# from .deepgram import DeepgramTTS
# from .resemble import ResembleTTS
# PROVIDERS = {
# "kokoro": KokoroTTS,
# "elevenlabs": ElevenlabsTTS,
# "deepgram": DeepgramTTS,
# "resemble": ResembleTTS,
# }
# def get_tts_provider(name: str, **args) -> TTS:
# if name not in PROVIDERS:
# raise ValueError(f"Unknown TTS provider: {name}")
# return PROVIDERS[name].from_args(args)

joinly/main.py Outdated
Comment on lines 209 to 210
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
tts: str | type[TTS] = Field(default="resemble")
tts: str | type[TTS] = Field(default="kokoro")

.gitignore Outdated
Comment on lines 178 to 183
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
# Audio output files
*.pcm
*.wav
output.pcm
output.wav

config.json Outdated
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

remove

.python-version Outdated
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
3.12.11
3.12

@ArghaSarker
Copy link
Contributor Author

i have cleaned up the code and did the necessary changes. Have a look.

@dbrockmann dbrockmann merged commit 128bf35 into joinly-ai:main Sep 29, 2025
@dbrockmann dbrockmann changed the title Add Resemble AI TTS integration and improve project configuration feat: add Resemble AI TTS integration Sep 29, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

Comments