Audio Quality Estimation: get result
GET/api/technology/audio-quality-estimation/:task_id
Retrieve the result of an Audio Quality Estimation task.
Request
Path Parameters
ID of the task to get result of
Header Parameters
Correlation ID is a special type of request ID which is unique over a series of requests and responses, identifying a transaction in a distributed system. Correlation ID will be generated if not provided.
In distributed system architecture (microservices architecture) it is a unique ID of request and response combination throughout all components of a distributed system. Request ID will be generated if not provided.
Responses
- 200
- 400
- 404
- 422
- 429
Result response of Audio Quality Estimation task.
The response body contains task info in the task
field. Depending on the task processing outcome, either result
or error
field is populated.
- application/json
- Schema
- Example (from schema)
- task done
- task rejected
- task failed
Schema
- AudioQualityEstimationResult
Array [
- MOD1
- MOD1
- MOD1
- MOD1
- MOD1
- MOD1
- MOD1
- MOD1
]
- TaskErrorResult
Array [
Array [
- MOD1
- MOD2
]
- MOD1
- MOD2
- MOD3
- MOD4
- MOD5
Array [
- MOD1
- MOD2
- MOD3
- MOD4
]
]
task
object
required
Possible values: [pending
, running
, rejected
, failed
, done
]
result
object
anyOf
Result of Audio Quality Estimation task.
channels
object[]
required
Channel number (0-base indexed).
pesq_estimation
object
required
Estimation of Perceptual Evaluation of Speech Quality (PESQ). Higher values mean better quality for human listeners.
anyOf
number
Possible values: >= -0.5
and <= 4.5
signal_noise_ratio
object
required
Signal-to-noise ratio in decibels based on waveform distribution. Positive values mean the signal in the audio is stronger than noise.
anyOf
number
audio_length
object
required
Length of audio in seconds.
anyOf
number
max_amplitude
object
required
Maximum amplitude of the signal. The value is a number in the interval [-1, 1]. Typically the value is positive.
anyOf
number
Possible values: >= -1
and <= 1
min_amplitude
object
required
Minimum amplitude of the signal. The value is a number in the interval [-1, 1]. Typically the value is negative.
anyOf
number
Possible values: >= -1
and <= 1
peak_amplitude
object
required
Maximum absolute value of the signal based on maximum and minimum amplitude. E.g., if min_amplitude = -0.9
and max_amplitude = 0.8
, then peak_amplitude = 0.9
.
anyOf
number
Possible values: <= 1
mean_amplitude
object
required
The mean value of all sample amplitudes (also called DC offset). A non-zero value, caused for example by a bad microphone, can indicate a possible distortion of the signal, such as signal clipping.
anyOf
number
Possible values: >= -1
and <= 1
sampling_rate
object
required
Sampling rate of the audio in hertz, i.e., the number of samples per second. Higher values typically mean better audio quality. (This does not apply to files artificially re-sampled to higher sampling rates.)
anyOf
integer
Possible values: > 0
error
object
anyOf
Result schema for a failed or rejected task.
Possible values: [internal
, task.validation-error
]
Machine-readable error type.
Human-readable summary of the error.
detail
object[]
Optional higher level of detail. It is intended for better understanding of the error or advanced error handling.
location
object[]
required
Location of the error.
anyOf
integer
string
Human-readable summary of the error.
Machine-readable error type.
context
object
Optional key-value object with additional context
property name*
object
anyOf
string
integer
number
boolean
anyOf
string
integer
number
boolean
{
"task": {
"task_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"state": "pending"
},
"result": {},
"error": {}
}
Audio Quality Estimation task done
{
"task": {
"task_id": "123e4567-e89b-12d3-a456-426614174000",
"state": "done"
},
"result": {
"channels": [
{
"channel_number": 0,
"pesq_estimation": 3.4,
"signal_noise_ratio": 13.1,
"audio_length": 153.5,
"max_amplitude": 0.92,
"min_amplitude": -0.89,
"peak_amplitude": 0.92,
"mean_amplitude": 0.02,
"sampling_rate": 8000
}
]
}
}
Audio Quality Estimation task rejected
{
"task": {
"task_id": "123e4567-e89b-12d3-a456-426614174000",
"state": "rejected"
},
"error": {
"type": "task.validation-error",
"message": "Task validation error.",
"detail": []
}
}
Audio Quality Estimation task failed
{
"task": {
"task_id": "123e4567-e89b-12d3-a456-426614174000",
"state": "failed"
},
"error": {
"type": "internal",
"message": "Service error.",
"detail": []
}
}
Request payload data was invalid and could not be parsed.
- application/json
- Schema
- Example (from schema)
- request.invalid
Schema
Array [
Array [
- MOD1
- MOD2
]
- MOD1
- MOD2
- MOD3
- MOD4
- MOD5
Array [
- MOD1
- MOD2
- MOD3
- MOD4
]
]
Possible values: [internal
, resource.not-found
, method.invalid
, request.forbidden
, request.invalid
, request.validation-error
, request.rate-limit-exceeded
, request.size-limit-exceeded
, storage.capacity-exceeded
]
Machine-readable error type.
Human-readable summary of the error.
detail
object[]
Optional higher level of detail. It is intended for better understanding of the error or advanced error handling.
location
object[]
required
Location of the error.
anyOf
integer
string
Human-readable summary of the error.
Machine-readable error type.
context
object
Optional key-value object with additional context
property name*
object
anyOf
string
integer
number
boolean
anyOf
string
integer
number
boolean
{
"type": "internal",
"message": "string",
"detail": [
{
"location": [
0,
"string"
],
"message": "string",
"type": "string",
"context": {}
}
]
}
Invalid request.
{
"type": "request.invalid",
"message": "Invalid request.",
"detail": []
}
The requested task does not exist.
The provided task_id
may be wrong or the task may have expired already.
- application/json
- Schema
- Example (from schema)
- not found
Schema
Array [
Array [
- MOD1
- MOD2
]
- MOD1
- MOD2
- MOD3
- MOD4
- MOD5
Array [
- MOD1
- MOD2
- MOD3
- MOD4
]
]
Possible values: [internal
, resource.not-found
, method.invalid
, request.forbidden
, request.invalid
, request.validation-error
, request.rate-limit-exceeded
, request.size-limit-exceeded
, storage.capacity-exceeded
]
Machine-readable error type.
Human-readable summary of the error.
detail
object[]
Optional higher level of detail. It is intended for better understanding of the error or advanced error handling.
location
object[]
required
Location of the error.
anyOf
integer
string
Human-readable summary of the error.
Machine-readable error type.
context
object
Optional key-value object with additional context
property name*
object
anyOf
string
integer
number
boolean
anyOf
string
integer
number
boolean
{
"type": "internal",
"message": "string",
"detail": [
{
"location": [
0,
"string"
],
"message": "string",
"type": "string",
"context": {}
}
]
}
Task not found.
{
"type": "resource.not-found",
"message": "Resource not found.",
"detail": [
{
"location": [
"root"
],
"message": "Task not found.",
"type": "task.not-found",
"context": {
"task_id": "123e4567-e89b-12d3-a456-426614174000"
}
}
]
}
Error during validation of request payload data occurred.
- application/json
- Schema
- Example (from schema)
- request validation error
Schema
Array [
Array [
- MOD1
- MOD2
]
- MOD1
- MOD2
- MOD3
- MOD4
- MOD5
Array [
- MOD1
- MOD2
- MOD3
- MOD4
]
]
Possible values: [internal
, resource.not-found
, method.invalid
, request.forbidden
, request.invalid
, request.validation-error
, request.rate-limit-exceeded
, request.size-limit-exceeded
, storage.capacity-exceeded
]
Machine-readable error type.
Human-readable summary of the error.
detail
object[]
Optional higher level of detail. It is intended for better understanding of the error or advanced error handling.
location
object[]
required
Location of the error.
anyOf
integer
string
Human-readable summary of the error.
Machine-readable error type.
context
object
Optional key-value object with additional context
property name*
object
anyOf
string
integer
number
boolean
anyOf
string
integer
number
boolean
{
"type": "internal",
"message": "string",
"detail": [
{
"location": [
0,
"string"
],
"message": "string",
"type": "string",
"context": {}
}
]
}
Request validation error.
{
"type": "request.validation-error",
"message": "Request validation error.",
"detail": []
}
Request rate limit exceeded.
The request may be retried after a while. The following response headers may be checked for details: retry-after
, x-ratelimit-limit
, x-ratelimit-remaining
, x-ratelimit-reset
.
Response Headers
retry-after
number
Header indicates how long the user agent should wait before making a follow-up request.
x-ratelimit-limit
number
Size of the current rate limiting window.
x-ratelimit-remaining
number
Remaining number of requests in the current rate limiting window.
x-ratelimit-reset
number
Time at which the current rate limiting window resets (in UTC epoch).
- application/json
- Schema
- Example (from schema)
- request.rate-limit-exceeded
Schema
Array [
Array [
- MOD1
- MOD2
]
- MOD1
- MOD2
- MOD3
- MOD4
- MOD5
Array [
- MOD1
- MOD2
- MOD3
- MOD4
]
]
Possible values: [internal
, resource.not-found
, method.invalid
, request.forbidden
, request.invalid
, request.validation-error
, request.rate-limit-exceeded
, request.size-limit-exceeded
, storage.capacity-exceeded
]
Machine-readable error type.
Human-readable summary of the error.
detail
object[]
Optional higher level of detail. It is intended for better understanding of the error or advanced error handling.
location
object[]
required
Location of the error.
anyOf
integer
string
Human-readable summary of the error.
Machine-readable error type.
context
object
Optional key-value object with additional context
property name*
object
anyOf
string
integer
number
boolean
anyOf
string
integer
number
boolean
{
"type": "internal",
"message": "string",
"detail": [
{
"location": [
0,
"string"
],
"message": "string",
"type": "string",
"context": {}
}
]
}
Rate limit exceeded.
{
"type": "request.rate-limit-exceeded",
"message": "Rate limit exceeded: 1 per 5 second.",
"detail": []
}