Yamaha S-YXG 50 逆向记录

不明觉厉,膜技术佬

帮您叫一下 @华北kingsky
不过他好久都没来过了……

kingsky 应该很忙吧……我现在就只有两个大问题需要解决了:

  1. 我还没有核实 dataSeg13 dataSeg14dataSeg15 的关系,以及各种 drum 与这些数据段的关系
  2. dataSeg16 的数据是怎么对应到 SXGWAVE

事实上芬兰程序员 Evgeny Vrublevsky (aka veg.by) 也尝试了逆向,我也是在他的基础上做了进一步的尝试,不过不得不说,Yamaha 的合成软件的代码也确实够复杂,到目前还有很多数据结构我还没能完整分析出来

支持,顺便看看能不能逆向S-YXG2011EE
https://ftp.mcmodule.org/DTM/VSTi%20plugin/S-YXG2011EE.zip

1 Like

我是打算后续逆向 2006-LE 的,不过我也是在 deepseek 的加持下,才逆向出现在这个进度,后面有时间我会看看把这些逆向试试

简单看了一下,这里面的tbl 加密方式跟 sxg50 很相似

主要是这个版本编译出来就是128复音的,S-YXG2006LE也才32复音

s-yxg 50 vsti 版本是可以调复音数的,能到 128

帖子更新了一下,告诉大家一个秘密,其实 S-YXG 50 的 2MB 版本波表库的音质比 4MB 要好

1 Like

This post was flagged by the community and is temporarily hidden.

https://veg.by/ru/projects/syxg50/comment-page-3/#comment-50325

根据这里的讨论,他们认为 2MB 波表里面鼓的细节比较多一点(看不懂请找各路AI)

事实上已经有人尝试改波表的采样率和其他一些参数了,我现在有点进行不下去了,这个软件并不是特别容易逆向的那种,有很多数据结构我还没有搞明白具体的含义

2 Likes

This post was flagged by the community and is temporarily hidden.

1 Like

[本篇文章没有涉及到技术性讨论
杂谈?<大概是>]

雅马哈的大刀 取舍给错了
不过也都不清楚具体是哪点不好

老感觉这句话有耳熟

下面这位回复的就挺中肯


(毕竟还是一种主观感受,每个人都觉得不同)

讲实话,就像以前在摸主机的时候
总是争论 Gba和sfc (那就扯远了)
<总之没有可比性,不管是技术上还是设备定位>


雅马哈的情况,如我提出主观的话应该是:
取舍不当就成这样了
(不清楚这里的rom<或sample>是否有封装大小的限制)


总之主观论点就是猜的

有上述情况就是取舍错误
没有的话雅马哈的大刀接英特尔 (doge)


https://veg.by/ru/projects/syxg50/comment-page-3/#comment-50325

@DecemberLens 这帖子讨论的东西挺有趣的 (提到sample与质量)

我看看这个帖 (虽然可能不会对您现在正在进行的工作,起到什么变化吧)

chirs.

25/03/27 17:50 utc+8 首评

17:53 二改

嗯,我昨晚联系了 veg,然后他就给我指路到这个俄语的评论区了,事实上已经有大神逆向成功了 S-YXG 50,我也在研究他们评论区的内容,现在的问题是我需要把这些数据表以及每个字段的作用完全搞明白,不过一路逆向到现在,我觉得其实只要能兼容 XG 标准,我也完全没有必要非得用 Yamaha 的采样……可能我比较怀旧吧
总之逆向还需要一些时间,接下来我需要把这些毛子说了啥完全搞明白先

2 Likes


也好理解,2006LE好像没有设置可调
(连面板都找不到)

见过有人套着这个用


(不过我没用过xgworks不清楚干嘛的)

25/03/27 18:40

2006LE 其实是给 Midradio Player 专用的音源,虽然它是 VSTi 但是本来就没考虑给其他宿主用的,自然也就不需要什么设置了。
xgworks 是 yamaha 自己的 daw,支持 XG 标准的,能用 SysEX 去调某些隐藏参数(比如打击乐器的频率参数什么的)

2 Likes

我在翻译 veg.by 的讨论区,我之前逆向的内容,很多他们都已经做过了。

目前来说,如果能搞明白tbl文件的全部内容,我大概率会先完成一个lib,实现对tbl文件的解析,但是据我目前掌握的情况来说,程序内固化了很多数据表,而且会参与计算,细节尚不明确。

就翻译内容中大家的吐槽,其实 S-YXG 50 整体的效果并不像硬件合成器那么好(例如mame),所以未来还有可能,我会放弃读取tbl文件,而是尝试用rust复刻mame的相关模块,我想实现界面与音源分离(作为后台服务运行)在 Linux 上面

这个 2011EE 的版本,感觉缺了采样

感谢LZ的工作

我也想要把XG音源逆向出来可是没那个技术和时间
不过我见到电子琴论坛好像把MU50那个 mame弄到网页上了,还挺神奇的

我是在开始逆向之后发现其实 veg.by 那些人已经做了很多了,我目前的进度也仅仅跟他们持平,虽然是个音源,但是这玩意的复杂程度也不亚于一个大型软件了