Mac OS X - Thay đổi nhanh giọng nói để chuyển văn bản thành giọng nói


10

Tôi yêu tính năng chuyển văn bản thành Speech của Mac OS X. Vì tôi không phải là người nói tiếng Anh bản địa nên tôi rất hài lòng về tất cả các ngôn ngữ bổ sung được thêm vào kể từ khi Lion xuất hiện. Tuy nhiên, tôi sử dụng tiếng Anh cũng như tiếng mẹ đẻ của mình (tiếng Đức). Thay đổi giọng nói là một chút đau đớn. Nó chỉ đòi hỏi quá nhiều bước để được thoải mái.

Có cách nào để làm điều này dễ dàng? Tôi đang tìm kiếm các phím tắt, có thể một menu thả xuống ở đâu đó ở góc bên phải, mọi thứ sẽ ổn.

Vì tìm kiếm của tôi không thành công, tôi hy vọng sẽ tìm thấy một số lời khuyên ở đây trên SuperUser. Cảm ơn rất nhiều!

cu Roman


Tôi đang dùng Mac và đã tạo Talkie: tiện ích mở rộng trình duyệt chuyển văn bản thành giọng nói với tính năng phát hiện ngôn ngữ tự động. Tất cả đều là nguồn mở, nhưng một số tính năng có trong bản phân phối thương mại Talkie Premium. Dễ sử dụng nhất trong trình duyệt (với các phím tắt), nhưng bạn có thể sử dụng nó từ bất kỳ ứng dụng nào thông qua bảng tạm (cao cấp). Có thể giúp bạn ra ngoài! joelpurra.com/projects/talkie
Joel Purra

Câu trả lời:


9

Tôi đã sử dụng FastScripts để gán một lối tắt cho tập lệnh này:

try
    set old to the clipboard as record
end try
try
    tell application "System Events" to keystroke "c" using command down
    delay 0.05
    say (the clipboard) using "Kyoko"
end try
try
    set the clipboard to old
end try

Bạn cũng có thể tạo một dịch vụ trong Automator:

Có một lỗi trong 10.7 và 10.8 trong đó các phím tắt cho dịch vụ Automator không hoạt động cho đến khi bạn di chuột qua menu dịch vụ từ thanh menu. WorkflowServiceRunner cũng có thể sử dụng hơn 100% CPU trong khi nói văn bản.

Một tùy chọn khác là sử dụng kịch bản UI để thay đổi giữa hai giọng nói:

tell application "System Preferences"
    reveal anchor "TTS" of pane "com.apple.preference.speech"
end tell
tell application "System Events" to tell process "System Preferences"
    tell pop up button 1 of tab group 1 of window 1
        click
        delay 0.1
        if value is "Alex" then
            click menu item "Victoria" of menu 1
        else
            click menu item "Alex" of menu 1
        end if
    end tell
end tell
quit application "System Preferences"

Thay đổi khóa ChọnVoiceID trong com.apple.speech.voice.prefs.plist cũng hoạt động, nhưng tôi không biết cách áp dụng các thay đổi ngay lập tức.


Wow, cảm ơn rất nhiều vì câu trả lời rất chi tiết này và đã cho tôi thấy rất nhiều lựa chọn. Dịch vụ Automator hoạt động rất tốt đối với tôi, hơn nữa bây giờ tôi biết về các dịch vụ đó. Tôi có thể muốn thêm một số cái khác nữa :)

1
Công cụ tuyệt vời. Kể từ OSX 10.10: Để áp dụng các thay đổi cho ~/Library/Preferences/com.apple.speech.voice.prefs.plistngay lập tức, hãy chạy pkill com.apple.speech.speechsynthesisd, điều này khiến hệ thống tự động khởi động lại quá trình, tại đó các thay đổi được chọn.
mkuity0

