Სარჩევი:

Synthfonio - მუსიკალური ინსტრუმენტი ყველასთვის: 12 ნაბიჯი (სურათებით)
Synthfonio - მუსიკალური ინსტრუმენტი ყველასთვის: 12 ნაბიჯი (სურათებით)

ვიდეო: Synthfonio - მუსიკალური ინსტრუმენტი ყველასთვის: 12 ნაბიჯი (სურათებით)

ვიდეო: Synthfonio - მუსიკალური ინსტრუმენტი ყველასთვის: 12 ნაბიჯი (სურათებით)
ვიდეო: Jammy EVO Short Demo: Ableton Live 2024, ივლისი
Anonim
Image
Image
გაყვანილობის დიაგრამა
გაყვანილობის დიაგრამა

მე მომწონს სინთეზატორი და MIDI კონტროლერი, მაგრამ მე საშინლად ვთამაშობ კლავიშებს. მე მიყვარს მუსიკის წერა, მაგრამ ამ მუსიკის რეალურად დაკვრისთვის თქვენ უნდა ისწავლოთ ინსტრუმენტზე დაკვრა. ამას დრო სჭირდება. დრო, რომელიც ბევრს არ აქვს და რაც ჩვეულებრივ მათ ხელს უშლის ვარჯიშის გაგრძელებაში. ვცდილობ ამის შეცვლას. ეს პროექტი არის მცდელობა შეამციროს უფსკრული "მინდა ვისწავლო როგორ ვითამაშო X" მომენტსა და "მე სიამოვნებით ვთამაშობ X- ს" შორის. მე ვიცი, რომ უმეტესობა ვოცნებობდით ან ვოცნებობთ ამ უკანასკნელზე, მაგრამ დავრჩით პირველში და ასევე ვიცი ის მომენტი, როდესაც შემეძლო შევასრულო და ვისიამოვნო ჩემი პირველი ოთხი აკორდიანი სიმღერით გიტარაზე. დავიწყე ინსტრუმენტის სწავლა და მას შემდეგ არასოდეს მითქვამს მასზე უარი

Რა არის ეს

ეს არის ადვილად შესასწავლი ინსტრუმენტი, მარტივი მუშაობისთვის, იმპროვიზაციაზე ორიენტირებული და ბგერების უსასრულო შესაძლებლობის მქონე (როგორც MIDI კონტროლერი). მას აქვს 2 კომპლექტი გასაღებები, ერთი აკორდების და საკვანძო ხელმოწერების დასადგენად, მეორე კი ნოტების რეალურად დაკვრისთვის. რა აკორდიც უნდა იყოს დაჭერილი ინსტრუმენტების კისრის კლავიშებზე, ის განსაზღვრავს კლავიშების სიმაღლეს ინსტრუმენტის სახელურზე, გიტარის, ვიოლინოს და სხვა სიმებიანი ინსტრუმენტების მსგავსი; დამატებით წინასწარ, რომ ეს არის ჭკვიანი მოწყობილობა, რომელსაც შეუძლია ინტერპრეტაცია მოახდინოს მასშტაბის დაკვრა ერთი ნოტიდან ან წყვილი ნოტიდან.

Როგორ მუშაობს

უბრალო. გსურთ E აკორდზე დაკვრა? თქვენ უბრალოდ დააჭირეთ E ღილაკს კისერზე (იხილეთ დიაგრამა ნაბიჯი 11) და გაათავისუფლებთ ყველაფერს რაც გსურთ სახელურის ღილაკებზე. არ ინერვიულო, ის იქნება სრულყოფილი. თქვენ შეგიძლიათ გამოიყენოთ სახელური კლავიშები აკორდების, მელოდიების და არპეგიების დაკვრისთვის თქვენთვის სასურველ ტონალობაში, უბრალოდ კისერზე შესაბამისი კორესპონდენციის დაჭერით. ანალოგიურად, კისერზე A ღილაკის დაჭერა C კლავიშთან ერთად (A– ს მცირე მესამედი) გაააქტიურებს სახელურის გასაღებების A ტონალობას.

ეს საშუალებას მისცემს ნებისმიერ მოთამაშეს შეასრულოს 4 აკორდიანი მელოდია (ყველაზე პოპულარული მუსიკა 4 აკორდია), თანხლებით, ან თუნდაც იმპროვიზაციით; თანამდებობაზე არაუმეტეს რამდენიმე თითისა.

ეს ინსტრუმენტი შეიძლება ფუნქციონირებდეს როგორც MIDI კონტროლერი და მე ჩავრთე მარტივი ჩაშენებული სინთეზატორი გარე აღჭურვილობის გარეშე სათამაშოდ. დამოკიდებულია არდუინოს დაფაზე, რომელსაც აირჩევთ, ეს პროექტი ასევე შეიძლება მუშაობდეს როგორც USB MIDI კონტროლერი ან MIDI მეტი BLE კონტროლერი.

ჩემი ჩვეულებრივი პასუხისმგებლობის შეზღუდვები:- მე არ ვარ ინგლისურ ენაზე მშობლიურ ენაზე, ასე რომ, შესაძლოა შეცდომები იყოს დაშვებული. - ასევე, მე თვითნასწავლი ვარ ელექტრონიკაში, კოდირებაში და მუსიკაში, ასე რომ, ისევ და ისევ, შესაძლოა შეცდომები იყოს დაშვებული. - ეს არის "ინსტრუმენტი ყველასთვის" სათამაშოდ და არა აუცილებლად ასაშენებლად. თქვენ გჭირდებათ ცოტაოდენი ცოდნა ელექტრონიკაში და კოდირებაში ამ პროექტზე სამუშაოდ.

_

მარაგები

-არდუინო: ნებისმიერი არდუინო უნდა მუშაობდეს. მე გირჩევთ დაფას USB შესაძლებლობებით, როგორიცაა ATmega32U4 დაფები (ლეონარდო, მიკრო და სხვა), ასე რომ თქვენ შეგიძლიათ გამოიყენოთ ეს პროექტი როგორც USB MIDI კონტროლერი. მე გამოვიყენე MKR1010, რადგან მას ასევე აქვს bluetooth შესაძლებლობები და მეორადი აპარატურის სერიული პორტი.

-ATmega328 პურის დაფაზე (სურვილისამებრ): ეს არის ინტეგრირებული სინთეზისთვის. თქვენ შეგიძლიათ გამოიყენოთ UNO– ს შესაბამისი დაფა, მაგრამ მე უფრო მარტივი სისტემისთვის შევედი.

-მულტიპლექსერის მოდულები: 2 მათგანი, ერთი სახელურის გასაღებებისათვის, ხოლო მეორე კისრის გასაღებებისათვის.

-ბატარეის დამტენი მოდული: გირჩევთ მსგავსს ბმულზე, რადგან მას აქვს დამუხტვის/გამონადენის დაცვა.

-18650 ბატარეა

-ძაბვის გაძლიერების ლიფტის მოდული: ფრთხილად იყავით ამით! დარწმუნდით, რომ თქვენს მიერ არჩეულ მოდულს შეუძლია მიიღოს 5 ვ -ზე დაბალი ძაბვა. ბატარეის დამტენი მოდულები, როგორც წესი, გამოდის 4 ვ -ის გარშემო და თუ ამ ძაბვას მიაწოდებთ საფეხურებრივ მოდულს, რომელიც არ არის შეფასებული ამ ძაბვისთვის, შეიძლება პრობლემები შეგექმნათ. მე გამოვიყენე მოდული, რომელსაც მინიმუმ 5 ვ შეყვანის ძაბვა სჭირდებოდა და ჩემი არდუინო შევწვი. (შემწვარი დაფის ხელახალი გამოყენების, ხელახალი ველოსიპედის პროექტი? გთხოვთ დატოვეთ კომენტარი)

-1/4 ქალი აუდიო ბუდე

-10k სტერეო პოტენომეტრი

-10k პოტენომეტრი (x2)

-x2 კონცენტრატორები: მე გირჩევთ მათ, მაგრამ ნებისმიერი გადამრთველი, რომელიც დაიცავს თავის პოზიციას, გამოდგება.

-x14 ტაქტიკური გადამრთველები: კისრის გასაღებებისათვის.

-x9 შეზღუდული კონცენტრატორები: სახელურების გასაღებები (7) და გადამრთველების გადატანა (2)

-1k ohm რეზისტორი

-x2 220 ohm რეზისტორი (თუ თქვენ აკეთებთ 5v MIDI გამომავალს)

-33 ohm და 10 ohm რეზისტორები (თუ თქვენ აკეთებთ 3.3v MIDI გამომავალს)

-პატარა დაფები: რამდენიც გინდა! მე ყველაფერს ვაკეთებ 170 პუნქტიანი დაფაზე.

-Jumper მავთულები: თქვენ არ გაქვთ საკმარისი

რატომ არის ორი ერთმანეთისგან განსხვავებული? უნდა იყოს, შეიძლება ასეა, მაგრამ მე არ შემეძლო. Საქმე ის არის; სინთეზის ბიბლიოთეკების უმეტესობა დამზადებულია ATmega328– ისთვის, რომელსაც არ აქვს USB შესაძლებლობები. მეორეს მხრივ, რამდენიმე ATmega32U4 დაფაზე დაფუძნებული დაფები (USB კაბელები), რომლებიც აწარმოებენ სინთეზურ ბიბლიოთეკებს, ამას აკეთებენ საკითხებთან დაკავშირებით. დაივიწყეთ MIDI BLE– ით, თქვენ გჭირდებათ MKR1010– ის მსგავსი რამ (რამდენადაც მე წავიკითხე, hm-10 მოდული MIDI– ს არ გააკეთებს), მაგრამ MKR ოჯახი იყენებს სხვა არქიტექტურას და არც კი შეადგინეთ ესკიზები ნებისმიერი სინთის ბიბლიოთეკით, რაც მე ვიპოვე ინტერნეტში. ასე რომ, ეს ჩემთვის ორი გამოყოფილი მიკროკონტროლია. მთავარი დაფა აკეთებს ყველა ზონდირებას, ინტერპრეტაციას და მიდი ნივთებს; და მეორე ინტეგრირებული სინთისთვის, რომელიც მხოლოდ კითხულობს midi მონაცემებს ძირითადიდან და აწარმოებს ბგერას. arduino– ს ერთჯერადი ვერსია (სურვილისამებრ): დიახ, თუ თქვენ ნამდვილად არ გაინტერესებთ ზოგიერთი საჭირო ფუნქცია, შეგიძლიათ გამოიყენოთ მხოლოდ ერთი დაფა. მაგალითად, ერთი ATmega32U4, როგორც USB MIDI კონტროლერი, სულ მცირე შეცდომებით სინთეზირებული ბიბლიოთეკით, შეგიძლიათ გაუშვათ მასზე (თუმცა MIDI BLE არ არის), ან ერთი ATmega328 გაშვებული ნებისმიერი სინთეზის ბიბლიოთეკით, რომელიც მოგწონთ (თუმცა USB MIDI არ არის).

