Показват се публикациите с етикет електронна музика. Показване на всички публикации
Показват се публикациите с етикет електронна музика. Показване на всички публикации

понеделник, 6 май 2024 г.

Динамичен диапазон на цифров сигнал

Динамичният диапазон на сигнала определя какво е максимално достижимото отношение между най-голямата и най-малката сила на сигнала.

Максималният динамичен диапазон при цифрово представяне се определя от съотношението сигнал/шум за използвания брой разряди. 

За намирането на отношението сигнал/шум (SNR) на цифров сигнал обикновено се използва правилото 1 бит = 6 dB.

По-точно тази стойност се получава по формулата:

където:
k -  брой на битовете в цифровото представяне на сигнала
SNR - отношение сигнал/шум, dB

Когато сигналът се представя с k бита получаваме отношение сигнал/шум SNR:

k, bits SNR, dB
1 0.0
2 9.5
3 16.9
4 23.5
8 48.1
10 60.2
12 72.3
14 84.3
16 96.3
20 120.4
24 144.5
32 192.7


Вижда се, че когато броят на битовете k е около 8 или повече, SNR се представя приблизително като SNR=6k.

Когато разрядността е само 1 бит, тогава SNR=0, което означава, че най-младшият разряд съдържа равни количества сигнал и шум.

четвъртък, 9 септември 2021 г.

Шумови характеристики на аудиоинтерфейс

Измерих някои основни шумови характеристики на USB аудиоинтерфейс Steinberg UR22C.

Без да включвам нищо на входовете (без кабели) записах четири файла със сигнал: gain0.wav, gain50.wav, gain80.wav, gain100.wav при различни нива на усилването на входа. Записвах при точност 24-bit/96000 Hz.
Така се получиха файлове, съдържащи само собствения шум на аудиоинтерфейса.

За всеки файл измерих средноквадратичното ниво на целия сигнал за левия и десния стереоканали:

Файл GAIN, [%] Продължителност, [s] L RMS, [dBFS] R RMS, [dBFS]
gain0.wav 0 58.0 -103.6 -103.6
gain50.wav 50 57.0 -99.8 -99.4
gain80.wav 80 57.0 -88.6 -89.2
gain100.wav 100 58.0 -69.5 -69.7

Мерната единица на нивото е dBFS, където 0 съответства на максималната числова стойност на цифровия сигнал, когато всички битове са единици.

След това в програмата Audacity разгледах спектрите на шумовите сигнали от файловете. За целта първо увеличих нивото на всеки сигнал със +40 dB.
Избрах ширина на прозореца на преобразуванието на Фурие 8192 точки, защото тогава при честотата на дискретизация 96000 Hz се получава приемлива минимална честота на анализа 96000/8192 = 11.71875 Hz. За изглаждане на спектъра използвах прозоречната функция "Hanning window".

Ето как изглеждат спектрите на файловете със шум:

Собственият шум при GAIN 0%
 
При ниски нива на усилването и ниски честоти до около 200 Hz шумът е близък до розов шум. Това се вижда най-ясно на участъка от 40 до 80 Hz, където графиката спада от -79 dB до около -82 dB. Теоретически спектърът на розовия шум (Pink Noise) трябва да има графика, спадаща с 3.01 dB на октава.
 

Собственият шум при GAIN 50%
 
 
Собственият шум при GAIN 80%

При високи нива на усилването в състава на шума, особено при високи честоти над 200 Hz, започва да преоблaдава бял шум с равномерен спектър.

Собственият шум при GAIN 100%


Вижда се, че в собственият шум на входа на този аудиоинтерфейс има две компоненти: при малко усилване на входа и ниски честоти - розов шум, а при увеличaване на усилването и високи честоти - бял шум. Има и неголям пик при 50 Hz - мрежов брум. Над около 16000 Hz силата на шума спада рязко.

Розовият шум, наричан още 1/f шум, има голямо значение за акустиката и електронната музика. Това е най-музикалният шум, естествено генериран от различни природни системи. На слух звукът на розовия шум прилича на шума от бушуването на някакъв водопад.


понеделник, 6 септември 2021 г.

За генеративната музика

Музиката представлява организирана система от звуци, която предизвиква определени реакции.

Обикновено музикалните звуци са тонове с определена височина и трайност, но се правят не малко експерименти с използване на произволни звуци и шумове, от които се изграждат музикални композиции (или поне звукови композиции).

Така музикалното произведение се строи от определен звуков материал - тонове или шумове. Композиторът организира този материал в осмислена система от звуци, които прозвучават последователно или едновременно.

Повторението е най-простия начин да се получи организирана система.
В следващия пример с програма съм получил случайна последователност от 5 тона, която се повтаря 8 пъти:

Пограмата, с която генерирах този пример, е написана на езика на системата LilyPond:

\version "2.18.2"
nnotes = 5   % брой ноти в мотива
duration = 2
% 0-цели, 1-половини, 2- четвъртини, 3-осмини, 4 - шестнадесетини, 5-тридесетивторини
ambitus = 24
randomNotes =
  {
    $(let ((random-state (seed->random-state (current-time))))
      (make-sequential-music
        (map (lambda (x)
               (let ((idx (random ambitus random-state)))
                 (make-event-chord
                   (list
                     (make-music 'NoteEvent
                                 'duration (ly:make-duration duration 0 1/1)
                                 'pitch (ly:make-pitch
                                   (quotient idx 7)
                                   (remainder idx 7)
                                   0))))))
              (make-list nnotes))))
  }
motiv = \randomNotes
\score {
  \new StaffGroup <<
    \new Staff {
      \set Staff.midiInstrument = #"acoustic grand"
      \tempo 4 = 240
      \time 5/4
      \motiv
      \motiv
      \motiv   
      \motiv
      \motiv
      \motiv   
      \motiv
      \motiv   
      \bar "|."
    }
  >>
  \layout {
    \context {
      \Score
      \remove "Timing_translator"
      \remove "Default_bar_line_engraver"
    }
    \context {
      \Staff
      \consists "Timing_translator"
      \consists "Default_bar_line_engraver"
    }
  }
 \midi { }
}
 

Тази програма чертае нотния запис и създава MIDI файл, който може да бъде изсвирен от виртуален или хардуерен инструмент.

Еднотактовият мотив сам по себе си представлява просто 5 случайни ноти. Но, когато започне да се повтаря, възниква някаква музикална логика.

Философско отклонение

Не е задължително композиторът да бъде човек. Възможно е компютърна програма да създава музикални произведения по определени правила. Тези правила могат да бъдат целенасочено измислени или да бъдат в някаква степен случайни или подчиняващи се на математически или други закономерности, взети извън музиката.

Например, правен е опит очертанията на една планина със своите върхове да бъдат изтълкувани като мелодична линия, задаваща промяната на височината на тоновете във времето.

Генеративната музика (Generative music) се създава непосредствено в процеса на изпълнението от компютър или друга автоматична система (например аналогова моделираща система, модулен синтезатор или други устройства). Правилата за автоматично генериране на тоновете могат да съдържат в различни пропорции определеност или случайност.

Генеративното музикално произведение може постоянно да варира, никога да не се повтаря точно и да звучи потенциално безкрайно.

По начало се предполага, че музиката освен форма има и някакво съдържание, смисъл. Когато композиторът е човек, може да се очаква, че той предава някакъв смисъл със своето произведение. Но когато музиката се генерира автоматично какъв е нейният смисъл ?

Възможен отговор дава природата. Какъв е смисълът на някоя планина или друг красив природен пейзаж ? Тях не ги е създал нарочно някой човек с цел да бъдат красиви или да предават някакъв смисъл. Въпреки това и красотата на природата, както изкуството, може да предизвиква емоционална реакция у човека. Така изглежда, че това са родствени феномени.

Практически опити

Направих прости софтуерни системи, които пораждат автоматично мелодични последователности. В един експеримент използвах нееднородна система: в Linux стартира семпъл-плейъра timidity, в който съм заредил свои семпли; по-нататък във виртуалния модулен синтезатор VCV Rack се генерира последователност от MIDI ноти, които се подават на timidity да ги изсвири.

Като семпли записах тоновете на калимба. Използвах диатонична алт-калимба Bolf Kalimbas с 15 пластини в сол мажор. Тази калимба има тяло във вид на плътна дъска от орех. Пластините са от пружинна стомана и са доста ниско над тялото, но при тихо и внимателно свирене звукът е изключителен.

Общият брой на пластините и строя са от значение за звука, защото когато се удря една пластина зазвучава не само тя, но едновременно и някои от другите, които са в резонанс със нейните обертонове. Така се формира много богата обща звучност.

Получи се такава последователност от тонове:



Част от нея в нотен запис изглежда така (с темпо 60 четвъртини в минута):

