nedoPC.org

Electronics hobbyists community established in 2002
Atom Feed | View unanswered posts | View active topics It is currently 28 Mar 2024 13:32



Reply to topic  [ 8 posts ] 
NedoTracker 
Author Message
Maniac
User avatar

Joined: 12 Apr 2011 20:43
Posts: 267
Location: Tashkent
Reply with quote
Синтаксис
Основные ноты задаются заглавными символами латинского алфавита «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 421 times


Last edited by Paguo-86PK on 07 May 2019 07:58, edited 4 times in total.

30 Apr 2019 06:02
Profile WWW
Maniac
User avatar

Joined: 12 Apr 2011 20:43
Posts: 267
Location: Tashkent
Reply with quote
Легенда
Практич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.
Однако, некоторые из ключевых возможностей стандарта форумами всё ещё не поддерживается. В частности - звук…


30 Apr 2019 06:03
Profile WWW
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22412
Location: Silicon Valley
Reply with quote
А длительности нот как задавать? СССC? ;)

_________________
:dj: https://mastodon.social/@Shaos


30 Apr 2019 21:22
Profile WWW
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
Paguo-86PK wrote:
У 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
Profile
Doomed

Joined: 01 Oct 2007 10:30
Posts: 665
Location: Ukraine
Reply with quote
Paguo-86PK wrote:
Однако, в сети никак не находится средств для вставки в форум хотя бы кратких музыкальных аккордов.
И если многие форумы поддерживают теги image и video, то audio или music почему-то редко где встретишь.
Видимо, нужен движок для работы с конкретным звуковым чипом.

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


Да, жмакайте ссылку - открыть в новом окне/кладке, а то по клику - :( соединение не защищено, особенности форума, думаю.

_________________
Эмулятор OrionEXT:
http://www.orion-ext.narod.ru


02 May 2019 02:40
Profile
Maniac
User avatar

Joined: 12 Apr 2011 20:43
Posts: 267
Location: Tashkent
Reply with quote
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:
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
Profile WWW
Doomed

Joined: 01 Oct 2007 10:30
Posts: 665
Location: Ukraine
Reply with quote
Paguo-86PK wrote:
Alekcandr wrote:
Видимо, нужен движок для работы с конкретным звуковым чипом.
Совсем не обязательно.
Если, что я за реал :wink: .

После 20-ти лет эмуляций и симуляций (понял что это тупик. растут гигагерцы, растут чипы в верх /3D/, а воз и ныне там. и вся эта индустрия высасывания денег не может – потактовоу модель Z80). Принял веру железячника :mrgreen:

_________________
Эмулятор OrionEXT:
http://www.orion-ext.narod.ru


07 May 2019 02:26
Profile
Maniac
User avatar

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

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


07 May 2019 06:35
Profile WWW
Display posts from previous:  Sort by  
Reply to topic   [ 8 posts ] 

Who is online

Users browsing this forum: No registered users and 17 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

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Group
Designed by ST Software.