ნაბიჯი 1: გაყვანილობის დიაგრამა

აქ არის პროექტის სრული დიაგრამა. გახსოვდეთ, თქვენ არ გჭირდებათ MKR დაფის გამოყენება, უმეტესობა დაფები იმუშავებს, თქვენ უბრალოდ უნდა იცოდეთ თითოეული დაფის შესაძლებლობების შესახებ (USB- ს შეუძლია, BLE შეუძლია და ა.შ.) და დაარეგულიროთ ძაბვა, რომელიც მიეწოდება vin pin- ს. ახლა ვნახოთ თითოეული ნაწილი უფრო დეტალურად:

ნაბიჯი 2: გაყვანილობის დიაგრამა: MIDI კონტროლერი და მულტიპლექსერები

გაყვანილობის დიაგრამა: MIDI კონტროლერი და მულტიპლექსერები
გაყვანილობის დიაგრამა: MIDI კონტროლერი და მულტიპლექსერები
გაყვანილობის დიაგრამა: MIDI კონტროლერი და მულტიპლექსერები
გაყვანილობის დიაგრამა: MIDI კონტროლერი და მულტიპლექსერები

-მე გავუზიარე თითქმის ყველა ქინძისთავი ორივე მულტიპლექსერს შორის, რათა კიდევ უფრო შემცირდეს არდუინოს ქინძისთავები. მართლაც, თითოეული მულტიპლექსერული მოდულის მხოლოდ სიგნალის პინებს უნდა ჰქონდეთ საკუთარი ერთგული არდუინოს პინი. ეს მოწყობა არ იწვევს პრობლემებს ან ჩარევას კლავიშებს შორის, რადგან ესკიზის ფუნქციონირება არის ხაზოვანი და arduino ამოწმებს მხოლოდ ერთ შეყვანას ერთდროულად. რასაც სხვა მულტიპლექსერი აკეთებს, ან სხვა შემომავალი პინი მიიღებს ამ შემოწმების დროს, იგნორირებული იქნება.

-ორი გადამრთველი, სახელწოდებით Transposing Switches არის ლიმიტიანი კონცენტრატორები, რომლებიც გააქტიურებულია სახელურის გადასაადგილებლად ძირითადი სხეულის სლაიდ ხვრელში (იხ. "სახელური" და "სხეულის" ნაბიჯები უფრო დეტალურად) და ისინი გადააქვთ სახელურის ყველა ნოტა ერთი ოქტავით ზემოთ ან ქვემოთ რა

-ხმის კონტროლისთვის გამოვიყენე სტერეო პოტენომეტრი, რადგან ჩვენ გვჭირდება ორი სახის მოცულობის კონტროლი: ანალოგური (ინტეგრირებული სინთეზი) და MIDI.

-MIDI გამომავალი წრე აქვს რეზისტორების შეფასებული 3.3v გამომავალი ჩემი MKR ფორუმში. თუ თქვენ იყენებთ 5 ვ დაფაზე, თქვენ უნდა შეცვალოთ თქვენი რეზისტორი მეორე სურათზე MIDI დიაგრამის მიხედვით.

ნაბიჯი 3: გაყვანილობის დიაგრამა: სინთეზატორი

გაყვანილობის დიაგრამა: სინთეზატორი
გაყვანილობის დიაგრამა: სინთეზატორი

-კავშირი OSC2– ზე ATmega328– ზე მიდის (კონდენსატორის საშუალებით) ციფრულ პინზე 5. თუ თქვენც იგივეს ფიქრობთ, დარწმუნდით, რომ ყოველთვის გამოაცხადებთ პინ 5 -ს შეყვანის სახით და არა როგორც გამომავალს.

-სინთეზის ბიბლიოთეკა, რომელიც მე ავირჩიე ბგერა 11 -დან, როგორც ეს ნაჩვენებია ჩემს დიაგრამაში. ყველა ბიბლიოთეკა არ გამოიყენებს ამ პინს, დარწმუნდით, რომ შეცვალეთ იგი შესაბამისად. მე გირჩევთ ყოველთვის გამოიყენოთ რეზისტორი და თავსახური როგორც ფილტრები.

