İki dilde Metin-Konuşma kısayolları


13

Mac'in Metin Okuma işlevini çok kullanıyorum. Ayarlar> Konuşma> Metinden Konuşmaya altında da hızlı erişim için bir "Anahtar" ayarladım.

Ayrıca Metin Okuma'nın Almanca okumasını istediğimden ve OS Lion diğer diller için Sesler sunduğundan, Almanca için ikinci bir kısayol istiyorum.

Bunu nerede ayarlayabileceğimi bilen var mı? Yoksa bir Almanca metnin okunmasını istemeden Sistem Sesini sürekli değiştirmenin tek yolu mu? (Ve sonra sesi İngilizce metinler için Alex'e sıfırlayın)? Peki ya Fransızca metin?

Bu genel sorun için hangi seçenekler var?


2
OS X'te zaten yerleşik olan işlevselliği denediniz mi?
nohillside

Yanıtlar:


19

Şöyle söyle…

Sen kullanabilirsiniz sayfarklı dilleri almak için OS X'in diğer seslerle komutu. ThomasFransızca telaffuz almak Yannickiçin veya Almanca için sesi kullanın .

Bu örnekte, Thomas ve Fransızca'yı kullanacağım, çünkü bildiğim budur ama YannickAlmanca metin için de çalışması gerekir.

Uygulamalar> Yardımcı Programlar> Terminal.app içinde aşağıdaki komutu deneyin :

say -v Thomas  "Bonjour. Je m'appelle Thomas."

Bu kabul edilebilirse, saykomutu bir Automator hizmetinde tamamlayabilirsiniz; sonra yapacağız.

Otomator Hizmeti

Automator Hizmetini oluşturmak için:

  1. Automator.app uygulamasını başlat
  2. Yeni bir Hızlı Eylem oluşturma (önceden Hizmet )
  3. AppleScript Çalıştır eylemi ekleme
  4. Aşağıdaki AppleScript'e kopyalayıp yapıştırın:

    on run {input, parameters}
        do shell script "say -v Thomas " & (quoted form of (input as string))
        return input
    end run
    
  5. Hizmeti Fransızca Konuş olarak kaydet

Automator servis hizmeti

Hizmeti kullanmak için:

  1. TextEdit veya Safari'de metin seçme
  2. Control + İçerik Menüsünü görüntülemek için tıklayın
  3. Hizmetler> Fransızca konuş'u seçin

Et voilà! Diğer diller ve sesler kullanılabilir.

Bu Automator yaklaşımı, bilgisayarınızın varsayılan sesini tercih ettiğiniz dile ayarlamanıza olanak tanır. Seçilen metnin alternatif sesle okunmasına izin verirken.

Kullanılabilir Sesler ve Diller

Kullanılabilir sesleri ve bunlarla ilişkili dilleri komutla listeleyebilirsiniz:

say -v ?

Kullanılabilir sesler macOS sürümleri arasında değişebilir. MacOS 10.13'te komut şunu döndürür:

Alex                en_US    # Most people recognize me by my voice.
Alice               it_IT    # Salve, mi chiamo Alice e sono una voce italiana.
Alva                sv_SE    # Hej, jag heter Alva. Jag är en svensk röst.
Amelie              fr_CA    # Bonjour, je m’appelle Amelie. Je suis une voix canadienne.
Anna                de_DE    # Hallo, ich heiße Anna und ich bin eine deutsche Stimme.
Carmit              he_IL    # שלום. קוראים לי כרמית, ואני קול בשפה העברית.
Damayanti           id_ID    # Halo, nama saya Damayanti. Saya berbahasa Indonesia.
Daniel              en_GB    # Hello, my name is Daniel. I am a British-English voice.
Diego               es_AR    # Hola, me llamo Diego y soy una voz española.
Ellen               nl_BE    # Hallo, mijn naam is Ellen. Ik ben een Belgische stem.
Fiona               en-scotland # Hello, my name is Fiona. I am a Scottish-English voice.
Fred                en_US    # I sure like being inside this fancy computer
Ioana               ro_RO    # Bună, mă cheamă Ioana . Sunt o voce românească.
Joana               pt_PT    # Olá, chamo-me Joana e dou voz ao português falado em Portugal.
Jorge               es_ES    # Hola, me llamo Jorge y soy una voz española.
Juan                es_MX    # Hola, me llamo Juan y soy una voz mexicana.
Kanya               th_TH    # สวัสดีค่ะ ดิฉันชื่อKanya
Karen               en_AU    # Hello, my name is Karen. I am an Australian-English voice.
Kyoko               ja_JP    # こんにちは、私の名前はKyokoです。日本語の音声をお届けします。
Laura               sk_SK    # Ahoj. Volám sa Laura . Som hlas v slovenskom jazyku.
Lekha               hi_IN    # नमस्कार, मेरा नाम लेखा है. मैं हिन्दी में बोलने वाली आवाज़ हूँ.
Luca                it_IT    # Salve, mi chiamo Luca e sono una voce italiana.
Luciana             pt_BR    # Olá, o meu nome é Luciana e a minha voz corresponde ao português que é falado no Brasil
Maged               ar_SA    # مرحبًا اسمي Maged. أنا عربي من السعودية.
Mariska             hu_HU    # Üdvözlöm! Mariska vagyok. Én vagyok a magyar hang.
Mei-Jia             zh_TW    # 您好,我叫美佳。我說國語。
Melina              el_GR    # Γεια σας, ονομάζομαι Melina. Είμαι μια ελληνική φωνή.
Milena              ru_RU    # Здравствуйте, меня зовут Milena. Я – русский голос системы.
Moira               en_IE    # Hello, my name is Moira. I am an Irish-English voice.
Monica              es_ES    # Hola, me llamo Monica y soy una voz española.
Nora                nb_NO    # Hei, jeg heter Nora. Jeg er en norsk stemme.
Paulina             es_MX    # Hola, me llamo Paulina y soy una voz mexicana.
Samantha            en_US    # Hello, my name is Samantha. I am an American-English voice.
Sara                da_DK    # Hej, jeg hedder Sara. Jeg er en dansk stemme.
Satu                fi_FI    # Hei, minun nimeni on Satu. Olen suomalainen ääni.
Serena              en_GB    # Hello, my name is Serena. I am a British-English voice.
Sin-ji              zh_HK    # 您好,我叫 Sin-ji。我講廣東話。
Tessa               en_ZA    # Hello, my name is Tessa. I am a South African-English voice.
Thomas              fr_FR    # Bonjour, je m’appelle Thomas. Je suis une voix française.
Ting-Ting           zh_CN    # 您好,我叫Ting-Ting。我讲中文普通话。
Tom                 en_US    # Hello, my name is Tom. I am an American-English voice.
Veena               en_IN    # Hello, my name is Veena. I am an Indian-English voice.
Victoria            en_US    # Isn't it nice to have a computer that will talk to you?
Xander              nl_NL    # Hallo, mijn naam is Xander. Ik ben een Nederlandse stem.
Yelda               tr_TR    # Merhaba, benim adım Yelda. Ben Türkçe bir sesim.
Yuna                ko_KR    # 안녕하세요. 제 이름은 Yuna입니다. 저는 한국어 음성입니다.
Yuri                ru_RU    # Здравствуйте, меня зовут Yuri. Я – русский голос системы.
Zosia               pl_PL    # Witaj. Mam na imię Zosia, jestem głosem kobiecym dla języka polskiego.
Zuzana              cs_CZ    # Dobrý den, jmenuji se Zuzana. Jsem český hlas.

2
Kendi anadili olan Fransız konuşmacı olarak kendi değerlendirmemize dayanarak sesin çok iyi olduğunu söyleyebilirim. Cevabınızı yükseltmek için bu siteye yeni katıldım!
Rahat

2
mükemmel cevap! Diğer diller için de kolayca genelleştirilebilir. Bu durumda anlatıcıların adı ne olurdu? :-)
Ant

