Музыкальная клавиатура RaspPi

GitHub репозиторий проекта

Демонстрация/Объяснение

Создатели/Роли

  • Эндрю Дарлинг
    • Написал структуру и логику объектно-ориентированного программирования для кода.
  • Райли Ройалл
    • Собрал схему для RPBP.
  • Мехмет Йылмаз
    • Написал элемент GUI и генератор нот для кода.

О проекте

Проект “Piano Buzzer на Raspberry Pi” (RPBP) был финальным проектом для курса Сенсорные системы на Python (CSCI-250), который проводился в Колорадском горном университете в семестре осени 2019 года. Проект был групповой работой, в которую входили Эндрю Дарлинг, Райли Ройалл и Мехмет Йылмаз. Он был официально завершен примерно в конце ноября 2019 года, начале декабря 2019 года.

Наш проект - это “Piano Buzzer на Raspberry Pi” (RPBP). Эта идея RPBP - это музыкальная клавиатура, которая будет иметь набор из 13 клавиш, где клавиши представляют собой просто кнопки, которые могут действовать как клавиши пианино. Когда клавиша нажата, это вызывает один или несколько зуммеров, которые издают звук на разных частотах в зависимости от того, какая кнопка нажата. Также будут два потенциометра, один из которых будет использоваться для переключения между 3 режимами RPBP, а второй - для изменения октавы зуммеров. 3 режима на RPBP: Свободная игра, Запись и Воспроизведение. Свободная игра позволяет пользователю играть на RPBP и просто слышать, какую клавишу он нажал. Запись позволяет пользователю свободно играть на RPBP и одновременно записывать это в файл npy, а также создавать ноты в формате PDF для этой записи. Воспроизведение позволяет пользователю ввести имя записанного файла, и схема воспроизведет этот записанный файл через зуммеры. Все ноты будут сохранены в одной директории, чтобы пользователь всегда мог вернуться к своим нотам, если он захочет это сделать. Каждая кнопка/клавиша имеет светодиод, чтобы показать пользователю, когда кнопка/клавиша была нажата. Этот проект был доказан работоспособным только на Rasbian (операционная система Raspberry Pi) с правильно настроенными требованиями, указанными ниже.

Требования

Информация

  • Режимы:
    • Свободная игра: Позволяет пользователю просто играть на RPBP.
    • Запись: Позволяет пользователю записывать то, что он играет, сохранять эту запись и создавать ноты для того, что он записал.
    • Воспроизведение: Позволяет пользователю воспроизводить любую запись, которую он загрузил или сделал.
    • Без звука: отключает все зуммеры на RPBP.
  • Как обновить между режимами:
    • Измените настройки/значения в GUI и нажмите кнопку “Отправить”.
  • Другие заметки:
    • Чтобы узнать больше о RPBP из GUI, нажмите кнопку README, и этот README откроется.

Схема

  • Вы можете просмотреть изображения печатной платы, использованной для этого проекта, в разделе Изображения схемы.
  • Pi Wedge подключен к Raspberry Pi 3 B+ через шлейф.
  • Raspberry Pi запускает код, предоставленный в этом репозитории, с драйверами, перечисленными в этом README.
  • Извините за беспорядок на схеме, к сожалению, мы не задокументировали эту часть слишком хорошо.

Как использовать:

  • Сначала убедитесь, что все требования выполнены, затем выполните bash-скрипт start.sh, и появится GUI.
  • Во-вторых, выберите, какой режим вы хотите использовать под меткой “Режимы”.
  • [ эти шаги для тех, кто выбирает режим “Свободная игра” ]
    • Третий_10: Нажмите кнопку “Отправить” и начните играть на RPBP
  • [ эти шаги для тех, кто выбирает режим “Запись” ]
    • Третий_20: Напишите, какое имя вы хотите дать своей записанной записи под меткой “Имя записи”.
    • Третий_21: Нажмите кнопку “Отправить”, и красный светодиод загорится.
    • Третий_22: Играйте на RPBP, и когда вы закончите, нажмите кнопку “Стоп” на GUI.
    • Третий_23: После нажатия кнопки “Стоп” ваша запись будет сохранена, и ваши ноты будут сгенерированы и открыты в формате PDF для просмотра, и они будут сохранены в директории SHEETS.
  • [ эти шаги для тех, кто выбирает режим “Воспроизведение” ]
    • Третий_30: Выберите, какой файл песни вы хотите воспроизвести под меткой “Отправить”
    • Третий_31: Нажмите кнопку “Отправить” и начните слушать выбранный вами файл песни.
  • [ эти шаги для тех, кто выбирает режим “Без звука” ]
    • Третий_40: Просто нажмите кнопку “Отправить”, и все зуммеры будут отключены, пока вы не переключитесь на другой режим
  • В-четвертых, после того как вы закончите с RPBP, нажмите кнопку “Выход” для закрытия GUI и всей программы

Изображения схемы

GUI_image
GUI_image
GUI_image