Разработка графического интерфейса обработки аудиосигнала с использованием Qt, Как? - PullRequest
2 голосов
/ 25 марта 2011

У меня есть несколько базовых алгоритмов эффектов (например, chrous, LP-фильтрация ...), которые я хотел бы построить для создания этих приложений с графическим интерфейсом.

Например, я хочу иметь возможность открыватьаудио-файл, обработайте аудио-файл с помощью моих алгоритмов и воспроизведите обработанный файл.

Позже я хотел бы, если это возможно, иметь возможность видеть кривые исходного файла и обработанного файла в приложении с графическим интерфейсом.Это моя цель сейчас.В будущем я хочу иметь возможность создавать пользовательский интерфейс, с помощью которого пользователи смогут использовать мои собственные алгоритмы обработки аудио для своих файлов.

Можно ли спроектировать такой графический интерфейс с помощью среды программирования Qt?Если так, может кто-то указать мне правильное направление, чтобы начать?Сейчас у меня есть бета-версия Qt SDK 1.1, работающая на ОС Windows 7 и использующая Qt Creator.Я был бы очень признателен за некоторые рекомендации.

Ответы [ 2 ]

3 голосов
/ 18 ноября 2011

Qt - очень мощная прикладная среда, но не ожидайте от нее никакой дополнительной помощи по задачам DSP. Он содержит API для некоторых основных и распространенных задач, таких как воспроизведение аудио / видео файла, работа со звуковыми устройствами, создание аудиоэффектов (поиск QAudio и Phonon в справке Qt) и т. Д. Вы можете использовать некоторые готовые виджеты и создавать Ваш собственный мультимедийный проигрыватель через несколько минут.

Но в DSP вы, в основном, сами по себе. Например, есть только ограниченная поддержка форматов аудиофайлов, поэтому, если вы хотите работать с большим количеством форматов, чем .wav и .aiff, используйте некоторую специализированную библиотеку. Я рекомендую libsndfile (http://www.mega -nerd.com / libsndfile /), которая является самой мощной из доступных бесплатных библиотек аудиофайлов. А если вы планируете сделать свои эффекты более универсальными, используйте, скорее, технологию VST от Steinberg - современный стандарт звуковых плагинов, но он относительно сложен и не подходит для начинающих.

Нет встроенного виджета, который может отображать форму волны, вы должны создать его самостоятельно, но это не намного сложнее. Qt имеет действительно классные функции рисования, кисти, тексты, градиенты, преобразования, сглаживание, даже оболочку OpenGL - все готово и очень просто в использовании.

Так что ответ определенно да. Я использую Qt в своих мультимедийных приложениях в течение трех лет, и теперь я не могу понять, как я мог бы жить без него (используя VST GUI и Windows API ранее).

0 голосов
/ 25 марта 2011

Конечно, это возможно, QT - это фреймворк для написания приложений, вы можете написать любое приложение, которое захотите, используя его, вам, вероятно, в конечном итоге понадобится написать несколько пользовательских элементов управления.Например, вот приложение на основе QT с открытым исходным кодом, которое делает практически все, о чем вы говорите, и многое другое:

http://qtractor.sourceforge.net/qtractor-index.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...