Перейти к публикации
Форум - ComputerCraft
TxN

Проигрыватель музыки в формате NBS

Рекомендованные сообщения

Зачем столько блоков? Можно ведь на одном играть.

Время можно измерять при помощи os.time() или computer.uptime(), хотя, для музыки такая точность все-равно не годится. (можно глянуть как это сделано в программах для проигрывания midi)

Изменено пользователем Doob

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Зачем столько блоков? Можно ведь на одном играть.

Время можно измерять при помощи os.time() или computer.uptime(), хотя, для музыки такая точность все-равно не годится. (можно глянуть как это сделано в программах для проигрывания midi)

Разве эти блоки позволяют за раз проигрывать несколько нот? В документации об этом ничего не было, если не ошибаюсь. Тогда да, программку можно сделать попроще и покомпактнее.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

 

Разве эти блоки позволяют за раз проигрывать несколько нот? В документации об этом ничего не было, если не ошибаюсь. Тогда да, программку можно сделать попроще и покомпактнее.


Есть звуковая плата позволяющая играть несколько нот из модов. Есть стандартная библиотека note, просто для игры. Ну и всякие железные нотные блоки.
К тому же если обычный нотный блок подключить через адаптер, по идее можно обойтись только одним.

 


Хм, у тебя все ноты по продолжительности одинаковые. Так было задумано или это минус ПО?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Как раз и не позволяют.

Программа офигенная, одна из моих давнишних идей, которые постоянно задвигаются, то языками новыми, то проектами более важными :)

На ИТ за это творение обязательно выдам призы, если пожелаете ;)

 

 

Хм, у тебя все ноты по продолжительности одинаковые. Так было задумано или это минус ПО?

Это не минус ПО, это фича Note Block Studio — у ванильных нотных блоков продолжительность ты не задашь. Да и не надо.

 

 

Есть звуковая плата позволяющая играть несколько нот из модов. Есть стандартная библиотека note, просто для игры. Ну и всякие железные нотные блоки.

Звуковой платы нет. Ноты из модов — слишком зависит от сборки. Железные нотные блоки, сюрприз, и так используются.

 

 

К тому же если обычный нотный блок подключить через адаптер, по идее можно обойтись только одним.
  1. Это фича OpenPeripheral-Integration.
  2. Этот мод не любят многие за читерность.

 

Так что всё верно сделал автор ;)

Изменено пользователем Fingercomp

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

 

 

Так что всё верно сделал автор

Не совсем. Продолжительность нот всё же нужно добавить. Иначе получается какая-то кастрированная музыка. 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Не совсем. Продолжительность нот всё же нужно добавить. Иначе получается какая-то кастрированная музыка. 

Я ещё раз повторюсь, проигрывается файл из NBS, NBs сделан для нотных блоков, которые не поддерживают длительность нот, как и железные нотные блоки -_-

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Если заставить блок воспроизвести несколько нот подряд, то будет слышно, что они воспроизводятся одновременно.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Я ещё раз повторюсь, проигрывается файл из NBS, NBs сделан для нотных блоков, которые не поддерживают длительность нот, как и железные нотные блоки -_-

Это нехорошо. При тех возможностях что есть в ОС и его аддонах, делать музыку на уровне майнеров у которых нет ОС.

Надо нормальный формат брать, например .abc. У меня был план разобраться полностью в этом формате и сделать плеер, но я психанул и вручную вбил "имперский марш" как самостоятельную программу под ОС.

  • Like 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Это нехорошо. При тех возможностях что есть в ОС и его аддонах, делать музыку на уровне майнеров у которых нет ОС.

Надо нормальный формат брать, например .abc. У меня был план разобраться полностью в этом формате и сделать плеер, но я психанул и вручную вбил "имперский марш" как самостоятельную программу под ОС.

Мне ещё раз повторить?..

Другой формат — другая прога.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Чуть обновил программу. Теперь она по сути вся завернута в две функции:

player:init(songPath) и player.upd(player)

Вначале загружаем песню в ините, потом в цикле вызываем апдейт. По сути, уже можно использовать в других программах.

http://pastebin.com/A3UGxM1S

 

Еще сегодня начал понемногу ковырять tape recorder и работу с ним. Он позволяет синтезировать уже полноценный звук и записывать его на кассету. Банальное использование - воспроизводить заранее наконверченные музыкальные записи.

Но мне кажется, можно пойти дальше, и синтезировать музыку самостоятельно, как в старых спектрумах или коммодорах. Жаль только, документации по computronics очень мало.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Классная программа. Документацию по computronics можно найти в блогах Fingercomp. И да, кассеты лучше на 64 бит/с пиши (в ваниле 32 ток), там звук чуть лучше, но и пленку жрет в 2 раза больше.

P.S. computronics-polnyi-obzor

Изменено пользователем Asior

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

В YouTube по CX поищите просто "Computronics гайд", там единственный видеогайд имеется, к счастью, на русском. Может помочь.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Как раз и не позволяют.

Программа офигенная, одна из моих давнишних идей, которые постоянно задвигаются, то языками новыми, то проектами более важными :)

На ИТ за это творение обязательно выдам призы, если пожелаете ;)

 

 

Это не минус ПО, это фича Note Block Studio — у ванильных нотных блоков продолжительность ты не задашь. Да и не надо.

 

 

Звуковой платы нет. Ноты из модов — слишком зависит от сборки. Железные нотные блоки, сюрприз, и так используются.

 

 

  1. Это фича OpenPeripheral-Integration.
  2. Этот мод не любят многие за читерность.

 

Так что всё верно сделал автор ;)

А можно мне тоже призы? :)  за аналогичную программу только у меня другой принцип, воспроизводится на одном нотном блоке и есть минималистичный граф. интерфейс) сделал где-то месяца 2 назад, не выложил потому-что местами кривой код и не счёл её полезной) выложить свою версию?

Изменено пользователем FluttyProger

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

А можно мне тоже призы? :)  за аналогичную программу только у меня другой принцип, воспроизводится на одном нотном блоке и есть минималистичный граф. интерфейс) сделал где-то месяца 2 назад, не выложил потому-что местами кривой код и не счёл её полезной) выложить свою версию?

Ну допиливай и выкладывай, если хочешь. Посмотрим.

Квест только меня на ИТ поймать :)

 

Кликните в ирке, если что, если я на ИТ нужен.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Я как-то пробовал синтезировать звук напрямую, на пару секунд музыки придется затратить около часа. Плюнул на это дело, нужен редактор, который будет генерить и работать со звуком в памяти, а потом писать на кассету. Но в OC это не реализовать, проще конвертировать что-то созданное в нормальной программе.

Изменено пользователем Doob

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Скрипт почему-то использует инструмент барабана там, где должен быть бас, огромная просьба пофиксить

 

Неважно уже, поправил айдишники всех инструментов и поменял таймер на os.time() - синхронизироваться стало получше.

Вот, если надо

http://pastebin.com/gEfVrExJ

Изменено пользователем Hardeh

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

можно пример простенькой программы ,де издаётся любая нота ?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

можно пример простенькой программы ,де издаётся любая нота ?

Нота Ля первой октавы:

local computer=require"computer"
computer.beep(440,1)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас

×