Saya sering menggunakan fungsi Text to Speech Mac. Di bawah Pengaturan> Pidato> Teks ke Pidato Saya juga telah menetapkan "Kunci" untuk akses cepat.
Karena saya juga ingin Text to Speech membaca bahasa Jerman dan OS Lion menawarkan Voices untuk bahasa lain, saya ingin memiliki pintasan kedua untuk bahasa Jerman.
Adakah yang tahu di mana saya bisa mengatur ini? Atau satu-satunya cara untuk mengubah Suara Sistem secara konstan sebelum saya ingin teks bahasa Jerman dibaca? (Dan kemudian mengatur ulang suara ke Alex untuk teks bahasa Inggris)? Dan bagaimana dengan teks Prancis?
Pilihan apa yang ada untuk masalah umum ini?
macos
keyboard
text-to-speech
Yusuf
sumber
sumber
Jawaban:
Katakan sebagai ...
Anda dapat menggunakan
say
perintah dengan suara OS X lainnya untuk mendapatkan bahasa yang berbeda. GunakanThomas
suara untuk mendapatkan pengucapan bahasa Prancis atauYannick
untuk bahasa Jerman.Dalam contoh ini, saya akan menggunakan Thomas dan Prancis karena ini adalah apa yang saya ketahui tetapi
Yannick
harus berfungsi juga untuk teks Jerman.Coba perintah berikut di Aplikasi> Utilitas> Terminal.app :
Jika ini dapat diterima, Anda dapat membungkus
say
perintah di layanan Automator; yang akan kita lakukan selanjutnya.Layanan Automator
Untuk membuat Layanan Automator:
Salin dan tempel di AppleScript di bawah ini:
Untuk menggunakan layanan ini:
Dan lagi! Bahasa dan suara lain tersedia.
Pendekatan Automator ini memungkinkan Anda untuk mengatur suara default komputer Anda ke bahasa pilihan Anda. Sementara memungkinkan teks yang dipilih untuk dibaca dalam suara alternatif.
Suara dan Bahasa yang Tersedia
Anda dapat membuat daftar suara yang tersedia dan bahasa yang terkait dengan perintah:
Suara-suara yang tersedia dapat berubah di antara versi macOS. Pada macOS 10.13, perintah kembali:
sumber
Jenis posting lama dan mungkin Anda sudah menemukan solusinya. Salah satu cara untuk menyederhanakan ini adalah dengan Automator.
Buka Automator, pilih Layanan, Layanan menerima teks yang dipilih, seret tindakan "Ucapkan Teks" untuk membangun alur kerja pilih Suara (misalnya: Ryan Speaking) Simpan
Ulangi dengan suara yang berbeda.
(Daftar Layanan dapat diedit / dibersihkan dengan Aplikasi Scrubber Layanan dan sebagian di bawah Preferensi Sistem> Keyboard> Pintasan Keyboard> Layanan)
Edit: Sekarang Anda memiliki dua atau lebih Suara di bawah Menu Layanan, Anda dapat pergi ke: Preferensi Sistem> Keyboard> Pintasan Keyboard> Pintasan Aplikasi dan buat Pintasan baru untuk setiap suara.
Sejauh ini, berfungsi seperti ini di mesin saya (OS 10.6.8): Default System Voice: Ryan (Infovox) Shortcut Dipilih dalam Speech Pref to Control + S. Ini memulai dan menghentikan teks bahasa Inggris.
Suara Jerman saya telah menetapkan Control + Y (suara Yannick dari Lion OS). Control + Y memulai suara Jerman untuk teks yang dipilih Jerman; yang dapat dihentikan dengan mengklik pintasan start / stop utama dua kali, di sini Kontrol + S + S. Alasan untuk dua kali adalah karena menekan sekali memulai suara bahasa Inggris di atas suara Jerman. Itu yang terbaik yang bisa saya sampaikan sejauh ini. Pastikan pintasan tidak bertentangan dengan pintasan lainnya. Anda akan melihat bahwa pintasan tambahan memungkinkan Anda untuk memulai beberapa utas suara, berbicara satu sama lain ditambah suara sistem default, yang mendorong aktivitas prosesor, tetapi tidak ada masalah jika seseorang ingat untuk menghentikan pembicaraan dengan mengeksekusi ganda pintasan untuk suara default.
Tidak yakin apakah ini berfungsi di seluruh sistem, tetapi berfungsi di browser saya, Mail, dan aplikasi BookReader yang saya gunakan.
Sunting 2: Saya perhatikan bahwa ketika mengaktifkan suara text-to-speech sekunder melalui Layanan Automator, proses Automator Runner meningkatkan aktivitas prosesor hingga di atas 100% dengan kecepatan kipas. Tidak yakin apakah ada solusi untuk ini.
sumber
Anda juga bisa mengatur suara sistem ke yang Prancis.
Buka System Preferences> Dictation & Speech> Text to Speech dan atur suara sistem ke
Thomas
misalnya.Kemudian:
Ada juga opsi untuk mengatur pintasan, jadi Anda bisa memilih teks apa saja dan tekan pintasan untuk mulai berbicara dalam bahasa Prancis.
sumber
Saya menulis alat untuk itu, buka saja:
https://github.com/Fredmf/polyglott
sumber
Luncurkan Automator.app
Buat Layanan baru
Tambahkan aksi Teks Bicara
Pilih Samantha
Simpan layanan sebagai SpeakSamantha
Siapkan pintasan keyboard untuk layanan ini
Buka Preferensi Sistem
Pilih Keyboard
Pilih Jalan Pintas
Pilih Layanan
Buat pintasan, Command + Alt + 1 untuk SpeakSamantha
Untuk menggunakan layanan ini
Buka browser
Pilih beberapa teks bahasa Inggris
Tekan Command + Alt + 1
Untuk menghentikan pembicaraan (Metode 1)
Untuk menghentikan pembicaraan (Metode 2)
Klik ikon roda pemutar di bilah menu
Klik ⨂
Untuk menambahkan suara kedua
Ulangi proses di atas dengan menambahkan perubahan kecil berikut
Pilih suara kedua, misalnya, Anna , suara Jerman
Simpan layanan sebagai SpeakAnna
Buat pintasan keyboard, Command + Alt + 2 untuk SpeakAnna
Masalah kecil yang diketahui: Jangan menekan pintasan lagi sebelum Anda mengakhiri pidato atau pidato berakhir. Jika tidak, Anda akan mendapatkan pesan kesalahan seperti berikut ini.
sumber
Menggunakan layanan khusus dengan
Speak Text
tindakan standar untuk berbicara teks yang dipilih dengan suara alternatif tertentu memiliki satu kelemahan utama, sebagaimana dirinci dalam jawaban Mikofox :Anda tidak dapat dengan mudah menghentikan pemutaran dengan cara yang Anda bisa dengan layanan TTS bawaan hanya dengan menekan pintasan keyboard lagi.
Ada dua solusi :
Pengungkapan: Saya membuat layanan yang sudah dikemas dan
voices
CLIBangun layanan khusus dengan
Run Shell Script
tindakan sebagai gantinya, di mana Anda menggunakansay
CLI , yang memungkinkan penerapan toggle pemutaran (berhenti bicara jika dipanggil saat masih berbicara dari doa sebelumnya)Atau, buat layanan yang mengalihkan suara default sesuai permintaan , yang kemudian memungkinkan Anda untuk menggunakan layanan TTS bawaan dengan fitur sakelar pemutaran.
voices
CLI :Ikuti instruksi di sini atau gunakan tautan unduhan langsung (akan tetap terkini).
Implementasi sederhana dari layanan dengan toggle playback :
Seperti yang dinyatakan, ini tidak akan menghormati tarif berbicara khusus yang dikonfigurasi untuk suara yang dipilih.
Run Shell Script
tindakan dan rekatkan yang berikut:sumber
Seperti yang disebutkan Mikofox, Anda dapat membuat layanan Automator untuk berbicara teks:
Ada bug di 10.8 dan 10.7 di mana pintasan untuk layanan Automator tidak selalu berfungsi sampai Anda mengarahkan kursor ke menu layanan dari bilah menu.
WorkflowServiceRunner juga dapat menggunakan lebih dari 100% CPU saat berbicara teks.
Saya telah menggunakan FastScripts untuk menetapkan pintasan ke skrip ini:
Pilihan lain adalah menjalankan sesuatu seperti
pbpaste | say -v kyoko
.sumber
echo 'Guten Tag. Wie geht es?' | pbcopy && pbpaste | say -v Anna