{
  "added_at": "2026-11-09",
  "additional_evidence_urls": [
    "https://github.com/akustikrausch/yamaha-smaf-player/blob/627f7ad8583ce34c5fec0269ef9778167af080d6/CMakeLists.txt",
    "https://github.com/akustikrausch/yamaha-smaf-player/blob/627f7ad8583ce34c5fec0269ef9778167af080d6/LICENSE"
  ],
  "category": "reconstruction-cases",
  "class": "hardware",
  "description_en": "Yamaha SMAF Player reconstructs ringtone playback associated with Yamaha MA-series sound chips in C++. It parses SMAF MMF containers, decodes HandyPhone and Mobile scores and Yamaha voice data, and renders FM synthesis with optional ADPCM samples. The author based the parser and synthesizer on the public SMAF format description and examination of real files.",
  "description_zh": "Yamaha SMAF Player 用 C++ 重建 Yamaha MA 系列音源芯片的铃声播放功能。它解析 SMAF MMF 容器、HandyPhone 和 Mobile 乐谱及 Yamaha 音色数据，并通过 FM 合成输出音频，也支持可选的 ADPCM 采样。作者依据公开的 SMAF 格式说明并观察实际文件来编写解析器和合成器。",
  "entry_url": "https://awesomerea.org/resources/yamaha-smaf-player-case/",
  "entry_url_zh": "https://awesomerea.org/zh/resources/yamaha-smaf-player-case/",
  "evidence_url": "https://github.com/akustikrausch/yamaha-smaf-player/blob/627f7ad8583ce34c5fec0269ef9778167af080d6/README.md",
  "group": "cases",
  "id": "yamaha-smaf-player-case",
  "json_url": "https://awesomerea.org/resources/yamaha-smaf-player-case/record.json",
  "kind": "case-study",
  "markdown_url": "https://awesomerea.org/resources/yamaha-smaf-player-case/index.md",
  "markdown_url_zh": "https://awesomerea.org/zh/resources/yamaha-smaf-player-case/index.md",
  "name": "Yamaha SMAF Player: MA-series ringtone playback reconstruction",
  "name_zh": "Yamaha SMAF Player：MA 系列铃声播放功能重建",
  "record_type": "resource",
  "relationship": "independent-reconstruction",
  "requirement_facets": [
    "prerequisites",
    "prerequisites",
    "limits",
    "license"
  ],
  "requirements": [
    "C++20 and CMake 3.16 or newer to build the library and example renderer.",
    "A SMAF MMF ringtone file to render.",
    "Bulk voice-wave blocks and SD-1-specific higher waveshapes are listed as future work; ROM timbres, graphics chunks, MA-7 streaming and MFi files are outside the stated scope.",
    "Apache License 2.0."
  ],
  "requirements_zh": [
    "构建库和示例渲染程序需要 C++20 及 CMake 3.16 或更新版本。",
    "渲染时需要 SMAF MMF 铃声文件。",
    "批量音色波形块和 SD-1 专用高阶波形列为后续工作；ROM 音色、图形块、MA-7 流式数据和 MFi 文件不在当前范围内。",
    "采用 Apache License 2.0。"
  ],
  "targets": [
    "firmware"
  ],
  "url": "https://github.com/akustikrausch/yamaha-smaf-player",
  "verification": "source-reviewed",
  "verified_at": "2026-11-07"
}
