API Reference

Authentication

The API is public and no authentication is needed.

Endpoints

Clipping detection

Detects regions where clipping occurs inside an audio file.

Upload a binary .wav file and receive a json dictinary marking sections in the audio file that contain clipping.

POST api.tinydrop.io/detect-clipping/

  • Request (audio/wave)

    • Headers

        Content-Type: audio/wave
      
    • Body

        -- binary wav file --
      
  • Response 200 (application/json)

      [
          {
              "start": 0.0,
              "end": 1.0,
              "value": 1
          },
          {
              "start": 1.0,
              "end": 2.0,
              "value": 1
          },
          {
              "start": 2.0,
              "end": 3.0,
              "value": 0
          }
      ]
    

The start and end values denote start and end points of time intervals in seconds. If clipping is detected inside an interval, value will be 1. If no clipping is detected, value will be zero.

Reverb detection

Upload a 16 bit, mono .wav file with a recording of clapping your hands once. The API returns a JSON dictionary describing the overall strength of the reverb, the loudness of the reverb and the duration of the reverb.

POST api.tinydrop.io/detect-reverb/

Detects reverb in an audio file containting the sound of clapping hands

  • Request (audio/wave)

    • Headers

        Content-Type: audio/wave
      
    • Body

        -- binary wav file --
      
  • Response 200 (application/json)

      {
          "reverb-index": 190.0008768614681,
          "details": {
              "reverb-loudness": 0.9551921412021567,
              "reverb-duration": 1.8114925904649666
          }
      }
    

The reverb-index describes the overall strength of the reverbation, it’s proportional to both loudness and duration. The reverb-loudness and reverb-duration are of arbitrary units. A reverb-loudness greater than 1 is quite loud and a reverb-duration greater than 1 is quite long.

Loudness detection

Upload a 16-bit mono .wav file. The API returns a JSON dictionary describing the overall strength of the reverb, the loudness of loudest and of the most silent moment in an audio recording.

POST api.tinydrop.io/detect-min-max/

Returns the loudness of loudest and of the most silent moment in an audio recording.

  • Request (audio/wave)

    • Headers

        Content-Type: audio/wave
      
    • Body

        -- binary wav file --
      
  • Response 200 (application/json)

      {
        "minimum_loudness_ratio": 0.00034651089783371006,
        "minimum_loudness_log_ratio": 0.20725196160461706,
        "maximum_loudness_ratio": 0.4370983152155938,
        "maximum_loudness_log_ratio": 0.9176569722067288
      }
    

The output values are normalized to the loudness of a sine wave played at full volume. This means that any value close to 1 or even higher than 1 is loud. As the volume is decreased, the non-logarithmic ratio tends to zero much quicker than the ratio of logarithms.