hugohow/mcp-music-analysis
If you are the rightful owner of mcp-music-analysis and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.
MCP Music Analysis is a Model Context Provider that utilizes MCP and librosa for audio analysis from local files, YouTube links, or audio links.
Tools
Functions exposed to the LLM to take actions
load
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.
get_duration
Returns the total duration (in seconds) of the given audio time series.
tempo
Estimates the tempo (in BPM) of the given audio time series using librosa. Offset and duration are optional, in seconds.
chroma_cqt
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.
mfcc
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
beat_track
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.
download_from_url
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.
download_from_youtube
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.
Prompts
Interactive templates invoked by user choice
analyze_audio
Creates a prompt for audio analysis. Feel free to customize the text below to explain how users can interact with the tools.
Resources
Contextual data attached and managed by the client