-მე დავამატე გადამრთველი 5V- ზე, რომელიც მოწოდებულია მთავარი დაფისგან, ასე რომ მე შემიძლია ATmega– ს გამორთვა და ბატარეის ენერგიის დაზოგვა ინსტრუმენტის MIDI კონტროლერად გამოყენებისას.

ნაბიჯი 4: გაყვანილობის დიაგრამა: ენერგიის წყარო

გაყვანილობის დიაგრამა: დენის წყარო
გაყვანილობის დიაგრამა: დენის წყარო

-ვიცი, ყველა MKR დაფას აქვს ინტეგრირებული Li-Po დატენვის წრე. საქმე იმაშია, რომ მე ვერ ვიპოვე (ხელმისაწვდომი) ლიპო ბატარეები საჭირო სპეციფიკაციებით სადმე იმ ქვეყანაში, სადაც მე ვცხოვრობ (ჩილე, სამხრეთ ამერიკა) და ასევე, მე უკვე მქონდა დატენვის მოდული და რამოდენიმე 18650 იქვე, ასე რომ მე აიყვანეს ისინი გარდა ამისა, მე ვფიქრობ, რომ ადამიანების უმეტესობა შეეცდება ამ პროექტს უფრო კომერციულად ხელმისაწვდომი დაფების გამოყენებით, რომლებსაც ჩვეულებრივ არ აქვთ დატენვის წრე.

-ისევ, დარწმუნდით, რომ მოდული, რომელსაც აირჩევთ ბატარეის ძაბვის ასამაღლებლად, შეუძლია 5 ვ -ზე დაბალი შეყვანის ძაბვის აღება. ბატარეის დამტენი მოდულები ჩვეულებრივ გამოდის 4 ვ-ის გარშემო და თუ ამ ძაბვას მიაწოდებთ შემდგომ მოდულს, რომელიც არ არის შეფასებული ამ ძაბვისთვის, შეგიძლიათ დაფა გამოაცხოთ. Მე გავაკეთე. ორჯერ, სანამ ამის შესახებ ვიცოდი.):

-მე გირჩევთ გადამრთველის დაყენებას ძაბვის გაძლიერების მოდულის წინ და არა შემდეგ. მე ნამდვილად არ მესმის, როგორ მუშაობს ეს, მაგრამ მე ვზომავ დენს ორივე ვარიანტში (გადართვა ადრე და შემდეგ) და ძაბვის ლიფტის შემდეგ გადამრთველის დაყენებისას მე გავზომე ბატარეიდან მიმდინარე დენის გაჟონვა, მაშინაც კი, როდესაც გადამრთველი იყო გამორთული

ნაბიჯი 5: კოდის იდეა

კოდი უბრალოდ გადის მუდმივი შემოწმების ყველა სახელური გასაღებები სანამ იგი აღმოაჩენს დარტყმა. როდესაც ის ამას აკეთებს, ის ამოწმებს კისერზე დაჭერილ კლავიშებს და განმარტავს მის პოზას და, შესაბამისად, მუსიკალურ ტონალობას (თუ კისერზე კლავიშს არ დააჭერთ, ბოლო ტონალობის ნაკრები დარჩება). ეს განსაზღვრავს რომელ ნოტს გამოიმუშავებს დაჭერილი სახელური. დაბოლოს, გადამოწმებულია ორი გადამრთველი გადამრთველი, რათა შენიშვნის გადატანა მოხდეს ოქტავის ზემოთ, ოქტავის ქვემოთ ან ნაგულისხმევი ოქტავის ჩათვლით; აძლევს ინსტრუმენტს 3 ოქტავის დიაპაზონს. ყველა ამ ცვლადის საფუძველზე, Synthfonio აწარმოებს შესაბამისი midi ბრძანებას.

რაც შეეხება სინთის კოდს, გააკეთე ისე, როგორც მე გავაკეთე და უბრალოდ ურცხვად დააკოპირე და ჩასვი სინთეზის ბიბლიოთეკის "midi in" მაგალითის ესკიზი, რომელიც საუკეთესოდ მოერგება შენს მოთხოვნებს. აქ არის რამოდენიმე რეკომენდაცია: -The_synth-Mozzi-poly-synth-Noodle-Synth

ოჰ, თუ გსურთ MIDI და synth ფუნქციონირების ერთ დაფაზე ინტეგრირება, მე გირჩევთ ესკიზს, რომელიც აღწერილია ამ ბმულზე.

ნაბიჯი 6: კოდი

უპირველეს ყოვლისა, დაგჭირდებათ შემდეგი ბიბლიოთეკები: MIDI ბიბლიოთეკა: https://github.com/FortySevenEffects/arduino_midi_… მრავალმხრივი ბიბლიოთეკა:

ასევე, თუ თქვენ აპირებთ გამოიყენოთ USB- ს მქონე დაფა, ან MKR 1010, შეგიძლიათ ექსპერიმენტი ჩაატაროთ ამ ბიბლიოთეკებშიც: MIDI USB: https://github.com/tigoe/SoundExamples/blob/master… MIDI BLE:

