Автор Тема: Идея программы. Тренажер игры на гитаре, подключенной к компьютеру  (Прочитано 12164 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Rem_ Автор темы

  • Опытный
  • ****
  • Сообщений: 588
  • GuitarPlayer.Ru fan!
    • Мои музыкальные программы
(все готовые программы выложены в облако - https://cloud.mail.ru/public/206cef9b994d/MyMusicProgramms/ )

Всем привет. Для введения перечислю несколько готовых программ с открытыми кодами, которые могут понадобиться в этом проекте.

1. Редактор табулатур http://sourceforge.net/projects/tuxguitar/. Он умеет читать и сохранять табы в форматах гитарпро. А в этом формате существует огромное множество упражнений и занятий, полезных для гитариста.

2. Примеры программ тюнеров. http://sourceforge.net/projects/otuner/ , http://sourceforge.net/projects/lstune/ , http://sourceforge.net/projects/accordeur/ Сейчас они нужны лишь для того, чтобы раз в неделю настроить 6 струн за пару минут и всё. Но ведь они умеют определять любую частоту, любую ноту за долю секунды.

3. Тюнеры основаны на алгоритмах "быстрое преобразование фурье, fft" Для них библиотеки написаны, например http://sourceforge.net/projects/kissfft/ , http://sourceforge.net/projects/fftwpp , http://sourceforge.net/projects/mffmfftwrapper и куча других

Теперь идея:
Человек запускает тренажер, открывает в нем файл, например гамму ля мажор. На экране появляется табулатура (в одну строчку, до упора вправо). Слева вертикальная черта. При нажатии play табулатура перемещается влево, пока очередная нота не наткнется на черту. В нашем случае 6 струна 5 лад. Останавливается.
У игрока гитара подключена к компьютеру и сигнал со входа (с микрофонного или линейного) поступает на анализ, раскладывается на частоты. Тренажер определяет, какую ноту сыграл игрок, сравнивает с текущей, и если они совпали (+- несколько центов) то табулатура смещается до следующей ноты.
Таким образом обучающийся выполняет задание с точностью 100%. Он обязан играть все ноты. Он не может пропустить или играть другую, тренажер не двинется с места. Скорость зависит только от игрока.
В продвинутом варианте можно запускать трек ударных и трек гитары. В этом случае трек не останавливается, но в те моменты, когда нота пересекает черту игрок должен взять нужную ноту в нужное время с отклонением +- доля секунды. Здесь идёт обучение одновременно и правильным нотам и правильному ритму. Сначала человек учит ноты по первому варианту, затем наращивает скорость по второму.

Кто умеет программировать или у кого есть знакомые программисты? Кто смог бы реализовать такое? Куски кода собрать воедино.
Полезна ли будет такая программа? Что бы вы потренировали на ней, если б только начинали гитарное обучение?
(проект навеян играми гитархиро и роксмит, но это не игра а тренажер)
« Последнее редактирование: Июля 24, 2014, 23:47:32 от Rem_ »

Оффлайн ba3a

  • Эксперт
  • *****
  • Сообщений: 1056
  • for love and rock-n-roll
    • Моя жжшечка
Какой-то бесполезняк. Какую полезную функцию  выполняет программа? Обычать при помощи проверки частоты нечему.

Оффлайн Rem_ Автор темы

  • Опытный
  • ****
  • Сообщений: 588
  • GuitarPlayer.Ru fan!
    • Мои музыкальные программы
Чел смотрит на экран. Там таба нарисована, на пятой струне седьмой лад. Надо сыграть эту ноту. Смещается к следующей, например на 4 струне 5 лад, нужно сыграть эту ноту, и так далее.

Оффлайн Inchart

  • Эксперт
  • *****
  • Сообщений: 1910
  • Один
Rem_, И до какого уровня владения инструментом должна обучать программа? Ты же с Роксмитом сталкивался. Неужели не заметил, что точность распознавания звуков там заметно падает, когда эти самые звуки извлекаются на басовых струнах, а так же в составе аккордов?

Оффлайн Sharapoff

  • Завсегдатай
  • ***
  • Сообщений: 430
Rem_,

Как по мне, так тренажера скорости хватает и в GTP. Если при каждой ошибке будет остановка воспроизведения, то лично меня, например, это будет сбивать.
Кстати, получается Guitar Hero какой-то ))

Оффлайн Rem_ Автор темы

  • Опытный
  • ****
  • Сообщений: 588
  • GuitarPlayer.Ru fan!
    • Мои музыкальные программы
Sharapoff ну ты выбери второй вариант, без остановки. А если промазал по ноте или играл не в ритм, то она выделится красным после прохождения черты. И ты увидишь ошибку.

... и добавил:

