本项目是一个用于音频处理和和弦分析的模型上下文协议(MCP)服务器,能够对音频进行解码、归一化、节拍检测、音调识别、和弦分析等操作,并提供标准化的RESTful API接口,方便与其他系统集成。
使用Docker Compose可实现最快设置:
# 克隆仓库
git clone https://github.com/yourusername/mcp-audio-server.git
cd mcp-audio-server
# 启动服务器
docker compose up -d
# 分析一个WAV文件
curl -X POST http://localhost:8000/analyze_chords \
-H "Content-Type: application/json" \
-d '{
"audio_data": "'$(base64 -i tests/fixtures/tempo/120bpm_with_chord.wav)'",
"format": "wav",
"options": {"model": "basic"}
}'
{
"schema_version": "1.0.0",
"key": "C",
"tempo": 120.5,
"chords": [
{
"time": 0.0,
"label": "C",
"confidence": 0.92
},
{
"time": 1.0,
"label": "G",
"confidence": 0.87
}
],
"duration": 4.0,
"processing_info": {
"sample_rate": 44100,
"channels": 1,
"processing_time": 0.245,
"model_used": "basic"
},
"correlation_id": "550e8400-e29b-41d4-a716-446655440000"
}
# 克隆仓库并启动服务
git clone https://github.com/yourusername/mcp-audio-server.git
cd mcp-audio-server
docker compose up -d
安装依赖:
# 安装Python和相关工具
python3 install --user pip
pip install poetry
克隆仓库并运行:
git clone https://github.com/yourusername/mcp-audio-server.git
cd mcp-audio-server
poetry install
poetry run uvicorn server.main:app --reload
API文档基于FastAPI生成,并托管在/docs路径下。
curl -X POST http://localhost:8000/analyze_chords \
-H "Content-Type: application/json" \
-d '{"audio_data": "base64_encoded_audio", "format": "wav", "options": {"model": "basic"}}'
{
"schema_version": "1.0.0",
"key": "C",
"tempo": 120.5,
"chords": [
{
"time": 0.0,
"label": "C",
"confidence": 0.92
},
{
"time": 1.0,
"label": "G",
"confidence": 0.87
}
],
"duration": 4.0,
"processing_info": {
"sample_rate": 44100,
"channels": 1,
"processing_time": 0.245,
"model_used": "basic"
},
"correlation_id": "550e8400-e29b-41d4-a716-446655440000"
}
{
"error": {
"code": "INVALID_ARGUMENT",
"message": "音频数据无效或格式错误。"
}
}
请参考CONTRIBUTING.md了解如何为项目贡献力量。
# 运行所有测试并生成覆盖率报告
pytest --cov=mcp_audio_server tests/
# 运行特定测试
pytest tests/analysis/test_tempo.py
要重新构建文档网站,请执行以下命令:
# 安装文档依赖项
poetry install --with docs
# 构建文档
poetry run mkdocs build
# 本地运行文档服务器
poetry run mkdocs serve
此项目根据MIT许可证发布,具体内容请参阅LICENSE文件。
所有依赖项及其相应许可信息详见DEPENDENCIES.md。
查看CHANGELOG.md以了解项目的版本历史和更新内容。