標籤

bat (54) 作品 (41) python (24) shell (17) windows (11) 虛擬機 (11) php (10) CPP (6) KMS (6) 程式設計 (6) docker (5) 使用教學 (5) xoops (4) 公文 (4) Apache2 (3) Excel (3) juniper (3) 資料庫 (3) 轉檔 (3) mysql (2) 免動手 (2) 資料結構 (2) 軟體廣播 (2) 電腦維修 (2) Android Studio (1) Apple IPAD管理 (1) Arduino (1) CSS (1) LAMP (1) NAS (1) Ubuntu (1) VHD (1) Windows Server (1) 原因 (1) 程式應用 (1) 程式積木 (1) 編輯器 (1) 雲端硬碟 (1)

2022年7月7日 星期四

python 只要點兩下,就可以利用同學的重點整理文字稿製作有聲書(讀取TXT文字轉成mp3)


        最近要考試,希望能得到好成績。但是自己沒時間靜下心來好好閱讀,希望自己能夠善用時間,在公車、火車上用[聽],自己跟著聲音將書中的重點念出來。目前同學已經將書中重點整理成文字電子檔,但是聲音要怎麼出來。有兩種方法:1.傳統方法 2.程快速方法。其中
1.傳統方法:
    所需設備:錄音機:一台、文字稿:一份、人:一個
            方式:人照著文字稿一字一句唸出聲音,錄音機將聲音錄起來。
            缺點:耗時
            優點:聲音非常有感情
2.快速方法:
    所需設備:電腦:一台、文字稿:一份
            方法:電腦將文字稿轉成mp3
            優點:省時
            缺點:聲音沒有感情
        這兩種方法當然各有利弊。現在要針對同學整理重點文字電子稿,快速做出mp3。讓自己在車上反覆聽,將知識隨著自己耳聽口說融入腦海中。
       最後完成程式:
下載檔案。解壓密碼:demo1234
教學影片:

        以下是程式原始碼的內容:
程式目的:讀取Txt.txt 將之轉成merge.mp3
程式名稱:Txt2Mp3Python.py
程式內容:
from gtts import gTTS
import os

mp3_path=str(os.path.abspath(os.getcwd()))+'\\mp3\\'
i = 0
merge_file = list()
# 一行一行地讀取Txt.txt,轉成 001.mp3 002.mp3 003.mp3 ...
TxtFileName = 'Txt.txt'
with open(TxtFileName) as f:
    for line in f.readlines():
        i=i+1
        myobj = gTTS(text=line, lang='zh', slow=True)
        myobj.save(mp3_path+str(i).zfill(3)+'.mp3')
        merge_file.append(mp3_path+str(i).zfill(3)+'.mp3')

merge_file_mp3 = list()
# mp3資料夾內mp3 合併成 merge.mp3
for j in merge_file:
    with open(j,'rb') as f:
        merge_file_mp3.append(f.read())

with open('merge.mp3','wb') as f:
    for j in merge_file_mp3:
        f.write(j)


