Синтаксис Основные ноты задаются заглавными символами латинского алфавита «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»
Продолжение следует…
Attachments:
File comment: HTML5 Sol20 Player sol20mus.zip [47.43 KiB]
Downloaded 441 times
Last edited by Paguo-86PK on 07 May 2019 07:58, edited 4 times in total.
Легенда Практич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 и video, то audio или music почему-то редко где встретишь.
Нельзя, скажем, вставить «[music]CDE[/music]» в форум, чтобы он отобразился как и проиграл бы ноты «До-Ре-Ми» при клике на эту иконку. В лучше случае, браузер предложит сохранить композицию на диск и прослушать отдельным плеером, так как сервис не предоставляет embed-возможностей, какие есть у JSFiddle или SoundCloud… Хотя можно было прямо в форумах встраивать подобные проигрыватели, как в ресурсах Википедии…
Практически все современные средства оперирования с интернет-сетью, от ПК до СмартФонов, оснащены браузерами с поддержкой HTML5. Однако, некоторые из ключевых возможностей стандарта форумами всё ещё не поддерживается. В частности - звук…
30 Apr 2019 06:03
Shaos
Admin
Joined: 08 Jan 2003 23:22 Posts: 22793 Location: Silicon Valley
У GW-Basic'а имелся оператор Play, но слишком примитивен из-за ограниченных аппаратных способностей IBM PC-XT тех лет по воспроизведению звука. Его синтаксисом трекерную музыку не набьёшь…
Я бы не сказал, что оператор Play слишком примитивен... Вполне себе может весьма неплохо музЫчку сыграть, причем в фоне основной задачи.
Вот моя любимая музыкальная заставка при старте программы из тех лет:
Code:
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
01 May 2019 04:26
Alekcandr
Doomed
Joined: 01 Oct 2007 10:30 Posts: 665 Location: Ukraine
Однако, в сети никак не находится средств для вставки в форум хотя бы кратких музыкальных аккордов. И если многие форумы поддерживают теги image и video, то audio или music почему-то редко где встретишь.
Видимо, нужен движок для работы с конкретным звуковым чипом.
MML мощная штука. Вот записал кусочек с реала на языке MML (команда PLAY) играет OPLL.
Да, жмакайте ссылку - открыть в новом окне/кладке, а то по клику - соединение не защищено, особенности форума, думаю.
Видимо, нужен движок для работы с конкретным звуковым чипом.
Совсем не обязательно. Тема о том, чтобы, как и в «Угадай мелодию», иметь возможность в форум вставить музыкальный фрагмент, по которому можно отдалённо и поверхностно судить о композиции в целом. Например, сейчас тестировал набросок своего скрипта и в некоторых форумах, где можно вставить тег 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:
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 в один из форумов, где это позволяется. В общем, получилось… Теперь нужно скрипт до ума доводить…
07 May 2019 01:10
Alekcandr
Doomed
Joined: 01 Oct 2007 10:30 Posts: 665 Location: Ukraine
Видимо, нужен движок для работы с конкретным звуковым чипом.
Совсем не обязательно.
Если, что я за реал .
После 20-ти лет эмуляций и симуляций (понял что это тупик. растут гигагерцы, растут чипы в верх /3D/, а воз и ныне там. и вся эта индустрия высасывания денег не может – потактовоу модель Z80). Принял веру железячника
После 20-ти лет эмуляций и симуляций (понял что это тупик. растут гигагерцы, растут чипы в верх /3D/, а воз и ныне там. и вся эта индустрия высасывания денег не может – потактовоу модель Z80). Принял веру железячника
Нe того я уровня любитель, чтобы пилить полноценный трекер с качественным звучанием. Во-первых, никакого музыкального образования, окромя минимальных трекерных базовых знаний. Во-вторых, нет опыта работы с API звука, так как с графикой работать легче, где вносишь коррективы и сразу видишь изменения (в тишине). В-третьих, мой вычислительный угол - не в чулане. Родня негодует и с ума сходит от звуков. А от наушников - уши болят и, следом, голова. А такое - не по карману:
Users browsing this forum: No registered users and 7 guests
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot post attachments in this forum