Системата от модули на VCV Rack, с която е генериран този пример, изпълнява само функциите да създава последователността от MIDI ноти. Най-общо, чрез модул генератор на шум и модул Sample&hold се генерират случайно променящи се височини на ноти; с нискочестотни осцилатори LFO и генератори на шум се модулира силата на тоновете. Накрая получената последователност от MIDI ноти се подава на работещия като сървър семпъл-плейър timidity.

Софтуерният модулен синтезатор VCV Rack е удобен и за живо изпълнение. Чрез модула MIDI-MAP с хардуерен MIDI контролер или клавиатура може да се управляват различни параметри на другите модули. А модулът CV-MIDI може да управлява освен виртуални инструменти и външни хардуерни синтезатори.


неделя, 22 март 2020 г.

Флажолети в електронната музика

Най-важната характеристика на звука в музиката е неговата височина, която представлява възприемана характеристика на честотата на трептенията. Колкото честотата е по-голяма, толкова по-висок изглежда звукът.

От гледна точка на физиката, честотата на звука може да се изменя непрекъснато. Но от всичките възможни честоти за използване в музиката се избира система от малко на брой звуци - тоновете от някаква гама. Така всъщност се преминава от непрекъснатост към квантуване - система от дискретни честоти на тоновете.

Както е известно, гама се нарича последователността от звуци на някаква музикална система (лад), разположени, започвайки от основния тон по нарастване или намаляване на височината.

Звуците в музикалната система са свързани помежду си с определени зависимости: едни от тях изглеждат неустойчиви, и се стремят към други - устойчиви. Първата степен на лада е тониката - най-устойчивата степен.

Музикален строй се нарича математическото представяне на определена система от отношения на звукови височини.

Питагоров строй


Още в древността са открити математически закономерности, обосноваващи защо в музиката са избрани точно определените тонове от всички възможни звуци, които могат да съществуват на света.

Законите на Питагор-Архит, върху които се основава питагорейската теория на музиката могат да бъдат формулирани така:

1) Височината на тона (честотата на колебанията f) на звучаща струна е обратно пропорционална на нейната дължина l

f = a/l,

където a е коефициент, зависещ от физическите свойства на струната (дебелината, материала от който е направена);

2) Две звучащи струни дават консонанс само тогава, когато техните дължини се отнасят като цели числа, съставящи така нареченото триъгълно число 10=1+2+3+4, т.е като 1:2, 2:3, 3:4.

Тези интервали са съвършените консонанси:
октава 1/2
квинта 2/3
кварта 3/4

Ако разделим струната на 12 части, различен брой от нейните части ще образуват с цялата струна съзвучията:

октава - 6 части (6/12=1/2, струната е разделена на две)
квинта - 8 части (8/12=2/3)
кварта - 9 части (9/12=3/4)
унисон - 12 части (12/12=1, цялата струна)

Тези четири звука и определящите ги числа 6, 8, 9, 12 се наричат тетрада (четворка). Питагорейците са считали, че терадата е "тази гама, по която пеят сирените".

Отношението на височините квинта/кварта=(2/3)/(3/4)=(2.4)/(3.3)=8/9 се нарича "тон". От тук произлиза наименованието на интервала "цял тон" (един тон), който е дисонансен.

Отношението кварта/тон=(3/4)/(8/9)=(3/4)/((8.8)/(9.9))=(3/4)/(64/81)=243/256 се нарича полутон и се получава при разделяне приблизително на две на частта от струната, отговаряща на един цял тон.

На тези интервални отношения се основава канонът на Питагор, по който според преданието е била настроена лирата на Орфей.

Питагоровият строй се състои от тонове със следните височини:
до 1 (основен тон)
ре 9/8 (питагоров цял тон нагоре)
ми 81/64
фа 4/3 (кварта нагоре)
сол 3/2 (квинта нагоре)
ла 27/16
си 243/128 (полутон под горната октава)
до 2 (октава над основния тон)

Интервалите между тоновете в питагоровия строй са:
ре-до (9/8)/1=9/8 (цял тон)
ми-ре (81/64)/(9/8)=9/8 (цял тон)
фа-ми (4/3)/(81/64)=(4.64)/(3.81)=256/243 (полутон)
сол-фа (3/2)/(4/3)=9/8 (цял тон)
ла-сол (27/16)/(3/2)=9/8 (цял тон)
си-ла (243/128)/(27/16)=9/8 (цял тон)
до-си 2/(243/128)=256/243 (полутон)

Обертонове


