tools:
  - name: load
    description: "

      \    Loads an audio file and returns the path to the audio time series

      \    Offset and duration are optional, in seconds.

      \    Be careful, you will never know the name of the song.

      \    "
    inputSchema:
      type: object
      title: loadArguments
      required:
        - file_path
      properties:
        offset:
          type: number
          title: Offset
          default: 0
        duration:
          type: number
          title: Duration
          default: null
        file_path:
          type: string
          title: File Path
  - name: get_duration
    description: "

      \    Returns the total duration (in seconds) of the given audio time
      series.

      \    "
    inputSchema:
      type: object
      title: get_durationArguments
      required:
        - path_audio_time_series_y
      properties:
        path_audio_time_series_y:
          type: string
          title: Path Audio Time Series Y
  - name: tempo
    description: "

      \    Estimates the tempo (in BPM) of the given audio time series using
      librosa.

      \    Offset and duration are optional, in seconds.

      \    "
    inputSchema:
      type: object
      title: tempoArguments
      required:
        - path_audio_time_series_y
      properties:
        ac_size:
          type: number
          title: Ac Size
          default: 8
        std_bpm:
          type: number
          title: Std Bpm
          default: 1
        max_tempo:
          type: number
          title: Max Tempo
          default: 320
        start_bpm:
          type: number
          title: Start Bpm
          default: 120
        hop_length:
          type: integer
          title: Hop Length
          default: 512
        path_audio_time_series_y:
          type: string
          title: Path Audio Time Series Y
  - name: chroma_cqt
    description: "

      \    Computes the chroma CQT of the given audio time series using librosa.

      \    The chroma CQT is a representation of the audio signal in terms of
      its

      \    chromatic content, which is useful for music analysis.

      \    The chroma CQT is computed using the following parameters:

      \    - path_audio_time_series_y: The path to the audio time series (CSV
      file).

      \        It's sometimes better to take harmonics only

      \    - hop_length: The number of samples between frames.

      \    - fmin: The minimum frequency of the chroma feature.

      \    - n_chroma: The number of chroma bins (default is 12).

      \    - n_octaves: The number of octaves to include in the chroma feature.

      \    The chroma CQT is saved to a CSV file with the following columns:

      \    - note: The note name (C, C#, D, etc.).

      \    - time: The time position of the note in seconds.

      \    - amplitude: The amplitude of the note at that time.

      \    The path to the CSV file is returned.

      \    "
    inputSchema:
      type: object
      title: chroma_cqtArguments
      required:
        - path_audio_time_series_y
      properties:
        fmin:
          type: number
          title: Fmin
          default: null
        n_chroma:
          type: integer
          title: N Chroma
          default: 12
        n_octaves:
          type: integer
          title: N Octaves
          default: 7
        hop_length:
          type: integer
          title: Hop Length
          default: 512
        path_audio_time_series_y:
          type: string
          title: Path Audio Time Series Y
  - name: mfcc
    description: "

      \    Computes the MFCC of the given audio time series using librosa.

      \    The MFCC is a representation of the audio signal in terms of its

      \    spectral content, which is useful for music analysis.

      \    The MFCC is computed using the following parameters:

      \    - path_audio_time_series_y: The path to the audio time series (CSV
      file).

      \        It's sometimes better to take harmonics only

      \    "
    inputSchema:
      type: object
      title: mfccArguments
      required:
        - path_audio_time_series_y
      properties:
        path_audio_time_series_y:
          type: string
          title: Path Audio Time Series Y
  - name: beat_track
    description: "

      \    Computes the beat track of the given audio time series using librosa.

      \    The beat track is a representation of the audio signal in terms of
      its

      \    rhythmic content, which is useful for music analysis.

      \    The beat track is computed using the following parameters:

      \    - hop_length: The number of samples between frames.

      \    - start_bpm: The initial estimate of the tempo (in BPM).

      \    - tightness: The tightness of the beat tracking (default is 100).

      \    - units: The units of the beat track (default is \"frames\"). It can
      be frames, samples, time.

      \    "
    inputSchema:
      type: object
      title: beat_trackArguments
      required:
        - path_audio_time_series_y
      properties:
        units:
          type: string
          title: Units
          default: frames
        start_bpm:
          type: number
          title: Start Bpm
          default: 120
        tightness:
          type: integer
          title: Tightness
          default: 100
        hop_length:
          type: integer
          title: Hop Length
          default: 512
        path_audio_time_series_y:
          type: string
          title: Path Audio Time Series Y
  - name: download_from_url
    description: "

      \    Downloads a file from a given URL and returns the path to the
      downloaded file.

      \    Be careful, you will never know the name of the song.

      \    "
    inputSchema:
      type: object
      title: download_from_urlArguments
      required:
        - url
      properties:
        url:
          type: string
          title: Url
  - name: download_from_youtube
    description: "

      \    Downloads a file from a given youtube URL and returns the path to the
      downloaded file.

      \    Be careful, you will never know the name of the song.

      \    "
    inputSchema:
      type: object
      title: download_from_youtubeArguments
      required:
        - youtube_url
      properties:
        youtube_url:
          type: string
          title: Youtube Url
