We are very excited to announce that we just released Complete Ear Trainer version 2.9.0, Complete Rhythm Trainer version 1.9.0 and Complete Music Reading Trainer version 1.9.0 on Apple App Strore.

These new iOS versions have been rewritten from scratch in Swift and now uses the SwiftUI framework. This gives us a solid, modern foundation that will allow us to iterate quickly and maintain feature parity across all platforms. It’s a major rewrite, with not a single line of code shared with the previous Objective-C/UIKit version.

Improvements:

  • The audio engine has been reworked and is now more performant and resilient to audio route changes
  • In Complete Rhythm Trainer, the audio engine will no longer lose sync with the cursor in case of occasional performance issues on a device
  • The user interface has been modernized, and the app is now more consistent with its counterparts on other platforms
  • All screens now use adaptive layouts and should look great on all devices and screen sizes
  • On iPad, when there is room for it, a side menu has been added to quickly navigate to various app sections
  • The app now respects the device’s preferred font size where possible
  • Two new options can be found in the app settings to increase or decrease the user interface and font sizes
  • In Complete Music Reading Trainer, a setting has been added to increase or decrease the virtual keyboard key size
  • Changing the app language no longer requires restarting the app
  • When there is room for it, a theme switcher button is now displayed in the toolbar to quickly switch between light and dark themes
  • The app icon is now compatible with Liquid Glass
  • App shortcuts have been added
  • A lot of bugs and visual inconsistencies have been addressed

We would also like to take this opportunity to express our profound gratitude and thanks to our dear friend Benjamin Rossi, who did a fantastic job porting the apps to Objective-C/UIKit between 2012 and 2025.

Despite his busy schedule and full-time job as an engineer at another company, he took on the challenge and did an amazing job with the port.

But there came a time when maintaining the project and keeping up with new features became too much to handle with the time available, and the Swift rewrite was taken over by Stéphane Dupont.

Thank you, Benjamin, for your dedication, your hard work, and for being such a pleasure to work with over all these years, it has been a real privilege having you with us on this journey.