Diğer birçok ses ve dil mevcuttur; bkz Diğer Diller bölümüne.
Graham Miln

1
Cevabı güncelledim; Hizmetin artık macOS 10.14'te Hızlı Eylem olarak adlandırıldığını düşünüyorum .
Graham Miln

Siri'nin sesini seçmenin bir yolu var mı?
SuperSpy

6

Bir tür eski yazı ve belki zaten bir çözüm buldunuz. Bunu basitleştirmenin bir yolu Automator'dur.

Automator uygulamasını açın, Service'i seçin, Service seçilen metni alır, "Work Speak" metnini sürükleyin ve worklow oluşturmak için Voice seçin (örneğin: Ryan Speaking) Kaydet

Farklı seslerle tekrarlayın.

(Hizmetler Listesi, Servis Scrubber Uygulaması ile ve kısmen Sistem Tercihleri> Klavye> Klavye Kısayolları> Hizmetler altında düzenlenebilir / temizlenebilir)

Düzenleme: Artık Servisler Menüsü altında iki veya daha fazla Sesiniz var: Sistem Tercihleri> Klavye> Klavye Kısayolları> Uygulama Kısayolları'na gidebilir ve her ses için yeni bir Kısayol oluşturabilirsiniz.

Şimdiye kadar, makinemde böyle çalışıyor (OS 10.6.8): Varsayılan Sistem Sesi: Ryan + (Infovox) Konuşma Kısayolunda Control + S'ye Göre Seçilmiş. Bu İngilizce metni başlatır ve durdurur.

