Skip to content

amstlkqp114514/Phone-MIDI-Controller

Repository files navigation

Phone MIDI Controller

欢迎使用由@实习人类,@萤火冷光(@通义灵码插件,主要是它) 共同开发的Phone Sensor Based MIDI Controller(简称Phone MIDI Controller)

这个方案能够将你的手机变成一个MIDI CC控制器!它通过检测手机倾斜程度来控制CC11,通过检测手机晃动来控制CC1,同时我们还有一个通过检测距离传感器来控制开闭的可选择打开的MIDI CC输出(默认CC3)。

可以自行更改cc1和cc11以及可选项cc_opt的输出映射到的MIDI CC控制器序号

功能特点

  • 倾斜检测 → 控制 MIDI CC11
  • 晃动检测 → 控制 MIDI CC1
  • 距离传感器 → 可选控制 MIDI CC3
  • 支持局域网通信
  • 支持虚拟 MIDI 端口输出
  • 可配置传感器灵敏度和行为

使用方法

  1. 手机上安装 传感器数据传输.apk
  2. 使用loopmidi 添加midi端口
  3. 手机与电脑连接同一局域网
  4. 电脑端运行midi_controller.exe
  5. 选择刚刚用loopmidi创建的端口
  6. 打开手机软件,点击发现设备(选择屏幕上显示的ip地址,输入端口号 [默认8080] ),点击开始发送
  7. 注意音源内要选择使用创建的虚拟端口

配置说明

set.ini 内可以更改部分配置,配置值对应作用已注释

主要配置项

  • aef: 平滑指数,用于数据平滑处理 (取值范围: 0.0 - 1.0,默认值: 0.1)
  • cc1_max: CC1最大值,用于限制CC1数据范围 (默认值: 30)
  • send_frequency: 发送频率(Hz),控制MIDI消息发送频率 (默认值: 60)
  • listen_port: 监听端口号,用于接收安卓设备发送的数据 (默认值: 8080)
  • 开关状态: MIDI CC控制器开关状态 (可选值: true(开启), false(关闭))

项目结构

Phone MIDI Controller/
├── app/                 # Android应用源代码
├── artwork/ # 电脑端程序图标(png)
├── midi_controller_v0_6_1.py  # Python MIDI控制器主程序
├── midi_controller_v0_6_1.exe # 编译后的可执行文件
├── set.ini              # 配置文件
├── 传感器数据传输.apk    # Android应用安装包
└── README.md            # 项目说明文件

技术栈

  • Android Kotlin: 用于开发手机端传感器数据采集应用
  • Python: 用于开发电脑端MIDI信号处理程序
  • MIDI协议: 用于音乐设备数字接口通信
  • Socket通信: 用于手机与电脑间的数据传输

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

No packages published

Contributors 2

  •  
  •