For many companies, legacy code is an important technical asset, yet it often presents challenges in terms of future maintainability and development efficiency. In Yamaha's effect processing for electronic musical instruments, which has been developed over many years, highly optimized DSP assembly for dedicated DSPs is used. While these are important elements supporting high competitiveness, they have also become major barriers to platform expansion and software implementation.
ESP, released in 2024 (https://jp.yamaha.com/products/music_production/apps/esp_montagem/index.html), reproduces the signal processing of MONTAGE M (a hardware synthesizer) in software. During ESP's development, the effects section required a mechanism to reliably convert DSP assembly to C++. To address this, we developed software that automatically converts DSP assembly to C++ code. This software not only significantly improved the porting efficiency of existing DSP assembly, but also enabled stable support for new DSP assembly to be added in the future.
In this presentation, we will share the "challenges and concerns" encountered during the development of DSP assembly → C++ automatic conversion software, as well as "insights gained after completion." We look forward to sharing technical perspectives with engineers facing similar challenges and discussing better development approaches.
The issues and processes covered in this presentation extend beyond the DSP domain to areas such as "legacy asset succession," "optimized code migration," and "approaches and points of focus when implementing automation tools," with the aim of providing practical insights that you can take back to your work.