I'm working on a simple voice changer app project for Android(mobile) that later may extend to a more complex sound editing app.
I started creating the app with Android SDK/NDK, but then I've found Godot and decided to switch. I would like to use Godot's new audio system with lots of effects. Additionally, Godot's superior graphics features might be useful for some audio visualisation and UI. If I don't have to add too much platform specific code, Godot would also allow me to easily port the app to other platforms.
This project should help me to learn some Godot basics and ideally require some overview of Godot's source code.
For now I was only able to create a native module for mic input recording on Windows, create a minimal UI for applying effects, and replay the recorded pcm with applied effects. I don't have anything to show here yet.
I'm still thinking about how to implement the basic features. It would be ideal to implement most stuff from GDScript and GDNative.
For now it seems that the following features will require a native C++ module.
- Saving audio output to wav/pcm after effects have been applied.
- Converting pcm/wav to ogg
- Getting processed samples for sound visualisation while playing/recording
- Replay and apply effects while recording voice (custom AudioStream/AudioStreamPlayback)
I know that my app is not a game, but I would still be happy to hear your thoughts and suggestions.
What features should I add? How would you implement the above mentioned stuff(high level suggestion)? Do you think that Godot is suitable for this kind of app?