|  | import os | 
					
						
						|  | import spaces | 
					
						
						|  | from huggingface_hub import login | 
					
						
						|  |  | 
					
						
						|  | from goai_helpers.goai_traduction import goai_traduction | 
					
						
						|  | from goai_helpers.goai_tts2 import MooreTTS, text_to_speech | 
					
						
						|  | from goai_helpers.goai_tts import goai_tts | 
					
						
						|  |  | 
					
						
						|  |  | 
					
						
						|  |  | 
					
						
						|  | auth_token = os.getenv('HF_SPACE_TOKEN') | 
					
						
						|  | login(token=auth_token) | 
					
						
						|  |  | 
					
						
						|  |  | 
					
						
						|  |  | 
					
						
						|  | @spaces.GPU | 
					
						
						|  | def goai_many_tts( | 
					
						
						|  | text, | 
					
						
						|  | tts_model, | 
					
						
						|  | reference_speaker, | 
					
						
						|  | reference_audio=None, | 
					
						
						|  | ): | 
					
						
						|  |  | 
					
						
						|  | if "coqui" in tts_model: | 
					
						
						|  |  | 
					
						
						|  | tts = MooreTTS(tts_model) | 
					
						
						|  | reference_speaker = os.path.join("./exples_voix", reference_speaker) | 
					
						
						|  |  | 
					
						
						|  |  | 
					
						
						|  | if reference_audio is not None: | 
					
						
						|  | audio_array, sampling_rate = text_to_speech(tts, text, reference_speaker, reference_audio) | 
					
						
						|  | else: | 
					
						
						|  | audio_array, sampling_rate = text_to_speech(tts, text, reference_speaker=reference_speaker) | 
					
						
						|  |  | 
					
						
						|  | return sampling_rate, audio_array.numpy() | 
					
						
						|  |  | 
					
						
						|  | elif "mms" in tts_model: | 
					
						
						|  | sample_rate, audio_data = goai_tts(text) | 
					
						
						|  | return sample_rate, audio_data | 
					
						
						|  |  | 
					
						
						|  | else: | 
					
						
						|  | print("Erreur de modèle!!! Veuillez vérifier le modèle sélectionné.") | 
					
						
						|  |  | 
					
						
						|  |  | 
					
						
						|  |  | 
					
						
						|  | @spaces.GPU(duration=120) | 
					
						
						|  | def goai_ttt_tts( | 
					
						
						|  | text, | 
					
						
						|  | tts_model, | 
					
						
						|  | reference_speaker, | 
					
						
						|  | reference_audio=None, | 
					
						
						|  | ): | 
					
						
						|  |  | 
					
						
						|  |  | 
					
						
						|  | mos_text = goai_traduction( | 
					
						
						|  | text, | 
					
						
						|  | src_lang="fra_Latn", | 
					
						
						|  | tgt_lang="mos_Latn" | 
					
						
						|  | ) | 
					
						
						|  | yield mos_text, None | 
					
						
						|  |  | 
					
						
						|  |  | 
					
						
						|  | sample_rate, audio_data = goai_many_tts( | 
					
						
						|  | mos_text, | 
					
						
						|  | tts_model, | 
					
						
						|  | reference_speaker, | 
					
						
						|  | reference_audio=reference_audio, | 
					
						
						|  | ) | 
					
						
						|  | yield mos_text, (sample_rate, audio_data) |