অডিওর মান যাচাই API
আপলোড করা অডিও ফাইলের শ্রবণযোগ্য মান মূল্যায়ন করুন। এতে সামগ্রিক মানের স্কোর, কথার উপস্থিতি, পটভূমির শব্দের মাত্রা, ভলিউম এবং ক্লিপিং/বিকৃতির তথ্য ফেরত আসে।
মূল URL
https://api.genderrecognition.com
এন্ডপয়েন্ট
POST /v1/audio/quality/api
হেডারসমূহ
apiKey: YOUR_API_KEY
Content-Type: multipart/form-data
বডি
| ক্ষেত্র | ধরন | আবশ্যক | বিবরণ |
|---|---|---|---|
file | file | হ্যাঁ | বিশ্লেষণের জন্য অডিও ফাইল। |
উদাহরণ
curl -X POST "https://api.genderrecognition.com/v1/audio/quality/api" \
-H "apiKey: YOUR_API_KEY" \
-F "file=@audio.wav"
প্রতিক্রিয়া
{
"success": true,
"quality_score": 82,
"quality_label": "good",
"mos_score": 4.1,
"speech": {
"detected": true,
"duration": 4.8,
"ratio": 92
},
"noise": {
"level": "low",
"snr_db": 28.4
},
"volume": {
"too_quiet": false,
"rms_dbfs": -18.2
},
"clipping": {
"detected": false,
"ratio": 0
},
"audio": {
"duration": 5.2,
"sample_rate": 44100,
"channels": 1
},
"remainingRequests": 119
}
প্রতিক্রিয়ার ক্ষেত্রসমূহ
| ক্ষেত্র | ধরন | বিবরণ |
|---|---|---|
success | boolean | অডিও সফলভাবে প্রক্রিয়াকৃত হলে true। |
quality_score | integer বা null | সামগ্রিক শ্রবণযোগ্য মান, 0 থেকে 100। কথা শনাক্ত না হলে null। |
quality_label | string বা null | quality_score-এর মানের শ্রেণি: excellent, good, fair বা poor। quality_score null হলে এটিও null। |
mos_score | number বা null | পূর্বাভাসকৃত কাঁচা Mean Opinion Score, 1 থেকে 5 (বেশি হলে ভালো)। কথা শনাক্ত না হলে null। |
speech.detected | boolean | ফাইলে কোনো কথা শনাক্ত হয়েছে কি না। |
speech.duration | number | কথা হিসেবে শ্রেণিবদ্ধ অডিওর সময়কাল, সেকেন্ডে। |
speech.ratio | integer | ফাইলের যে অংশে কথা আছে তার শতাংশ, 0 থেকে 100। |
noise.level | string বা null | পটভূমির শব্দের মাত্রা: low, medium বা high। মাপা না গেলে null। |
noise.snr_db | number বা null | কথা ও পটভূমির শব্দের signal-to-noise ratio, dB-তে। noise.level-এর একই অবস্থায় null। |
volume.too_quiet | boolean | নির্ভরযোগ্যভাবে ব্যবহার করার জন্য অডিও খুব কম শোনা গেলে true। |
volume.rms_dbfs | number | dBFS-এ শব্দের জোর। 0 সর্বোচ্চ জোর; বেশি ঋণাত্মক মান মানে আরও কম জোর। |
clipping.detected | boolean | ক্লিপিং/বিকৃতি শনাক্ত হলে true। |
clipping.ratio | integer | ক্লিপিংয়ে প্রভাবিত অডিও নমুনার শতাংশ, 0 থেকে 100। |
audio.duration | number | আপলোড করা ফাইলের সময়কাল, সেকেন্ডে। |
audio.sample_rate | number | আপলোড করা অডিওর sample rate, Hz-এ। |
audio.channels | number | অডিও চ্যানেলের সংখ্যা (1 = mono, 2 = stereo)। |
remainingRequests | integer | এই সফল অনুরোধের কোটা কেটে নেওয়ার পর অবশিষ্ট API অনুরোধ। |
quality_score, speech.ratio এবং clipping.ratio পূর্ণসংখ্যার শতাংশ। noise.snr_db ও volume.rms_dbfs ডেসিবেলের মান, শতাংশ নয়।
ত্রুটির পরিস্থিতি
API কী নেই
{ "error": "API key is required" }
অবৈধ API কী
{ "error": "Invalid API key" }
ফাইল নেই
{ "error": "No file uploaded" }
ফাইল অনেক বড়
{ "error": "File too large" }
অপ্রত্যাশিত ক্ষেত্র
ফাইল file ক্ষেত্র ছাড়া অন্য কোনো ক্ষেত্রে আপলোড হলে (যেমন অতিরিক্ত ফাইল পাঠালে) এই প্রতিক্রিয়া আসে:
{ "error": "Unexpected field" }
ফাইলের ধরন অবৈধ
{
"error": "Invalid file type. Allowed formats: WAV, MP3, FLAC, MP4, OGG, AIFF"
}
অডিও রূপান্তর ব্যর্থ
ফাইলের এক্সটেনশন অনুমোদিত হলেও ffmpeg সেটিকে রূপান্তর করতে না পারলে এই উত্তর আসে (যেমন, ফাইল নষ্ট বা পাঠ-অযোগ্য হলে):
{ "error": "Audio conversion failed: <details>" }
কোটা শেষ
{
"error": {
"code": "RATE_LIMIT_EXCEEDED",
"message": "You have exceeded your free tier limit of 50 requests.",
"detailedMessage": "Insufficient remaining requests. Required: 1, Available: 0",
"details": {
"limit": 50,
"used": 50,
"reset_date": "2026-07-01T00:00:00.000Z"
},
"suggested_action": "Please upgrade to a premium plan to continue using the API."
}
}
প্রক্রিয়াকরণ ব্যর্থ
{ "error": "Audio quality assessment failed" }
নোট
- ব্যাকএন্ড WAV, MP3, M4A, FLAC, OGG, WebM, AAC, Opus, WMA, AMR, 3GP, AIFF, AU-সহ প্রচলিত অনেক অডিও ফরম্যাট গ্রহণ করে এবং বিশ্লেষণের আগে non-WAV ফাইল রূপান্তর করে।
- অডিও আপলোডে
fileক্ষেত্র ব্যবহার করুন এবং ফাইলের আকার 10 MB বা কম রাখুন। - অডিওর মান যাচাই সফলভাবে শেষ হলেই একটি অনুরোধের কোটা কাটা হয়।