Control + Y (Lion OS'den Yannick sesi) atadığım Alman sesi. Control + Y Almanca seçilen metin için Almanca ses başlatır; Ana başlat / durdur kısayoluna iki kez tıklayarak durdurulabilir, burada Control + S + S. İki kez olmasının nedeni, bir kez basmak İngiliz sesini Alman sesi üzerinden başlatmasıdır. Buraya kadar gelebildiğim en iyisi bu. Kısayolların diğer kısayollarla çakışmadığından emin olun. Ek kısayolun birkaç ses iş parçacığını başlatmanızı sağladığını, birbirinizle konuştuğunu ve varsayılan sistem sesini, işlemcinin etkinliğini artıracağını, ancak varsayılan ses.

Bunun sistem genelinde çalıştığından, ancak tarayıcılarımda, Mail'de ve kullandığım BookReader uygulamasında çalışıp çalışmadığından emin değilim.

Düzenleme 2: Automator Hizmeti aracılığıyla ikincil bir metin-konuşma sesini etkinleştirirken, Automator Runner işleminin fanlar hızlanırken işlemci etkinliğini% 100'ün üzerine çıkardığını fark ettim. Bunun bir çözümü olup olmadığından emin değilim.


1
Automator iş akışınızın ekran görüntüsünü ekleyebilir misiniz? Automator ile bunu anlamak genellikle metinsel bir
tanımdan

2

Ayrıca sistem sesini Fransızca olarak ayarlayabilirsiniz.

Git Konuşmaya Sistem Tercihleri> Dikte & Konuşma> Metin ve sistem sesini ayarlamak Thomasörneğin.

Sonra:

  1. Herhangi bir uygulamadaki herhangi bir metni seçin
  2. Control+ Bağlam menüsünü görüntülemek için tıklayın
  3. Konuşma> Konuşmaya Başla'yı seçin

Bir kısayol ayarlama seçeneği de vardır, böylece herhangi bir metni seçebilir ve Fransızca konuşmaya başlamak için kısayola basabilirsiniz.



2
  1. Automator.app uygulamasını başlat

  2. Yeni bir Hizmet oluşturun

  3. Metin Konuş eylemi ekleme

  4. Samantha'yı seçin

  5. Hizmeti SpeakSamantha olarak kaydedin

Metin Konuş eylemi ekleme

Hizmet için bir klavye kısayolu ayarlama

  1. Açık Sistem Tercihleri

  2. Klavye Seç

  3. Kısayolları Seçin

  4. Hizmet Seçin

  5. SpeakSamantha için bir kısayol, Command + Alt + 1 oluşturun

SpeakSamantha için kısayol oluşturma

Hizmeti kullanmak için

  1. Bir tarayıcı açın

  2. Bazı İngilizce metinleri seçin

  3. Command + Alt + 1 tuşlarına basın

Konuşmayı durdurmak için (Yöntem 1)

  1. Alt + ESC tuşlarına basın

Konuşmayı durdurmak için (Yöntem 2)

  1. Menü çubuğunda dönen dişli çark simgesini tıklayın

  2. Click

Menü çubuğunda dönen dişli çark simgesini tıklayın

İkinci bir ses eklemek için

  1. Aşağıdaki küçük değişiklikleri ekleyerek yukarıdaki işlemi tekrarlayın

  2. İkinci bir ses seçin, örneğin Anna , bir Alman sesi

  3. Hizmeti SpeakAnna olarak kaydedin

  4. SpeakAnna için bir klavye kısayolu oluşturun, Command + Alt + 2

Bilinen küçük bir sorun: Konuşmayı bitirmeden veya konuşma bitmeden bir kısayola tekrar basmayın. Aksi takdirde, aşağıdaki gibi bir hata mesajı alırsınız.

resim açıklamasını buraya girin


1

Speak TextSeçili metni belirli bir alternatif sesle konuşmak için standart eylemle özel bir hizmet kullanmanın , Mikofox'un cevabında ayrıntılı olarak açıklandığı gibi büyük bir dezavantajı vardır :

Dahili TTS servisi ile klavye kısayoluna tekrar basarak oynatmayı olabildiğince kolayca durduramazsınız .

Orada iki çözüm :

Açıklama: Önceden paketlenmiş hizmetleri ve voicesCLI'yi oluşturdum

  • Bunun yerine, bir oynatma geçişinin uygulanmasına izin veren CLI'yi kullandığınız bir Run Shell Scripteylemle özel bir hizmet oluşturun (önceki çağrıdan hala konuşurken çağrılırsa konuşmayı durdurma)say

    • Çalışan basit bir uygulama için aşağıya bakın, ancak Sistem Tercihleri ​​aracılığıyla tek tek sesler için yapılandırmış olabileceğiniz özel konuşma hızlarına (dakika başına kelime) uymayacaktır.
    • Özel konuşma oranlarını onurlandıran bir çözüm biraz daha fazla çalışma gerektirir; burada önceden paketlenmiş bir hizmet bulabilirsiniz ; veya doğrudan indirme bağlantısını kullanın (güncel kalacaktır).
  • Alternatif olarak, isteğe bağlı varsayılan sesi değiştiren bir hizmet oluşturun , bu da dahili TTS hizmetini çalma / kapatma geçiş özelliğiyle kullanmanızı sağlar.


Oynatma geçişli bir hizmetin basit uygulaması :

Belirtildiği gibi, bu, seçilen ses için yapılandırılan özel konuşma oranlarına uymayacaktır.

  • Automator'da yeni bir hizmet oluşturma
  • Varsayılanları bırak (hizmet herhangi bir uygulamada metin alır)
  • Bir Run Shell Scripteylem ekleyin ve aşağıdakileri yapıştırın:
#  ------- BEGIN: CUSTOMIZE
 # Specify the voice to speak with.
voice=Vicki
#  ------- END: CUSTOMIZE

  # If `say` is running, we assume that a previous invocation is still speaking  
  # and speaking should be *stopped*.
  # Caveat: This will only work if either the original app from which speaking was initiated is still
  #         frontmost with text selected, or, coincidentally, a now different frontmost app also has
  #         text selected. Otherwise, this service won't be active.
pgrep -x say && { pkill -x say; exit; }

  # Read the text to speak into a variable.
txt=$(</dev/stdin)

  # Speak, using the standard `say` CLI.
say -v "$voice" "$txt"

0

Mikofox'un belirttiği gibi, metin konuşmak için bir Automator hizmeti yapabilirsiniz:

10.8 ve 10.7'de, Automator hizmetleri kısayollarının menü çubuğundan hizmetler menüsünün üzerine gelinceye kadar her zaman çalışmadığı bir hata var.
WorkflowServiceRunner ayrıca metin konuşurken% 100'den fazla CPU kullanabilir.

Bu komut dosyasına bir kısayol atamak için FastScripts kullandım:

try -- if the clipboard is empty, trying to get it results in an error
    set old to the clipboard as record
end try
try
    tell application "System Events" to keystroke "c" using command down
    delay 0.05
    set input to the clipboard
    try
        set the clipboard to old
    end try
    say input using "Kyoko"
end try

Başka bir seçenek sadece böyle bir şey çalıştırmaktır pbpaste | say -v kyoko.


1
Aletlerinizde Siri'nin sesini seçmenin bir yolu var mı? Anahtar varsayılan ses yardımcı programını oluşturduğunuz için teşekkür ederiz!
SuperSpy

Bu pbpaste tekniği mükemmel! Teşekkürler! echo 'Guten Tag. Wie geht es?' | pbcopy && pbpaste | say -v Anna
Vladimir Vukanac
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.