modelscope·@kimjune01/synth-mcp
一个MIDI作曲系统,使AI助手能够通过FluidSynth创作音乐,具备播放音符、创建旋律、管理音轨和导出音频的功能。
以下是构建基于FluidSynth的有效MIDI作曲系统所需的要素:
核心MIDI功能
initialize_fluidsynth() - 用适当的配置设置FluidSynthload_soundfont(soundfont_path) - 加载用于乐器声音的SoundFont文件(.sf2)set_gain(gain_value) - 控制合成器的整体音量set_reverb(room_size, damping, width, level) - 配置混响效果set_chorus(nr, level, speed, depth, type) - 配置合唱效果play_note(note, velocity, duration, channel) - 播放单个音符,控制力度和持续时间play_chord(notes, velocity, duration, channel) - 同时播放多个音符作为和弦create_sequence(notes, durations, velocities, channel) - 创建带有时序的音符序列play_midi_file(file_path) - 加载并播放现有的MIDI文件record_midi(duration) - 录制指定时长的MIDI输入create_melody(scale, key, length, rhythm_pattern) - 根据音乐规则生成旋律create_chord_progression(progression, style, tempo) - 以不同的声部创建和声进行create_drum_pattern(style, tempo, variations) - 为打击乐生成节奏模式create_arpeggio(chord, pattern, tempo) - 从和弦结构创建琶音模式create_bassline(chord_progression, style, tempo) - 生成与和弦进行相辅相成的贝斯线create_track(name, instrument, channel) - 使用指定乐器创建新轨道mute_track(track_id) - 将特定轨道静音solo_track(track_id) - 独奏特定轨道set_track_volume(track_id, volume) - 调整单个轨道的音量set_track_pan(track_id, pan) - 调整立体声定位create_project(name, tempo, time_signature) - 初始化新的作品项目save_project(path) - 保存当前项目状态load_project(path) - 加载已保存的项目export_midi(path) - 将作品导出为标准MIDI文件export_audio(path, format) - 使用FluidSynth将作品渲染为音频start_midi_server(port) - 启动监听MIDI事件的服务器connect_midi_device(device_name) - 连接到外部MIDI硬件send_midi_event(event_type, parameters) - 向连接的设备发送MIDI事件sync_tempo(tempo) - 在连接的系统之间同步速度实现方法 根据我检查过的SuperCollider MCP服务器,你可以这样构建你的FluidSynth MIDI服务器:
开始步骤 要构建这个系统,你需要:
创建一个包含必要依赖项的Python项目:
创建主服务器文件(例如server.py),该文件:
设计方法签名,以便Claude能够轻松地创作音乐,具有明确的参数和合理的默认值。