Spaces:
Runtime error
Runtime error
| from transformers import AutoTokenizer, AutoModelForSeq2SeqLM | |
| from transformers import MarianMTModel, MarianTokenizer | |
| from elevenlabs import set_api_key | |
| from elevenlabs import clone, generate, play | |
| from transformers import AutoModelForSeq2SeqLM, AutoTokenizer | |
| from pydub import AudioSegment | |
| from huggingface_hub.hf_api import HfFolder | |
| HfFolder.save_token('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') | |
| access_token = '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' | |
| import streamlit as st | |
| #language translation function | |
| def translate_english_to_hindi(input_text): | |
| # Load the pre-trained English to Hindi translation model and tokenizer | |
| model_name = "Helsinki-NLP/opus-mt-en-hi" | |
| tokenizer = MarianTokenizer.from_pretrained(model_name) | |
| model = MarianMTModel.from_pretrained(model_name) | |
| # Tokenize the input text and generate translation | |
| inputs = tokenizer(input_text, return_tensors="pt", padding=True) | |
| translated_ids = model.generate(inputs.input_ids) | |
| # Decode the translated output | |
| translated_text = tokenizer.decode(translated_ids[0], skip_special_tokens=True) | |
| return translated_text | |
| def save_uploaded_file_as_mp3(uploaded_file, output_file_path): | |
| audio = AudioSegment.from_file(uploaded_file) | |
| audio.export(output_file_path, format="mp3") | |
| def ui(): | |
| st.title('Multi Lingual Voice Cloner') | |
| st.markdown("Made by vageesh") | |
| #audio input box | |
| audio_file = st.file_uploader("Upload an audio file that needs to be cloned", type=[ "wav,Mp4","Mp3"]) | |
| if audio_file is not None: | |
| output_file_path = "./output_audio.mp3" | |
| save_uploaded_file_as_mp3(audio_file, output_file_path) | |
| st.success(f"Audio file saved as {output_file_path}") | |
| user_api_key = st.sidebar.text_input( | |
| label="#### Your Eleven Labs API key here 👇", | |
| placeholder="Paste your Eleven Labs API key API key, sk-", | |
| type="password") | |
| if user_api_key is not None and user_api_key.strip() != "": | |
| set_api_key(user_api_key) | |
| #making an voice | |
| voice = clone( | |
| name="Alex", | |
| description="An middle aged American male voice with a slight hoarseness in his throat. Perfect for npodcast", # Optional | |
| files=["./output_audio.mp3"], | |
| model='eleven_multilingual_v1', | |
| language='Hindi' | |
| ) | |
| in_text=st.text_input("Paste the text you want to hear from english to hindi") | |
| if in_text is not None and in_text.strip() != "": | |
| hin_text=translate_english_to_hindi(in_text) | |
| audio = generate(text=hin_text, voice=voice) | |
| st.audio(audio) | |
| if __name__=="__main__": | |
| ui() | |