วิธีการส่งออกข้อความเป็นคำพูดโดยใช้บรรทัดคำสั่ง?


84

วิธีรับเอาต์พุตเสียงพูดจากข้อความที่ป้อนโดยใช้บรรทัดคำสั่ง

นอกจากนี้ยังมีสิ่งอำนวยความสะดวกในการเปลี่ยนแปลงอัตราการพูด, สนาม ฯลฯ ปริมาณการใช้คำสั่งง่ายๆ


คำตอบ:


125

ตามลำดับความนิยม :

  • พูดแปลงข้อความเป็นเสียงพูดโดยใช้เอ็นจินคำพูดของ GNUstep

    sudo apt-get install gnustep-gui-runtime
    say "hello"
    
  • เทศกาลระบบการสังเคราะห์เสียงพูดหลายภาษาทั่วไป

    sudo apt-get install festival
    echo "hello" | festival --tts
    
  • spd-sayส่งคำขอเอาต์พุตข้อความเป็นคำพูดไปยังโปรแกรมส่งคำพูด

    sudo apt-get install speech-dispatcher
    spd-say "hello"
    
  • espeakเป็นซอฟต์แวร์สังเคราะห์เสียงพูดหลายภาษา

    sudo apt-get install espeak
    espeak "hello"
    

13
spd-sayดูเหมือนจะติดตั้งใน 14.04 และต่อมา: releases.ubuntu.com/trusty/...
Ciro Santilli新疆改造中心法轮功六四事件

3
นอกจากนี้sudo pip install gTTS(Google Text to Speech / github.com/pndurette/gTTS ) จากนั้นgtts-cli "hello" -o hello.mp3คุณสามารถส่งไปmpg123 -ที่ gtts-cli "why, hello there" | mpg123 -.
Elijah Lynn

น่าเสียดายที่spd-sayดูเหมือนจะไม่สามารถเล่น tts พร้อมกันได้เพียงครั้งเดียวเท่านั้น
phil294

@ElijahLynn ไม่ทำงาน
Dims

espeak/ spd-sayเป็นสิ่งที่ดีที่สุดสำหรับ memes (คนอื่นไม่สามารถออกเสียงคำว่า "meme" ได้อย่างถูกต้อง) ดีที่สุดที่ฉันสามารถบอกได้ว่าการspd-sayใช้งานespeakเป็นแบ็กเอนด์ (เสียงฟังเหมือนกัน)
QwertyChouskie

18

espeak เป็นเครื่องมือเล็ก ๆ ที่ดี

ฉันชอบเล่นกับมันในบรรทัดคำสั่ง คุณอาจพบว่ามันขัดแย้งกับ Pulseaudio ดังนั้นฉันจึงใช้เวอร์ชั่นที่ยืดเยื้อซึ่งไม่เห็นด้วยกับการตั้งค่าอย่างถูกต้อง

sudo apt-get install espeak
espeak --stdout "this is a test" | paplay

espeak --help จะแสดงตัวเลือกในการปรับเทียบความเร็วในการอ่านระดับเสียงและอื่น ๆ

เมื่อคุณทำบันทึกของคุณให้บันทึกเป็นไฟล์ข้อความจากนั้น:

echo "these are my notes" > text.txt
espeak --stdout -f text.txt > text.wav
paplay text.wav # you should hear "these are my notes"

จากนั้นคุณสามารถเล่นกับ ffmeg et al เพื่อบีบอัดไฟล์นี้จาก PCM ไปยังสิ่งที่จัดการได้ง่ายกว่าเช่น MP3 หรือ OGG แต่นั่นเป็นเรื่องที่แตกต่าง


1
เยี่ยมมาก, เราสามารถลองใช้ส่วนต่อประสานกราฟิกกับ espeak, espeak-gui
Sabacon

14

จากman spd-say:

ชื่อ
       spd-say - ส่งคำขอเอาต์พุตข้อความเป็นคำพูดไปยัง speech-dispatcher

สรุป
       spd-say [options] "ข้อความบางส่วน"

รายละเอียด
       spd-say ส่งคำร้องขอเอาต์พุตข้อความเป็นคำพูดไปยังกระบวนการ speech-dispatcher ซึ่งจัดการมันและให้ผลลัพธ์ที่ดีเลิศ
       ระบบเสียง