Според физическите закони трептящата струна се колебае едновременно не само с цялата си дължина, но и с отделните си части - половини, третини, четвъртини и т.н. Поради това струната издава звук не само с основната честота, но и звуци с 2,3,4, и т.н. пъти по-високи честоти.
Звукът с основна честота се нарича основен тон на струната, а останалите звуци с кратни по-високи честоти - обертонове или хармонични. Обертоновете, сливайки се в едновременно звучене с основния тон, образуват тембъра на звука. В зависимост от различната интензивност на обертоновете се получават различни тембри.

При свирене на струнен инструмент чрез леко допиране на струната на определено място може да се направи така, че да зазвучат само някои от всичките обертонове. Това се нарича свирене с флажолети, защото получаващите се особени, нежни звуци приличат по тембър на старинния дървен духов инструмент флажолет.

Трептящата струна издава цял звукоред от обертонове с честоти, отнасящи се като целите числа 1:2:3:4... който се нарича натурален звукоред.

Тоновете от натуралния звукоред образуват помежду си някои от известните от питагоровия строй интервали:

основният тон има честота f и може да бъде наречен първи обертон;
вторият обертон с честота 2f е на октава (2/1) по-високо от основния тон;
третият обертон с честота 3f е на квинта (3/2) по-високо от втория обертон;
четвъртият обертон с честота 4f е на кварта (4/3) по-високо от третия;
деветият обертон с честота 9f е на питагоров цял тон (9/8) по-високо от осмия.

Свирене с обертонове в електронната музика


В електронната музика като източници на звук се използват електронни устройства, вместо трептящи струни или други подобни материални тела. Но законите на природата са такива, че колебанията на електрическия сигнал на генератора на един аналогов синтезатор се подчиняват на подобни математически закономерности като трептенията на някакво материално тяло. Най-важната от тези закономерности е, че колебанията могат се разглеждат като сума от хармонични с честоти 1f, 2f, 3f, ...

Това дава възможност да се свири със флажолети на аналогов синтезатор. За да покажа тази идея, записах една импровизирана демонстрация на свирене с флажолети (обертонове) със синтезатор Behringer Model D. Най-ясно звучене на флажолетите успях да постигна някъде около средата на записа.

 
Идеята е, че един осцилатор на синтезатора генерира непрекъснато неизменен основен тон с достатъчно богата на хармонични форма на сигнала. С пренастройване на VCF филтъра на синтезатора се усилват или подтискат някои от хармоничните, при което се получават флажолетни тонове, разположени по височините на натуралния звукоред.

Натурален звукоред

Числата под нотите показват с колко цента (стотни от темперирания полутон) се различава дадения тон на натуралния звукоред от съответния тон на равномерно-темперирания строй.

При свирене с флажолети по естествен начин се използва натуралния строй, който е по-близък до самата природа на звука. Тоновете от натуралния звукоред се различават по височина от тоновете на равномерно-темперирания строй, който се използва във всички клавишни музикални инструменти.
 

събота, 29 юни 2019 г.

Музикални композиции

Преди години се занимавах с музика, но от 2005 година досега бях напълно изоставил това. Напоследък реших да извадя от небитието някои мои композиции.

Това са малки инструментални откъси, които съм създавал с мой софтуер: https://soundcloud.com/nikolay-tsvetkov-7/

(Картинките към композициите са от случайни снимки, предимно на диви места, където съм минавал.)

Първата програма, която съм използвал, е за композиране. Нейната най-нова версия написах на език Python. В тази програма се задават множество параметри на композицията:
- обща тематична структура (мелодични теми, къде встъпват)
- полифонична структура (гласове, правила на контрапункта)
- хармонична структура (лад, тоналност, хармонични функции, акорди)
- метроритмични параметри (размер, сила на времената, ритмични фигури)

След задаването на параметрите програмата генерира музикален откъс, като има възможност да спази точно зададените правила и параметри, или да се отклони в известна степен от тях, като построява различни музикални вариации.

Ето например част от партитурата на полифонична музика, която съм създал с тази програма някъде около 2003 година:

Композиция "Като канон 1"

Втората основна програма, която използвам, също съм написал на Python. В тази програма се задават правилата, по които нотите се превръщат в музика:
- динамика
- темпо
- артикулация, фразиране (легато, стакато)
- правила за оживяване на нотите

Най-общо казано, с тази програма нотите се превръщат в жива музика. Без нея композицията би останала проста безжизнена схема с механично изредени ноти.

неделя, 31 март 2019 г.

Стабилност на тона на аналогов синтезатор

Класическият аналогов синтезатор Minimoog Model D е произвеждан между 1970 и 1981 г. През тези години в електронната музика господстват аналоговите синтезатори.

