आप OS X के बोल को IPA वर्ण कैसे कह सकते हैं?


5

मेरे पास बियोवुल्फ़ की लगभग 200 लाइनें हैं जो मेरे कुछ दोस्तों और मैंने लगभग डेढ़ साल पहले अंतर्राष्ट्रीय ध्वन्यात्मक वर्णमाला में प्रस्तुत की थीं। उस समय, हम जिन उपकरणों का उच्चारण वापस जाँचते थे, उनमें से एक था OS X का sayकमांड।

यहाँ IPA में परिवर्तित कविता के क्लेबर संस्करण के अनुसार पहली छः पंक्तियाँ हैं, जिन्हें मैं निश्चित रूप से जानता हूँ say, इसे ठीक से पढ़ सकते हैं, क्योंकि मैंने इसे स्वयं मैकबुक पर चलाया है, जहाँ से मैं यह प्रश्न लिख रहा हूँ:

hwæt we ˈɡɑːrˌdenɑ in ˈjæːɑrdɑɣum
ˈðeːodˌkyniŋɡɑ θrymː jeˈfruːnon
huː ðɑ æðelɪŋɡɑs ˈelːen ˈfremːedon!
oft ʃyld ʃefiŋ ˈʃæɑðenɑ θræːɑtum,
ˈmɑniɣum mæjθum ˈmeːodusetlə ovˈtæːax,
'ejzudə eːorɑs, syðːɑnærest wæːɑrð

अब, जैसा कि मैं कर सकता हूं, कोशिश करें, मैं इसे उपरोक्त पंक्तियों में से किसी एक को ठीक से पढ़ने के लिए नहीं पा सकता हूं। मैंने सभी अंग्रेजी बोलने वाली आवाज़ों की कोशिश की है (पूर्व 10.5 आवाज़ें प्रफुल्लित करने वाली हैं ), लेकिन जिन आवाज़ों पर मुझे यकीन है कि पहले काम किया गया था, जैसे कि फियोना और केट, अब आईपीए के पात्रों को पूरी तरह से अनदेखा करते हैं।

ये कुछ अन-डीआरवाई-वाई परीक्षण कमांड हैं जिन्हें मैंने इस समय उपयोग किया है:

say --rate=150 --voice=Fiona "/hwæt we ˈɡɑːrˌdenɑ in ˈjæːɑrdɑɣum/"
say --voice=Fiona "/hwæt we ˈɡɑːrˌdenɑ in ˈjæːɑrdɑɣum/"
say --rate=150 --voice=Fiona "hwæt we ˈɡɑːrˌdenɑ in ˈjæːɑrdɑɣum"
say --voice=Fiona "hwæt we ˈɡɑːrˌdenɑ in ˈjæːɑrdɑɣum"
say --voice=Fiona hwæt we ˈɡɑːrˌdenɑ in ˈjæːɑrdɑɣum
say --voice=Fiona /hwæt we ˈɡɑːrˌdenɑ in ˈjæːɑrdɑɣum/

लेकिन वे सभी characters को छोड़कर पूरी तरह से IPA वर्णों पर छोड़ देते हैं, जिसे कभी-कभी उच्चारित किया जाता है। ɣ निश्चित रूप से इसे कभी भी संश्लेषण में नहीं बनाता है, जो निश्चित रूप से पिछली बार किया था।

क्या मुझे कुछ याद आ रहा है, या क्या यह संभव है कि किसी कारण से उन्होंने हाल ही में अपडेट में आईपीए सुविधा को हटा दिया है? मुझे पूरा यकीन है कि यह मावेरिक्स था जिसका हम उपयोग कर रहे थे, लेकिन यह हिम तेंदुआ हो सकता था।


द्वितीय विश्व युद्ध के उद्धरणों का अनुमान लगाने पर, @ncdownpat सवालों में डूब गए हैं। ;)
बेंजामिन नोलन

मैं इसके बारे में थोड़ा और सोच रहा हूं, और मैंने इस साल की शुरुआत में अपने लैपटॉप को खाली कर दिया और ओएस एक्स को फिर से स्थापित किया। मुझे लगता है कि यह संभव है कि तेंदुए या हिम तेंदुए में कुछ था जो इस सुविधा का समर्थन करता था जिसे बाद के संस्करण में हटा दिया गया था, जैसे कि X11 को 10.6 और 10.7 के बीच हटा दिया गया था। हालांकि शर्म की बात होगी। ऐसा लगने लगा है कि मैं पुरानी अंग्रेज़ी बोलने के लिए टीटीएस इंजन में अपने हुक लिखने से बेहतर हो सकता हूं। : /
बेंजामिन नोलन

जवाबों:


7

यहां एक रूबी स्क्रिप्ट है जो यूनिकोड आईपीए पाठ की एक स्ट्रिंग लेती है और इसे ओएस एक्स के sayकमांड फोनेटिक सिंटैक्स में परिवर्तित करती है ।

इस रूबी कोड को एक फ़ाइल में स्लैप करें - चलो इसे कॉल करें ipa2say.rb। फ़ाइल को निष्पादन योग्य बनाएं (यानी chmod u+x ipa2say.rb)। निष्पादन योग्य निष्पादित करें, इसमें कुछ आईपीए पाठ को पाइप करना। बाहर कुछ ASCII ध्वन्यात्मक पाठ आएगा।

