TxN
-
Публикации
3 -
Зарегистрирован
-
Посещение
-
Победитель дней
4
Сообщения, опубликованные пользователем TxN
-
-
Зачем столько блоков? Можно ведь на одном играть.
Время можно измерять при помощи os.time() или computer.uptime(), хотя, для музыки такая точность все-равно не годится. (можно глянуть как это сделано в программах для проигрывания midi)
Разве эти блоки позволяют за раз проигрывать несколько нот? В документации об этом ничего не было, если не ошибаюсь. Тогда да, программку можно сделать попроще и покомпактнее.
-
Представляю вам свою первую более-менее серьезную программу для openComputers.
Ее единственная функция - проиграть указанный музыкальный файл. Файл формата nbs, это трекерная музыка с майнкрафтовской спецификой (т.е. написана для музыкальных блоков)
Для создания и редактирования файлов в этом формате используется программа Minecraft Note Block Studio, ссылка на тему на майнкрафтфоруме: http://www.minecraftforum.net/forums/mapping-and-modding/minecraft-tools/1260747-minecraft-note-block-studio
Там же можно найти уже готовые музыкальные треки. Большую часть их программа сможет воспроизвести, проблемы будут с треками, содержащими нестандартные музыкальные инструменты и использующие диапазон шире двух октав. Но даже их можно проиграть, предварительно поправив в редакторе, он делает это автоматически.
Ссылка на программу: http://pastebin.com/yrtLYBhz
Использование очень простое, параметр всего один - относительный путь до файла (с расширением).Да, и помимо собственно компьютера вам понадобятся железные музыкальные блоки из Computronics, подключенные к нему. Штук восемь, можно больше или меньше, если их будет меньше, чем того требует трек, программа помрет, если больше - запас, как говорится, карман не тянет.
В планах упаковать программу в библиотечку, сделав возможность включать плеер из других программ. Например, для саундтрека в играх. Еще хотелось бы решить проблему со сбивающимся ритмом, если подскажете способ создавать задержки точнее, чем через pullSignal и os.sleep, буду очень благодарен.
Видео работы:
-
19
-

Проигрыватель музыки в формате NBS
в Разное
Опубликовано:
Чуть обновил программу. Теперь она по сути вся завернута в две функции:
player:init(songPath) и player.upd(player)
Вначале загружаем песню в ините, потом в цикле вызываем апдейт. По сути, уже можно использовать в других программах.
http://pastebin.com/A3UGxM1S
Еще сегодня начал понемногу ковырять tape recorder и работу с ним. Он позволяет синтезировать уже полноценный звук и записывать его на кассету. Банальное использование - воспроизводить заранее наконверченные музыкальные записи.
Но мне кажется, можно пойти дальше, и синтезировать музыку самостоятельно, как в старых спектрумах или коммодорах. Жаль только, документации по computronics очень мало.