#ჩართეთ

MIDI_CREATE_DEFAULT_INSTANCE (); #მოიცავს CD74HC4067 my_mux (4, 3, 2, 1); // შექმენით ახალი CD74HC4067 ობიექტი თავისი ოთხი საკონტროლო ქინძისთავით #განსაზღვრეთ mux_handle_pin 5 // განსაზღვრეთ ქინძისთავი, რომელიც გაზიარებს არხებს სახელურიდან მულტიპლექსერი #განსაზღვრეთ mux_neck_pin 0 // განსაზღვრეთ პინი კისრის მულტიპლექსერის არხებთან გასაზიარებლად // განსაზღვრეთ გადამრთველების გადატანა #განსაზღვრეთ transposeUp 7 #განსაზღვრეთ transposeDown 6 ბაიტი კისრის ძირითადი ნომრები = {12, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11}; ბაიტი თითების რაოდენობა = 0; ბაიტი neckKeyHolded = {0, 0, 0}; ბაიტის ფესვი = 48; ბაიტი მინორი მესამე; ბაიტი handleKeyNote = {0, 48, 50, 52, 53, 55, 57, 59}; ბაიტი handleKeyNoteSent = {0, 0, 0, 0, 0, 0, 0, 0}; int ოქტავა = 0; void setup () {pinMode (LED_BUILTIN, OUTPUT); MIDI. დასაწყისი (1); // გაუშვით MIDI და მოუსმინეთ არხს 1 pinMode (mux_handle_pin, INPUT_PULLUP); pinMode (mux_neck_pin, INPUT_PULLUP); pinMode (transposeUp, INPUT_PULLUP); pinMode (transposeDown, INPUT_PULLUP); } void loop () {// For-Loop, რომ შეამოწმოთ ყველა გასაღები (1-7) HANDLE- ზე. for (ბაიტი i = 1; i <8; i ++) {my_mux.channel (i); // ყველა გასაღების შემოწმება მულტიპლექსერის საშუალებით // თუ გადამრთველი (გასაღები) არის დაჭერილი და თუ გასაღების მდგომარეობა "არ არის დაჭერილი" თუ ((digitalRead (mux_handle_pin) == LOW) && (handleKeyNoteSent == 0)) {delayMicroseconds (2400); // For-Loop, რათა შეამოწმოთ 12 გასაღები (0-11) კისერზე. for (ბაიტი k = 0; k 0)) {MIDI.sendNoteOff (handleKeyNoteSent , 0, 1); // შეაჩერე შენიშვნის სახელურიKeyNoteSent = 0; // განსაზღვრეთ როგორც "არ არის გაგზავნილი" შეფერხება (18); }}} // ეს ფუნქცია იღებს გამოვლენილ კისრის გასაღებს და ამის საფუძველზე // ადგენს ძირეული შენიშვნის რაოდენობას (MIDI- ში), // amd ასევე ადგენს ნოტის იმ რაოდენობას, რომელიც იქნება მისი უმნიშვნელო მესამე ბათილი ფესვი) {switch (neckKeyHolded [0]) {შემთხვევა 12: root = 47; მცირე მესამე = 3; შესვენება; საქმე 1: ფესვი = 48; მცირე მესამე = 4; შესვენება; შემთხვევა 2: ფესვი = 49; უმცირესი მესამე = 5; შესვენება; შემთხვევა 3: ფესვი = 50; მცირე მესამე = 6; შესვენება; შემთხვევა 4: ფესვი = 51; მცირე მესამე = 7; შესვენება; საქმე 5: ფესვი = 52; მცირე მესამე = 8; შესვენება; საქმე 6: ფესვი = 53; მცირე მესამე = 9; შესვენება; საქმე 7: ფესვი = 54; უმცირესი მესამე = 10; შესვენება; საქმე 8: ფესვი = 55; უმცირესი მესამე = 11; შესვენება; საქმე 9: ფესვი = 56; მცირე მესამე = 12; შესვენება; შემთხვევა 10: ფესვი = 57; მცირე მესამე = 1; შესვენება; შემთხვევა 11: ფესვი = 58; მცირე მესამე = 2; შესვენება; ნაგულისხმევი: root = 48; მცირე მესამე = 4; შესვენება; }} // ეს ფუნქცია ადგენს ფაქტობრივ შენიშვნას, რომელსაც ითამაშებს ხელის გასაღები. // ის პირველ რიგში ამოწმებს გადამრთველი გადადის თუ არა და საჭიროების შემთხვევაში გადააქვს ოქტავა მაღლა ან ქვევით, // შემდეგ ამოწმებს არის თუ არა თითების რაოდენობა შესაბამისობაში ძირითადი ან მცირე აკორდის (1 ან 2 თითი). // დაბოლოს, თუ 2 თითი იქნა აღმოჩენილი პოზიციაში, ის ამოწმებს არის თუ არა მეორე თითები // შესაბამისი უმნიშვნელო მესამე ნოტზე. თუ არა, მე -2 თითი იგნორირებული იქნება და აკორდი იქნება // ინტერპრეტირებული როგორც ძირითადი აკორდი. თუ მე –2 თითი მართლაც თამაშობს უმცირეს მესამედს, ფუნქცია განსაზღვრავს // ჩანაწერებს, რომლებსაც სახელური-კლავიშები შეასრულებს. void keyConstructor () {if (digitalRead (transposeUp) == LOW) {ოქტავა = 12; } else if (digitalRead (transposeDown) == LOW) {ოქტავა = -12; } else {ოქტავა = 0; } // ძირითადი მასშტაბი if (neckKeyHolded [1] == 0) {handleKeyNote [1] = ფესვი + ოქტავა; handleKeyNote [2] = ფესვი + ოქტავა + 2; handleKeyNote [3] = ფესვი + ოქტავა + 4; handleKeyNote [4] = ფესვი + ოქტავა + 5; handleKeyNote [5] = ფესვი + ოქტავა + 7; handleKeyNote [6] = ფესვი + ოქტავა + 9; handleKeyNote [7] = ფესვი + ოქტავა + 11; } // მცირე მასშტაბი if (neckKeyHolded [1] == minorThird) {handleKeyNote [1] = ფესვი + ოქტავა; handleKeyNote [2] = ფესვი + ოქტავა + 2; handleKeyNote [3] = ფესვი + ოქტავა + 3; handleKeyNote [4] = ფესვი + ოქტავა + 5; handleKeyNote [5] = ფესვი + ოქტავა + 7; handleKeyNote [6] = ფესვი + ოქტავა + 8; handleKeyNote [7] = ფესვი + ოქტავა + 11; }}

