NedoTracker

Публичный форум для http://www.nedopc.org/nedopc

Moderator: Shaos

User avatar
Paguo-86PK
Maniac
Posts: 267
Joined: 12 Apr 2011 20:43
Location: Tashkent

NedoTracker

Post by Paguo-86PK »

Синтаксис
Основные ноты задаются заглавными символами латинского алфавита «CDEFGAB», а их диезы - строчными «cdega» без каких-либо значков шарпа «#», что делает запись наиболее компактной.
Для повтора одной или нескольких нот несколько раз используется запись «n(e…)», где «n» - число итераций и «e» - само выражение.
Циклы можно вкладывать друг в друга, а так же и ссылаться на итераторы родительских циклов посредством замены «n» на «i/» или «i\» для восходящего счёта или нисходящего отсчёта соответственно. Так:
  • запись «3(CDE)F» развернётся в «CDECDECDEF»
  • запись «3(C1\(DE)F)» развернётся в «CDEDEDEFCDEDEFCDEF»
  • запись «3(C1/(DE)F)» развернётся в «CDEFCDEDEFCDEDEDEF»
Как автор «Глазури», я предусматриваю возможно использования разных специальных символов для более профессионального набора партитуры Глазурь-подобным редактором.
В частности, организация циклов с дробной итерацией:
  • запись «3½(CD;E)F» развернётся в «CDECDECDEF»
  • запись «3½(C;1\(DE);F)» развернётся в «CDEDEDEFCDEDEFCDE»
  • запись «3½(C1/(DE);F)» развернётся в «CDEFCDEDEFCDEDEDE»
Сам скрипт-плеер по подобным меткам может определять, составлялась ли партитура профессионально или конвертировалась из другого источника, либо набиралась вручную как вставка в чат/форум…

Так как сам скрипт задуман для вставки в форумы EMBED-способом, чтобы обойти ограничения адресной строки с необходимостью использования функций «escape»/«unescape» при скором наборе мелодии, синтаксически предусматривается возможность кодирования мелодии посредством набора из 68 символов.
Например, «32*5ECECFED4GGGAB5CCC»

Продолжение следует…
You do not have the required permissions to view the files attached to this post.
Last edited by Paguo-86PK on 07 May 2019 07:58, edited 4 times in total.
User avatar
Paguo-86PK
Maniac
Posts: 267
Joined: 12 Apr 2011 20:43
Location: Tashkent

NedoTracker

Post by Paguo-86PK »

Легенда
Практичeски 40 лет прошло, как разработали Sol20 с трёхголосным генератором тональностей, программа которого была перенесена и на РЛК как Музыкальная система, которую я дампом некогда перебивал с журнала в память…
Синтаксически достаточно интересна, хотя за 40 лет морально устарела.
У GW-Basic'а имелся оператор Play, но слишком примитивен из-за ограниченных аппаратных способностей IBM PC-XT тех лет по воспроизведению звука. Его синтаксисом трекерную музыку не набьёшь…
В то же время ZX-Spectrum 48K биппером мог радовать подобными треками с довольно мощным звучанием:

Мне посчастливилось живьём побаловаться с Wham!

Хотя, существовал ещё и Орфей:


