मैक ओएस एक्स के साथ कमांड-लाइन आवाज की पहचान


7

मैं कमांड लाइन से मैक ओएस एक्स पर आवाज पहचान कैसे कर सकता हूं? विवरण:

% जब मैं ~ / पुस्तकालय / भाषण / बोलने योग्य वस्तुओं में देखता हूं, तो मुझे कई फाइलें दिखाई देती हैं, जैसे "मुझे एक चुटकुला सुनाएं", जिनकी सामग्री हैं:

<?xml version="1.0" encoding="UTF-8"?> 
<!DOCTYPE plist SYSTEM "file://localhost/System/Library/DTDs/PropertyList.dtd"> 
<plist version="0.9"> 
<dict> 
        <key>BuiltInCommandID</key> 
        <integer>105</integer> 
        <key>semanticCategory</key> 
        <string>globalTellMeAJoke</string> 
        <key>alternativeSpokenFeedback</key> 
        <string></string> 
        <key>suppressSpokenConfirmation</key> 
        <string>yes</string> 
        <key>alternativeFeedback</key> 
        <string></string> 
        <key>DefaultCommandName</key> 
        <string>Tell me a joke</string> 
</dict> 
</plist> 

% OS X कैसे जानता है कि इस फाइल को कब लाया जाए? जब मैं कुछ कहता हूं, तो क्या यह मेल खाने वाले फ़ाइलनाम के लिए दिखता है?

OS X कैसे जानता है कि कमांड को कैसे चलाना है? मुझे उस फ़ाइल में कुछ भी नहीं दिखाई देता है जो कहती है कि क्या कमांड चलाना है ("मुझे एक चुटकुला बताओ" कमांड-लाइन कमांड नहीं है)।

% मुझे पता है कि कुछ ओसाकोम्पाइल जादू चल रहा है, लेकिन यह पता नहीं लगा सकता कि यह क्या है।

मैं स्ट्रिंग "एस" के लिए सुनने के लिए ओएस एक्स कैसे प्राप्त कर सकता हूं और जवाब में कार्यक्रम "सीएमडी" चला सकता हूं? मैं इसे विशुद्ध रूप से कमांड-लाइन से करना पसंद करूंगा, लेकिन अगर मुझे एक ग्राफिकल प्रोग्राम खोलना है, तो मैं करूंगा।

जवाबों:


3

आप बोलने योग्य वस्तुओं पर Apple के दस्तावेज़ीकरण को पढ़ने में दिलचस्पी ले सकते हैं , लेकिन आपके प्रश्न का प्रासंगिक हिस्सा, "मैं स्ट्रिंग" s "सुनने के लिए OS X कैसे प्राप्त कर सकता हूं और जवाब में" cmd "प्रोग्राम चला सकता हूं?" है:

आप इसे बोलने योग्य बनाने के लिए किसी आइटम को स्पीकेबल आइटम फ़ोल्डर में जोड़ सकते हैं।

किसी स्पोकन कमांड का उपयोग करके कुछ खोलने के लिए, बस इसे स्पीकेबल आइटम फ़ोल्डर में जोड़ें। आप कुछ भी खोलने के लिए एक कमांड का उपयोग कर सकते हैं जिसे आप डबल क्लिक करके खोल सकते हैं, जिसमें एप्लिकेशन, फाइलें और वेब साइट शामिल हैं। आप स्क्रिप्ट भी लिख सकते हैं और उन्हें फ़ोल्डर में जोड़ सकते हैं।

"ओएस एक्स कैसे जानता है कि कमांड को कैसे चलाना है? इस संबंध में मुझे उस फ़ाइल में कुछ भी नहीं दिखाई देता है जो कहती है कि क्या कमांड चलाना है?", आपके द्वारा पोस्ट की गई फ़ाइल का प्रासंगिक हिस्सा है:

    <key>BuiltInCommandID</key> 
    <integer>105</integer> 
    <key>DefaultCommandName</key> 
    <string>Tell me a joke</string> 

यह कह रहा है, जब बोला गया कमांड "मुझे एक मजाक बताओ" प्राप्त होता है, आंतरिक कमांड आईडी # 105 चलाएं, जो कि "मुझे एक मजाक बताओ" कमांड है।

इस मामले में आप भाषण प्रणाली के लिए एक आंतरिक कमांड देख रहे हैं। लेकिन आप AppleScripts या shell कमांड को भी बोलने योग्य आइटम फ़ोल्डर में जोड़ सकते हैं।

मैक ओएस एक्स संकेत पर यह लेख उपयोगी भी हो सकता है।

संपादित करें: कुछ शोध के बाद मुझे यकीन नहीं है कि आप शेल स्क्रिप्ट को सीधे वहां से चला सकते हैं, लेकिन थोड़ा सा AppleScript रैपर लिखने में काफी आसान होगा, और आप इसे लिख भी सकते हैं ताकि इसे दोहराया और नाम बदला जा सके, और यह बस चलेगा /scriptsया कुछ और से इसी शेल स्क्रिप्ट ।


वाह, तो OS X वास्तव में फ़ाइल नाम के लिए सुनता है! मेरे दिमाग में शानदार डिजाइन नहीं है, लेकिन दिलचस्प है।
बैरीकेटर

हाँ, यह सुनिश्चित करता है। वास्तव में मुझे विश्वास है कि यह जो करता है वह उस फ़ोल्डर को हर 20 सेकंड में बचाता है, सभी फाइलनामों को ध्वन्यात्मक अभ्यावेदन में परिवर्तित करता है, और उन कमांड की सूची में जोड़ता है जिनके बारे में वह जानता है। व्यक्तिगत रूप से, मुझे लगता है कि यह एक शानदार डिज़ाइन है - अंतिम उपयोगकर्ता के लिए अच्छा और सरल!
जोश

मेरी एकमात्र पकड़ यह है कि प्रोग्राम फ़ाइल सामग्री पर निर्भर होना चाहिए, फ़ाइल नाम पर नहीं। हालाँकि, आपने जो कहा वह काम करता है और मैं बस चीजों को खुद पर बहुत मुश्किल बना रहा था (कोई संकलन या आवश्यक कुछ भी नहीं)। जाहिर है, साधारण चीजें मुझे भ्रमित करती हैं!
बैरीकेटर
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.