ნაბიჯი 7: ინსტრუმენტი (დანართი)

ინსტრუმენტი (დანართი)
ინსტრუმენტი (დანართი)
ინსტრუმენტი (დანართი)
ინსტრუმენტი (დანართი)

როგორც ყოველთვის, მე ნამდვილად არ მაქვს სრული და დეტალური დიზაინის გეგმები და პროექტის გაზომვები. მე შევიტანე ცვლილებები, მოდიფიკაციები და დიზაინი ნივთების შექმნის მთელი პროცესის განმავლობაში. და ამ ცვლილებების უმეტესობა ემყარებოდა იმ მასალებს და კომპონენტებს, რომლებიც მე მქონდა იმ დროს ხელთ.

როგორც ვთქვი, ამ შემთხვევაში, მე მაქვს ბევრად მეტი შინაარსი და ინფორმაცია დიზაინის პროცესის შესახებ, ვიდრე წინა პროექტებში, რადგან მე გამოვიყენე 3D ბეჭდვისა და ლაზერული ჭრის სერვისები მრავალი ნაწილის შესაქმნელად. მე უბრალოდ არ ვაპირებდი ყველა MDF საზომს და ჭრას, რაც გავაკეთე ჩემს ბოლო აპარატზე. მე დავამატე ფაილი, რომელიც შექმნილია ნაწილების უმეტესობის ლაზერული ჭრისთვის და ინსტრუმენტის 3D მოდელი. გთხოვთ, გაითვალისწინოთ, რომ ყველა ეს ფაილი ძირითადად იგივეა, რაც მე ავაშენე, მაგრამ არის შეუსაბამობები, რადგან ბევრი ცვლილება შევიტანე ლაზერული ჭრისა და 3D მოდელირების შემდეგ. გამოიყენეთ ეს ფაილები, როგორც ამოსავალი წერტილი თქვენი პროექტისთვის და არა როგორც საბოლოო შაბლონი.

გთხოვთ, ასევე მიაქციოთ ყურადღება იმ ნაბიჯებს, რაც მე დავწერე სურათებზე

ნაბიჯი 8: ინსტრუმენტი: კისერი

Image
Image
ინსტრუმენტი: კისერი
ინსტრუმენტი: კისერი
ინსტრუმენტი: კისერი
ინსტრუმენტი: კისერი
ინსტრუმენტი: კისერი
ინსტრუმენტი: კისერი

ეს არსებითად არის რამოდენიმე გრძელი ლაზერული მოჭრილი MDF ნაჭერი, რომლებიც ერთმანეთზეა დალაგებული, რათა შეიქმნას საკმარისად სქელი კისერი, შიგნით საკმარისი ადგილი ტაქტიკური გადამრთველებისთვის (კისრის გასაღებები) და მულტიპლექსერის მოდული. ასევე, 14 ცალი ლაზერული მოჭრილი MDF დაფა ფორტეპიანოს კლავიშების სახით, გადამრთველების დასაფარავად. კონცენტრატორები დამონტაჟებულია პერფორდზე და მავთულხლართზეა მიერთებული.

ნაბიჯი 9: ინსტრუმენტი: სახელური

Image
Image
ინსტრუმენტი: სახელური
ინსტრუმენტი: სახელური
ინსტრუმენტი: სახელური
ინსტრუმენტი: სახელური

ეს იყო ჩემთვის ყველაზე რთული ნაწილი. მე არ ვიცი მთლიანად გადავწყვეტ თუ არა ამ ნაწილს, მაგრამ ის საკმაოდ კარგად მუშაობს მაინებისთვის. მას აქვს 7 გადამრთველი მულტიპლექსერის საშუალებით და მას შეუძლია სრიალი ინსტრუმენტის სხეულის ხვრელში. არ შევეცდები აღვწერო, ასე რომ აქ არის სურათები …