Inchart, К роксмиту у меня претензия немного другая. Настроил струны, начал играть, в процессе струна немного сбивается, но при проверке строя игра принимает её как нормально настроенную. И ноты принимает как правильные, но на слух уже слышно что не так звучит.
В тренажере это легко будет исправить, задав точность нот в центах. При отклонении выше нормы нота не примется. А аккорды - они и по теории состоят из трёх звуков. Для этой проги актуально сделать распознание одного двух или трёх звуков. Достаточно для многих уроков на эл.гитаре
« Последнее редактирование: Апреля 09, 2013, 12:01:41 от Rem_ »

Оффлайн Evgenii857752

  • Эксперт
  • *****
  • Сообщений: 1561
Sharapoff ну ты выбери второй вариант, без остановки. А если промазал по ноте или играл не в ритм, то она выделится красным после прохождения черты. И ты увидишь ошибку.

А своей головой понять   , что не правильно сыграл не судьба ?   Мозги быстрее в этом деле дадут оценку.

Оффлайн Rem_ Автор темы

  • Опытный
  • ****
  • Сообщений: 588
  • GuitarPlayer.Ru fan!
    • Мои музыкальные программы
Это же проект. Придумайте сами, какие бы методы обучения можно напридумать и реализовать?

Тренировку скорости можно сделать адаптивно.
Чел выбирает, с какой скоростью начинать занятие, например 60 bpm, игра четверными. Игрок проигрывает упражнение. Если без ошибок в нотах и темпе, скорость повышается (61, 65,80, 120). Если игрок сделал несколько ошибок, темп не меняется. Если напортачил очень много, темп замедляется.
Придумайте упражнения.

Оффлайн Inchart

  • Эксперт
  • *****
  • Сообщений: 1910
  • Один
Rem_, Лучше продумай самую важную для новичка вещь - как он будет осваивать упражнение, если для этого нужно смотреть на экран, когда нужно смотреть на гриф. А к тому моменту, когда упражнение освоено настолько, что на гриф смотреть уже не нужно, на экран смотреть тем более незачем.

Оффлайн Rem_ Автор темы

  • Опытный
  • ****
  • Сообщений: 588
  • GuitarPlayer.Ru fan!
    • Мои музыкальные программы
А как он осваивает гтп? Он смотрит на табу, потом смотрит на гриф, а в это время уже едут другие ноты. Здесь посмотрел на экран, посмотрел на гриф, сыграл ноту, на экран, на гриф... запомнил апликатуру,  стал смотреть только на экран...
Идея. Игрок учит последовательность смены пальцев, смотрит на гриф, играет. Если очередная нота не правильная, звучит сигнал ошибки. Игрок смотрит на экран, вспоминает нужное положение пальцев (или вспоминает по грифу не глядя на экран), возвращается взглядом на гриф и продолжает играть.

Оффлайн Inchart

  • Эксперт
  • *****
  • Сообщений: 1910
  • Один
Rem_, мой личный опыт мне подсказывает, что пальцами в изучаемую аппликатуру промахиваться перестаёшь намного раньше, чем усваиваешь её настолько, что можешь играть вообще не глядя на гриф. Мне Роксмит потому и не нравится, что необходимо визуально контролировать момент когда должна звучать нота. Зачем это? Можно под метроном играть и целиком на ритме сосредоточиться.

Т.е. мне сама идея  глядения(!) в экран вместо слушания(!) того, что играешь кажется неверной изначально.

Оффлайн Rem_ Автор темы

  • Опытный
  • ****
  • Сообщений: 588
  • GuitarPlayer.Ru fan!
    • Мои музыкальные программы
Не глядя:
Считаем, что игрок примерно знает упражнение и смотрит всегда на гриф. Программа может издавать в пол громкости текущую ноту одновременно анализируя сигнал. Если игрок промазал, нота периодически повторяется, пока её не найдёт. Так можно на слух поймать разницу и определить где нужная нота совсем не глядя на экран. Можно метроном, можно партию ударных фоном пустить :)

Оффлайн 1oVVa

  • Ветеран форума
  • ******
  • Сообщений: 3186
  • UNGRACE, ELECTRIFIED, DAN DEAGH WEALCAN
    • Сессионный вокалист
Эта тема похожа ну один тред в крафте, где человек хотел сделать свой собственный гитарный процессор, с флажолетами и блудницами.

Оффлайн Inchart

  • Эксперт
  • *****
  • Сообщений: 1910
  • Один
Ну, тут хоть полезные ссылки есть в первом посте, за что ТС-у спасибо.

Оффлайн Rem_ Автор темы

  • Опытный
  • ****
  • Сообщений: 588
  • GuitarPlayer.Ru fan!
    • Мои музыкальные программы
процессор... ну было бы неплохо чтоб прога успевала обработать сигнал и выдать электрический звук :)
Или чтоб чистый сигнал шел на анализ, а затем в любую программу которая есть у игрока на компьютере для эффектов.