pull/418/head
Jason 2 years ago
parent d2bf7228f0
commit a3dddd1b4b

@ -6,6 +6,7 @@ import re
import sox import sox
import requests import requests
from moviepy.audio.AudioClip import concatenate_audioclips, CompositeAudioClip from moviepy.audio.AudioClip import concatenate_audioclips, CompositeAudioClip
from moviepy.audio.io.AudioFileClip import AudioFileClip
from requests.adapters import HTTPAdapter, Retry from requests.adapters import HTTPAdapter, Retry
# from profanity_filter import ProfanityFilter # from profanity_filter import ProfanityFilter
@ -68,11 +69,11 @@ class TTTTSWrapper: # TikTok Text-to-Speech Wrapper
self.URI_BASE = "https://api16-normal-useast5.us.tiktokv.com/media/api/text/speech/invoke/?text_speaker=" self.URI_BASE = "https://api16-normal-useast5.us.tiktokv.com/media/api/text/speech/invoke/?text_speaker="
def tts( def tts(
self, self,
req_text: str = "TikTok Text To Speech", req_text: str = "TikTok Text To Speech",
filename: str = "title.mp3", filename: str = "title.mp3",
random_speaker: bool = False, random_speaker: bool = False,
censer=False, censer=False,
): ):
req_text = req_text.replace("+", "plus").replace(" ", "+").replace("&", "and") req_text = req_text.replace("+", "plus").replace(" ", "+").replace("&", "and")
if censer: if censer:
@ -90,6 +91,7 @@ class TTTTSWrapper: # TikTok Text-to-Speech Wrapper
audio_clips = [] audio_clips = []
cbn = sox.Combiner() cbn = sox.Combiner()
cbn.set_input_format(file_type=['mp3'])
chunkId = 0 chunkId = 0
for chunk in chunks: for chunk in chunks:
@ -123,6 +125,10 @@ class TTTTSWrapper: # TikTok Text-to-Speech Wrapper
else: else:
os.rename(audio_clips[0], filename) os.rename(audio_clips[0], filename)
except sox.core.SoxError: except sox.core.SoxError:
for clip in audio_clips:
i = audio_clips.index(clip) # get the index of the clip
audio_clips = audio_clips[:i] + [AudioFileClip(clip)] + audio_clips[
i + 1:] # replace the clip with an AudioFileClip
audio_concat = concatenate_audioclips(audio_clips) audio_concat = concatenate_audioclips(audio_clips)
audio_composite = CompositeAudioClip([audio_concat]) audio_composite = CompositeAudioClip([audio_concat])
audio_composite.write_audiofile(filename, 44100, 2, 2000, None) audio_composite.write_audiofile(filename, 44100, 2, 2000, None)

Loading…
Cancel
Save