Chrome 64-এ আমরা getUserMedia অডিও স্ট্রিমগুলির জন্য একটি নতুন আচরণের চেষ্টা করছি যাতে echoCancellation
সীমাবদ্ধতা সক্ষম করা আছে। নতুন কি হল যে এই ধরনের স্ট্রিমগুলি স্ট্রিমের সময়কালের জন্য অস্থায়ীভাবে হার্ডওয়্যার শব্দ দমনকে অক্ষম করবে। আমরা আশা করি এটি ইকো ক্যানসেলারকে আরও ভালো পারফর্ম করবে। যেহেতু এই কার্যকারিতা পরীক্ষামূলক, এটি স্পষ্টভাবে চালু করা প্রয়োজন; নীচে দেখুন ।
এই মুহুর্তে, এই আচরণ শুধুমাত্র কিছু ইনপুট ডিভাইসের জন্য এবং শুধুমাত্র macOS-এ সমর্থিত। সিস্টেম পছন্দগুলির সাউন্ড প্যানেলে "পরিবেষ্টিত শব্দ হ্রাস" টগলযোগ্য ডিভাইসগুলিতে সমর্থন সীমাবদ্ধ৷
পটভূমি
একটি ইকো ক্যানসেলার মাইক্রোফোন দ্বারা তোলা অডিও সিগন্যাল থেকে স্পীকারে বাজানো যে কোনও শব্দ সরিয়ে দেওয়ার চেষ্টা করে। এটি ছাড়া, আপনি কলের এক পক্ষ হিসাবে যা বলছেন, তা অন্য পক্ষের মাইক্রোফোন দ্বারা তোলা হবে এবং তারপরে আপনাকে ফেরত পাঠানো হবে। আপনি নিজের প্রতিধ্বনি শুনতে পাবেন!
ইকো অপসারণে সফল হওয়ার জন্য, WebRTC-এর ইকো ক্যানসেলার (যা Chrome-এ ব্যবহৃত হয়) মাইক্রোফোন থেকে যতটা সম্ভব পরিষ্কার একটি অডিও সংকেত পেতে হবে। অডিওটি ইকো ক্যানসেলারে পৌঁছানোর আগে প্রসেসিং করা হয়, যেমন হার্ডওয়্যার নয়েজ সাপ্রেশন, সাধারণত এর কার্যকারিতাকে বাধাগ্রস্ত করবে। তদুপরি, ইতিমধ্যেই সফ্টওয়্যার শব্দ দমন ব্যবস্থা রয়েছে, তবে ইকো ক্যানসেলার প্রক্রিয়াকরণ সম্পন্ন করার পরেই ।
নতুন আচরণের বিশদ বিবরণ
ওয়েব ডেভেলপাররা একটি অরিজিন ট্রায়াল নির্বাচন করে তাদের সাইটে নতুন আচরণ সক্ষম করতে পারে৷ শেষ ব্যবহারকারীরা Chrome শুরু করার সময় একটি কমান্ড-লাইন পতাকা পাস করে বিশ্বব্যাপী এটি সক্ষম করতে পারে। আরও তথ্যের জন্য, নীচে দেখুন ।
যখন এটি সক্ষম থাকে, এবং একটি ওয়েব পৃষ্ঠা একটি ইনপুট ডিভাইস থেকে অডিও পেতে getUserMedia কল করে, তখন নিম্নলিখিতগুলি ঘটে:
echoCancellation
সীমাবদ্ধতা সক্ষম করা থাকলে, সদ্য তৈরি অডিও স্ট্রিমের সময়কালের জন্য হার্ডওয়্যার শব্দ দমন বন্ধ করা হবে।যেহেতু এই সেটিংটি সিস্টেম-ব্যাপী এটি একই ডিভাইস (যেমন একই মাইক্রোফোন) থেকে সমস্ত অডিও ইনপুট স্ট্রিমগুলিতে প্রযোজ্য হবে৷
একবার শেষ স্ট্রীম যা হার্ডওয়্যার শব্দ দমন বন্ধ করতে চায় তা বন্ধ হয়ে গেলে, হার্ডওয়্যার শব্দ দমন আবার চালু করা হয়।
হার্ডওয়্যার শব্দ দমন আগে থেকেই অক্ষম করা থাকলে, Chrome এর অবস্থা পরিবর্তন করবে না।
যদি getUserMedia
echoCancellation
সক্ষম না করে কল করা হয়, Chrome হার্ডওয়্যার শব্দ দমনকে স্পর্শ করবে না।
যেহেতু এই সেটিংটি ব্যবহারকারী-নিয়ন্ত্রণযোগ্য, তাই ব্যবহারকারীর সাথে কিছু নির্দিষ্ট মিথস্ক্রিয়া রয়েছে:
যদি ক্রোম হার্ডওয়্যার শব্দ দমন বন্ধ করে থাকে এবং ব্যবহারকারী এটিকে আবার চালু করে, Chrome সেই স্ট্রীমের জন্য এটি আবার নিষ্ক্রিয় করার চেষ্টা করবে না।
যদি ক্রোম হার্ডওয়্যার শব্দ দমন বন্ধ করে থাকে এবং ব্যবহারকারী এটিকে আবার চালু করে, তারপর আবার বন্ধ করে, স্ট্রীম শেষ হয়ে গেলে Chrome এখনও এটিকে পুনরায় সক্ষম করবে৷
আচরণটি কেবল পরীক্ষা সক্ষম করে কার্যকর করে। কোন API পরিবর্তন প্রয়োজন নেই.
কিভাবে পরীক্ষা সক্রিয় করতে হয়
আপনার সাইটে এই নতুন আচরণ পেতে, আপনাকে "হার্ডওয়্যার শব্দ দমন অক্ষম করুন" অরিজিন ট্রায়ালের জন্য সাইন আপ করতে হবে৷ আপনি যদি এটি স্থানীয়ভাবে চেষ্টা করতে চান তবে এটি কমান্ড লাইনেও সক্ষম করা যেতে পারে:
chrome --enable-blink-features=DisableHardwareNoiseSuppression
কমান্ড-লাইনে এই পতাকাটি পাস করা বর্তমান সেশনের জন্য বিশ্বব্যাপী বৈশিষ্ট্যটিকে সক্ষম করে।
এই পরীক্ষার মাধ্যমে আমরা মূল্যায়ন করতে চাই এমন কয়েকটি দিক রয়েছে:
গুণগত পার্থক্য, ক্ষেত্রের মধ্যে, হার্ডওয়্যার শব্দ দমন চালু বনাম বন্ধ থাকার মধ্যে।
কিভাবে Chrome এর মধ্যে থেকে এই সেটিং পরিবর্তন করা শেষ ব্যবহারকারী এবং অন্যান্য সফ্টওয়্যারকে প্রভাবিত করে যে তারা চলমান হতে পারে?
আমরা এই উভয় দিকের প্রতিক্রিয়া জানতে আগ্রহী. এই বৈশিষ্ট্যটি চালু থাকলে কলগুলি কি ভাল না খারাপ? অপ্রত্যাশিত আচরণের কারণ বাস্তবায়নে কি সমস্যা আছে? যাই হোক না কেন, আপনি যদি এটি চেষ্টা করে থাকেন, অনুগ্রহ করে এই বাগ সম্পর্কে প্রতিক্রিয়া জানান৷ যদি সম্ভব হয়, কোন মাইক্রোফোন/হেডসেট/ইত্যাদি ব্যবহার করা হয়েছে এবং যদি এটি পরিবেষ্টিত শব্দ হ্রাস সমর্থন করে তা অন্তর্ভুক্ত করুন। যদি আরও বড় আকারের পরীক্ষা-নিরীক্ষা করা হয়, অডিও কলের গুণমানের তুলনামূলক পরিসংখ্যানের লিঙ্কগুলি প্রশংসা করা হয়।