1 前言

哈嘍,大家好,我是了不起。 最近小說推文的項目很火,主要路徑是通過抖音視頻為知乎鹽選專欄小說導流,賺取推廣費。前面文章介紹了用代碼文本轉語音,但是合成的語音比較生硬,沒有抖音小姐姐的聲音柔和動聽,這里給大家介紹如何控制配音神器批量轉語音。

2 準備

是一種用于web應用程序的自動化測試工具,它提供了一套友好的API,完全就是一套類庫,不依賴與任何測試框架,除了必要的瀏覽器驅動,不需要啟動其他進程或安裝其他程序。 1、安裝第三方庫

import?pyautogui
import?pyperclip

2、注冊配音神器會員 使用比較方便,有app也有網頁端,有包月包年的不同產品,其中限時98元,終身會員最實惠,普通主播的無限次導出基本夠用,如果需要超級主播的聲音,大家可以另外選擇。

3 模擬鼠標

首先通過把.設置成或int時間(秒),可以為所有的函數增加延遲。默認延遲時間是0.1秒。我們一般設置為0.5秒。先在任務欄切換當前頁面到瀏覽器。

def?task_area():
????#?將鼠標移動至(100,200)任務欄
????pyautogui.moveTo(51,?125)
????pyautogui.leftClick()

鼠標先移動到左上角輸入框的位置,左鍵單擊,Ctrl+a全選,刪除后,將剪貼板中的小說名稱復制。這里字母Ctrl+a和Ctrl+v中字母必須是小寫,如果是大寫時,則會帶上,在瀏覽器中Ctrl++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?

按sub長度循環,獲取每一段文本,調用前面的()方法,下載音頻文件。

sub?=?string_util.split_file(text,?3)
?????for?i?in?range(sub.__len__()):
????????????gui_util.peiyin(name?+?'({})'.format(i+1),?sub[i])

這樣就批量得到了小說音頻,可以分別保存到不同文件,方便后續制作。