# 8bitmusic **Repository Path**: about404/8bitmusic ## Basic Information - **Project Name**: 8bitmusic - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-02-08 - **Last Updated**: 2026-02-08 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 音视频转8bit乐谱工具 一个将音视频文件转换为8bit风格乐谱的Python工具。支持自动分析音频、检测音符、生成曲谱,并提供8bit/16bit两种音色风格播放。 ## 功能特性 - ✅ 自动音频分析(BPM检测、旋律提取、音符识别) - ✅ 8bit/16bit音色风格切换 - ✅ 多种波形支持(方波、三角波、锯齿波) - ✅ Markdown格式乐谱输出 - ✅ MIDI文件导入/导出 - ✅ 乐谱播放功能 - ✅ 完善的日志和配置管理 - ✅ MIDI转MP3音频文件转换 ## 项目结构 ``` audio-to-8bit/ ├── core/ # 核心模块(音频分析、音符检测) ├── converters/ # 转换器(音频→MIDI→8bit乐谱) ├── synthesizers/ # 合成器(波形生成、复古音色) ├── parsers/ # 解析器(乐谱、MIDI解析) ├── players/ # 播放器(乐谱、MIDI播放) ├── utils/ # 工具模块(频率表、配置、日志) ├── cli/ # 命令行界面 ├── examples/ # 示例乐谱 ├── tests/ # 测试模块 ├── requirements.txt # 依赖列表 └── run.py # 主入口 ``` ## 安装依赖 ```bash pip install -r requirements.txt ``` ## 使用方法 ### 1. 交互模式 ```bash python run.py ``` 进入交互模式后,可以选择: - 转换音频文件为8bit乐谱 - 播放已有乐谱 - 转换MIDI文件为MP3文件 ### 2. 命令行模式 ```bash # 转换音频文件 python run.py convert song.mp3 # 转换并指定输出文件 python run.py convert song.mp3 output.md # 转换并指定BPM python run.py convert song.mp3 output.md 120 # 播放乐谱 python run.py play song-8bit曲谱.md # 列出所有乐谱 python run.py list # 转换MIDI文件为MP3 python run.py midi to-mp3 input.mid output.mp3 ``` ### 3. 播放已有乐谱 在交互模式中选择"播放已有乐谱",或使用命令行: ```bash python run.py play 稻香-8bit曲谱.md ``` ## 音符表示 乐谱中使用以下符号表示音符时值: | 符号 | 名称 | 拍数 | |------|------|------| | `----` | 全音符 | 4拍 | | `---` | 附点二分音符 | 3拍 | | `--` | 二分音符 | 2拍 | | `-..` | 附点四分音符 | 1.5拍 | | `-` | 四分音符 | 1拍 | | `-.` | 附点八分音符 | 0.75拍 | | `.` | 八分音符 | 0.5拍 | | `.-` | 附点十六分音符 | 0.375拍 | | `..` | 十六分音符 | 0.25拍 | | `...` | 三十二分音符 | 0.125拍 | 示例: - `C4-` = C4四分音符 - `C4.` = C4八分音符 - `C4..` = C4十六分音符 ## 配置文件 可以在项目根目录创建 `config.json` 来自定义配置: ```json { "audio": { "sample_rate": 22050, "hop_length": 512, "min_frequency": 65.41, "max_frequency": 1975.53 }, "note_detection": { "min_note_duration": 0.1, "min_confidence": 0.8, "quantize_tolerance": 0.15 }, "rhythm": { "default_bpm": 120, "min_bpm": 60, "max_bpm": 200, "beats_per_bar": 4 } } ``` ## 代码审计 项目已通过全面的代码审计,详细信息请参考 [代码审计报告.md](代码审计报告.md)。 ## 许可证 MIT License ## 贡献 欢迎提交 Issue 和 Pull Request! --- **祝您享受8bit音乐的乐趣!🎮**