文字稿名稱:Txt.txt
文字稿內容:
    誠信,如同一輪明月普照大地,以它的清輝驅盡人間的陰影;誠信如一束玫瑰的芬芳,能打動有情人的心。無論時空如何變幻,都閃爍著誘人的光芒。有了她,生活就有了芬芳,有了她,人生就有了追求!
    它掌握在人手上,會讓太多的是是非非,太多的流言蜚語,頓時暗淡,進而煙消雲散它們失去了存在的理由。它平凡而又高深,簡單而又複雜,於是,上帝讓它擔負起了開啟成功之門的重任,可曾有多少人懷疑它被藏在了天使的翅膀里,他們總是仰望天空去尋找它,卻不知它就在地上,就在每個人身邊,只不過有人把它看作是一種裝飾品罷了。
    從古時起,金鑰匙便散布在人間的每個角落並早被古人意識著。有人不屑;有人追求;有人成功。還有古語為證:成在學、思、行,行在誠、實、信、車無轅不行,人無信不立、有德有才者,謂之君子;有德無才者,謂之賢人;有才無德者,謂之小人。上述三句古言也反映了誠信、成人、成才的關係。其中成在學、思、行,行在誠、實、信就已經高度概括了誠信、成人、成才的關係,誠信是基礎,然後才談得上探索如何成人與成才。
    要注意才不等於財,誠信與財富無關但誠信遠比財富重要。有的人富了,反而離誠信遠了,離平庸近了;有的人很窮,卻擁有了誠信,且無處不在。誠信需要用互動來維持,它是有回報的,然而誠信又並非簡單地視為感情投資,它並不是要你稍微有了一點資本以後,你就可以讓別人誠信於你,而不是你對別人誠信。人的一生就是在相信別人和讓別人相信自己中度過的。從相信別人到相信自己彷彿更是順風順水的事。由此綜觀中國歷史,誠信曾引出了多少時代驕子。
    大家有沒有想過,沒有誠信,這個世界會是什麼樣子呢。孩子說謊、朋友違約、貪官吟喔不決、奸商東遊西盪,到處充滿爾虞我詐,勾心鬥角。人人都生活在欺騙的面具下面,你的眼睛還可以相信誰呢。料是誰都會一籌莫展,終日人心惶惶,那活在世間又能得到什麼樂趣呢。人類文明又怎能前進呢。一個言而無信的人,他又怎能保住人格的最低限度。此類人繁衍凝聚成的又是怎樣的一種族魂、國格呢。長此下去,人類文明將停滯不前。有誰還想重複國王新衣的故事呢。還是這話說得好:要使社會上所有人都講誠信,那未免過於天真,而若連講誠信的人都找不出,那又未免過於墮落。
    誠信是另類的大樹,濃郁挺拔,無論雨有多大,它都始終婆娑搖曳著。誠信是一面鮮明的旗幟,迎風搖曳,無論風有多烈,它都始終隨風舞動著。


資料來源:

文字稿資料來源:


6 則留言:

  1. 請問有沒支援英文, 我把lang='en'後, 得到錯誤如下,謝謝.
    Traceback (most recent call last):
    File "C:\Users\TsaiWing\Downloads\mp3Python\Txt2Mp3Python.py", line 13, in
    myobj.save(mp3_path+str(i).zfill(3)+'.mp3')
    File "C:\Users\TsaiWing\AppData\Local\Programs\Python\Python310\lib\site-packages\gtts\tts.py", line 329, in save
    self.write_to_fp(f)
    File "C:\Users\TsaiWing\AppData\Local\Programs\Python\Python310\lib\site-packages\gtts\tts.py", line 310, in write_to_fp
    for idx, decoded in enumerate(self.stream()):
    File "C:\Users\TsaiWing\AppData\Local\Programs\Python\Python310\lib\site-packages\gtts\tts.py", line 260, in stream
    prepared_requests = self._prepare_requests()
    File "C:\Users\TsaiWing\AppData\Local\Programs\Python\Python310\lib\site-packages\gtts\tts.py", line 209, in _prepare_requests
    assert text_parts, "No text to send to TTS API"
    AssertionError: No text to send to TTS API

    回覆刪除
    回覆
    1. 您可能需要安裝套件gTTS。請下指令:pip install gTTS

      刪除
    2. 我改寫成英文版。並且編譯成EXE。網址:https://skjhcreator.blogspot.com/2022/07/zh-en.html
      您可以到那去下載英文版

      刪除
    3. 我是用visual studio code + python 3.9.謝謝改編英文版,可用.大大幫助.

      刪除
    4. 給個可能不太重要的建議,可以在import套件時使用try,然後在expect裡面用os.system('pip install ...')直接給使用者安裝套件,這樣的好處是轉成exe時就不用大費周章告訴使用者要安裝哪些套件,在大專案要import很多東西時特別好用。

      刪除
  2. 感恩!!原來還可以這樣!!太棒了!!感恩!!

    回覆刪除

只要點兩下,就能夠將InputAndOutput資料夾底下的子子孫孫資料夾內所有Word通通轉成PDF

  系列文章: 1. 只要點兩下,就能將一堆的Doc與Docx 轉成 PDF 1. https://skjhcreator.blogspot.com/2023/05/docdocx-pdf.html 2. 只要點兩下,就能將一堆的JPG轉成一個PDF,並以JPG所在的資料夾名稱為...