ნაბიჯი 10: ინსტრუმენტი: სხეული

Image
Image
ინსტრუმენტი: სხეული
ინსტრუმენტი: სხეული
ინსტრუმენტი: სხეული
ინსტრუმენტი: სხეული

ეს არის უმარტივესი ყველა ნაწილიდან, მხოლოდ ლაზერული მოჭრილი ყუთი იმ ფორმით, რომელიც ჰგავს მუსიკალურ ინსტრუმენტს. სიგარეტის ყუთის ტიპის დანართის გამოყენებაც კი ვიფიქრე, მაგრამ თუ ლაზერულ ჭრილობას ვაპირებდი, შესაძლოა ლაზერულად რაიმე სასიამოვნო მომეჭრა. სხეულის ძირითადი მახასიათებლები უნდა იყოს პირველი, ყველა ხვრელი საჭირო კონექტორების, ჯეკების და ა.შ. (პლუს ერთი კისრის წრედის მავთულის შესანახი); თავზე ერთი უფრო დიდი ხვრელი, რომელშიც სახელური გადადის (როგორც ნაჩვენებია პირველ ვიდეოში და სურათებში) და ბოლოს ორი გადასატანი გადამრთველი მოთავსებულია მოცურების ხვრელის თითოეულ ბოლოში სახელურის მოძრაობის გამოსავლენად (იხილეთ მეორე ვიდეო და ყველა ანოტაცია სურათებზე).

ნაბიჯი 11: როგორ ვითამაშოთ

როგორ ვითამაშოთ
როგორ ვითამაშოთ
როგორ ვითამაშოთ
როგორ ვითამაშოთ

აკორდების დაკვრა

შევეცადოთ ვითამაშოთ რამდენიმე უმნიშვნელო და მერის აკორდი, როგორც ეს თავიდანვე განმარტებულია "როგორ მუშაობს" განყოფილებაში. ძირითადად, ნებისმიერი გასაღები, რომელსაც დააჭერთ კისერზე, მოგაწვდით ამ შენიშვნის ძირითად მასშტაბს სახელურებზე. ასევე, თუ დაითვლით 3 კლავიშს ზემოთ (გადაადგილდებით სახელურისკენ) და დააჭირეთ ამ ღილაკს, ხოლო ორიგინალს დაჭერით, თქვენ კვლავ გექნებათ ამ სახელურის მასშტაბის სახელური კლავიშებზე, მაგრამ ამჯერად ეს იქნება მცირე მასშტაბები. მუსიკალურად გაწვრთნილი მკითხველი მიხვდება (ჩემზე ბევრად უკეთ, ფაქტობრივად), რომ ნებისმიერი ნოტიდან ზუსტი მესამე ღილაკის დაჭერა იგივეა, რაც მისი უმნიშვნელო მესამედის დაკვრა.

ასევე, თუ ფიქრობთ, რომ 7 ნოტი არ არის საკმარისი თქვენთვის, შეგიძლიათ უბრალოდ გადააადგილოთ მთლიანი სახელური ზემოთ ან ქვემოთ ძირითადი სხეულის სლაიდების ხვრელში და გექნებათ იგივე 7 ნოტი ერთი ოქტავით ზემოთ ან ქვემოთ.

აკორდების დაკვრა (დამწყებთათვის ახსნა)

აკორდები არის ორი ან მეტი ნოტი ერთად დაკრული.დაფიქრდით პიანისტზე ან გიტარისტზე, რომელიც ერთდროულად უკრავს რამოდენიმე ნოტს (ფორტეპიანოს კლავიშები ან გიტარის სიმები) და აძლევს მათ ჟღერადობას, მღერიან პატარა ფრაზას მასზე, შემდეგ კი სხვა ნოტებზე მიდიან და მღერიან სხვა ფრაზას. ისინი აკორდებზე უკრავენ და მელოდიას მღერიან. ეს არის ნებისმიერი ძირითადი სიმღერის არსი. მაშ, როგორ გავაკეთოთ ეს სინთფონიოზე? მარტივი გსურთ E აკორდზე დაკვრა? თქვენ უბრალოდ დააჭირეთ E ღილაკს კისერზე და გაუშვებთ ყველაფერს რაც გსურთ სახელურის ღილაკებზე. არ ინერვიულოთ, ის იქნება სრულყოფილი. რაც შეეხება უმნიშვნელო აკორდებს?. ჩვენ ვაჭერთ A ღილაკს (იხ. დიაგრამა მიმაგრებულია), მაგრამ ჩვენ ასევე ვითვლით სამ კლავიშს ზემოთ (მოძრაობს სახელურისკენ) და ჩვენ ვჭერთ ამ კლავიშსაც (ამ შემთხვევაში C). ეს ეფექტურად აქცევს A აკორდს Am აკორდში (A minor).

უკრავს სიმღერას

