4 голосый синтезатор случайных мелодий.
В полях ввода задаются максимальные и минимальные значения для генератора случайных чисел для каждого генератора звука. В силу специфики компонента, генераторы (видимо используется монопольный доступ к звуковой карте) ИГРАЮТ ПОСЛЕДОВАТЕЛЬНО. Если кто поможет преодолеть это ограничение, будет вообще здорово. В компоненте Sound можно подправить одну переменнную для того чтобы выводился стереозвук.
Нужен нестандартный компонент Sound, он прилагается, автор компонента не я.
Осталось доработать алгоритм сочинителя более осмысленной музыки и ее экспорт в миди..
https://forum.hiasm.com/getfile/38957
Редактировалось 5 раз(а), последний 2020-04-12 14:52:54
Этот топик читают: Гость
Ответов: 1291
Рейтинг: 47
|
|||
карма: 3 |
|
Ответов: 2059
Рейтинг: 132
|
|||
Aziz, так не делается!
Надо по гармонии делать! До, Ми, Соль - простейший аккорд: Гармония("квадрат" - Рок-н-ролл) тоника|доминанта|тоника|субдоминанта|тоника| 4/4||C | F | C | G7 |C | На худой конец 3 "блатных" аккорда: Am,E,Am,Dm,Am в Ля минорчеке. Редактировалось 10 раз(а), последний 2020-04-12 12:39:01 |
|||
карма: 6 |
|
Ответов: 16884
Рейтинг: 1239
|
|||
Aziz, на ~20% легче
flint2, "современные музыканты" забили на гармонию. |
|||
карма: 25 |
| ||
файлы: 1 | Entropy Music 2.0.zip [4.5KB] [468] |
Ответов: 1291
Рейтинг: 47
|
|||
flint2, музыка не имеет границ. Слышал про нестандартные муз строи? Мне интересно было услышать саму Музыку Цифрового Хаоса, великого фрактального Рандома!) И я услышал его голос, не знаю как вы. Потом конечно уже буду его очеловечивать, не знаю в Хиасме ли. Больше для этого подходит FlowStone. Там есть экспорт в VST плагины и midi есть поддержка.
Tad, совершенно верно, беспорядок он порой часть более высшего порядка - фракталы.. Помню, в свое время слушал пару тройку таких алго-синтезаторов музыки. В общем жесть, музыка такая холодная и бездушная.. --- Добавлено в 2020-04-12 14:36:53 Tad, И вправду) Спасибо. Но я не оптимизировал еще) А вот апдейт, там я пытался секвенсор из таблицы сделать) В итоге обнаружил что скролы от таблиц выглядят вполне себе вертикальными ползунками, которые доже можно использовать для управлением тональностью, если научиться сохранять и считывать их положение. Жаль цвет скроллов не изменишь вроде. https://forum.hiasm.com/getfile/38960 Редактировалось 8 раз(а), последний 2020-04-12 14:54:21 |
|||
карма: 3 |
|
Ответов: 167
Рейтинг: 7
|
|||
Aziz, а вот ваша схема на стандартных bass элементах, и со звуками пианино
https://drive.google.com/file/d/1bkR6BPVhMuISREjJU6sHQGhLpZrx5fvd/view?usp=sharing И всего на 90 элементов Редактировалось 1 раз(а), последний 2020-04-12 15:36:51 |
|||
карма: 0 |
|
Ответов: 1291
Рейтинг: 47
|
|||
UtoECat, спасибо, мне понравилось) Вот бы еще научиться bass интегрировать в прогу. В принципе наверное можно его в файловом потоке сохранить и извлекать при старте, только вот не ругнется ли прога сначала и не упадет ли прежде чем он извлечется?
|
|||
карма: 3 |
|
Ответов: 167
Рейтинг: 7
|
|||
Aziz писал(а): Вот бы еще научиться bass интегрировать в прогу.Помоему что-то подобное уже обсуждали на форуме... Внедряли dllки в компонент... Aziz писал(а): наверное можно его в файловом потоке сохранить и извлекать при старте,Можно(наверное ). Только сначала извлеките, а потом инициализируйте библиотеку . --- Добавлено в 2020-04-12 23:00:59 Aziz писал(а): спасибо, мне понравилосьТолько есть недочёт . Я что-то там с рандомизацией эквалайзера накрутил, в результате чего иногда вместо ноты можно услышать звук гуделки паравоза или аннигиляторной пушки . Нужно там значения в рандомайзере подкрутить Редактировалось 3 раз(а), последний 2020-04-12 23:00:59 |
|||
карма: 0 |
|
Ответов: 2059
Рейтинг: 132
|
|||
,
Aziz писал(а): Вот бы еще научиться bass интегрировать в прогу.А что именно? Берёшь dll и подключаешь. Я выкладывал не менее пяти дополнительных компонентов и dll в компонент запихивал... Из баса уже выжали всё, что было. Илья Ильф и Евгений Петров писал(а): Только вы, дорогой товарищ из Парижа, плюньте на все это.— Как плюнуть? — Слюной, — ответил Остап, — как плевали до эпохи исторического материализма. Ничего не выйдет. Bass давно устарел и малофункционален. Бери OpenAL, хотя он тоже устарел, и не поддерживается, но всё-же возможностей у него на порядок больше. На худой конец возьми наш Squall. Там документация толковая на русском. Вообще появилось много чего хорошего в этой области, просто интересоваться надо. Надо потусоваться на профильных форумах,( это касается всех областей, а не только звука) посмотреть, что люди делают, задать вопросы. Под профильными форумами я понимаю не различные сайты по программированию (на паскалевских вообще никаких признаков жизни не наблюдается), а где делают конкретные вещи. Просто надо задать себе вопрос - а что-же мне нужно? Вот когда будет понимание, в ту сторону и копать. Наскоком никакое дело не делается. И не надо всё проецировать на HiAsm - это игрушка для души и много c ним не навоюешь. Редактировалось 5 раз(а), последний 2020-04-13 02:31:55 |
|||
карма: 6 |
|
Ответов: 1291
Рейтинг: 47
|
|||
flint2, а не скинете ссылку с интеграцией длл в компонент? Слышал о нем, искал и не нашел.
Да, согласен, но по поводу того что мало сделаешь в Хиасм для звука.. Не знаю, главное он же умеет - писать буферы в звуковуху и принимать с портов миди сообщения ?(кстати, тоже ищу миди компонент пока не нашел) А значит остальное уже все делается некривыми руками и тем что между ушей) |
|||
карма: 3 |
|
Ответов: 2059
Рейтинг: 132
|
|||
Aziz, Вот мои компоненты: https://yadi.sk/d/y_1Pq0fSAD-hKg
Prolog - https://yadi.sk/d/Y1w3PSE9qD_png Morphology - https://yadi.sk/d/_PmqGpmqVh71yQ TTREE - https://yadi.sk/d/tGb4iiX3JVo4RA Lame-ENC - https://yadi.sk/d/M3cYoFffyX6B1w pipes - https://yadi.sk/d/Co-fjDG_6fBeIw Scintilla - https://yadi.sk/d/ZJag_PY2YKqcgA Bass_new - https://yadi.sk/d/WR4dkdnb7bQelw Lua - https://yadi.sk/d/BiqZbVKjp7M9aw Disasm - https://yadi.sk/d/sLvEo2YyR0B6HA SPForthScript - https://yadi.sk/d/qZtgGvicDIlY_A dll2pas - https://yadi.sk/d/NdGAI_WMPoXqmw DLLLoader - https://yadi.sk/d/0sPTEIePPeh5MA Наверняка чего-то пропустил, ну так, по мелочи. В архиве .\Bass_new\Bass без dll\ лежит Bass.pas которым надо заменить штатный. Сохраняйте старый! Он нужен в некоторых случаях при использовании связанных dll, как в примере .\Bass_new\BASS_Encode\Example\. Есть программка dll2pas для перевода любой dll в паскаль, аналогично bass.pas. dll2pas - создаёт два файла pointers.txt и *.pas(вместо * имя dll). В левую часть окна нужно поместить описания функций dll "function BASS_GetVolume: FLOAT; stdcall; external bassdll", в правой получаем преобразованные строки, которые надо поместить перед IMPLEMENTATION. "BASS_GetVolume: function: FLOAT; stdcall; " Если реализована динамическая загрузка, то этот файл не нужен. В *.pas сам код. Для каждого компонента всё индивидуально, например SqLite3.pas для sqlite3.dll и UnRAR.pas для UnRAR.dll , поэтому в одном случае полученный файл можно прописать в поле uses Windows,Kol,Share,Debug,UnRARnew;, а в другом надо скопировать часть после IMPLEMENTATION и поместит в конец кода с программой. Смотрите пример в архиве. Bass_old.pas - исходный код компонента, Bass.pas - должен получится после манипуляций. Не забывайте прописывать в своём коде DLLLoader - uses kol,Share,DLLLoader; Редактировалось 2 раз(а), последний 2020-04-13 18:11:34 |
|||
карма: 6 |
|
Ответов: 1291
Рейтинг: 47
|
|||
flint2, спасибо большое! Наподобие список находил уже тут, но так и не сообразил где среди этих файлов лежит нужный компонент. Теперь яснее)
Нашел компонент от Славы, менеджер скроллов. Теперь можно степсеквенсор сделать из таблиц задействую скролы тоже. |
|||
карма: 3 |
|
Ответов: 2059
Рейтинг: 132
|
|||
Aziz, Загружаешь нужные семплы (WAV/MP3/MP2/MP1/OGG) компонентом BASS_SmpFile.
Идентификаторы сэмплов помещаешь в массив. Делаешь выборки из массива в нужном порядке и воспроизводишь звуки по их идентификатору компонентом BASS_SmpPlayer. Вот тебе готовый Секвенсор. |
|||
карма: 6 |
|
Ответов: 1291
Рейтинг: 47
|
|||
flint2, технически там еще квантизации проблема будет а также как графически редактируемо все это удобно сделать. А так да, можно и так, спасибо)
|
|||
карма: 3 |
|
Ответов: 1291
Рейтинг: 47
|
|||
flint2, спасибо, все заработало! Сначала правда писало
Bass.pas(17) Fatal: File not found: 'DLLLoader.dcu'
Но я скачал еще DLLLoader ваш и все заработало. Ура! Там еще пример с потоковым радио есть, там еще какие-то длл-ки, их никак не встроить или попробовать dll2pas ? |
|||
карма: 3 |
|
Ответов: 2059
Рейтинг: 132
|
|||
Там еще пример с потоковым радио есть, там еще какие-то длл-ки, их никак не встроить или попробовать dll2pas ? Если речь об этом: https://yadi.sk/d/xrLS6MGnFFMyZg , то в примере с радио поток пишется сразу в mp3 (зелёная кнопка), это делают bassenc.dll и lame.exe.Они общаются между собой непосредственно по этому ни bass.dll, ни остальные dll запихивать в код своей программы нельзя! Редактировалось 3 раз(а), последний 2020-04-16 14:23:53 |
|||
карма: 6 |
|