फिर डायरेक्शन के sayसाथ दौड़ें [[inpt PHON]]

तो, एक उदाहरण है। मान लें कि आप sayIPA टेक्स्ट "yountˈræʃənənəˈl f wantnɛtɪk ɛlfəˈbˈæt fəˈrɛvər" चाहते हैं। कमांड लाइन से:

echo "ˌɪntərˈnæʃənəl fəˈnɛtɪk ˈælfəˌbɛt fəˈrɛvər" | ./ipa2say.rb

यह बाहर थूक देगा:

IXntrnAESnl fAXnEHtIXk AElfbEHt frEHvr

आप फिर चलाते हैं: say "[[inpt PHON]]IXntrnAESnl fAXnEHtIXk AElfbEHt frEHvr"

यहाँ स्क्रिप्ट है।

#!/usr/bin/ruby -w

map =   {       'æ' => 'AE',
                'eɪ' => 'EY',
                'ɑ' => 'AO',
                'əˈ' => 'AX',
                'i' => 'IY',
                'ɛ' => 'EH',
                'ɪ' => 'IH',
                'aɪ' => 'AY',
                'ɪ' => 'IX',
                'ɑ' => 'AA',
                'u' => 'UW',
                'ʊ' => 'UH',
                'ʌ' => 'UX',
                'oʊ' => 'OW',
                'aʊ' => 'AW',
                'ɔɪ' => 'OY',
                'b' => 'b',
                'ʧ' => 'C',
                'd' => 'd',
                'ð' => 'D',
                'f' => 'f',
                'g' => 'g',
                'h' => 'h',
                'ʤ' => 'J',
                'k' => 'k',
                'l' => 'l',
                'm' => 'm',
                'n' => 'n',
                'ŋ' => 'N',
                'p' => 'p',
                'r' => 'r',
                's' => 's',
                'ʃ' => 'S',
                't' => 't',
                'θ' => 'T',
                'v' => 'v',
                'w' => 'w',
                'j' => 'y',
                'z' => 'z',
                'ʒ' => 'Z',
                'ɜ' => '',
                ' ' => ' ',
                'ˈ' => ''
        }

text = ARGF.read

substring = ''

text.split("").each do |c|

    substring << c

    if substring.length == 2
        if map.has_key? substring
            print map[ substring ]
        else
            front = substring[0]
            if map.has_key? front
                print map[ front ]
            end
            back = substring[1]
            if map.has_key? back
                print map[ back ]
            end
        end

        substring = ''
    end
end

3
यह भयानक है, हालांकि यह ध्यान देने योग्य है कि [[inpt PHON]] केवल उन आवाजों पर समर्थित है जो 10.6 से पहले OS X में थीं। उदाहरण के लिए, यह आधुनिक आवाज़ों की तुलना में बहुत कम गुणवत्ता वाला है, और यह बहुत अच्छा होगा, क्योंकि उदाहरण के लिए, फियोना में डेटा फीड करना अच्छा होगा। ओह अच्छा!
बेंजामिन नोलन

हाँ, यह नई आवाज़ों के साथ काम नहीं करता है।
एडीबी

मुझे पूर्व 10.6 आवाज़ों की यह सूची मिली: alvinalexander.com/blog/post/mac-os-x/… गैर- नौटंकी वाले हैं: एग्नेस, कैथी, राजकुमारी, विकी, विक्टोरिया, ब्रूस, फ्रेड, जूनियर, राल्फ । मैंने जाँच नहीं की है कि उनमें से कौन वास्तव में अभी तक आईपीए के साथ काम करता है।
tobych

1

यदि यह किसी वाक्यांश के साथ काम नहीं करता है, तो प्रत्येक शब्द के चारों ओर कोष्ठक / स्लैश का प्रयास करें। यह काम नहीं करता है:

say "/hwæt we ˈɡɑːrˌdenɑ in ˈjæːɑrdɑɣum/"

लेकिन ऐसा लगता है:

say "/hwæt/ /we/ /ˈɡɑːrˌdenɑ/ /in/ /ˈjæːɑrdɑɣum/"

वर्ग कोष्ठक भी काम करते हैं:

say "[huː] [ðɑ] [æðelɪŋɡɑs] [ˈelːen] [ˈfremːedon]"

सौभाग्य!

(संपादित किया गया क्योंकि मैंने फिर से पढ़ा और देखा कि आपने पूरे वाक्यांश के आसपास के स्लैश की कोशिश की।)


1
हम्म ... मुझे यकीन नहीं है कि यह वास्तव में इसे आईपीए के रूप में पढ़ रहा है। जब मैं उन आदेशों को चलाता हूं तो ऐसा लगता है कि यह सभी गैर-अंग्रेजी पात्रों को छोड़ रहा है। अगर मैं करता हूं say -v Alex "/hwæt/ /we/ /ˈɡɑːrˌdenɑ/ /in/ /ˈjæːɑrdɑɣum/", तो यह कहता है "वीह वार्डन वर्षदौ">। <हालांकि कोशिश करने के लिए धन्यवाद। :)
बेंजामिन नोलन
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.