1
Trên OS X 10.10.4 của tôi, tập lệnh UI của bạn chỉ hoạt động nếu tôi chèn dòng "kích hoạt" giữa dòng 1 và 2. Nếu không, tôi gặp lỗi: „tab nhóm 1 của cửa sổ 1 của quá trình \" Tùy chọn hệ thống \ " được đọc ... Bất kỳ đề xuất tại sao điều này áp dụng cho tôi nhưng không phải cho người khác?
Jens Wirth

3

Cảm ơn bạn rất nhiều Lauryi.

Tôi đã mở rộng cách tiếp cận kịch bản UI của bạn để hoạt động chính xác với giọng nói tiếng Đức và tiếng Anh. Vấn đề là, khi ngôn ngữ hệ thống của bạn không phải là tiếng Anh, tất cả các ngôn ngữ không thuộc hệ thống đều bị ẩn (nếu không được chọn hiện tại). Bạn phải chọn: hiển thị nhiều giọng nói hơn .. trước tiên để có được ngôn ngữ mong muốn. Mã của tôi thiếu một chút thanh lịch, nhưng hoạt động. Đây là (cập nhật):

tell application "System Preferences"
    reveal anchor "TTS" of pane "com.apple.preference.speech"
end tell
set tom to 0
tell application "System Events" to tell process "System Preferences"
    tell pop up button 1 of tab group 1 of window 1
        click
        delay 0.2 -- without this the value was sometimes "Loading Voices…"

        if value is "Tom" then
            click menu item "Anna" of menu 1
        else
            click menu item "Mehr Stimmen anzeigen" of menu 1 -- show up all available voice
            set tom to 1
        end if
    end tell
end tell
if tom is 1 then
    delay 0.5
    tell application "System Events" to tell process "System Preferences"
        tell pop up button 1 of tab group 1 of window 1
            click
            delay 0.2 -- without this the value was sometimes "Loading Voices…"
            click menu item "Tom" of menu 1
        end tell
    end tell
end if
quit application "System Preferences"

0

Thay đổi trực tiếp thành ~/Library/Preferences/com.apple.speech.voice.prefs.plistkhông thực sự cần thiết nếu bạn nhận được các giọng nói bash-script thực sự bổ sung tất cả các chức năng dòng lệnh bạn cần.

Tập lệnh Apple để thay đổi giọng nói chuẩn thành Alex bằng Voices sẽ trông giống như thế này:

on run
    do shell script "voices -d Alex"
end run

Tôi thích thiết bị đầu cuối hơn và thay vì kiểm tra sự xâm nhập của thanh menu polyglot, tôi đã tạo tập lệnh shell (thừa nhận đơn giản-ngu ngốc) này (sử dụng giọng nói) cho nhu cầu chuyển đổi ngôn ngữ của mình. Với nó, tất cả những gì tôi làm để thay đổi ngôn ngữ mặc định là bật vào thiết bị đầu cuối để gõ speak swedishhoặc speak french. Điều này phù hợp xuất sắc trong quy trình làm việc của tôi. Tôi hy vọng bạn có thể tìm thấy một giải pháp phù hợp với bạn.

# Choose a voice in one of some selected languages
# Use "voices" from https://github.com/mklement0/voices#manual-installation

if [[ $1 = "" ]]
then
    echo "ERROR. No language specified. Type a language as in 'speak hebrew'"
fi
if [[ $1 = "swedish" || $1 = "Swedish" ]]
then
    voices -d Klara
fi
if [[ $1 = "english" || $1 = "English" ]]
then
    voices -d Daniel
fi
if [[ $1 = "american" || $1 = "American" ]]
then
    voices -d Alex
fi
if [[ $1 = "french" || $1 = "French" ]]
then
    voices -d Aurelie
fi
if [[ $1 = "spanish" || $1 = "Spanish" ]]
then
    voices -d Jorge
fi

Tôi lưu nó vào tập lệnh của mình dưới dạng "speak.command", chmod it + x và thêm bí danh thích hợp vào .bash_profile của tôi để gợi lên nó bằng cách gõ speak.


Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.