GStreamer и обработка музыки - PullRequest
       20

GStreamer и обработка музыки

0 голосов
/ 09 сентября 2011

Я хочу использовать библиотеку gstreamer для работы со звуком в моем приложении c ++.Можете ли вы сказать мне, что есть какие-либо способы изменения темпа, высоты звука и т. Д.?

Спасибо.

Ответы [ 2 ]

3 голосов
/ 14 сентября 2011

С помощью плагина pitch вы можете изменить высоту звука:

$ gst-launch filesrc location=sound.mp3
    ! decodebin ! audioconvert
    ! pitch pitch=3
    ! autoaudiosink

Или темп:

$ gst-launch filesrc location=sound.mp3
    ! decodebin ! audioconvert
    ! pitch tempo=2
    ! autoaudiosink

Или скорость.

Также естьэто огромная обёртка LADSPA-библиотеки ladspa .У меня был какой-то плохой опыт с этим, но, возможно, сейчас он более стабилен.Он имеет несколько плагинов для контроля высоты звука, темпа и многого другого.

Это также может быть интересно, если вы планируете работать со звуком:

0 голосов
/ 29 февраля 2012

Начиная с предложения Макса Талдыкина, который возвратил ошибку в моей версии GStreamer (0.10.35), я нашел конвейер, который работает. Например, чтобы сдвинуть песню на 1 шаг вверх с поддержанием темпа, вы должны набрать 6%:

gst-launch-0.10 filesrc location=02-have_you_ever.mp3 ! \
    decodebin ! audioconvert ! pitch pitch=1.06 tempo=1.0 ! \
    audioconvert ! audioresample ! autoaudiosink

делает всю работу за меня.

...