Android 10 রিলিজে VOICE_COMMUNICATION
এর সাথে ক্যাপচার করার জন্য নিম্নলিখিত প্রয়োজনীয়তাগুলি অন্তর্ভুক্ত রয়েছে৷
-
VOICE_COMMUNICATION
দিয়ে ক্যাপচার করার সময় বাস্তবায়নের ক্যাপচার পাথে একটি অ্যাকোস্টিক ইকো ক্যানসেলার (AEC) প্রদান করা উচিত। - একটি AEC প্রদান করলে, এটি অবশ্যই SDK API-এর
AcousticEchoCanceler
মাধ্যমে আবিষ্কারযোগ্য এবং নিয়ন্ত্রণযোগ্য হতে হবে।
Android প্ল্যাটফর্ম audiofx
প্যাকেজে সমর্থিত ডিভাইসগুলিতে অডিও প্রভাব সরবরাহ করে, যা বিকাশকারীদের অ্যাক্সেসের জন্য উপলব্ধ। উদাহরণস্বরূপ, Nexus 10 নিম্নলিখিত প্রিপ্রসেসিং প্রভাবগুলিকে সমর্থন করে:
অডিওসোর্স ইনস্ট্যান্সের সাথে পেয়ার করুন
প্রি-প্রসেসিং প্রভাবগুলি ব্যবহার কেস মোডের সাথে যুক্ত করা হয় যেখানে প্রিপ্রসেসিং অনুরোধ করা হয়। অ্যান্ড্রয়েড অ্যাপ ডেভেলপমেন্টে, একটি ব্যবহারের ক্ষেত্রে একটি AudioSource
উদাহরণ হিসাবে উল্লেখ করা হয়; এবং অ্যাপ বিকাশকারীরা প্রকৃত অডিও হার্ডওয়্যার ডিভাইসের পরিবর্তে AudioSource
বিমূর্ততা ব্যবহার করার জন্য অনুরোধ করে। অ্যান্ড্রয়েড অডিও পলিসি ম্যানেজার প্রোডাক্ট-নির্দিষ্ট নিয়ম অনুসারে একটি প্রদত্ত ক্যাপচার পাথ কনফিগারেশনে (ডিভাইস, লাভ এবং প্রি-প্রসেসিং সহ) একটি AudioSource
ইনস্ট্যান্স ম্যাপ করে। নিম্নলিখিত উত্সগুলি বিকাশকারীদের কাছে প্রকাশ করা হয়েছে:
-
android.media.MediaRecorder.AudioSource.CAMCORDER
-
android.media.MediaRecorder.AudioSource.VOICE_COMMUNICATION
-
android.media.MediaRecorder.AudioSource.VOICE_CALL
-
android.media.MediaRecorder.AudioSource.VOICE_DOWNLINK
-
android.media.MediaRecorder.AudioSource.VOICE_UPLINK
-
android.media.MediaRecorder.AudioSource.VOICE_RECOGNITION
-
android.media.MediaRecorder.AudioSource.MIC
-
android.media.MediaRecorder.AudioSource.DEFAULT
প্রতিটি AudioSource
উদাহরণের জন্য প্রয়োগকৃত ডিফল্ট প্রিপ্রসেসিং প্রভাবগুলি /vendor/etc/audio_effects.xml
ফাইলে নির্দিষ্ট করা আছে। প্রতিটি AudioSource
উদাহরণের জন্য আপনার নিজস্ব ডিফল্ট প্রভাব নির্দিষ্ট করতে, একটি /vendor/etc/audio_effects.xml
ফাইল তৈরি করুন এবং চালু করার জন্য প্রিপ্রসেসিং প্রভাবগুলি নির্দিষ্ট করুন। একটি উদাহরণের জন্য, device/samsung/manta/audio_effects.xml
এ Nexus 10-এর বাস্তবায়ন দেখুন। AudioEffect
দৃষ্টান্তগুলি তৈরি এবং ধ্বংস হয়ে গেলে একটি সেশন অর্জন করে এবং ছেড়ে দেয়, প্রভাবগুলিকে সক্ষম করে (যেমন লাউডনেস বর্ধক) পুরো সেশন জুড়ে চলতে থাকে।
নিম্নলিখিত উদাহরণটি ভিওআইপি AudioSource
এবং ক্যামকর্ডার AudioSource
উদাহরণগুলির জন্য প্রিপ্রসেসিং সক্ষম করে৷ এই পদ্ধতিতে AudioSource
কনফিগারেশন ঘোষণা করে, ফ্রেমওয়ার্ক স্বয়ংক্রিয়ভাবে HAL থেকে সেই প্রভাবগুলি ব্যবহারের জন্য অনুরোধ করে।
<preprocess> <stream type="voice_communication"> <apply effect="aec"/> <apply effect="ns"/> </stream> <stream type="camcorder"> <apply effect="agc"/> </stream> </preprocess>
সোর্স টিউনিং
AudioSource
টিউনিংয়ের ভয়েস রিকগনিশন ( VOICE_RECOGNITION
) ব্যতীত অডিও লাভ বা অডিও প্রক্রিয়াকরণের জন্য স্পষ্ট প্রয়োজনীয়তা নেই। ভয়েস স্বীকৃতির জন্য প্রয়োজনীয়তা অন্তর্ভুক্ত:
- 100 Hz থেকে 4 kHz পর্যন্ত সমতল ফ্রিকোয়েন্সি প্রতিক্রিয়া (+/- 3 dB)
- ক্লোজ-টক কনফিগারেশন: 90 dB SPL 2500 এর RMS রিড করে (16 বিট নমুনা)
- 90 dB SPL এর তুলনায় -18 dB থেকে +12 dB পর্যন্ত রৈখিকভাবে লেভেল ট্র্যাক
- THD < 1% (100 থেকে 4000 Hz পরিসরে 90 dB SPL)
- কাছাকাছি-আল্ট্রাসাউন্ড প্রয়োজনীয়তা (পরীক্ষার জন্য, আল্ট্রাসাউন্ড পরীক্ষা কাছাকাছি দেখুন):
-
SUPPORT_PROPERTY_MIC_NEAR_ULTRASOUND
এর জন্য সমর্থন যেমন CDD-এর ধারা 7.8.3-এ সংজ্ঞায়িত করা হয়েছে। - কোনো ব্যান্ড-পাস বা অ্যান্টিলিয়াসিং ফিল্টার ছাড়াই 44100 বা 48000 স্যাম্পলিং রেটগুলির একটি বা উভয়ের জন্য সমর্থন।
-
- প্রভাব/প্রিপ্রসেসিং ডিফল্টরূপে অক্ষম
বিভিন্ন উত্সের জন্য বিভিন্ন প্রভাব টিউন করার উদাহরণ হল:
- শব্দ দমনকারী
-
CAMCORDER
এর জন্য বায়ুর শব্দ দমনকারীর জন্য টিউন করা হয়েছে৷ -
VOICE_COMMUNICATION
এর জন্য স্থির শব্দ দমনকারীর জন্য টিউন করা হয়েছে৷
-
- স্বয়ংক্রিয় লাভ নিয়ন্ত্রণ
-
VOICE_COMMUNICATION
এবং প্রধান ফোন মাইকের জন্য ঘনিষ্ঠ কথা বলার জন্য টিউন করা হয়েছে৷ -
CAMCORDER
এর জন্য দূর-আলোচনার জন্য টিউন করা হয়েছে৷
-
সম্পদ
আরও তথ্যের জন্য, নিম্নলিখিত সংস্থানগুলি পড়ুন:
- audiofx প্যাকেজের জন্য অ্যান্ড্রয়েড ডকুমেন্টেশন
- নয়েজ সাপ্রেশন অডিও ইফেক্টের জন্য অ্যান্ড্রয়েড ডকুমেন্টেশন
- Pixel 3-এর জন্য
/device/google/crosshatch/audio_effects.xml
ফাইল
The Android 10 release includes the following requirements for capture with VOICE_COMMUNICATION
.
-
VOICE_COMMUNICATION
দিয়ে ক্যাপচার করার সময় বাস্তবায়নের ক্যাপচার পাথে একটি অ্যাকোস্টিক ইকো ক্যানসেলার (AEC) প্রদান করা উচিত। - একটি AEC প্রদান করলে, এটি অবশ্যই SDK API-এর
AcousticEchoCanceler
মাধ্যমে আবিষ্কারযোগ্য এবং নিয়ন্ত্রণযোগ্য হতে হবে।
Android প্ল্যাটফর্ম audiofx
প্যাকেজে সমর্থিত ডিভাইসগুলিতে অডিও প্রভাব সরবরাহ করে, যা বিকাশকারীদের অ্যাক্সেসের জন্য উপলব্ধ। উদাহরণস্বরূপ, Nexus 10 নিম্নলিখিত প্রিপ্রসেসিং প্রভাবগুলিকে সমর্থন করে:
অডিওসোর্স ইনস্ট্যান্সের সাথে পেয়ার করুন
প্রি-প্রসেসিং প্রভাবগুলি ব্যবহার কেস মোডের সাথে যুক্ত করা হয় যেখানে প্রিপ্রসেসিং অনুরোধ করা হয়। অ্যান্ড্রয়েড অ্যাপ ডেভেলপমেন্টে, একটি ব্যবহারের ক্ষেত্রে একটি AudioSource
উদাহরণ হিসাবে উল্লেখ করা হয়; এবং অ্যাপ বিকাশকারীরা প্রকৃত অডিও হার্ডওয়্যার ডিভাইসের পরিবর্তে AudioSource
বিমূর্ততা ব্যবহার করার জন্য অনুরোধ করে। অ্যান্ড্রয়েড অডিও পলিসি ম্যানেজার প্রোডাক্ট-নির্দিষ্ট নিয়ম অনুসারে একটি প্রদত্ত ক্যাপচার পাথ কনফিগারেশনে (ডিভাইস, লাভ এবং প্রি-প্রসেসিং সহ) একটি AudioSource
ইনস্ট্যান্স ম্যাপ করে। নিম্নলিখিত উত্সগুলি বিকাশকারীদের কাছে প্রকাশ করা হয়েছে:
-
android.media.MediaRecorder.AudioSource.CAMCORDER
-
android.media.MediaRecorder.AudioSource.VOICE_COMMUNICATION
-
android.media.MediaRecorder.AudioSource.VOICE_CALL
-
android.media.MediaRecorder.AudioSource.VOICE_DOWNLINK
-
android.media.MediaRecorder.AudioSource.VOICE_UPLINK
-
android.media.MediaRecorder.AudioSource.VOICE_RECOGNITION
-
android.media.MediaRecorder.AudioSource.MIC
-
android.media.MediaRecorder.AudioSource.DEFAULT
প্রতিটি AudioSource
উদাহরণের জন্য প্রয়োগকৃত ডিফল্ট প্রিপ্রসেসিং প্রভাবগুলি /vendor/etc/audio_effects.xml
ফাইলে নির্দিষ্ট করা আছে। প্রতিটি AudioSource
উদাহরণের জন্য আপনার নিজস্ব ডিফল্ট প্রভাব নির্দিষ্ট করতে, একটি /vendor/etc/audio_effects.xml
ফাইল তৈরি করুন এবং চালু করার জন্য প্রিপ্রসেসিং প্রভাবগুলি নির্দিষ্ট করুন। একটি উদাহরণের জন্য, device/samsung/manta/audio_effects.xml
এ Nexus 10-এর বাস্তবায়ন দেখুন। AudioEffect
দৃষ্টান্তগুলি তৈরি এবং ধ্বংস হয়ে গেলে একটি সেশন অর্জন করে এবং ছেড়ে দেয়, প্রভাবগুলিকে সক্ষম করে (যেমন লাউডনেস বর্ধক) পুরো সেশন জুড়ে চলতে থাকে।
নিম্নলিখিত উদাহরণটি ভিওআইপি AudioSource
এবং ক্যামকর্ডার AudioSource
উদাহরণগুলির জন্য প্রিপ্রসেসিং সক্ষম করে৷ এই পদ্ধতিতে AudioSource
কনফিগারেশন ঘোষণা করে, ফ্রেমওয়ার্ক স্বয়ংক্রিয়ভাবে HAL থেকে সেই প্রভাবগুলি ব্যবহারের জন্য অনুরোধ করে।
<preprocess> <stream type="voice_communication"> <apply effect="aec"/> <apply effect="ns"/> </stream> <stream type="camcorder"> <apply effect="agc"/> </stream> </preprocess>
সোর্স টিউনিং
AudioSource
টিউনিংয়ের ভয়েস রিকগনিশন ( VOICE_RECOGNITION
) ব্যতীত অডিও লাভ বা অডিও প্রক্রিয়াকরণের জন্য স্পষ্ট প্রয়োজনীয়তা নেই। ভয়েস স্বীকৃতির জন্য প্রয়োজনীয়তা অন্তর্ভুক্ত:
- 100 Hz থেকে 4 kHz পর্যন্ত সমতল ফ্রিকোয়েন্সি প্রতিক্রিয়া (+/- 3 dB)
- ক্লোজ-টক কনফিগারেশন: 90 dB SPL 2500 এর RMS রিড করে (16 বিট নমুনা)
- 90 dB SPL এর তুলনায় -18 dB থেকে +12 dB পর্যন্ত রৈখিকভাবে লেভেল ট্র্যাক
- THD < 1% (100 থেকে 4000 Hz পরিসরে 90 dB SPL)
- কাছাকাছি-আল্ট্রাসাউন্ড প্রয়োজনীয়তা (পরীক্ষার জন্য, আল্ট্রাসাউন্ড পরীক্ষা কাছাকাছি দেখুন):
-
SUPPORT_PROPERTY_MIC_NEAR_ULTRASOUND
এর জন্য সমর্থন যেমন CDD-এর ধারা 7.8.3-এ সংজ্ঞায়িত করা হয়েছে। - কোনো ব্যান্ড-পাস বা অ্যান্টিলিয়াসিং ফিল্টার ছাড়াই 44100 বা 48000 স্যাম্পলিং রেটগুলির একটি বা উভয়ের জন্য সমর্থন।
-
- প্রভাব/প্রিপ্রসেসিং ডিফল্টরূপে অক্ষম
বিভিন্ন উত্সের জন্য বিভিন্ন প্রভাব টিউন করার উদাহরণ হল:
- শব্দ দমনকারী
-
CAMCORDER
এর জন্য বায়ুর শব্দ দমনকারীর জন্য টিউন করা হয়েছে৷ -
VOICE_COMMUNICATION
এর জন্য স্থির শব্দ দমনকারীর জন্য টিউন করা হয়েছে৷
-
- স্বয়ংক্রিয় লাভ নিয়ন্ত্রণ
-
VOICE_COMMUNICATION
এবং প্রধান ফোন মাইকের জন্য ঘনিষ্ঠ কথা বলার জন্য টিউন করা হয়েছে৷ -
CAMCORDER
এর জন্য দূর-আলোচনার জন্য টিউন করা হয়েছে৷
-
সম্পদ
আরও তথ্যের জন্য, নিম্নলিখিত সংস্থানগুলি পড়ুন:
- audiofx প্যাকেজের জন্য অ্যান্ড্রয়েড ডকুমেন্টেশন
- নয়েজ সাপ্রেশন অডিও ইফেক্টের জন্য অ্যান্ড্রয়েড ডকুমেন্টেশন
- Pixel 3-এর জন্য
/device/google/crosshatch/audio_effects.xml
ফাইল