Audio capabilities of Qt...? Musician not a coder...
-
Preface: I'm not a programmer, I'm a sound designer. Fact finding mission about Qt...
The project I'm creating audio for requires playback & realtime manipulation of audio files. Dev team is already using Qt for UI/UX, but there is now a need for a fairly chunky audio component (think, background audio that reacts to user interaction / environmental conditions).
I've skimmed the Qt6 docs, and it seems as if what we need is possible. But can anyone please confirm that multichannel audio playback, realtime audio manipulation (e.g: pitch shifting), and audio synthesis (plugins?) are all in fact doable within Qt? Devs are building for Android / embedded.
- Multitrack audio mixing; playback of several PCM files at the same time
- realtime and independent pitch control of audio files
- realtime audio plugins? e.g: CoreAudio (macOS) or OpenSL ES / AAudio (Android)
Re: multichannel mixing, I might be able to fake this with Qspatial / QAmbient / surround sound audio files, but haven't found the specs acceptable to Qt (number of channels available, audio file formats etc. etc.). I read somewhere that ffmpeg handles audio for Qt, but not sure if that's just for compressed formats? We're happy to stick with PCM.
If anyone has links to github projects, Qt apps where audio features heavily (games?), or general advice / comments re: audio handling in Qt... all knowledge is much appreciated.
Again, I'm a sound engineer / musician / producer, not a programmer, and while the devs I'm working for are razor sharp, they are fairly naive of audio, and I'd like to better understand the capability / limitation of Qt's audio before going nuts into sound design concepts.
Thanks in advance! D
-
Hi and welcome to devnet,
The QtMultimedia module is rather geared towards playback and recording but nothing as advanced as what you are looking for. That said, it should support pcm playback.
One application you could take a look at is kdenlive. It's a video editor that might contain some of the things you need.