Приветствую всех!
Ребята,
нужна помощь. Мне нужно написать приложение для вокалистов. Нужно будет записывать вокал с микрофона, сравнивать с образцами в реальном времени (например, чисто ли спел мелодию), рисовать спектрограмму, определять высоту голоса и т.д. и т.п. Со звуком раньше не работал, поэтому не представляю как и с помощью чего решать данную задачу. Гугл выдает ссылки на различные библиотеки (мне желательно библиотеку на С++) для работы со звуком, но я не уверен какая из них больше подходит (и подходит ли) для моей задачи. Очень хотелось бы услышать советы людей, которые разбираются в этом вопросе.
Для работы со звковыми устройствами и файлами (буду писать название ссылки искать лень):
portaudio
libsndfile
Для частотного анализа, на algolist.manual.ru есть реализации FFT (быстрого преобразования Фурье), как делать такой анализ не скажу, нужно думать, наверно искать преобладающую частоту в мелодии и голосе и искать их взаимосвязь (может быть алгоритм корреляции).
musix пишет: > > нужна помощь. Мне нужно написать приложение для вокалистов. Нужно будет > записывать вокал с микрофона, сравнивать с образцами в реальном времени > (например, чисто ли спел мелодию)
Что здесь имеется в виду?
>, рисовать спектрограмму,
Это просто.
> определять > высоту голоса и т.д. и т.п.
Это сложнее, но в случае вокала, возможно и не сильно страшно.
> Со звуком раньше не работал, поэтому не > представляю как и с помощью чего решать данную задачу.
Это плохо, нужно будет перечитать прилично учебников по DSP (ЦОС).
> Гугл выдает > ссылки на различные библиотеки (мне желательно библиотеку на С++) для > работы со звуком, но я не уверен какая из них больше подходит (и > подходит ли) для моей задачи.
Сначала задачу точно поставь себе.
А из библиотек IT++ одна из очень приличных, там много чего напихано.
> Очень хотелось бы услышать советы людей, > которые разбираются в этом вопросе.
А какие тебе тут советы дать можно?
1. Сначала вспомни, чему тебе учили в институте по мат. статистике и
цос. Перечитай учебники.
2. Из приложений, на мой взгляд наиболее эффективен такой набор Adobe
Audition версий подревнее(или подобный ему редактор звуковой), Praat,
Matlab и только потом программирование на С/С++ и различные библиотеки.
Здравствуйте, Vzhyk, Вы писали:
V>musix пишет: >> >> нужна помощь. Мне нужно написать приложение для вокалистов. Нужно будет >> записывать вокал с микрофона, сравнивать с образцами в реальном времени >> (например, чисто ли спел мелодию) V>Что здесь имеется в виду?
Например, такая подзадача: программа предлагает пользователю спеть ноту ля1 (звук высотой 440Гц). Пользователь поет в микрофон,
а программа должна определить верно ли он спел эту ноту, если нет (например, пользователь спел ре1 — 294Гц) то сообщить ему величину
ошибки (440-294). Это делается в реальном времени, т.е. пользователь поет, видит свою ошибку, исправляется и видит как меняется ошибка.
Конечно, вокалистам не в герцах ошибку показывать нужно, а в музыкальных интервалах (на терцию ошибся, и т.д.). Вот для решения подобных задач, мне требуется какая-то библиотека или какая-то аудио-студия в которую можно встроиться... Не с нуля же писать все это.
Знает кто-нибудь библиотеки для работы со звуком в которых имеются развитые средства для записи и обработки (определить высоту, нарисовать спектрограмму, например) голоса?
>>, рисовать спектрограмму, V>Это просто.
>> определять >> высоту голоса и т.д. и т.п. V>Это сложнее, но в случае вокала, возможно и не сильно страшно.
>> Со звуком раньше не работал, поэтому не >> представляю как и с помощью чего решать данную задачу. V>Это плохо, нужно будет перечитать прилично учебников по DSP (ЦОС).
>> Гугл выдает >> ссылки на различные библиотеки (мне желательно библиотеку на С++) для >> работы со звуком, но я не уверен какая из них больше подходит (и >> подходит ли) для моей задачи. V>Сначала задачу точно поставь себе. V>А из библиотек IT++ одна из очень приличных, там много чего напихано.
Посмотрел, но меня интересуют библиотеки ориентированные на работу с голосом,
его записью и обработкой (На каком-то этапе здесь и IT++, пожалуй,пригодится).
Точнее меня интересуют программные средства для работы с вокалом, возможно,
аудио редакторы с возможностью написания для них плагинов...
>> Очень хотелось бы услышать советы людей, >> которые разбираются в этом вопросе. V>А какие тебе тут советы дать можно? V>1. Сначала вспомни, чему тебе учили в институте по мат. статистике и V>цос. Перечитай учебники. V>2. Из приложений, на мой взгляд наиболее эффективен такой набор Adobe V>Audition версий подревнее(или подобный ему редактор звуковой), Praat, V>Matlab и только потом программирование на С/С++ и различные библиотеки.
Конкретную подзадачу я описал выше. Меня интересует существуют ли готовые
средства ( библиотеки или аудио-редакторы(студии)+API ) с помощью которых можно
было бы ее решить.
Ну вот. Если что-то непонятно — спрашивай, уточню.
Спасибо.
Я уточнил задачи в ответе Vzhyk'у.
N>Для работы со звковыми устройствами и файлами (буду писать название ссылки искать лень):
N>portaudio N>libsndfile
N>Для частотного анализа, на algolist.manual.ru есть реализации FFT (быстрого преобразования Фурье), как делать такой анализ не скажу, нужно думать, наверно искать преобладающую частоту в мелодии и голосе и искать их взаимосвязь (может быть алгоритм корреляции).
musix пишет: > >> > нужна помощь. Мне нужно написать приложение для вокалистов. Нужно будет >> > записывать вокал с микрофона, сравнивать с образцами в реальном времени >> > (например, чисто ли спел мелодию) > V>Что здесь имеется в виду? > Например, такая подзадача: программа предлагает пользователю спеть ноту > ля1 (звук высотой 440Гц). Пользователь поет в микрофон, > а программа должна определить верно ли он спел эту ноту, если нет > (например, пользователь спел ре1 — 294Гц) то сообщить ему величину > ошибки (440-294). Это делается в реальном времени, т.е. пользователь > поет, видит свою ошибку, исправляется и видит как меняется ошибка. > Конечно, вокалистам не в герцах ошибку показывать нужно, а в музыкальных > интервалах (на терцию ошибся, и т.д.). Вот для решения подобных задач, > мне требуется какая-то библиотека или какая-то аудио-студия в которую > можно встроиться... Не с нуля же писать все это.
Смотри. Обычно речевой сигнал при анализе описывается частотой основного
тона и 4-мя формантами.
Что в твоем случае спетая нота? вероятнее это частота основного тона, но
я дела не имел никогда с вокалом, посему не уверен.
А писать, возможно и самому с нуля придется, например, я не знаю на
данный момент того же выделителя тона, бесплатного или платного,
эффективно работающего во всех условиях. Так, что есть все шансы писать
это самому под твои условия.
> Точнее меня интересуют программные средства для работы с вокалом, возможно, > аудио редакторы с возможностью написания для них плагинов...
Практически все аудиоредакторы имеют возможность подключения плагинов.
> Конкретную подзадачу я описал выше. Меня интересует существуют ли готовые > средства ( библиотеки или аудио-редакторы(студии)+API ) с помощью > которых можно > было бы ее решить.
Думаю, что существуют. Но, они настолько узкоспециализированные, что
возможно все делались только под заказ и не продаются или продаются, но
задорого. Т.е. может сможешь спереть на какой западной студии.
Есть например такая программа Celemony Melodyne ней на студиях безголосым певцам голоса ровняют, незнаю есть ли там возможность писать плагины, ставил её только один раз поиграться как только она вышла.
Народ, привет! Нужно по-бырому налабать компилятор C++. Программированием раньше не занимался. Может, кто че посоветует? А? Библиотеки, там, и т.п.
Re[5]: Приложение для вокалистов - VocalTutor
От:
Аноним
Дата:
10.04.09 04:13
Оценка:
Здравствуйте, nen777w, Вы писали:
Спасибо большое — интересная программа. Надо почитать о ней. N>Есть например такая программа Celemony Melodyne ней на студиях безголосым певцам голоса ровняют, незнаю есть ли там возможность писать плагины, ставил её только один раз поиграться как только она вышла.
Re: Приложение для вокалистов - VocalTutor
От:
Аноним
Дата:
14.04.09 15:10
Оценка:
Здравствуйте, musix, Вы писали:
M>Приветствую всех! M>Ребята, M>нужна помощь. Мне нужно написать приложение для вокалистов. Нужно будет записывать вокал с микрофона, сравнивать с образцами в реальном времени (например, чисто ли спел мелодию), рисовать спектрограмму, определять высоту голоса и т.д. и т.п. Со звуком раньше не работал, поэтому не представляю как и с помощью чего решать данную задачу. Гугл выдает ссылки на различные библиотеки (мне желательно библиотеку на С++) для работы со звуком, но я не уверен какая из них больше подходит (и подходит ли) для моей задачи. Очень хотелось бы услышать советы людей, которые разбираются в этом вопросе.
M>Заранее благодарен!
Не знаю, насколько может помочь, но кажеться может: есть опенсорсная кросплатформенная игрушка, UltraStarDeluxe кажетсмя называется.. игра-караоке — там и работа с микрофоном, и анализ наверное ведь какой-то спетого..