6
6
now_dir = os .getcwd ()
7
7
sys .path .append (now_dir )
8
8
9
+ import wave
10
+ import argparse
11
+
9
12
from dotenv import load_dotenv
10
13
load_dotenv ("sha256.env" )
11
14
12
- import wave
13
15
import ChatTTS
14
16
15
17
from tools .audio import unsafe_float_to_int16
@@ -26,10 +28,8 @@ def save_wav_file(wav, index):
26
28
wf .writeframes (unsafe_float_to_int16 (wav ))
27
29
logger .info (f"Audio saved to { wav_filename } " )
28
30
29
- def main ():
30
- # Retrieve text from command line argument
31
- text_input = sys .argv [1 ] if len (sys .argv ) > 1 else "<YOUR TEXT HERE>"
32
- logger .info ("Text input: %s" , text_input )
31
+ def main (texts : list [str ]):
32
+ logger .info ("Text input: %s" , str (texts ))
33
33
34
34
chat = ChatTTS .Chat (get_logger ("ChatTTS" ))
35
35
logger .info ("Initializing ChatTTS..." )
@@ -39,13 +39,16 @@ def main():
39
39
logger .error ("Models load failed." )
40
40
sys .exit (1 )
41
41
42
- wavs = chat .infer (( text_input ) , use_decoder = True )
42
+ wavs = chat .infer (texts , use_decoder = True )
43
43
logger .info ("Inference completed. Audio generation successful." )
44
44
# Save each generated wav file to a local file
45
45
for index , wav in enumerate (wavs ):
46
46
save_wav_file (wav , index )
47
47
48
48
if __name__ == "__main__" :
49
49
logger .info ("Starting the TTS application..." )
50
- main ()
50
+ parser = argparse .ArgumentParser (description = 'ChatTTS Command' , usage = "--stream hello, my name is bob." )
51
+ parser .add_argument ("text" , help = "Original text" , default = 'YOUR TEXT HERE' , nargs = '*' )
52
+ args = parser .parse_args ()
53
+ main (args .text )
51
54
logger .info ("TTS application finished." )
0 commit comments