API проверки качества аудио
Оценивает воспринимаемое качество загруженного аудиофайла и возвращает общий показатель качества, данные о наличии речи, фоновом шуме, громкости и клиппинге/искажениях.
Базовый URL
https://api.genderrecognition.com
Конечная точка
POST /v1/audio/quality/api
Заголовки
apiKey: YOUR_API_KEY
Content-Type: multipart/form-data
Тело запроса
| Поле | Тип | Обязательно | Описание |
|---|---|---|---|
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 or null | Общая оценка качества от 0 до 100. null, если речь не обнаружена. |
quality_label | string or null | Категория для quality_score: excellent (отлично), good (хорошо), fair (удовлетворительно) или poor (плохо). null, если quality_score равно null. |
mos_score | number or null | Исходный прогноз средней субъективной оценки от 1 до 5 (чем выше, тем лучше). null, если речь не обнаружена. |
speech.detected | boolean | Обнаружена ли в файле речь. |
speech.duration | number | Длительность распознанной речи в секундах. |
speech.ratio | integer | Доля речи в файле в процентах от 0 до 100. |
noise.level | string or null | Уровень фонового шума: low (низкий), medium (средний) или high (высокий). null, если измерение невозможно. |
noise.snr_db | number or null | Отношение сигнал/шум в дБ для речи и фонового шума. null при тех же условиях, что и noise.level. |
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 | Частота дискретизации загруженного аудио в Гц. |
audio.channels | number | Количество аудиоканалов (1 = моно, 2 = стерео). |
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 и другие, а файлы не в формате WAV преобразует перед анализом.
- Передавайте аудио в поле
file; размер файла не должен превышать 10 МБ. - Запрос списывается только после успешного завершения оценки успешно завершится.