কীভাবে কাজ করে : শব্দ ছেঁটে নিন
আপনার ফোন আগে থেকেই রেকর্ড করতে জানে। যা সে জানে না তা হল রেকর্ডিংটি কারও কাছে না পাঠিয়ে তার শুরু আর শেষটুকু কেটে ফেলা: এই পাতাটি ঠিক সেটাই করে, আর প্রাপ্ত ফাইলটি আর একটিও মেটাডেটা বয়ে চলে না।
কণ্ঠের একটি রেকর্ডিং মানুষ যেসব জিনিস নাড়াচাড়া করে তার মধ্যে সবচেয়ে ঘনিষ্ঠগুলির একটি: একটি সভা, একটি ক্লাস, একটি নোট, একটি সাক্ষাৎকার। যেসব সাইট সেগুলি কেটে দেয় তারা গোটাটাই পেয়ে যায়, আর তারা তা নিয়ে কী করে কেউই জানে না। অন্যদিকে ব্রাউজার একটি শব্দ ডিকোড করতে আর তার একটি টুকরো নতুন করে লিখতে জানে, একটি বাইটও বাইরে না গিয়েই।
সরঞ্জামটি এমন একটি কাজ করে যা বেশিরভাগ কাটার যন্ত্রই করে না: সে পরিষ্কার করার আগে দেখিয়ে দেয় আপনার ফাইলটি কী কী বয়ে চলেছে। একটি অডিও ফাইল প্রায়ই মেটাডেটার কিছু টুকরো বয়ে চলে, সঙ্গে সফটওয়্যারের নাম, একটি শিরোনাম, কখনও একজন মানুষের নাম। সেগুলির তালিকা পর্দায় দেওয়া হয়, তারপর প্রাপ্ত ফাইল থেকে সেগুলি মুছে যায়, আর সরঞ্জামটি নিজের ফলটি আবার পড়ে তা যাচাই করে নেয়।
সঙ্গে সঙ্গেই বলে দেওয়া দরকার এটি কী নয়। এটি কোনো রেকর্ডার নয়: সে মাইক্রোফোন দিয়ে রেকর্ড করে না, আর তার কারণটি সীমাগুলিতে লেখা আছে। আর মাউস দিয়ে কাটার মতো কোনো তরঙ্গের ছবিও নেই: শুরু আর শেষ সেকেন্ডে ঠিক করতে হয়, কারণ একটি সংকেত আঁকা মানে এমন একটি গ্রাফিক উপাদান যা এই সাইটের নকশায় নেই।
কীভাবে কাজ করে
- আপনার রেকর্ডিংটি রাখুন। সরঞ্জামটি সেটি ডিকোড করে, তার দৈর্ঘ্য, তার নমুনা হার আর তার মেটাডেটা দেখিয়ে দেয়।
- শুরু আর শেষ সেকেন্ডে ঠিক করুন। শেষের ঘরটিতে গোটা দৈর্ঘ্যটি আগে থেকেই বসানো থাকে।
- প্রাপ্ত ফাইলটি 16 বিটের PCM-এ একটি WAV, একটিও মেটাডেটা ছাড়াই, আর সরঞ্জামটি নিজের ফলটি আবার পড়ে আপনাকে বলে দেয় তাতে কী কী আছে।
গৃহীত ফরম্যাট
কোন ফরম্যাটগুলি ডিকোড করা যায় তা ব্রাউজারের উপরে নির্ভর করে, আর প্রথম হাতের কোনো সূত্রই সেগুলির নিখুঁত তালিকা দেয় না: সরঞ্জামটি ডিকোড করার চেষ্টা করে আর না পারলে খোলাখুলি সে কথা বলে দেয়। ফলটি অবশ্য সবসময়ই একটি WAV।
WAV, কমপ্রেস ছাড়া
একমাত্র এই ফরম্যাটটিরই হেডার সরঞ্জামটি ডিকোড করার আগে পড়তে জানে, আর তাতেই সে মূল নমুনা হারটি হুবহু ধরে রাখতে পারে। একমাত্র এটিরই মেটাডেটার তালিকাও সে দিতে জানে।
MP3
সব ব্রাউজারই এটি ডিকোড করে। নমুনা হারটি ডিকোড করার আগে পড়া যায় না: তাই সেটি আপনার বেছে নেওয়া হারে নামিয়ে আনা হবে, আর সরঞ্জামটি সে কথা ঘোষণা করে।
M4A আর AAC
iPhone-এর রেকর্ডার এই ফরম্যাটটিই বানায়। ডিকোড করা যাবে কি না তা ব্রাউজার আর সিস্টেমের উপরে নির্ভর করে: আপনারটি না জানলে সরঞ্জামটি একটি খালি ফাইল ফেরত দেওয়ার বদলে কথাটা বলে দেয়।
WebM আর Opus
Chromium ব্রাউজারের রেকর্ডার এই ফরম্যাটটিই বানায়। সবচেয়ে পুরনো ব্রাউজারগুলি ছাড়া সব জায়গাতেই ডিকোড হয়।
এর সীমা
এটি রেকর্ডার নয়: সে মাইক্রোফোন দিয়ে রেকর্ড করে না
দুটি কারণ, আর দ্বিতীয়টিই আসল। প্রথমত, এই সাইটের সরঞ্জামের পাতার গড়ন সরঞ্জামপ্রতি একটিই ঢোকার জায়গা দেয়: একটি ফাইল, একটি লেখা, বা কিছুই নয়। মাইক্রোফোন হত চতুর্থ এক ধরনের ঢোকার জায়গা, আর তাতে ভরসার বার্তাটির, JavaScript ছাড়া ব্রাউজারের বার্তাটির আর যাচাইয়ের তিনটি তালারই নতুন রূপ লাগত। দ্বিতীয়ত, আর সবচেয়ে বড় কথা: যে যন্ত্রটি এই সাইটটি বানায় তার কোনো মাইক্রোফোনই নেই, তাই কোনো তালাই এই ঢোকার জায়গাটি পরীক্ষা করতে পারত না, আর ঘরের নিয়মটি স্পষ্ট, যে পথ পরখ করা যায় না সেই পথ লেখাও হয় না। আপনার ফোন আর আপনার কম্পিউটার আগে থেকেই রেকর্ড করতে জানে; যা তারা জানে না তা হল আপলোড না করে ছেঁটে নেওয়া।
মাউস দিয়ে কাটার মতো কোনো তরঙ্গের ছবি নেই
একটি সংকেত আঁকা মানে এমন একটি গ্রাফিক উপাদান যা এই সাইটের নকশায় নেই, আর নকশাটি জমে গেছে: যা নেই তা লিখে রাখা হয় আর চেয়ে নেওয়া হয়, কোনো সরঞ্জামের ফাঁকে সেটি বানিয়ে ফেলা হয় না। তাই শুরু আর শেষ সেকেন্ডে ঠিক করতে হয়, শতভাগের এক ভাগ পর্যন্ত। এটি কম আরামের, আর আবিষ্কার করতে দেওয়ার বদলে কথাটা এখানেই বলা হল।
ফলটি সবসময়ই একটি WAV, তাই ঢোকার ফাইলের চেয়ে ভারী
WAV-এ এক মিনিট শব্দের ওজন প্রায় দশ মেগাবাইট, যেখানে MP3-তে এক। নির্ভরতা না থাকার দাম এটাই: ব্রাউজার এখন অডিও এনকোড করতে জানে, কিন্তু তার এনকোডার এনকোড করা টুকরো দেয়, কখনও জোড়া একটি ফাইল নয়, আর কিছু না হারানো এনকোডিং প্রায় কোথাওই নেই। তাই হাতে একটি WAV কনটেইনার লেখাই একমাত্র পথ যা সব জায়গায় চলে, আর একটি WAV সব সম্পাদনার সফটওয়্যারেই আবার খোলে।
যে ফাইলটি WAV নয়, তার নমুনা হার বদলে দেওয়া হয়, আর সরঞ্জামটি সে কথা বলে
ব্রাউজারের অডিও ইঞ্জিনের মানটি বাধ্যতামূলক করে যে ডিকোড করার সময় শব্দটিকে হিসাবের প্রেক্ষিতের হারে নামিয়ে আনতে হবে। WAV-এর ক্ষেত্রে সরঞ্জামটি ডিকোড করার আগেই হেডারে হারটি পড়ে নেয় আর সেই হারেই প্রেক্ষিতটি বানায়: কিছুই বদলায় না। বাকি কনটেইনারগুলিতে ডিকোড না করে হারটি পড়া যায় না, তাই শব্দটিকে আপনার বেছে নেওয়া হারে নামিয়ে আনা হয়, আর তফাতটি পর্দায় দেখানো হয়।
ফাইলপ্রতি 120 মেগাবাইট
ডিকোড করা শব্দ মেমরিতে দশমিক সংখ্যায় বাঁচে, যার ওজন মূল ফাইলের কয়েক গুণ। এই সীমার বেশি হলে একটি ফোন ফলাফল দেওয়ার বদলে ট্যাবটিকেই ক্র্যাশ করিয়ে দেয়, আর সরঞ্জামটি সীমাটি বলে দিয়ে ভদ্রভাবে ফিরিয়ে দেয়।
সম্ভাব্য নমুনা হার 8000 থেকে 96000 Hz
সব ব্রাউজারেই মানটি এই পরিসরটিরই নিশ্চয়তা দেয়। তার বাইরে ব্রাউজার হিসাবের প্রেক্ষিতটি বানাতেই রাজি হয় না। এটি ঢের বেশি: কমপ্যাক্ট ডিস্কের মান 44100 Hz, সিনেমা আর ভিডিওর 48000 Hz।
এই সরঞ্জাম নিয়ে প্রশ্ন
আমার রেকর্ডিংটি কি কোথাও পাঠানো হয়?
না, আর এই সরঞ্জামেই কথাটা সবচেয়ে বেশি গোনার মতো, কারণ কণ্ঠের একটি রেকর্ডিং যিনি কথা বলছেন তাঁকে চিনিয়ে দেয়। F12 বোতাম দিয়ে ইন্সপেক্টর খুলুন, “Network” ট্যাব, তালিকাটি খালি করুন, তারপর আপনার ফাইলটি রেখে ছেঁটে নিন: কিছুই বাইরে যায় না। সংযোগ কেটে দিয়ে আবার করুন, সরঞ্জামটি তবুও চলে।
প্রাপ্ত ফাইলটি মূলটির চেয়ে ভারী কেন?
কারণ WAV কমপ্রেস করা নয়: তাতে প্রতিটি নমুনা খোলা অবস্থাতেই থাকে। এক মিনিটের ওজন প্রায় দশ মেগাবাইট, যেখানে MP3-তে এক। একটি এনকোডার ভিতরে না রেখে আমরা অন্য কিছু করতে পারি না, আর এই সাইট কেবল যুক্তি দিয়ে নেওয়া সিদ্ধান্তেই কোনো লাইব্রেরি ভিতরে রাখে। ব্রাউজার সম্প্রতি অডিও এনকোড করতে জানে বটে, কিন্তু তার এনকোডার এনকোড করা টুকরো দেয় যেগুলি নিজেকেই একটি কনটেইনারে জুড়ে নিতে হয়, আর কিছু না হারানো এনকোডিং প্রায় কোথাওই নেই। ততদিন একটি WAV সব জায়গায় খোলে, কিছু না হারিয়ে আবার সম্পাদনা করা যায়, আর তার লুকনোর কিছুই নেই।
সরাসরি মাইক্রোফোন দিয়ে রেকর্ড করেন না কেন?
কারণ তাতে এই পাতাটির সেই সততা থাকত না। এই সাইটের প্রতিটি সরঞ্জামের একটিই ঢোকার জায়গা, আর তার ভরসার বার্তাটি ঠিক ওই জায়গাটি নিয়েই কথা বলে: আপনার ফাইল, আপনার লেখা, বা সে যা বানায়। মাইক্রোফোন হত চতুর্থ এক ধরনের ঢোকার জায়গা, তার নিজের প্রতিশ্রুতি লেখার দায় নিয়ে। সবচেয়ে বড় কথা, প্রতিটি প্রকাশের আগে যে যন্ত্রটি এই সাইটটি যাচাই করে তার কোনো মাইক্রোফোনই নেই: তাই একটি রেকর্ডিং যে বাইরে যায় না তা আমরা প্রমাণ করতে পারতাম না, আর যে প্রতিশ্রুতি আমরা পরখ করতে জানি না তা আমরা প্রকাশও করি না। আপনার ডিভাইসে আগে থেকেই একটি চালু রেকর্ডার আছে; আপলোড না করে ছেঁটে নেওয়াটাই ছিল না।
মেটাডেটা পরিষ্কার করা বলতে ঠিক কী বোঝায়?
সে কিছুই সরায় না: সে কিছুই লেখে না। প্রাপ্ত ফাইলটি শূন্য থেকে বানানো, মাত্র দুটি টুকরো নিয়ে, একটি বলে দেয় শব্দটি কীভাবে এনকোড করা আর অন্যটি শব্দটিই বয়ে চলে। বাকি সবকিছু, সফটওয়্যারের নাম, শিরোনাম, মন্তব্য, প্লেয়ারের চিহ্ন, নিছক কপিই করা হয় না। সরঞ্জামটি আগে আপনাকে দেখায় আপনার ফাইলটি কী কী বয়ে চলছিল, তারপর নিজের ফলটি টুকরো ধরে ধরে আবার পড়ে যাচাই করে নেয় যে তার কিছুই আর নেই।
আমার নমুনা হারটি বদলে গেল কেন?
কারণ আপনার ফাইলটি WAV ছিল না। ব্রাউজারের অডিও ইঞ্জিনের মানটি বাধ্যতামূলক করে যে ডিকোড করার সময় শব্দটিকে হিসাবের প্রেক্ষিতের হারে নামিয়ে আনতে হবে, আর ওই হারটি ডিকোড করার আগেই বেছে নিতে হয়। WAV-এর বেলায় আমরা হেডারে হারটি পড়ে নিই আর ওই হারেই প্রেক্ষিতটি বানাই: কিছুই বদলায় না। MP3 বা M4A-তে ডিকোড না করে হারটি পড়া যায় না, তাই আমরা আপনার বেছে নেওয়াটিই ব্যবহার করি, আর তফাতটি দেখিয়ে দিই। নমুনা হার বদলে দিলে কথার একটি রেকর্ডিংয়ের খুব বেশি ক্ষতি হয় না, তবে সেটি নিরপেক্ষও নয়, আর কথাটা লুকিয়ে রাখা অসৎ হত।
আমি কি রেকর্ডিংয়ের মাঝখান থেকে একটি টুকরো কেটে ফেলতে পারি?
এক দফায় নয়: সরঞ্জামটি একটি টানা পরিসরই রাখে, বেছে নেওয়া শুরু থেকে বেছে নেওয়া শেষ পর্যন্ত। মাঝখানের একটি অংশ সরাতে হলে তার দুই পাশের দুটি টুকরো আলাদা করে বের করে নিতে হয়, তারপর কোনো সম্পাদনার সফটওয়্যারে সেগুলি জুড়ে নিতে হয়। দুটি টুকরো জোড়া মানে সংযোগ, মাত্রা আর ক্রম সামলানো, আর সেটি অন্য একটি সরঞ্জাম, তার নিজের পাতাসহ।
আপনার ফোন আগে থেকেই রেকর্ড করতে জানে। যা সে জানে না তা হল রেকর্ডিংটি কারও কাছে না পাঠিয়ে তার শুরু আর শেষটুকু কেটে ফেলা: এই পাতাটি ঠিক সেটাই করে, আর প্রাপ্ত ফাইলটি আর একটিও মেটাডেটা বয়ে চলে না।
যাচাই করুনপ্রমাণ, ধাপে ধাপেনেটওয়ার্ক ইন্সপেক্টর দিয়ে যাচাই, প্রতিটি ধাপ আলাদা করে বলা, সঙ্গে স্ক্রিনশট।
কোণরোজকার কাজের কোণপ্রতিটি গুণক কোথা থেকে এল তা বলে একক বদলানো, ঘড়ির কাঁটা বদলের ফাঁদে না পড়ে তারিখ হিসাব করা, রেকর্ডিং ছেঁটে নেওয়া, ফোল্ডার জিপ করা। যেসব সরঞ্জাম মাসে একবার খোঁজা হয় আর কখনও খুঁজে পাওয়া যায় না।