Skip to main content

Changelog 2024-01-05

· 2 min read
Bastian Werner

Announcing a new public API query for accessing the cyanite audio waveform.

Library Track Waveform Query​

The new cyanite API library track waveform query can be used to get a signed URL of the specific created waveform file. It will return a signed URL to the json file with an expiration time of 15 minutes.

Example query​

This example queries the signed waveform url for the library track with the given id.

query LibraryTrackWaveformQuery($trackId: 123456) {
libraryTrackWaveform(trackId: $trackId) {
... on LibraryTrackWaveformError {
code
message
}
... on LibraryTrackWaveform {
waveformUrl
}
}
}

Example Result

The query result field libraryTrackWaveform.waveformUrl can be used to download the waveform file.

{
"data": {
"libraryTrackWaveform": {
"waveformUrl": "https://api.cyanite.ai/example-signed-url.json"
}
}
}

Example Error (track not found)

{
"data": {
"libraryTrackWaveform": {
"code": "notFound",
"message": "Could not find library track."
}
}
}

Waveform file format​

The waveform json file has a simple format. It contains the actual waveform data and some meta data from the audio. Here is an example how the waveform file can look like:

{
"version": 2,
"channels": 1,
"sample_rate": 44100,
"samples_per_pixel": 256,
"bits": 16,
"length": 5171,
"data": [...]
}