ახლა, როგორც ზოგიერთმა შეიძლება უკვე იცოდეს, არის 4 აკორდიანი სიმღერის დატვირთვა და დატვირთვა, რომლებიც ჩვეულებრივ აგებულია უბრალო ძირითად და უმნიშვნელო აკორდებზე. სრულყოფილი. ჩვენ ვსწავლობთ „სიმღერის სათაურის აკორდებს“, ვიპოვით იმას, რაც გვინდა (აქ არის რამოდენიმე მარტივი და მარტივი მაგალითი). თუ აკორდი არის ძირითადი, ჩვენ უბრალოდ ვაჭერთ ამ ერთ ღილაკს სინთფონიოს კისერზე და ვთამაშობთ ყველაფერს, რასაც გრძნობთ სახელური. თუ სიმღერაში გამოჩნდება უმნიშვნელო აკორდი, ჩვენ უბრალოდ ვაწკაპუნებთ კორესპონდენტის კლავიშზე და მესამე ღილაკზე მაღლა და ჩვენ დაყენებული ვართ. Ის არის. თქვენ შეგიძლიათ გამოიყენოთ სახელური კლავიშები აკორდების სათამაშოდ და მათზე მღერის, ან მელოდიების, არპეგიების და სხვ.

მე ამჟამად ვარ დამატებული და შემცირებული აკორდების ჩართვის პროცესში, მესამე თითის პოზიციაში მოთავსებით, ან თუნდაც მხოლოდ ორი თითით, მეორე კი განსაზღვრული გაზრდილი ან შემცირებული მეხუთით.

ეს არის სამუშაო პროექტი, რომელიც მიმდინარეობს. იმავდროულად, უბრალოდ განაგრძეთ თამაში, ექსპერიმენტები და გართობა. მე ვიღებ წინადადებებს (:

სხვადასხვა სასწორი

ამჟამად სახელურების გასაღებები წარმოქმნიან გამოცხადებული მასშტაბის 1 -დან მე -7 შენიშვნებს. მე გამოვიყენე ეს კონფიგურაცია ამ ინსტრუქციებში, რათა გასაგები ყოფილიყო. მაგრამ ეს მარტივად შეიძლება შეიცვალოს სხვადასხვა მასშტაბის შესაქმნელად keyConstructor () ფუნქციის შეცვლით. მე რეალურად ვიყენებ პენტატონურ კონფიგურაციას სახელურისთვის, რადგან მაძლევს საშუალებას მქონდეს ძირეული შენიშვნა ერთი ოქტავა ერთი სახელურის სლაიდების პოზიციაზე. ახლანდელ კონფიგურაციაში, თქვენ უნდა გადააადგილოთ სახელური ზემოთ ან ქვემოთ, რომ სხვა ოქტავაზე რაიმე შენიშვნა გქონდეთ.

ნაბიჯი 12: შესაძლო ცვლილებები

როგორც დასაწყისში აღვნიშნე, შევეცადე ეს გაკვეთილი მაქსიმალურად მარტივი ყოფილიყო და პროექტი ყველაზე ძირითად ფორმაზე დამეყვანა. ამის გამო, მე გამოვტოვე ზოგიერთი მახასიათებელი, რომელიც მე დავამატე (ან ვაპირებ დამატებას) ჩემს საკუთარ Synthfonio– ზე, აქ არის რამოდენიმე მათგანი:

-MIDI over BLE: თუ თქვენ გაქვთ MKR WIFI 1010 დაფა, ამის ჩართვა საკმაოდ ადვილია. ამ ბიბლიოთეკას აქვს ძალიან პირდაპირი მიდი მაგალითი. თქვენ შეგიძლიათ დაამატოთ midi ბრძანებები ბიბლიოთეკიდან MIDI– ს რეგულარულ ბრძანებებს, რომელსაც სინთფონიოს ესკიზი ჰქვია. ან, ბატარეის დაზოგვის მიზნით, დაამატეთ გადამრთველი, რომ გააქტიუროთ bluetooth ფუნქციონირება მხოლოდ საჭიროების შემთხვევაში (არდუინოს შეფერხებების და ამგვარი ავტომატური გადატვირთვის სისტემის გამოყენება კარგი იდეაა).

-PitchBend: მიუხედავად იმისა, რომ არცერთ სინთეზურ ბიბლიოთეკას არ შეუძლია მართოს MIDI მოედანზე მოსახვევი ბრძანებები, MIDI ბიბლიოთეკა საშუალებას გაძლევთ გაგზავნოთ ისინი. საქმე იმაშია, რომ გადაწყვიტოს როგორ გააკონტროლოს იგი. ნებისმიერი პოტენომეტრი კარგად უნდა მუშაობდეს, მაგრამ მე ვფიქრობ უფრო საინტერესო ალტერნატივებზე, როგორიცაა სენსორები! სიახლოვე, შუქი და ა.

ინსტრუმენტების კონკურსი
ინსტრუმენტების კონკურსი
ინსტრუმენტების კონკურსი
ინსტრუმენტების კონკურსი

მეორე პრიზი ინსტრუმენტთა კონკურსში

გირჩევთ: