ওএস এক্সের say
কমান্ডটি কিছু কাজের জন্য দরকারী (যেমন স্কাইপ এর 'কোনও পরিচিতি অনলাইনে আসার পরে আমাকে অবহিত করে) তবে এটি কিছু নাম ভুল করে উচ্চারণ করছে। say
কোনও শব্দ আলাদাভাবে উচ্চারণ করতে শেখানোর কোনও উপায় আছে কি ?
উদাহরণস্বরূপ, চেষ্টা করুন:
say "Hi, Joel Spolsky"
'ওল' শোনাচ্ছে 'পুরানো' এর চেয়ে 'বল'। আমি একটি ব্যতিক্রম যুক্ত করতে চাই যাতে নতুন ভাষাগত নিয়ম শেখানোর চেষ্টা না করে "স্পোলস্কিকে এই জাতীয় পছন্দ করুন" বলার অপেক্ষা রাখে। আমি বাজি ধরার একটি উপায় আছে যেহেতু এটি অ্যাপল চাইলে "আইফোন" উচ্চারণ করতে পারে।
আপডেট - কিছু গবেষণার পরে, আমি যা শিখেছি তা এখানে:
- পাঠ্য-থেকে-স্পিচটি পাঠ্যটিকে ফোনমেসে পরিণত করার মধ্যে বিভক্ত হয় এবং তারপরে ফোনেমেস একটি ভয়েস ব্যবহার করে অডিওতে পরিণত হয়। ভয়েস পরিবর্তন করা ফোনের উপর প্রভাব ফেলবে না।
- স্পিচ সংশ্লেষণ ম্যানেজার জন্য কিছু ফাংশন আছে phonemes পাঠ্য বাঁক , এবং একটি পদ্ধতি একটি বক্তৃতা অভিধান নিবন্ধনের যে নতুন টেক্সট নির্দিষ্ট কোনো ভাষার যে ধ্বনিগুচ্ছকে একই ধ্বনির বিভিন্ন রূপ বলিয়া মনে হয় মানচিত্রগুলি যোগ করা হবে। তবে অ্যাপলের স্পিচ ডিকশনারি অবশ্যই বাইনারি ফর্মের মধ্যে থাকতে হবে - আমি কোনও প্লাস্ট এক্সএমএল পাইনি।
dtrace
দৌড়ানোর সময় ব্যবহার করেsay
, আমি / সিস্টেম / লাইব্রেরি / প্রাইভেটফ্রেমওয়ার্কস / স্পিপডিয়েশনারি.ফ্রেমওয়ার্ক / রিসোর্সগুলিতে কিছু আকর্ষণীয় ফাইল খুলেছি। এটি সম্ভবত স্পিচ ডিকশনারি, তবে সেগুলি হ'মোফোনের ব্যতীত সমস্ত বাইনারি, যা এক্সএমএল। হোমোফোনগুলিতে এন্ট্রি যুক্ত করা কোনও কাজ করে না - এটি সম্ভবত স্পিচ টু-টেক্সটে ব্যবহৃত হয়। এগুলি অ্যাপল দ্বারা স্বাক্ষরিত কোডও রয়েছে - এগুলি পরিবর্তন করা কিছু প্রোগ্রামকে কাজ করা থেকে বিরত করতে পারে।- PrefixDictionary
- CartNames
- CartLite
- SymbolDictionary
- Homophones
- আছে উপায় আবেদন ইন্টারফেস উপাদানের টেক্সট সংস্করণ, যাতে VoiceOver কাজ করে, একজন বিকাশকারী বিনামূল্যে জন্য পায় যা অনেকটা যোগ করার জন্য, কিন্তু আছে চতুর বিট । এখানে স্ট্যান্ডার্ডটি প্রয়োজন হিসাবে ফোনেটিক বানানটি ব্যবহার করে বলে মনে হচ্ছে।
আমার অনুমানগুলি হ'ল:
say
স্পিচ সিন্থেসিস ম্যানেজারের উপরে কোডের একটি হালকা স্তর। বিকল্প ফোনমে ম্যাপিংয়ের জন্য অ্যাপল ডেভস-এর পক্ষে একটি স্পিচ ডিকশনারি প্লাস্টের পথে যাওয়ার জন্য একটি কমান্ড লাইন বিকল্প যুক্ত করা সহজ হবে, কিন্তু তারা তা করেনি। আরও ভাল লেখার জন্য এটি একটি কার্যকর ওপেন সোর্স প্রকল্প হতে পারেsay
।- স্কাইপ সম্ভবত স্পিচ সিনথেসিস ম্যানেজারটি সরাসরি ব্যবহার করবে, ফোনেটিকভাবে বানান বাদে আমার বন্ধুর নামগুলি যেভাবে উচ্চারণ করা হয় তা পরিবর্তনের জন্য কোনও হুক ছাড়েনি, যা নির্বোধ।
- কমান্ড লাইন সংস্করণ তৈরির সহজতম উপায়
say
হ'ল জে রবার্ট কীভাবে পরামর্শ দিয়েছেন।
ডগ হ্যারিসের বানান পরামর্শ ব্যবহার করে এখানে আমার দ্রুত বাস্তবায়ন:
#!/bin/sh
echo $@ | tr '[A-Z]' '[a-z]' |
sed "s/spolsky/spowlsky/g" |
/usr/bin/say
অবশেষে, কিছু মজাদার কমান্ড লাইন স্টাফ:
# Apple is weird
sqlite3 /System/Library/PrivateFrameworks/SpeechDictionary.framework/Resources/Tuples .dump
# Get too much information about what files are being opened
sudo dtrace -n 'syscall::open*:entry { printf("%s %s",execname,copyinstr(arg0)); }'
# Just fun
say -v bad "Joel Spolsky Spolsky Spolsky Spolsky Spolsky, Joel Spolsky Spolsky Spolsky Spolsky Spolsky"
echo "scale=1000; 4*a(1)" | bc -l | say
say -v alex 'Spolsky' ; say -v vicki 'Spolsky'; say -v bad 'Spolsky Spolsky Spolsky Spolsky Spolsky Spols'
। ভয়েসগুলির তালিকা সিস্টেমের পছন্দ -> স্পিচ -> পাঠ্য থেকে স্পিচে পাওয়া যাবে। সমস্যাটি ফোনম অনুবাদে, ভয়েস সংশ্লেষণে নয়। আপনি সরাসরি গ্রন্থাগার আহ্বান করা হয়, তাহলে আপনি কাস্টম phonemes সেট করতে পারেন: developer.apple.com/mac/library/documentation/Carbon/Reference/... আমার ডিস্ক খুঁজছেন কিনা দেখতে অ্যাপল devs একটি .plist ব্যবহৃত ...
say
ব্যবহার করে তা পরিবর্তন করার চেষ্টা করেছেন-v
?