Skip to content

About

No description, website, or topics provided.

Resources

Stars

5 stars

Watchers

1 watching

Forks

Repository files navigation

Music-and-Mathematics-Term-Project

生成式艺术初探

使用短乐曲片段样本的马尔可夫链方法自动作曲

python=3.6

use music21 6.3.0 from PyPi(http://web.mit.edu/music21/doc/)

Built with OrcaRouter

Built with OrcaRouter

本项目的生成后处理环节接入了 OrcaRouter (兼容 OpenAI 协议的多服务商 API 网关):orca_assist.py 用大模型对马尔可夫链生成的 乐句写中文分析,并对多条候选旋律按乐句自然度打分排序,与 eval.py 中的统计指标 (Spearman 相关、重复模式计数)互为补充。

Provider 配置

按官方快速开始,接入只需把 OpenAI SDK 的 base_url 指向网关这一行改动。provider 配置项集中在 orcarouter.config.json(orca_assist.py 启动时读取):

{
  "provider": "orcarouter",
  "base_url": "https://api.orcarouter.ai/v1",
  "api_key_env": "ORCAROUTER_API_KEY",
  "model": "orcarouter/auto"
}
pip install openai

export ORCAROUTER_API_KEY="sk-orca-..."                     # 在 https://www.orcarouter.ai 控制台创建
# 环境变量可覆盖配置文件中的同名项:
export ORCAROUTER_BASE_URL="https://api.orcarouter.ai/v1"   # 关键一行:base_url 指向 OrcaRouter
export ORCAROUTER_MODEL="orcarouter/auto"                   # 自动路由;或 openai/gpt-4o-mini、anthropic/claude-sonnet-4.6 等

密钥只走环境变量,不写进入库的配置文件;.env.example 给了本地 .env 的样例 (.env 已被 gitignore)。注意 orca_assist.py 依赖 OpenAI SDK,需要 Python >= 3.7; 核心生成代码仍兼容 3.6。

用法

# 分析一条生成乐句,输出可放进报告的中文分析
python orca_assist.py analyze \
    --notes G4,B-4,A4,B-4,G4,D4,A4,F#4 \
    --intervals quarter,eighth,eighth,quarter,eighth,eighth,quarter,eighth

# 对多条候选乐句排序(candidates.txt 每行:音名表|时值表)
python orca_assist.py rank --file candidates.txt

本仓库条目收录于 Built with OrcaRouter 目录。

About

No description, website, or topics provided.

Resources

Stars

5 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages