← 返回
未分类

键盘作曲家

将键盘输入实时转换为简谱数字记谱。监测键盘输入,将字母映射为简谱音符(1-7对应C-B,支持高低八度和时值标记),适用于音乐创作、旋律记录和音乐教学场景。当用户需要"键盘转简谱"、"字母转音符"、"实时记谱"、"输入转音乐"、"记录键盘"、"录制简谱"时使用此技能。
将键盘输入实时转换为简谱数字记谱。监测键盘输入,将字母映射为简谱音符(1-7对应C-B,支持高低八度和时值标记),适用于音乐创作、旋律记录和音乐教学场景。当用户需要"键盘转简谱"、"字母转音符"、"实时记谱"、"输入转音乐"、"记录键盘"、"录制简谱"时使用此技能。
user_18c089d3
未分类 community v1.0.0 1 版本 94736.8 Key: 无需
★ 0
Stars
📥 18
下载
💾 0
安装
1
版本
#latest

概述

键盘转简谱技能

🎯 快速开始

三种核心功能

  1. 📝 键盘记录 - 实时记录键盘输入并转为简谱
  2. 🎵 音乐播放 - 读取简谱文件播放音乐
  3. 💾 MP3导出 - 播放完成后自动导出MP3/WAV音频文件
  4. 🔄 文本转换 - 直接转换文本为简谱

对话式使用(推荐)

直接告诉我你想做什么:

你: 记录键盘              → 启动交互式录制
你: 记录30秒键盘          → 录制30秒并保存
你: 播放简谱              → 播放最近的记录
你: 播放文件 xxx.txt      → 播放指定文件
你: 转换文本 hello        → 直接转换文本
你: 用100BPM播放          → 指定播放速度

📖 详细使用说明

1. 键盘记录

方式1: 交互式录制(推荐)

# 交互式输入时长
python3 scripts/interactive_recorder.py

# 或直接指定时长
python3 scripts/interactive_recorder.py 30

节奏感知模式: 录制器会记录按键之间的时间间隔,自动转换为音符时值(基于BPM 120):

  • 按得快 → 短音符(半拍、四分之一拍)
  • 按得慢 → 长音符(1拍、2拍)
  • 长时间不按键 → 自动插入休止符
  • 输出格式: 音符:时值,如 1:2(Do 2拍)、0:1.5(休止1.5拍)

界面预览:

============================================================
🎹 键盘转简谱 - 交互式录制工具 (节奏感知)
============================================================

请输入录制时长(秒,默认60): 30

⏱️  剩余: 28.3s | 音符: 15 | 最新: l→1

特点:

  • ✅ 节奏感知 — 按键时间间隔自动转为音符时值
  • ✅ 自动休止符 — 长间隔自动填充休止
  • ✅ 实时倒计时显示
  • ✅ 音符计数统计
  • ✅ 自动保存结果(默认BPM 120)

方式2: 定时录制

python3 scripts/timed_keyboard_recorder.py [时长秒] [输出文件]

方式3: 实时监听

python3 scripts/keyboard_to_jianpu.py

按ESC结束,Backspace删除

2. 音乐播放

播放简谱文件

# 默认120BPM + 录制时的音色
python3 scripts/play.py jianpu_recording.txt

# 指定播放速度(BPM)
python3 scripts/play.py jianpu_recording.txt 90

# 指定音色
python3 scripts/play.py jianpu_recording.txt guitar

# BPM + 音色(顺序任意)
python3 scripts/play.py jianpu_recording.txt 90 violin
python3 scripts/play.py jianpu_recording.txt violin 90

速度参考: 慢板~60 | 行板~80 | 中板~120 | 快板~160 | 急板~200

特点:

  • 自动解析简谱文件
  • 生成MIDI音乐文件
  • 实时播放音乐
  • BPM和音色参数顺序任意,自动识别
  • 支持四种乐器音色: piano | guitar | violin | trumpet
  • 播放后自动导出MP3

3. 预设音乐

内置经典曲目,可直接播放体验:

# 列出所有预设曲目
python3 scripts/generate_presets.py list

# 生成所有预设的recording文件
python3 scripts/generate_presets.py

# 生成指定曲目
python3 scripts/generate_presets.py conundrum

# 播放预设曲目
python3 scripts/play.py presets/preset_conundrum.txt violin 75
python3 scripts/play.py presets/preset_twilight.txt guitar 108

当前预设曲目:

曲目作者乐器BPM
-----------------------
(暂无预设,可通过 generate_presets.py 添加)---

4. 文本转换

# 交互式输入
python3 scripts/text_to_jianpu.py

# 直接转换
python3 scripts/text_to_jianpu.py "hello world"

🎼 简谱映射规则

基本映射

字母简谱音高说明
------------------------
l1Do中音Do
u2Re中音Re
i3Mi中音Mi
a4+Fa高音Fa
t5Sol中音Sol
n6La中音La
w7Si中音Si
空格0-休止符

大小写规则

  • 小写字母: 标准音符(一拍)
  • l1 (中音Do,一拍)
  • 大写字母: 半拍音符
  • L1_ (中音Do,半拍)

完整映射表

字母键 (a-z):

按键简谱按键简谱按键简谱
------------------------------------
a4+j5+s3-
b1-k1+t5
c3+l1u2
d4m2+v2
e4n6w7
f7-o7+x7
g5-p2-y4
h6+q4-z6
i3r6-空格0

数字键 (0-9):

按键简谱按键简谱按键简谱
------------------------------------
07+4184+
14-5193-
21-65-
3274-

🎵 简谱记谱法

音高表示

  • 1-7: 中音区 (C D E F G A B)
  • 1+: 高八度 (高音Do)
  • 1-: 低八度 (低音Do)
  • 1++: 高两个八度

时值标记

  • 1: 四分音符(一拍)
  • 1_: 八分音符(半拍)
  • 1__: 十六分音符(四分之一拍)
  • 0: 休止符

📦 依赖安装

基础功能(键盘记录和文本转换)

pip install pynput

音乐播放功能

pip install mido pygame

MP3导出功能

pip install pydub
# 如需导出MP3格式,还需安装ffmpeg:
# macOS: brew install ffmpeg
# Linux: sudo apt install ffmpeg
# 注: 无ffmpeg时会自动降级为WAV格式导出

📁 文件输出

简谱文件格式

简谱记录 - 2026-04-07 19:17:03
============================================================

录制时长: 20秒

原始输入: mmaspwnlNwome...

简谱输出:
2+ 2+ 4+ 3- 2- 7 6 1 1_ 6 6_ 7...

音符数量: 43
============================================================

MIDI文件

  • 自动生成标准MIDI格式
  • 可用音乐软件打开
  • 支持进一步编辑

💡 使用场景

  1. 旋律创作: 快速记录音乐灵感
  2. 音乐教学: 学生练习记录
  3. 节奏训练: 通过大小写练习不同节奏
  4. 音乐制作: 生成MIDI用于编曲

🔧 技术细节

键盘记录

  • 使用 pynput.keyboard 监听键盘
  • 支持多线程定时控制
  • 实时倒计时显示
  • 自动保存结果

音乐播放

  • 使用 mido 生成MIDI文件
  • 使用 pygame.mixer 播放音频
  • MIDI音符映射: 中央C(60) = 中音Do
  • 支持不同八度(+12/-12)和时值

📂 脚本说明

scripts/
├── interactive_recorder.py      # 交互式录制(推荐)
├── timed_keyboard_recorder.py   # 定时录制
├── keyboard_to_jianpu.py        # 实时监听
├── jianpu_player.py             # 简谱播放器
├── play.py                      # 快速播放脚本
├── generate_presets.py           # 预设曲目生成器
└── text_to_jianpu.py            # 文本转换

presets/                          # 预设曲目recording文件
├── preset_conundrum.txt          # Conundrum (小提琴)
└── preset_twilight.txt           # 黄昏 (吉他)

🎯 完整工作流示例

1. 录制
   你: 记录20秒键盘
   我: [录制并保存文件]

2. 播放
   你: 播放简谱
   我: [播放音乐并生成MIDI]

3. 编辑
   打开生成的MIDI文件进行编辑

❓ 常见问题

Q: macOS提示权限错误?

A: 系统设置 → 隐私与安全性 → 辅助功能 → 添加终端/Python

Q: 播放没有声音?

A: 确保安装了音频库: pip install mido pygame

Q: 如何调整播放速度?

A: 指定BPM参数: python3 scripts/play.py file.txt 100

🎉 开始使用

现在就开始你的音乐创作之旅!

你: 记录键盘

或者:

你: 转换文本 lllttt

版本历史

共 1 个版本

  • v1.0.0 Initial release 当前
    2026-06-04 14:39 安全 安全

安全检测

腾讯云安全 (Keen)

安全,无风险
查看报告

腾讯云安全 (Sanbu)

安全,无风险
查看报告

🔗 相关推荐

security-compliance

Skill Vetter

spclaudehome
AI智能体技能安全预审工具。安装ClawdHub、GitHub等来源技能前,检查风险信号、权限范围及可疑模式。
★ 1,210 📥 266,151
ai-intelligence

self-improving agent

pskoett
捕获经验教训、错误和纠正,以实现持续改进。使用时机:(1)命令或操作意外失败;(2)用户纠正……
★ 4,055 📥 795,910
developer-tools

Github

steipete
使用 `gh` CLI 与 GitHub 交互,通过 `gh issue`、`gh pr`、`gh run` 和 `gh api` 管理议题、PR、CI 运行及高级查询。
★ 666 📥 323,791