უკან დაბრუნება
მუსიკის თეორია პროგრამისტებისთვის: თორმეტი ნოტა კოდიდან
SiTech AI Team2 წთ. საკითხავი

მუსიკის თეორია პროგრამისტებისთვის: თორმეტი ნოტა კოდიდან

RunJS-ის ბლოგის სტატია მუსიკის თეორიას ნულიდან აშენებს: 440 ჰც-იანი ოსცილატორი, ჰარმონიკები და სიხშირეთა შეფარდებები თავად გამოაქვს თორმეტი ნოტა, გამები და აკორდები.

RunJS-ის ბლოგზე გამოქვეყნებული სტატია მუსიკის თეორიას ინჟინრის მიდგომით ხსნის: ყველაფერი ერთი რიცხვიდან გამომდინარეობს, რომელიც დროში იცვლება, ხოლო ინსტრუმენტის როლი ბრაუზერში შესრულებულ JavaScript-სა და Web Audio API-ს ეკუთვნის.

ავტორი აღიარებით იწყებს — ინსტრუმენტზე დაკვრა არაერთხელ სცადა და ყოველ ჯერზე დაახლოებით სწორ ბგერებამდე მხოლოდ მიაღწია — და განმარტავს, რატომ ჩავარდა ეს მცდელობები: თეორიის ახსნები შედეგს აჩვენებდა და მიზეზს გამოტოვებდა. „აი ნოტები, აი მაჟორული გამის ნიმუში — დაიმახსოვრე. რატომ სწორედ ეს ნოტები? იმიტომ, რომ ასეა მიღებული", — წერს ის. სტატია სინუსოიდური ტალღიდან იწყება და მკითხველს არაფრის რწმენით მიღებას არ სთხოვს.

სინუსოიდური ტალღიდან თორმეტ ნოტამდე

ბგერა ჰაერის წნევის რხევაა, ამიტომ 440 ჰც-იანი ოსცილატორი სტატიის დასაწყისისთვის საკმარისია: სიხშირე სიმაღლეა, ხოლო 440 უბრალოდ ის რიცხვია, რომელსაც მსოფლიო შეთანხმებით „ლა" უწოდებს. პირველი ნამდვილი სირთულე ფიზიკურია და არა მუსიკალური: ტალღის შუაგულში გაჩერებული ოსცილატორი ხმაურის ბიძგს (click) იწვევს, რასაც სტატია ხმის კონვერტით — attack-ისა და decay-ის მრუდით — ასწორებს.

ტემბრი ჰარმონიული რიგიდან მომდინარეობს: 440 ჰც-ზე აწყობილი სიმი ნახევრებად, მესამედებად და მეოთხედებადაც რხევა და დამატებით 880, 1320, 1760 და უფრო მაღალ სიხშირეებს ამატებს. სწორედ ამ დამატებითი ჰარმონიკების რეცეპტი, და არა ძირითადი ტონი, განსაზღვრავს, რატომ ჟღერს ვიოლინო ვიოლინოდ და არა საყვიროდ. აქედან გამომდინარეობს ოქტავაც (სიხშირის გაორმაგება იგივე ნოტს იძლევა) და კონსონანსიც: რაც უფრო მარტივია სიხშირეთა შეფარდება, მით უკეთ ჟღერს წყვილი, რადგან მარტივი შეფარდებები მეტ ჰარმონიკას იზიარებენ და ნაკლებად „ცემენ".

გამართვის სისტემის ხარვეზი

თორმეტი სუფთა კვინტის დაწყობა შვიდ ოქტავას 1.0136-ის ტოლი ჭარბით სცდება — ამას პითაგორას კომა ეწოდება და დაახლოებით 23 ცენტია. ამის გამოსწორება შეუძლებელია და სტატია იმ მიზეზს იძლევა, რომელსაც პროგრამისტი მაშინვე იცნობს: ჩაკეტვისთვის საჭიროა, რომ 3^n ტოლი იყოს 2^(n+m), სამის ხარისხი კი არასოდეს უდრის ორის ხარისხს. გამოსავალი ტემპერაციაა — ოქტავა თორმეტ თანაბარ საფეხურად იყოფა, თითოეული ორის მეთორმეტე ფესვია. რატომ თორმეტი? უხეში გადათვლა ყველა შესაძლო დაყოფაზე აჩვენებს, რომ 12 პირველი რიცხვია, რომლის საუკეთესო კვინტა მხოლოდ 0.1%-ით ცდება ნამდვილს.

გამები, აკორდები და დარჩენილი კითხვები

შემდეგ ყველაფერი მასივებად იქცევა. გამა ინტერვალების სიაა — მაჟორული გამა [2,2,1,2,2,2,1], ბერძნული მოდუსები იმავე მასივის როტაციებია, აკორდის საფუძველი კი ყოველი მეორე ნოტია ([0,2,4]), რადგან ორი საფეხურის დაშორებით მდგარ ნოტებს ჰარმონიკა უკვე ემთხვევა. მაჟორი და მინორი, როგორც ავტორი აღნიშნავს, ერთი ელემენტის ერთი ნახევარტონით განსხვავებაა. რომაული ციფრები კი ფარდობითი მისამართებია — ამიტომ ერთი აკორდების სქემა ყველა ტონალობაში მუშაობს.

ავტორი დასასრულს ჩამოთვლის, რაც ჯერ კიდევ არ ესმის — მათ შორის რიტმი და ხმების წარმართვა — და მკითხველს Eevee-ს „Music Theory for Nerds"-ს, LightNote-სა და MDN-ის Web Audio-ს დოკუმენტაციას ურჩევს. ეს მხოლოდ ერთი ტრადიციის პასუხია, აღიარებს ის, მაგრამ აღარ არის ზეპირად დასამახსოვრებელი ტრივია.

SSiTech

SiTech — AI-გაძლიერებული ვებ დეველოპმენტი

ვქმნით სწრაფ, თანამედროვე ვებსაიტებს და AI-ს ვაერთიანებთ ქართული ბიზნესებისთვის. გაქვთ პროექტი ან კითხვა? სიამოვნებით დაგეხმარებით.