-
-
Notifications
You must be signed in to change notification settings - Fork 1.5k
Closed
Labels
DocsImprovements or additions to documentationImprovements or additions to documentationHelp NeededExtra attention is neededExtra attention is needed
Description
All Features open to public Contributions ⭐
- Preview Blocks/Chapters before to start the conversion
- Edit by sentence converted for surgical text and SML tags changes
- Change voice per chapter or sentence with SML tags
- -h -help parameter info in different languages
- OCR scanning for PDF / JPG / BMP / PNG / TIFF
- Notebooks Folder Talked about here
- Make Chinese text splitting not split words and improve pause timing Talked about here
- Get Kaggel Notebook working
- Get Working Google Colab Notebook Talked about here
- Make a ios app
- Make an android app
- Audiobookshelf integration
Wanted Extra Parameters
- Ebook Translation option
- Output format choicec
- Batch ebook folder
- Multiprocessing conversion
- Make ebook input parameter accept a folder containing ebook files to auto-run through.
- GPU Device detection and install the right torch/torchaudio pkg
- Denoise any reference audio for upload voice cloning,
- Custom model dir input for pointing to a folder containing all of the custom model files if available instead of having to point to each model file individually
TTS engines integration
- XTTSv2
- Bark
- Fairseq
- VITS
- Tacotron2
- YourTTS
- Tortoise
- GlowTTS
- Piper-TTS
- CosyVoice (https://github.com/FunAudioLLM/CosyVoice)
- Kokoro-TTS
- Orpheus-TTS
- Zonos
- Style-TTS2
- GPT-SoVITS
- F5-TTS (Feature Requests! #38 (comment))
- VIbeVoice (https://github.com/vibevoice-community/VibeVoice)
- Qwen3-TTS (https://huggingface.co/spaces/Qwen/Qwen3-TTS)
- NewTTS (https://github.com/neuphonic/neutts?tab=readme-ov-file)
- Speedy-Speech
- Supertonic (https://github.com/supertone-inc/supertonic)
- Align-TTS
- Delightful-TTS
- Spark-TTS
Create Readme in these languages
- Arabic (ara)
- Chinese (zho)
- English (eng)
- Spanish (spa)
- French (fra)
- German (deu)
- Italian (ita)
- Portuguese (por)
- Polish (pol)
- Turkish (tur)
- Russian (rus)
- Dutch (nld)
- Czech (ces)
- Japanese (jpn)
- Hindi (hin)
- Bengali (ben)
- Hungarian (hun)
- Korean (kor)
- Vietnamese (vie)
- Swedish (swe)
- Persian (fas)
- Yoruba (yor)
- Swahili (swa)
- Indonesian (ind)
- Slovak (slk)
- Croatian (hrv)
🐍 Compatibility
- 🍎 Mac Intel x86
- 🪟 Windows x86
- 🐧 Linux x86
- 🖥️🍏 Apple Silicon Mac
- 🪟💪 ARM Windows
- 🐧💪 ARM Linux
Extra Overkill for training models and such (All supported Coqui-tts models and piper-tts in one easy command)
- For info about this @DrewThomasson, he is currently working on the development of this, work-in-progress-repo here
- Make a easy to use training gui for all coqui-tts models in the ljspeech format training recipes here from coqui tts
Auto-testing scripts for development
- Standard model headless run through every language sample Samples located here
Python Code normalization information for contributors
- no blank line between code, unless between functions and classes.
- single quote used for all key unless for dict() and json. dict['key'] always called with single quote
- 4 spaces indentation, not tab at all
- strict typing for all functions and its arguments declaration and return values
- no space between the argument and its typing, no space between the function, the "->" and the return value
Example:
import json
from typing import Optional
def get_user(user_id:int, users:list[dict])->Optional[dict]:
for user in users:
if user['id'] == user_id:
return user
return None
def summarize(user:dict)->str:
return f"User {user['name']} is {'active' if user['is_active'] else 'inactive'}."
def to_json(user:dict)->str:
return json.dumps({"id": user['id'], "name": user['name'], "email": user['email']})
users:list = [
dict(id=1, name='alice', email='[email protected]', role='admin', is_active=True),
dict(id=2, name='bob', email='[email protected]', role='editor', is_active=False),
dict(id=3, name='carol', email='[email protected]', role='viewer', is_active=True),
]
config = {
"max_users": 100,
"default_role": "viewer",
"allow_signup": True,
}
roles = ['admin', 'editor', 'viewer']
found = get_user(1, users)
if found:
print(summarize(found))
print(found['email'])
print(to_json(found))
if config['default_role'] in roles:
print(config['default_role'])Hardware donation for beta tests wanted
We accept any kind of hardware to test our development like:
- Nvidia supporting cuda >= 11.8
- XPU intel cards
- ROCm AMD cards supporting ROCm >=5.7
@DrewThomasson if you want to help out at all! 😃
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
DocsImprovements or additions to documentationImprovements or additions to documentationHelp NeededExtra attention is neededExtra attention is needed