from
io
import
BytesIO
import
pysubs2
from
aip
import
AipSpeech
from
pydub
import
AudioSegment
APP_ID
=
'你的 App ID'
API_KEY
=
'你的 Api Key'
SECRET_KEY
=
'你的 Secret Key'
client
=
AipSpeech(APP_ID, API_KEY, SECRET_KEY)
def
getaudio(text,
file
=
None
):
result
=
client.synthesis(text, ctp
=
1
, options
=
{
'vol'
:
8
,
'spd'
:
5
,
'pit'
:
5
,
'per'
:
1
}
)
if
not
isinstance
(result,
dict
):
return
BytesIO(result)
else
:
print
(result)
subs
=
pysubs2.load(
"sub.srt"
)
audio
=
AudioSegment.silent(duration
=
subs[
len
(subs)
-
1
].end)
for
index, i
in
enumerate
(subs):
audio
=
audio.overlay(AudioSegment.from_mp3(
getaudio(i.text)), position
=
i.start)
audio.export(
'srt.mp3'
)