ตัวเลือก
       -r, - อัตรา
              กำหนดอัตราการพูด (ระหว่าง -100 ถึง +100, ค่าเริ่มต้น: 0)

       -p, - pitch
              กำหนดระดับเสียงของคำพูด (ระหว่าง -100 ถึง +100 ค่าเริ่มต้น: 0)

       -i, - ปริมาณ
              ตั้งค่าระดับเสียง (ความเข้ม) ของเสียงพูด (ระหว่าง -100 ถึง +100, ค่าเริ่มต้น: 0)

ดังนั้นคุณจะได้รับข้อความเป็นคำพูดโดยคำสั่งดังต่อไปนี้:

spd-say "<type text>"

Ex:

spd-say "Welcome to Ubuntu Linux"

นอกจากนี้คุณยังสามารถตั้งค่าอัตราการพูดระดับเสียงระดับเสียง ฯลฯดูที่หน้าคน


3
spd-say -t female2 "text"ทำให้สามารถรับไว้ได้
scorpiodawg

6

Mbrola ไม่ทำงานตั้งแต่ 11.10

เครื่องมือ SVOX (pico) ติดตั้งง่ายใช้งานง่ายและนำเสียงคุณภาพดีมาใช้ใน Ubuntu ติดตั้ง:

sudo apt-get install libttspico0 libttspico-utils libttspico-data

ง่ายยิ่งขึ้นคุณสามารถใช้ LibreOffice ร่วมกับเครื่องมือ SVOX (pico) โดยติดตั้งส่วนขยาย "อ่านข้อความ"และคุณได้รับ "GUI" สำหรับซอฟต์แวร์ TTS ที่ยอดเยี่ยมนี้:

ตั้งค่าตัวเลือก Read Text Extensionพร้อมเครื่องมือ - ส่วนเสริม - อ่านตัวเลือก .... ใช้ / usr / bin / python เป็นโปรแกรมภายนอก เลือกตัวเลือกบรรทัดคำสั่งที่มีโทเค็น (PICO_READ_TEXT_PY)


4

Python Google Speach:

pip install google_speech

google_speech "Test the hello world"

Svox จาก Android:

apt-get install svox-pico

pico2wave --wave=test.wav "Test the hello world"
play test.wav

Svox Nanotts:

git clone https://github.com/gmn/nanotts.git
cd nanotts
make

./nanotts -v en-US "Test the hello world"

ลิงค์ - Wiki:

การเปรียบเทียบเครื่องสังเคราะห์เสียงพูด


1
การติดตั้งและใช้งานgoogle_speechบน Ubuntu 18.04 ผมได้มีการติดตั้งpython3-pipและการใช้งานlibsox-fmt-mp3 pip3 install google_speech
artm

3

และอีก GUI gespeakereSpeak: มันใช้ทั้งเครื่องยนต์espeakและ นอกจากนี้ก็มีตัวเลือกมากกว่าmbrolaespeak-gui


3

ต่อไปนี้ไม่ใช่โซลูชัน FLOSS แต่คุณอาจพบว่าคุ้มค่า (มันเป็นวิธีแก้ปัญหาไวน์ )

โดยส่วนตัวฉันชอบ TTS มากฉันใช้มันบ่อยมาก ... เช่น กำลังฟังคำปราศรัยในการเดินเที่ยวซึ่งฉันจะไม่ไปยุ่งกับคนอื่น (เพราะฉันต้องการกาแฟเพิ่มอีกหนึ่งถ้วย ... :)

บางสิ่งที่ฉันได้ค้นพบตลอดทาง .. หรือฉันควรจะพูดว่าสิ่งที่ฉันไม่ได้ค้นพบตลอดทาง ... วิธีที่จะนำมันโผงผาง: ซอฟต์แวร์เสียงFOSS TTSทุกชิ้นที่ฉันได้ลองอยู่ภายใต้มาตรฐาน ไม่เหมาะสำหรับการฟังแบบกึ่งยืดเยื้อ ...

