Java Speech API
জাভা স্পিচ এপিআই (জে. এস. এ. পি. আই) হল কমান্ড এবং কন্ট্রোল রিকগনিজার, ডিক্টেশন সিস্টেম এবং স্পিচ সিন্থেসাইজারের ক্রস-প্ল্যাটফর্ম সমর্থনের জন্য একটি অ্যাপ্লিকেশন প্রোগ্রামিং ইন্টারফেস। যদিও জে. এস. এ. পি. আই শুধুমাত্র একটি ইন্টারফেসকে সংজ্ঞায়িত করে, তবে তৃতীয় পক্ষের দ্বারা তৈরি বেশ কয়েকটি বাস্তবায়ন রয়েছে, উদাহরণস্বরূপ ফ্রিটিটিএস। মূল প্রযুক্তিগুলি জাভা স্পিচ এপিআই-এর মাধ্যমে দুটি মূল বক্তৃতা প্রযুক্তি সমর্থিত হয়ঃ বক্তৃতা সংশ্লেষণ এবং বক্তৃতা স্বীকৃতি। বক্তৃতা সংশ্লেষণ একটি অ্যাপ্লিকেশন, একটি অ্যাপলেট বা ব্যবহারকারীর দ্বারা উত্পন্ন পাঠ্য থেকে সিন্থেটিক বক্তৃতা তৈরির বিপরীত প্রক্রিয়া প্রদান করে। এটি প্রায়শই টেক্সট-টু-স্পিচ প্রযুক্তি হিসাবে উল্লেখ করা হয়। পাঠ্য থেকে বক্তৃতা তৈরির প্রধান পদক্ষেপগুলি নিম্নরূপঃ কাঠামো বিশ্লেষণঃ অনুচ্ছেদ, বাক্য এবং অন্যান্য কাঠামো কোথায় শুরু এবং শেষ হয় তা নির্ধারণ করার জন্য ইনপুট পাঠ্য প্রক্রিয়া করে। বেশিরভাগ ভাষার জন্য, এই পর্যায়ে বিরামচিহ্ন এবং বিন্যাসের তথ্য ব্যবহার করা হয়। পাঠ্য প্রাক-প্রক্রিয়াকরণঃ ভাষার বিশেষ গঠনের জন্য ইনপুট পাঠ্য বিশ্লেষণ করে। ইংরেজিতে, সংক্ষিপ্ত রূপ, সংক্ষিপ্ত রূপ, তারিখ, সময়, সংখ্যা, মুদ্রার পরিমাণ, ই-মেইল ঠিকানা এবং অন্যান্য অনেক ফর্মের জন্য বিশেষ আচরণের প্রয়োজন হয়। অন্যান্য ভাষার এই রূপগুলির জন্য বিশেষ প্রক্রিয়াকরণের প্রয়োজন হয় এবং বেশিরভাগ ভাষার অন্যান্য বিশেষ প্রয়োজনীয়তা রয়েছে। এই প্রথম দুটি ধাপের ফলাফল হল লিখিত পাঠের একটি কথ্য রূপ। এখানে লিখিত এবং কথ্য পাঠ্যের মধ্যে পার্থক্যের উদাহরণ রয়েছেঃ সেন্ট ম্যাথিউস হাসপাতাল মেইন স্ট্রিটে রয়েছে-> "সেন্ট ম্যাথিউস হাসপাতাল মেইন স্ট্রিটে রয়েছে" অ্যাকাউন্টে 55374 ডলার যোগ করুন। -> "পাঁচ পাঁচ, তিন সাত চার অ্যাকাউন্টে কুড়ি ডলার যোগ করুন।" বাকি ধাপগুলি কথ্য পাঠ্যকে বাক্যে রূপান্তরিত করেঃ পাঠ্য থেকে ধ্বনি রূপান্তরঃ প্রতিটি শব্দকে ধ্বনিতে রূপান্তরিত করে। ধ্বনি হল একটি ভাষায় শব্দের একটি মৌলিক একক। প্রসডি বিশ্লেষণঃ বাক্যের জন্য উপযুক্ত প্রসডি নির্ধারণ করতে বাক্যের কাঠামো, শব্দ এবং ধ্বনিগুলি প্রক্রিয়া করে। তরঙ্গরূপ উৎপাদনঃ প্রতিটি বাক্যের জন্য অডিও তরঙ্গরূপ তৈরি করতে ধ্বনি এবং প্রাসডি তথ্য ব্যবহার করে। বক্তৃতা সংশ্লেষকগুলি উপরে বর্ণিত যে কোনও প্রক্রিয়াকরণ পদক্ষেপে ত্রুটি করতে পারে। মানুষের কান এই ত্রুটিগুলি সনাক্ত করার জন্য ভালভাবে সজ্জিত, তবে বিকাশকারীদের দ্বারা যত্নশীল কাজ ত্রুটিগুলি হ্রাস করতে এবং বক্তৃতা আউটপুট মানের উন্নতি করতে পারে। বক্তৃতা স্বীকৃতি কম্পিউটারকে কথ্য ভাষা শোনার এবং কী বলা হয়েছে তা নির্ধারণ করার ক্ষমতা প্রদান করে। অন্য কথায়, এটি বক্তৃতা সম্বলিত অডিও ইনপুটকে পাঠ্যে রূপান্তরিত করে প্রক্রিয়া করে। একটি সাধারণ বক্তৃতা শনাক্তকারীর প্রধান পদক্ষেপগুলি নিম্নরূপঃ ব্যাকরণ নকশাঃ একজন ব্যবহারকারীর দ্বারা বলা যেতে পারে এমন শব্দগুলি এবং সেগুলি যে ধরণে বলা যেতে পারে তা সংজ্ঞায়িত করে। সিগন্যাল প্রসেসিংঃ আগত অডিওর বর্ণালী (অর্থাৎ ফ্রিকোয়েন্সি) বৈশিষ্ট্যগুলি বিশ্লেষণ করে। ফোনিম স্বীকৃতিঃ বর্ণালী নিদর্শনগুলিকে স্বীকৃত ভাষার ধ্বনির নিদর্শনগুলির সাথে তুলনা করে। শব্দ শনাক্তকরণঃ সক্রিয় ব্যাকরণ দ্বারা নির্দিষ্ট শব্দ এবং শব্দের নিদর্শনগুলির সাথে সম্ভাব্য ধ্বনির ক্রমের তুলনা করে। ফলাফল তৈরিঃ অ্যাপ্লিকেশনটিকে ইনকামিং অডিওতে শনাক্তকারী যে শব্দগুলি সনাক্ত করেছে সে সম্পর্কে তথ্য সরবরাহ করে। ব্যাকরণ হল জাভা স্পিচ এপিআই-এর একটি বস্তু যা নির্দেশ করে যে একজন ব্যবহারকারী কোন শব্দগুলি বলবেন বলে আশা করা হচ্ছে এবং সেই শব্দগুলি কোন প্যাটার্নে ঘটতে পারে। ব্যাকরণগুলি বক্তৃতা শনাক্তকারীদের জন্য গুরুত্বপূর্ণ কারণ তারা স্বীকৃতি প্রক্রিয়াটিকে সীমাবদ্ধ করে। এই সীমাবদ্ধতাগুলি স্বীকৃতিটিকে দ্রুত এবং আরও নির্ভুল করে তোলে কারণ স্বীকৃতিদাতাকে উদ্ভট বাক্যগুলি পরীক্ষা করতে হয় না। জাভা স্পিচ এপিআই 1 দুটি মৌলিক ব্যাকরণের প্রকারকে সমর্থন করেঃ নিয়ম ব্যাকরণ এবং ডিক্টেশন ব্যাকরণ। এই প্রকারগুলি বিভিন্ন উপায়ে পৃথক হয়, যার মধ্যে অ্যাপ্লিকেশনগুলি কীভাবে ব্যাকরণগুলি সেট আপ করে; বাক্যগুলির প্রকারগুলি তারা অনুমতি দেয়; ফলাফলগুলি কীভাবে সরবরাহ করা হয়; প্রয়োজনীয় গণনামূলক সংস্থানগুলির পরিমাণ; এবং অ্যাপ্লিকেশন ডিজাইনে সেগুলি কীভাবে ব্যবহৃত হয়। নিয়ম ব্যাকরণগুলি জাভা স্পিচ ব্যাকরণ ফরম্যাট, জে. এস. জি. এফ দ্বারা জে. এস. এ. পি. আই 1-এ সংজ্ঞায়িত করা হয়েছে। জাভা স্পিচ এপিআই-এর ক্লাস এবং ইন্টারফেস জাভা স্পিচ এপিআই গঠনকারী বিভিন্ন ক্লাস এবং ইন্টারফেসগুলি নিম্নলিখিত তিনটি প্যাকেজে গোষ্ঠীভুক্ত করা হয়েছেঃ javax.speech: একটি জেনেরিক স্পিচ ইঞ্জিনের জন্য ক্লাস এবং ইন্টারফেস রয়েছে। javax.speech.synthesis: বক্তৃতা সংশ্লেষণের জন্য শ্রেণী এবং ইন্টারফেস রয়েছে। javax.speech.recognition: বক্তৃতা শনাক্তকরণের জন্য ক্লাস এবং ইন্টারফেস রয়েছে। ইঞ্জিন ম্যানেজার ক্লাসটি সমস্ত জাভা স্পিচ এপিআই অ্যাপ্লিকেশন দ্বারা ব্যবহৃত একটি ফ্যাক্টরি ক্লাসের মতো। এটি বক্তৃতা সংশ্লেষণ এবং বক্তৃতা স্বীকৃতি ইঞ্জিনগুলিতে অ্যাক্সেস সক্ষম করার জন্য স্থির পদ্ধতি সরবরাহ করে। ইঞ্জিন ইন্টারফেস সাধারণ ক্রিয়াকলাপগুলিকে অন্তর্ভুক্ত করে যা একটি জাভা স্পিচ এপিআই-অনুবর্তী স্পিচ ইঞ্জিনের স্পিচ অ্যাপ্লিকেশনের জন্য প্রদান করা উচিত। স্পিচ অ্যাপ্লিকেশনগুলি প্রাথমিকভাবে স্পিচ ইঞ্জিনের বৈশিষ্ট্য এবং অবস্থা পুনরুদ্ধার এবং একটি স্পিচ ইঞ্জিনের জন্য সম্পদ বরাদ্দ ও বিচ্ছিন্ন করার মতো ক্রিয়া সম্পাদনের পদ্ধতিগুলি ব্যবহার করতে পারে। উপরন্তু, ইঞ্জিন ইন্টারফেস স্পিচ ইঞ্জিন দ্বারা উত্পন্ন বা প্রক্রিয়াজাত অডিও স্ট্রিমটি বিরতি এবং পুনরায় শুরু করার প্রক্রিয়াগুলি প্রকাশ করে। অডিও ম্যানেজার স্ট্রিমগুলি পরিচালনা করতে পারে। ইঞ্জিন ইন্টারফেসটি সিন্থেসাইজার এবং রিকগনিজার ইন্টারফেস দ্বারা উপশ্রেণীভুক্ত করা হয়েছে, যা অতিরিক্ত বক্তৃতা সংশ্লেষণ এবং বক্তৃতা স্বীকৃতি কার্যকারিতা সংজ্ঞায়িত করে। সিন্থেসাইজার ইন্টারফেস স্পিচ অ্যাপ্লিকেশনের জন্য একটি জাভা স্পিচ এপিআই-অনুবর্তী স্পিচ সিন্থেসিস ইঞ্জিনের ক্রিয়াকলাপগুলিকে আবদ্ধ করে। জাভা স্পিচ এপিআই ইভেন্ট পরিচালনার উপর ভিত্তি করে তৈরি। স্পিচ ইঞ্জিন দ্বারা সৃষ্ট ঘটনাগুলি প্রয়োজন অনুযায়ী চিহ্নিত এবং পরিচালনা করা যেতে পারে। স্পিচ ইভেন্টগুলি ইঞ্জিনলিস্টেনার ইন্টারফেসের মাধ্যমে পরিচালনা করা যেতে পারে, বিশেষ করে রিকগনিজারলিস্টেনার এবং সিন্থেসাইজারলিস্টেনারের মাধ্যমে। জাভা স্পিচ এপিআই জাভা কমিউনিটি প্রসেসের (জেসিপি) আগে লেখা হয়েছিল এবং জাভা প্ল্যাটফর্ম, স্ট্যান্ডার্ড এডিশনকে (জাভা এসই) লক্ষ্যবস্তু করা হয়েছিল। পরবর্তীকালে, জাভা স্পিচ এপিআই 2 (জে. এস. এ. পি. আই 2) জে. সি. পি-র অধীনে জে. এস. আর 113 হিসাবে তৈরি করা হয়েছিল। এই এপিআই জাভা প্ল্যাটফর্ম, মাইক্রো সংস্করণ (জাভা এমই) কে লক্ষ্য করে, তবে জাভা এসই-এর সাথেও সঙ্গতিপূর্ণ। তথ্যসূত্র জাভা স্পিচ এপিআই এফএকিউ বাই সান/ওরাকল জাভা ডক্স ফর জেএসএপিআই 1 ওপেন সোর্স জেএসএপিআই 2 র্যাপার এই প্রযুক্তিটি বিভিন্ন নিরাপত্তা উদ্দেশ্যে জাভা এপিআই-এর জন্য ব্যবহার করা হচ্ছে।