Vageesh1 commited on
Commit
cfc4ac5
·
1 Parent(s): 846c347

Upload 2 files

Browse files
Files changed (2) hide show
  1. app,py +58 -0
  2. requirements.txt +4 -0
app,py ADDED
@@ -0,0 +1,58 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ from transformers import AutoTokenizer, AutoModelForSeq2SeqLM
2
+ from elevenlabs import set_api_key
3
+ from elevenlabs import clone, generate, play
4
+ from transformers import AutoModelForSeq2SeqLM, AutoTokenizer
5
+ from huggingface_hub.hf_api import HfFolder
6
+ HfFolder.save_token('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')
7
+ access_token = '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'
8
+
9
+ import streamlit as st
10
+
11
+
12
+ #language translation function
13
+ def translate(text):
14
+ tokenizer = AutoTokenizer.from_pretrained(".",use_auth_token=True)
15
+ #model = AutoModelForSeq2SeqLM.from_pretrained("facebook/nllb-200-distilled-600M",use_auth_token=True)
16
+ model = AutoModelForSeq2SeqLM.from_pretrained(".",use_auth_token=True)
17
+ inputs = tokenizer(text, return_tensors="pt")
18
+ translated_tokens = model.generate(**inputs,
19
+ forced_bos_token_id=tokenizer.lang_code_to_id["hin_Deva"],
20
+ max_length=100)
21
+ result = tokenizer.batch_decode(translated_tokens, skip_special_tokens=True)[0]
22
+ return result
23
+
24
+
25
+ def ui():
26
+ st.title('Multi Lingual Voice Cloner')
27
+ st.markdown("Made by vageesh")
28
+
29
+ #audio input box
30
+ audio_file = st.file_uploader("Upload an audio file that needs to be cloned", type=[ "wav,Mp4"])
31
+ if audio_file is not None:
32
+ user_api_key = st.sidebar.text_input(
33
+ label="#### Your Eleven Labs API key here 👇",
34
+ placeholder="Paste your Eleven Labs API key API key, sk-",
35
+ type="password")
36
+
37
+ if user_api_key is not None and user_api_key.strip() != "":
38
+ set_api_key(user_api_key)
39
+ #making an voice
40
+ voice = clone(
41
+ name="Alex",
42
+ description="An middle aged American male voice with a slight hoarseness in his throat. Perfect for npodcast", # Optional
43
+ files=[audio_file],
44
+ model='eleven_multilingual_v1',
45
+ language='Hindi'
46
+ )
47
+
48
+ in_text=st.text_input("Paste the text you want to hear from english to hindi")
49
+ if in_text is not None and in_text.strip() != "":
50
+ hin_text=translate(in_text)
51
+ audio = generate(text=hin_text, voice=voice)
52
+
53
+ st.audio(audio)
54
+
55
+ if __name__=='__name__':
56
+ ui()
57
+
58
+
requirements.txt ADDED
@@ -0,0 +1,4 @@
 
 
 
 
 
1
+ transformers
2
+ steamlit
3
+ elevenlabs
4
+ huggingface_hub