ฉันใช้ NaturalVoices ของ ATnT มันใช้ได้เฉพาะกับ Windows (อาจเป็น Mac) แต่ทำงานภายใต้wineใน Ubuntu .. (มี glytch เล็กน้อยซึ่งบางครั้งฉันต้องคลิกที่แผงเมื่อฉันย้ายออกจากเครื่องอ่าน ... มันเป็นรอง ปัญหาเมื่อเปรียบเทียบกับความได้เปรียบที่ได้รับจากคุณภาพการพูดจาก NatualVoices

บางสิ่งอื่น ๆ ที่ฉันพบว่ามีความจำเป็นอย่างยิ่งต่อประสบการณ์การฟังที่เข้าใจยากนั่นคือ ...

  1. โปรแกรม TTS เหล่านี้ไม่ฉลาด (อาจฉลาดเหมือนลิงบาบูน) ดังนั้นพวกเขาจึงต้องการความช่วยเหลือเล็กน้อยทุกประการ และมีหนึ่งโปรแกรม (และมีเพียงหนึ่งโปรแกรมReader ที่ฉันพบซึ่งช่วยได้มากในแอพนี้ .. แอพนี้มีชื่อว่าReadPlease (2003 Pro)... มันอนุญาตให้คุณปรับเปลี่ยนคำและกลุ่มคำเป็นพิเศษให้ออกเสียงตามที่คุณต้องการ ... ไม่ได้สมบูรณ์แบบ แต่สำหรับฉันมันสร้างความแตกต่างระหว่างกระบวนการทั้งหมดที่ใช้งานได้และไม่สามารถใช้งานได้ ...

  2. คำพูดใน Natural Voices "โอเค" แต่มันน่าเบื่อนิดหน่อย มีผลิตภัณฑ์ที่ดีอื่น ๆ ด้วยเช่นกัน แต่มันมีไว้สำหรับ Windows แต่น่าเสียดายที่) ..
    มันสร้างความประหลาดใจได้เป็นอย่างดีบางครั้ง .. แต่ OMG เริ่มแรกมันเจ็บปวด! .. ดังนั้น # 2 คือ * อดทน ... และอัปเดตรายการ "คำศัพท์พิเศษ" ของคุณมากมาย ... ด้วยความอดทนฉันหมายถึงคุณ (I) จริง ๆ แล้วก็คุ้นเคยกับรูปแบบการพูดของลิงบาบูนเฉพาะของฉัน:) ... และโดย ตอนนี้ฉันมีคำประมาณ 3000 คำซึ่งฟังว่า "มนุษย์" พอที่ฉันจะไม่ประจบประแจงอีกต่อไปเมื่อฉันได้ยินพวกเขา

    3 .. "Follow the Bouncing Ball" ... อีกครั้งเพราะเสียงไม่ดีเท่าลำโพงตัวจริงบางครั้งสิ่งต่าง ๆ ต้องได้รับการอธิบาย .. โปรแกรม Reader ที่ฉันใช้มีคุณสมบัติหนึ่งที่ฉันใช้งานได้แม้จะมีอินเตอร์เฟซที่ดูน่าเบื่อ ... มีตัวเลือกคำว่า "เลือกที่กำลังอ่านอยู่ในขณะนี้" ผู้อ่านหลายคนมีสิ่งนี้ แต่ ReadPlease จะรักษาบรรทัดปัจจุบันไว้ จุดกึ่งกลางของหน้าจอ .. นี่เป็นสิ่งที่ประเมินค่าไม่ได้ที่จะมองไปข้างหน้าและข้างหลังเพื่ออ่านสิ่งที่คุณเพิ่งพลาดไปอย่างรวดเร็ว (ดังนั้นการจัดกึ่งกลางบรรทัดที่อยู่โดยอัตโนมัติถือว่าดี)

นั่นคือประสบการณ์ของฉัน .. ฉันจะทำกาแฟตอนนี้และในขณะที่ฉันทำมันฉันจะฟังสิ่งนี้เพื่อดูว่า "อ่าน" ได้อย่างไร .... TTS น่าประหลาดใจที่ดีในการรับ พิมพ์ผิด (ฉันทำผิดจำนวนมาก) ...

หากบางสิ่งที่ดีพอ ๆ กับ ATnT NaturalVoices ปรากฎบนที่เก็บ Ubuntu ผมจะกระโดดข้ามมันไป

นี่คือลิงค์ไปยังกลุ่มตัวอย่างของNatural Voices : ฉันใช้ "MIke"


3

SVOX pico2wave

นั่นคือสิ่งที่ฉันใช้ และฟังดูเป็นธรรมชาติเข้าใจได้ง่ายรู้จักหน่วย (m, ° C, kg, ... )

นี่คือโพสต์แรกของฉันเพื่อ pico2wave

ข้อความที่ทำให้เกิดเสียงพูดเป็นธรรมชาติ?

สิ่งที่คุณต้องทำคือ:

ไปที่ศูนย์ซอฟต์แวร์ Ubuntu และค้นหา "pico" คุณจะพบ 4 หรือ 5 รายการด้วย "Small Footprint Ling ... " ติดตั้งพวกเขา

การใช้งานที่เป็นไปได้ของ pico2wave อธิบายไว้ในการโพสต์ครั้งแรกของฉัน (ตามลิงค์ด้านบน)

บาย


ฉันได้ใช้วิธีของคุณคุณสามารถบอกฉันได้อย่างไรว่าจะได้รับเสียงหวานธรรมชาติของผู้หญิงโดยใช้วิธีการของคุณ
user49557

3

สำหรับfestival(เสียงดูเหมือนเป็นธรรมชาติสำหรับฉัน):

sudo apt-get install festival

echo "hello" | festival --tts

การตั้งค่าระดับเสียงและความเร็ว:

สร้าง~/.festivalrc:

(Parameter.set 'Audio_Command "play -b 16 -c 1 -e signed-integer -r $SR -t raw $FILE tempo 1.5 pitch -100") (Parameter.set 'Audio_Method 'Audio_Command)

ดูเพิ่มเติมที่http://www.solomonson.com/content/ubuntu-linux-text-speech

อัปเดต: ลองในคอมพิวเตอร์ ubuntu เครื่องอื่น ต้องติดตั้งชุดภาษาอังกฤษเพื่อทำงานร่วมกับเทศกาลอย่างถูกต้อง:

sudo apt-get install festvox-kallpc16k

ยังplayเป็นคำสั่ง cli ที่มาพร้อมกับsoxแพ็คเกจ:

sudo apt-get install sox



2

พบespeak-ng- ซอฟต์แวร์สังเคราะห์เสียงพูดหลายภาษา:

espeak-ng "text to read"
espeak-ng -f "~/file to read"

มันใช้เสียงภาษาอังกฤษเริ่มต้น แต่มีเสียงอื่น ๆ อีกมากมายสำหรับภาษาอื่นและแม้กระทั่งภาษาที่มีอยู่และสามารถแสดงด้วยespeak-ng --voices(สำหรับทั้งหมด) หรือเช่นespeak-ng --voices=en(สำหรับภาษาอังกฤษ) สามารถตั้งค่าพร้อม-vกับตัวย่อภาษาหรือชื่อไฟล์เช่นสำหรับ Scottish หรือ Swahili:

espeak-ng -v en-gb-scotland "text to read" # language name
espeak-ng -v bnt/sw "text to read" # file name: “bnt” for Bantu, “sw” for Swahili

มีตัวเลือกอื่น ๆ อีกมากมายเช่น-sความเร็วและ-wการเขียนเอาต์พุตไปยังไฟล์ wave ดู manpage ที่ลิงก์ด้านล่าง

อ่านเพิ่มเติม

espeak-ng(“นาโน” กับ“รุ่นต่อไป”) เป็นส้อมพัฒนาอย่างแข็งขันของเดิมespeakซอฟต์แวร์สังเคราะห์เสียงพูดให้ดูที่บทประวัติวิกิพีเดีย ทั้งสองมีให้จากแหล่งที่เป็นทางการผ่านแพคเกจespeakหรือespeak-ngตามลำดับ


0

Balabolka ภายใต้ไวน์ทำงานได้ดี (สำหรับฉัน) ด้วยเสียง SAPI4 (ไม่พบเสียง SAPI5 ในระบบ Linux ของฉัน) มันสามารถเปิดไฟล์และเริ่มอ่าน

นี่คือลิงค์ไปยังรายการ AppDB ของไวน์สำหรับ Balabolka: https://appdb.winehq.org/objectManager.php?sClass=application&iId=17859


0

เครื่องมือ gTTS นั้นยอดเยี่ยมสำหรับการสร้างไฟล์เสียงจากข้อความ มันใช้ API การอ่านออกเสียงข้อความของ Google แปลภาษาและสร้างไฟล์ MP3
เนื่องจากมันใช้pipสำหรับการติดตั้งฉันขอแนะนำให้คุณติดตั้ง Miniconda แล้วใช้condaเพื่อสร้างสภาพแวดล้อมที่คุณสามารถติดตั้ง gTTS คุณสามารถดาวน์โหลด Miniconda ได้จากที่นี่:

https://docs.conda.io/en/latest/miniconda.html

ที่เก็บ GitHub สำหรับ gTTS คือ:

https://github.com/pndurette/gTTS

และคุณสามารถหาเอกสารของ gTTS ได้ที่นี่:

https://gtts.readthedocs.io/en/latest/

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.