С приходом интернета и развитием разных форматов, файлы *.inf/*.ini превратились в ужасные *.xml, а тот же MIDI - оборотился в MusicXML, что совсем не радует, словно какое-то избыточное извращение, совсем негодное для ручной набивки мелодий.
(Видимо, программистам сильно хочется кушать и они выдумывают форматы из разряда «вывихни мозг»!)

Однако, есть такой Music Macro Language, который появился, как указывается на страничке, в 1975 и до сих пор поддерживается энтузиастами.
С другой стороны - ByteBeat с предельно открытой структурой, где музыка описывается краткой формулой.

Сеть предоставляет нам много возможностей. В частности, сюда на форум я без труда могу вставить…
QR-Код:
Image
Или формулу:
Image
Можно и снимок страницы вставить:

 Главная страница
Image

Однако, в сети никак не находится средств для вставки в форум хотя бы кратких музыкальных аккордов.
И если многие форумы поддерживают теги image и video, то audio или music почему-то редко где встретишь.

Нельзя, скажем, вставить «[music]CDE[/music]» в форум, чтобы он отобразился как Image и проиграл бы ноты «До-Ре-Ми» при клике на эту иконку.
В лучше случае, браузер предложит сохранить композицию на диск и прослушать отдельным плеером, так как сервис не предоставляет embed-возможностей, какие есть у JSFiddle или SoundCloud
Хотя можно было прямо в форумах встраивать подобные проигрыватели, как в ресурсах Википедии

Практически все современные средства оперирования с интернет-сетью, от ПК до СмартФонов, оснащены браузерами с поддержкой HTML5.
Однако, некоторые из ключевых возможностей стандарта форумами всё ещё не поддерживается. В частности - звук…
User avatar
Shaos
Admin
Posts: 24086
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re: NedoTracker

Post by Shaos »

А длительности нот как задавать? СССC? ;)
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
Lavr
Supreme God
Posts: 16689
Joined: 21 Oct 2009 08:08
Location: Россия

Re: NedoTracker

Post by Lavr »

Paguo-86PK wrote:У GW-Basic'а имелся оператор Play, но слишком примитивен из-за ограниченных аппаратных способностей IBM PC-XT тех лет по воспроизведению звука. Его синтаксисом трекерную музыку не набьёшь…
Я бы не сказал, что оператор Play слишком примитивен...
Вполне себе может весьма неплохо музЫчку сыграть, причем в фоне основной задачи.

Вот моя любимая музыкальная заставка при старте программы из тех лет:

Code: Select all

   CONST start$ = "mfT150o1mnc.d8msd#4p64c3p8g4f#..."
CALL LOGO: CALL HelpLine("Press [ENTER] - to select file, [ESC] - to quit ")
      PLAY start$: ZmouseTest 
   IF WaitKeyM$ = CHR$(&H1B) THEN GOTO EXITALL
А с треккерной музыкой сравнивать оператор Play некорректно, он играет через таймер.
При треккерной музыке же процессор занят чтением сэмплов и киданием их в порт.
iLavr
Alekcandr
Doomed
Posts: 665
Joined: 01 Oct 2007 10:30
Location: Ukraine

Re: NedoTracker

Post by Alekcandr »

Paguo-86PK wrote:Однако, в сети никак не находится средств для вставки в форум хотя бы кратких музыкальных аккордов.
И если многие форумы поддерживают теги image и video, то audio или music почему-то редко где встретишь.
Видимо, нужен движок для работы с конкретным звуковым чипом.

MML мощная штука. Вот записал кусочек с реала на языке MML (команда PLAY) играет OPLL.


Да, жмакайте ссылку - открыть в новом окне/кладке, а то по клику - :( соединение не защищено, особенности форума, думаю.
Эмулятор OrionEXT:
http://www.orion-ext.narod.ru
User avatar
Paguo-86PK
Maniac
Posts: 267
Joined: 12 Apr 2011 20:43
Location: Tashkent

NedoTracker

Post by Paguo-86PK »

Shaos wrote:А длительности нот как задавать? СССC? ;)
Кaк и в Sol20 / Радио-86РК - буквами «WHQISTX»…
Alekcandr wrote:Видимо, нужен движок для работы с конкретным звуковым чипом.
Совсем не обязательно.
Тема о том, чтобы, как и в «Угадай мелодию», иметь возможность в форум вставить музыкальный фрагмент, по которому можно отдалённо и поверхностно судить о композиции в целом.
Например, сейчас тестировал набросок своего скрипта и в некоторых форумах, где можно вставить тег embed, мой скрипт работает:
<embed src="https://clck.ru/FtzSJ#play=Drum%281.50*5FED%29%2024%28Drum%202.41*7DACEBEF%29" width=160px height=120px></embed>
Естественно, здесь это запрещено.
Здесь после «#play=…» идёт псевдо-листинг самой партитуры:

Code: Select all

Drum(1.50*5FED) 24(Drum 2.41*7DACEBEF)
Здесь:
  • Перед «Drum(…)» не указана октава и, тем самым, «D» открывает строку имени подмелодии/припева в скобках
  • «1.» выбирает голос #1
  • «50*» выбирает скорость (здесь «WHISTX» заблокированы, так как ноты - не «CDEFGAB», а весь алфавит - 52 буквы / 4 октавы
  • «5FED» означает октаву #5 для нот «FED»
  • «24(…)» означает цикл из 24 итераций исполнения «Drum» и «DACEBEF»
  • «2.» выбирает голос #2 для ноты «DACEBEF» октавы #7
Как понимаете, скрипт очень сырой и я его писал пока лишь для практики вставки через embed в один из форумов, где это позволяется. В общем, получилось…
Теперь нужно скрипт до ума доводить…
Alekcandr
Doomed
Posts: 665
Joined: 01 Oct 2007 10:30
Location: Ukraine

Re: NedoTracker

Post by Alekcandr »

Paguo-86PK wrote:
Alekcandr wrote:Видимо, нужен движок для работы с конкретным звуковым чипом.
Совсем не обязательно.
Если, что я за реал :wink: .

После 20-ти лет эмуляций и симуляций (понял что это тупик. растут гигагерцы, растут чипы в верх /3D/, а воз и ныне там. и вся эта индустрия высасывания денег не может – потактовоу модель Z80). Принял веру железячника :mrgreen:
Эмулятор OrionEXT:
http://www.orion-ext.narod.ru
User avatar
Paguo-86PK
Maniac
Posts: 267
Joined: 12 Apr 2011 20:43
Location: Tashkent

Re: NedoTracker

Post by Paguo-86PK »

Alekcandr wrote:После 20-ти лет эмуляций и симуляций (понял что это тупик. растут гигагерцы, растут чипы в верх /3D/, а воз и ныне там. и вся эта индустрия высасывания денег не может – потактовоу модель Z80). Принял веру железячника :mrgreen:
Нe того я уровня любитель, чтобы пилить полноценный трекер с качественным звучанием.
Во-первых, никакого музыкального образования, окромя минимальных трекерных базовых знаний.
Во-вторых, нет опыта работы с API звука, так как с графикой работать легче, где вносишь коррективы и сразу видишь изменения (в тишине).
В-третьих, мой вычислительный угол - не в чулане. Родня негодует и с ума сходит от звуков. А от наушников - уши болят и, следом, голова.
А такое - не по карману:

Или вот это ещё не поступило в продажу…