Minimoog Model D е известен със своя уникален филтър със стръмност 24dB/oct, патентован през 1966 г. (US Patent 3,475,623 Electronic High-pass and Low-pass Filters Employing the Base to Emitter Diode Resistance of Bipolar Transistors Robert A. Moog October 10, 1966).

Параметрите на аналоговите синтезатори имат известна нестабилност. Например честотата на генераторите, управлявани с напрежение (VCO) се променя с течение на времето, като дрейфува по свой си начин в зависимост от температурата и други фактори. Поради това аналоговият синтезатор трябва при всяко включване да загрява известно време  и да се настройва. Обаче малките вариации на честотата на аналоговите генератори дават характерно живо звучене на синтезатора. Разликата между аналоговия и цифровия звук е като разликата между живото, което се колебае и движи и мъртвото, което е точно и неподвижно.

Измерване честотата на сигнала


Фирмата Behringer произвежда свой клонинг (като прототип представен през 2017г) на легендарния синтезатор Model D, който е с намалени размери в Eurorack формат без клавиатура.

Тъй като ме интересуваше не само да разбера каква е устойчивостта на строя на този синтезатор, но и музикалното значение на отклоненията във височината на тона, извърших свои измервания. При измерванията използвах следната конфигурация на синтезатора Behringer Model D:

Конфигурация на синтезатора

Идеята е да бъде включен само първият генератор OSCILLATOR-1, като е избрана най-бедна на хармоници форма на сигнала - триъгълна. После сигналът се доизглажда с филтъра чрез настройване на CUTOFF FREQUENCY, докато се получи практически синусоида:

Изходен сигнал на синтезатора

Започнах измерванията 15 минути след включването на синтезатора. Изсвирваше се тона ла от първа октава без да бъде настроен предварително по камертон. Измервах честотата на сигнала със свой Python скрипт, който преброява периодите на сигнала в течение на 6 s. При това измерване беше достигната точност ± 0.166 Hz (± 0.661 цента). През цялото време на измерванията температурата бавно се колебаеше в границите от 24.7 до 25.0 °C. Получените резултати са показани на графиката:

Промени на честотата във времето

 

Мерки за интервали на тона


В теорията на музиката най-малкият интервал между два тона при равномерно темперирания строй се нарича "полутон". Големината на интервал 1/100 от полутона се нарича "цент". Два полутона образуват цял тон, равен на 200 цента.

Даже професионални музиканти с вроден абсолютен слух могат да определят височината на тона само приблизително с точност ±20 цента.

При мелодично настройване на интервали (последователно прослушване на опорен и настройван звук) професионални музиканти са достигали точност ±5 цента.

В мелодия човешкият слух въобще може да различи два тона, когато разликата във височините им е 1 цент или повече.

Диапазон на унисона


По Шефер и Гутман при унисон разликата във височините на тоновете трябва да бъде не по-голяма от:
  • 200 цента в голяма октава
  • 100 цента в малка октава
  • 30 цента в първа октава
  • 20 цента във втора октава
  • 14 цента в трета октава.

Според изследванията на Гарбузов и Корсунски при хорово пеене допустимите интервали, при които гласовете се възприемат като унисон са:
  • 40 - 140 цента при сопран
  • 0 - 130 цента при алт
  • 0 - 90 цента при тенор
  • 0 - 70 цента при бас

Микроинтервали кома


В теорията на музиката разликата във височините на два тона, които се възприемат като приблизително равни по височина се нарича "кома".

Музикалните микроинтервали кома са с размер около 1/7 - 1/10 от целия тон или по малък, като например:
  • Изкуствена кома (арабска кома) - интервал между две съседни височини на тона при делене на октавата на 53 равни части (1200/53=22.6415 цента)
  • Дидимова кома - около 21.51 цента
  • Питагорова кома - около 21.46 цента (отношение на честотите на тоновете 312 / 219 = 531441/524288)
  • Кома на Меркатор  - около 3.6150 цента (353 / 284)

Изменението на височината на тоновете с микроинтервал кома може да се използва за придаване на изразителност на музиката.

Изводи


Измерването на вариациите на височината на тона на аналоговия синтезатор Behringer Model D показа, че 45 минути след включването честотата на първия генератор се колебае вече слабо, вмествайки се в интервал по-малък от ±3.6 цента (кома на Меркатор). Тези изменения са музикално съвсем приемливи и практически не нарушават строя на инструмента, нито излизат извън теоретичните граници на звученето в унисон.