小说推文之自动配音神器
1 前言
哈喽,大家好,我是了不起。 最近小说推文的项目很火,主要路径是通过抖音视频为知乎盐选专栏小说导流,赚取推广费。前面文章介绍了用代码文本转语音,但是合成的语音比较生硬,没有抖音小姐姐的声音柔和动听,这里给大家介绍如何控制配音神器批量转语音。
2 准备
webdriver是一种用于web应用程序的自动化测试工具,它提供了一套友好的API,Webdriver完全就是一套类库,不依赖与任何测试框架,除了必要的浏览器驱动,不需要启动其他进程或安装其他程序。 1、安装第三方库
import pyautogui
import pyperclip
2、注册配音神器会员 使用比较方便,有app也有网页端,有包月包年的不同产品,其中限时98元,终身会员最实惠,普通主播的无限次导出基本够用,如果需要超级主播的声音,大家可以另外选择。
3 模拟鼠标
首先通过把pyautogui.PAUSE设置成float或int时间(秒),可以为所有的PyAutoGUI函数增加延迟。默认延迟时间是0.1秒。我们一般设置为0.5秒。先在任务栏切换当前页面到浏览器。
def task_area():
# 将鼠标移动至(100,200)任务栏
pyautogui.moveTo(51, 125)
pyautogui.leftClick()
鼠标先移动到左上角输入框的位置,左键单击,Ctrl+a全选,删除后,将剪贴板中的小说名称复制。这里字母Ctrl+a和Ctrl+v中字母必须是小写,如果是大写时,则会带上shift,在浏览器中Ctrl+Shift+A是搜索标签页的快捷键,不能进入全选。
def peiyin(name, text):
pyautogui.moveTo(360, 188)
pyautogui.leftClick()
# 字母是大写时,则会带上shift
pyautogui.hotkey('Ctrl', 'a', interval=0.1)
pyautogui.press("Delete")
pyperclip.copy(name)
pyautogui.hotkey('Ctrl', 'v')
pyautogui.moveTo(600, 600)
pyautogui.leftClick()
pyautogui.hotkey('Ctrl', 'a', interval=0.1)
pyautogui.press("Delete")
pyperclip.copy(text)
pyautogui.hotkey('Ctrl', 'v')
pyautogui.moveTo(1690, 178)
pyautogui.leftClick()
time.sleep(40)
pyautogui.moveTo(1777, 176)
pyautogui.leftClick()
time.sleep(10)
4 切分文本
由于配音神器对字数有限制,不超过5000字,对较长的小说文本需要先拆分。通常拆成三段,且需要以句号结尾,保证是完整的断句。
def split_file(file_str,num):
if file_str.__len__() <= 0: return
i = 0
len = int(file_str.__len__() / num)
sub = []
while i < num:
substr = file_str[0:len]
index = substr.rfind('。')
if index <= 0 :
print("。 is not exist")
return
substr = file_str[0:index+ 1]
sub.append(substr)
file_str = file_str[(index + 1):]
i = i + 1
if(file_str.__len__() < len):
break
return sub
按sub长度循环,获取每一段文本,调用前面的peiyin()方法,下载音频文件。
sub = string_util.split_file(text, 3)
for i in range(sub.__len__()):
gui_util.peiyin(name + '({})'.format(i+1), sub[i])
这样就批量得到了小说音频,可以分别保存到不同文件,方便后续制作。