Სარჩევი:

Keytar Hero (Wii გიტარის კონტროლერის გამოყენება როგორც სინთეზატორი): 7 ნაბიჯი (სურათებით)
Keytar Hero (Wii გიტარის კონტროლერის გამოყენება როგორც სინთეზატორი): 7 ნაბიჯი (სურათებით)

ვიდეო: Keytar Hero (Wii გიტარის კონტროლერის გამოყენება როგორც სინთეზატორი): 7 ნაბიჯი (სურათებით)

ვიდეო: Keytar Hero (Wii გიტარის კონტროლერის გამოყენება როგორც სინთეზატორი): 7 ნაბიჯი (სურათებით)
ვიდეო: Keytar Hero (Using a Wii Guitar as a Synthesizer) 2024, ივლისი
Anonim
Image
Image
ნაბიჯი 1: Raspberry Pi (საწყისი დაყენება)
ნაბიჯი 1: Raspberry Pi (საწყისი დაყენება)

გიტარა გმირის თამაშები ათი წლის წინ მძვინვარებდა, ასე რომ ბევრი ძველი გიტარის მაკონტროლებელი მოყვება მტვერს. მათ აქვთ ბევრი ღილაკი, სახელური და ბერკეტი, მაშ რატომ არ გამოვიყენოთ ისინი კარგად? როგორც წესი, გიტარის კონტროლერი თავისთავად არ გამოსცემს ხმას, მაგრამ ამ სახელმძღვანელოში მე გაჩვენებთ თუ როგორ უნდა გადააკეთოთ Wii Guitar Hero Controller ისე, რომ მისი დაკვრა სინთეზატორი იყოს.

მარაგები

  • გიტარის გმირი Wii კონტროლერი
  • Nunchucky Breakout დაფა (ხელმისაწვდომია Adafruit– ზე აქ)
  • 4ea jumper მავთულები (ქალი ქალი)
  • 2ea crimp კონექტორები (სურვილისამებრ)
  • ჟოლო Pi (3 B+ ან 4 სასურველია)
  • 16 GB MicroSD ბარათი

ნაბიჯი 1: ნაბიჯი 1: ჟოლო Pi (საწყისი დაყენება)

Raspberry Pi არის ამ პროექტის ტვინი და ძლიერი, ამიტომ პირველი რაც ჩვენ უნდა გავაკეთოთ არის შევქმნათ ერთი ჩვენი პროექტისთვის. მე შევეცადე ეს პროექტი როგორც Raspberry Pi 3 B+ -ზე, ასევე 4 -ზე და ორივე კარგად მუშაობს.

Raspberry Pi არის მიკროკომპიუტერი, რომელიც ინახავს ყველაფერს microSD ბარათზე მყარი დისკის ნაცვლად… მათ შორის OS. მათი გამოყენების ტიპიური გზაა ჩამოტვირთოთ უახლესი OS და ჩაწეროთ მისი სურათი microSD ბარათზე შემდეგნაირად:

  • ცალკე კომპიუტერზე ან ლეპტოპზე გადადით
  • ჩამოტვირთეთ უახლესი Raspbian OS. (ბასტერი ამ წერის დროს). არსებობს მრავალი ვერსია გვერდზე, რომელიც იძლევა მეტ -ნაკლებად ჩართულ პროგრამულ უზრუნველყოფას თქვენი შეხედულებისამებრ. ისინი ყველამ კარგად უნდა იმუშაონ, მაგრამ მე მომწონს ვარიანტის გამოყენება „Raspbian Buster დესკტოპით და რეკომენდებული პროგრამული უზრუნველყოფით“, რადგან ის მოიცავს პროგრამირების ზოგიერთ IDE- ს და სხვა მოსახერხებელ პროგრამებს. უმარტივესი გზაა zip ვერსიის ჩამოტვირთვა.
  • Raspbian გამოსახულების ჩაწერა microSD ბარათზე. არსებობს მრავალი პროგრამა, რომლის საშუალებითაც შეგიძლიათ Raspbian გამოსახულების დაწვა თქვენს microSD ბარათზე, მაგრამ მე გამოვიყენე balenaEtcher პროგრამა, რომელიც შეგიძლიათ მიიღოთ აქ. ჩადეთ microSD ბარათი თქვენს კომპიუტერში და გაუშვით balenaEtcher. დისკის სურათისთვის შეარჩიეთ გადმოწერილი zip ფაილი, შემდეგ შეარჩიეთ თქვენი SD ბარათი და დააჭირეთ ფლეშს. ინსტრუმენტი გახსნის დისკის გამოსახულების ფაილებს და ჩაწერს მათ SD ბარათზე. მნიშვნელოვანია: დარწმუნდით, რომ დრაივი, რომელსაც თქვენ ირჩევთ, არის microSD ბარათი … ინსტრუმენტი გადაწერს თქვენს მიერ მითითებულ ნებისმიერ დისკს, ასე რომ დარწმუნდით, რომ თქვენ აირჩიეთ სწორი.
  • აანთეთ თქვენი Raspberry Pi. ჩადეთ microSD ბარათი თქვენს Raspberry Pi- ში. შეაერთეთ თქვენი დენი, მაუსი, კლავიატურა და დინამიკები. თუ მიჰყვებით მითითებებს, ეს საკმაოდ გასაგებია … დააყენეთ თქვენი ადგილმდებარეობა/დრო, დააყენეთ პაროლი და დააკავშირეთ WiFi.

ეს ყველაფერი არის Raspberry Pi– ს სტანდარტული დაყენება, ასე რომ, თუ გჭირდებათ მეტი დეტალი, შეგიძლიათ იპოვოთ ისინი აქ. ჩვენ დანარჩენ ნაბიჯებს ვაკეთებთ Raspberry Pi– ზე.

ნაბიჯი 2: ნაბიჯი 2: ჩართეთ I2c

ნაბიჯი 2: ჩართეთ I2c
ნაბიჯი 2: ჩართეთ I2c

გიტარის გმირი კონტროლერი იყენებს i2c– ს კომუნიკაციისთვის (i2c არის საკმაოდ გავრცელებული პროტოკოლი, რომელსაც ელექტრონული მოწყობილობები იყენებენ ერთმანეთთან სასაუბროდ), ამიტომ ჩვენ უნდა გავაქტიუროთ ეს ფუნქცია Raspberry Pi– ზე:

  • დააინსტალირეთ ბიბლიოთეკები i2c– ისთვის. I2c ბიბლიოთეკები ახლა, როგორც ჩანს, Buster– ის სტანდარტული სტრუქტურის ნაწილია, მაგრამ ყოველი შემთხვევისთვის ჩვენ მათ ინსტალატორს გავუშვებთ. გახსენით ჭურვი (არის ხატი ამოცანის პანელზე ზედა) და ჩაწერეთ შემდეგი:

    • sudo apt-get install -y python-smbus
    • sudo apt-get install -y i2c- ინსტრუმენტები
  • გააქტიურეთ i2c Raspberry Pi– ზე. თქვენს გარსში ჩაწერეთ: sudo raspi-config. ეს გამოჩნდება თქვენი კონფიგურაციის ფანჯარაში. ისარი ქვემოთ InterfacingOptions-> I2C მოწყობილობისთვის i2c ჩართვის მიზნით. ფანჯრიდან გასასვლელად, ისარი მარჯვნივ უკან და შემდეგ დასრულება პარამეტრების შესანახად.
  • გადატვირთვა თქვენს გარსში ჩაწერეთ: sudo reboot
  • დააყენეთ მორგებული i2c პარამეტრები. ნაგულისხმევი i2c baudrate (100k), როგორც ჩანს, პერიოდულად აბნევს გიტარას, ამიტომ ჩვენ შევამცირებთ მას 50k– მდე შემდეგნაირად:

    • ჭურვის ტიპი: sudo nano /boot/config.txt
    • ეს გახსნის თქვენს კონფიგურაციის ფაილს ტექსტურ რედაქტორში. ისარი ქვემოთ და იპოვეთ ხაზი, რომელიც ამბობს dtparam = i2c_arm = on. თუ ის გამოთქმულია კომენტარის გარეშე, დატოვეთ კომენტარი. თუ არ გაქვთ ეს ხაზი, დაამატეთ. ამ ხაზის ქვემოთ ასევე დაამატეთ შემდეგი:

      • dtparam = i2c1 = ჩართულია
      • dtparam = i2c1_baudrate = 50000
    • დააჭირეთ Ctrl + O კონფიგურაციის ფაილის შესანახად და შემდეგ დააჭირეთ Ctrl + X გასასვლელად.
  • გადატვირთვა თქვენს გარსში ჩაწერეთ: sudo reboot

ნაბიჯი 3: ნაბიჯი 3: დააინსტალირეთ სუფთა მონაცემები

ნაბიჯი 3: დააინსტალირეთ სუფთა მონაცემები
ნაბიჯი 3: დააინსტალირეთ სუფთა მონაცემები
ნაბიჯი 3: დააინსტალირეთ სუფთა მონაცემები
ნაბიჯი 3: დააინსტალირეთ სუფთა მონაცემები

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

  • დააინსტალირეთ სუფთა მონაცემები. ჭურვის ტიპში: sudo apt-get install puredata
    • ამან უნდა დააინსტალიროს პროგრამული უზრუნველყოფა თქვენს Raspberry Pi– ზე, მაგრამ თუ ის ჩივის, რომ არ შეუძლია ყველა საჭირო ფაილის განთავსება, სცადეთ ეს:

      • sudo apt-get განახლება
      • შემდეგ კვლავ გაუშვით ინსტალაციის ბრძანება: sudo apt-get install puredata
    • ინსტალაციის დროს ის მოგთხოვთ თუ გსურთ შექმნათ დირექტორიები გაფართოებისთვის, შეგიძლიათ თქვათ დიახ.
  • გაუშვით სუფთა მონაცემები. თუ ის სწორად არის დაინსტალირებული, თქვენ უნდა ნახოთ პროგრამა, რომელიც ჩამოთვლილია Desktop Start მენიუში, ხმის და ვიდეოს ქვეშ. გაუშვით, რომ დარწმუნდეთ, რომ დაიწყება.
  • დააყენეთ Pure Data აუდიო. Pure Data– ში აუდიო ჩვეულებრივ არ არის ნაგულისხმევი, ასე რომ თქვენ უნდა ჩართოთ იგი.

    • დააყენეთ აუდიო გამომავალი ALSA. როდესაც სუფთა მონაცემები იწყება, თქვენ უნდა ნახოთ მისი კონსოლის ფანჯარა. გადადით მედიის მენიუში და აირჩიეთ ALSA, როგორც გამომავალი. თქვენ შეიძლება ნახოთ გამაფრთხილებელი შეტყობინებები კონსოლის გარსში, სადაც ნათქვამია, რომ ის ვერ პოულობს გარკვეულ ფაილებს, მაგრამ შეგიძლიათ ამის იგნორირება მოახდინოთ.
    • ჩართეთ DSP აუდიო. კონსოლის ფანჯარაში, მონიშნეთ ყუთი, რომელშიც ნათქვამია DSP.
  • შეამოწმეთ აუდიო გამომავალი. Pure Data კონსოლის ფანჯარაში გადადით მედიაში-> ტესტი აუდიო და MIDI. ეს გახსნის სატესტო ფაილს, რომლის გამოყენებაც ჩვენ შეგვიძლია დავრწმუნდეთ, რომ სუფთა მონაცემები მუშაობს და რომ ჩვენ შეგვიძლია მოვისმინოთ აუდიო. ჩართეთ თქვენი დინამიკები, მაგრამ შეინარჩუნეთ ისინი დაბალი ხმის დონეზე (ზოგჯერ სტანდარტულად აუდიო შეიძლება იყოს ძალიან ხმამაღალი). სატესტო ფაილში, მარცხენა მხარეს თქვენ უნდა ნახოთ განყოფილება სახელწოდებით Test Tones. დააწკაპუნეთ ყუთზე, სადაც ნათქვამია პირველი 60 და ნახეთ თუ გესმით რაიმე ხმა თქვენი დინამიკებისგან. თუ არა, სცადეთ დააწკაპუნოთ 80 ყუთზე და შემდეგ გააქტიურეთ თქვენი დინამიკები სანამ ხმას არ გაიგონებთ. თუ გესმით ხმა, სცადეთ გადაიტანოთ ყუთში, რომელშიც ნათქვამია Pitch სატესტო ტონების მარჯვნივ, სადაც შეგიძლიათ შეცვალოთ ტონების სიხშირე და ნახოთ რა ხდება.

თუ თქვენ შეგიძლიათ გაუშვათ სუფთა მონაცემები და გაიგოთ ხმა საცდელი პაჩიდან, მაშინ მზად ხართ გააგრძელოთ შემდეგი ნაბიჯი. მაგრამ Pure Data– ს შეუძლია აუდიო გამომავალზე პირველად ცოტა არ იყოს, ასე რომ, თუ აუდიოს მაინც არ იღებთ, სცადეთ შემდეგი:

  • შესაძლებელია, რომ აუდიო გადადის HDMI კაბელის საშუალებით, ასე რომ აიძულოს მას გამოიყენოს ყურსასმენის ჯეკი:

    • ჭურვის ტიპში: sudo raspi-config
    • გადადით Advanced Options-> Audio-> Force 3.5mm ('headphone') jack
  • სცადეთ გადატვირთვა. ზოგჯერ ეს აკეთებს ხრიკს.
  • შეამოწმეთ თქვენი დინამიკები და კავშირი Raspberry Pi– სთან.

ნაბიჯი 4: ნაბიჯი 4: გიტარის დაკავშირება

ნაბიჯი 4: გიტარის დაკავშირება
ნაბიჯი 4: გიტარის დაკავშირება
ნაბიჯი 4: გიტარის დაკავშირება
ნაბიჯი 4: გიტარის დაკავშირება
ნაბიჯი 4: გიტარის დაკავშირება
ნაბიჯი 4: გიტარის დაკავშირება

გიტარის კონტროლერის Raspberry Pi– ს დასაკავშირებლად უმარტივესი გზა არის იაფი გარღვევის დაფა, როგორიცაა Nunchucky*. ეს დაფა გაძლევთ საშუალებას შეხვიდეთ გიტარაზე მომდინარე სიგნალზე დანამატის გაწყვეტის ან გიტარის გახსნის გარეშე. დაფის ერთ მხარეს არის ბრტყელი კვალი, რომელიც შექმნილია იდეალურად მოთავსდეს გიტარადან მომდინარე დანამატში. ასევე არის ორი პატარა ნაკაწრი, რომელიც საშუალებას აძლევს დანამატს დააწკაპუნოს თავის ადგილზე და ამით ხელი შეუშალოს მის გაფუჭებას. კვალს მივყავართ დაფის მოპირდაპირე მხარეს ოთხ სათაურზე.

შენიშვნა: Nunchucky– ს მოყვება სათაურის ქინძისთავები, მაგრამ ისინი არ არის შეკრული, ასე რომ თქვენ თვითონ უნდა გააკეთოთ ეს. ჩემით, მე ნაცვლად 90 გრადუსიანი სათაურის ქინძისთავები გამოვიყენე, რაც საშუალებას აძლევს მას საბოლოო პროექტში დაიხუროს.

თქვენ დაგჭირდებათ ოთხი მავთული, რათა დააკავშიროთ Nunchucky Raspberry Pi– ს. შეაერთეთ მავთულები Nunchucky სათაურის ქინძისთავებიდან Raspberry Pi– ს GPIO ქინძისთავებით შემდეგნაირად:

  • 3.3v -> პინი 1
  • მონაცემები -> პინი 3
  • Clk -> pin 5
  • Gnd -> პინ 9

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

იმის დასადასტურებლად, რომ თქვენს Raspberry Pi- ს შეუძლია გიტარის კონტროლერის ამოცნობა, გახსენით გარსი და ჩაწერეთ: sudo i2cdetect -y 1

მან უნდა დაბეჭდოს ბადე ჭურვიში, რომელშიც უმეტესად ორმაგი ტირეა. თუ კომპიუტერს შეუძლია გიტარის ამოცნობა, თქვენ უნდა ნახოთ გიტარის ID# 52 ერთ -ერთ სლოტში … ჩემს აპარატში ის გამოჩნდა მე -2 სვეტში, მე –5 სტრიქონში … მაგრამ არ აქვს მნიშვნელობა რომელი, სანამ ხედავთ ნომერი 52 სადღაც იქ.

თუ კომპიუტერი ვერ აღმოაჩენს მას, აქ არის რამოდენიმე რამ, რაც უნდა სცადოთ:

  • დარწმუნდით, რომ თქვენი მავთულები მჭიდროდ არის დაკავშირებული.
  • დარწმუნდით, რომ ყველაფერი დაკავშირებულია სწორ ქინძისთავებთან.
  • გადაატრიალეთ გიტარის დანამატი. Nunchucky არ შეგიშლით ხელს შეაერთოთ შტეფსელი თავდაყირა, ასე რომ ის შეიძლება ინვერსიული იყოს.
  • დარწმუნდით, რომ i2c ჩართულია Raspberry Pi– ზე (როგორც ნაჩვენებია ნაბიჯ 2 – ში)

*თუ გიტარის კონტროლერის დანამატი ნაცნობია, ეს იმიტომ ხდება, რომ ის იგივეა, რაც სტანდარტული Wii Nunchuck კონტროლერი … აქედან გამომდინარე სახელი Nunchucky! ეს ასევე ნიშნავს იმას, რომ თქვენ შეგიძლიათ გამოიყენოთ იგივე ბრეაკოუტ დაფა, რათა დაუკავშირდეთ nunchuck კონტროლერებსაც.

ნაბიჯი 5: ნაბიჯი 5: შეაჯამეთ ეს ყველაფერი ერთად

ნაბიჯი 5: ყველაფერი ერთად ააწყვეთ
ნაბიჯი 5: ყველაფერი ერთად ააწყვეთ
ნაბიჯი 5: ყველაფერი ერთად ააწყვეთ
ნაბიჯი 5: ყველაფერი ერთად ააწყვეთ

ახლა, როდესაც ყველაფერი დაყენებულია Raspberry Pi– ზე, ჩვენ გვჭირდება ცოტაოდენი კოდი, რომ ის იმუშაოს. თქვენ შეგიძლიათ ჩამოტვირთოთ კოდი და სხვა საჭირო ფაილები შემდეგნაირად:

  • კოდისა და სხვა ფაილების Raspberry Pi– ზე გადმოსატვირთად გახსენით ახალი გარსი და ჩაწერეთ შემდეგი ბრძანება (შეიძლება დაგჭირდეთ მის წინ sudo): git clone
  • ეს შექმნის დირექტორიას თქვენს სახლის დირექტორიაში სახელწოდებით keytarHero (ანუ/home/pi/keytarHero) და გადმოწერეთ ფაილები მასში.

ამ პაკეტში არის სამი ძირითადი ფაილი:

  • WiiGHController.py: ეს არის პითონის სკრიპტი ხსნის i2c კავშირს გიტარაზე და აბრუნებს სხვადასხვა კონტროლის მნიშვნელობებს. ნაგულისხმევად ის ასევე დაბეჭდავს მნიშვნელობებს, რომელსაც კითხულობს გარსში, რათა ნახოთ რას აკეთებს.
  • keytarHero.pd: ეს არის Pure Data პაჩ ფაილი, რომელიც მე შევქმენი მუსიკის მოსასმენად. იგი შექმნილია გიტარადან შემომავალი მნიშვნელობების წასაკითხად და მათ სხვადასხვა კვანძში გადასასვლელად ბგერების წარმოსაქმნელად. პატჩის დეტალებს მომდევნო ეტაპზე განვიხილავ, მაგრამ საბოლოოდ თქვენ შეგიძლიათ შეცვალოთ ეს იმის გასაკეთებლად, რაც გსურთ აქედან.
  • keytarHero.py: ეს არის სცენარი, რომელიც იწყებს მთელ პროცესს და აერთიანებს ყველაფერს. ის იწყებს სუფთა მონაცემებს და ხსნის keytarHero.pd პატჩს. ის ხსნის კავშირს პატჩთან და გადასცემს ღირებულებებს გიტარადან პატჩზე.

სიმართლის მომენტი! დარწმუნდით, რომ გიტარა უკავშირდება Raspberry Pi- ს და შემდეგ მზად ხართ წასასვლელად. ამის დასაწყებად, თქვენ უბრალოდ უნდა გაუშვათ keytarHero.py სკრიპტი. Გააკეთო ეს:

  • გახსენით ახალი გარსი და ჩაწერეთ: cd keytarHero
  • შემდეგ გაუშვით ბრძანება: python keytarHero.py

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

Დიაგნოსტიკა

თუ ის არ მუშაობს, აქ არის რამოდენიმე რამ, რაც უნდა შეამოწმოთ:

  • სუფთა მონაცემების პატჩი არ იწყებს ან იღებს შეცდომას ფაილების არ პოვნისას? KeytarHero.py სკრიპტს გააჩნია Pure Data პაჩ ფაილში შემავალი გზა მყარად კოდირებული „/home/pi/keytarHero/keytarHero.pd“. თუ თქვენ გადაიტანეთ თქვენი keytarHero საქაღალდე ან ეს პატჩი ფაილი სხვაგან, თქვენ დაგჭირდებათ სკრიპტის განახლება, რათა გამოიყენოთ თქვენი ბილიკი. ამისათვის გახსენით keytarHero.py ფაილი და მოძებნეთ ცვლადი სახელწოდებით PD_PATCH_PATH და შეცვალეთ იგი იმ დირექტორიაზე, სადაც თქვენი keytarHero.pd ფაილი ცხოვრობს. შეინახეთ სკრიპტი და ხელახლა გაუშვით და თქვენ უნდა იყოთ კარგი.
  • გიტარა გამოსცემს სიგნალს? სკრიპტი უნდა დაბეჭდოს სიგნალი, რომელსაც ის გიტარადან გარსში იღებს, როგორც რიცხვების სტრიქონი, თითოეული მათგანი წარმოადგენს გიტარაზე კონტროლის მნიშვნელობას. როდესაც იყენებთ გიტარაზე კონტროლს, მან უნდა გამოიწვიოს ეს რიცხვების შეცვლა. თუ არა, შეამოწმეთ, რომ თქვენ სწორად გააკეთეთ i2c დაყენება და გიტარის კავშირი ზემოთ მოცემულ ნაბიჯებში.
  • Pure Data აუდიო ჩართულია? ამ პაკეტში მოცემული სუფთა მონაცემების პაჩმა ავტომატურად უნდა ჩართოს აუდიო, მაგრამ გადაამოწმოს, რომ სუფთა მონაცემების კონსოლში DSP ჩამრთველი მონიშნულია. ასევე შეამოწმეთ თქვენი აუდიო პარამეტრები, როგორც ეს ნაჩვენებია მე –3 ნაბიჯში.
  • იღებს თუ არა სუფთა მონაცემები სიგნალს გიტარადან? პატჩის ზედა მარჯვენა კუთხეში არის რამოდენიმე კვანძი, რომელიც პასუხისმგებელია გიტარადან სიგნალის წაკითხვაზე და მის გადაცემაზე პატჩის დანარჩენ ნაწილზე. გიტარის ღილაკებზე დაჭერისას, ამ განყოფილების რიცხვები ასევე უნდა განახლდეს და გითხრათ, რომ ის სიგნალს სწორად იღებს.
  • ცვლადების ინიციალიზაცია პატჩში. სუფთა მონაცემები შეიძლება იყოს ცოტა არასათანადო, პატჩის ღირებულებების ინიციალიზაციის მიზნით. მე დავამატე მექანიზმები ცვლადების გასააქტიურებლად, როდესაც ის იხსნება, მაგრამ შეიძლება ღირდეს მხოლოდ შეტყობინებების ყუთებზე დაწკაპუნება (ისეთებიც, როგორც ჩანს, მათგან ნაკბენი აქვთ ამოღებული). ეს იწვევს მათ ინიციალიზაციას და შეუძლია გაიღვიძოს.

ნაბიჯი 6: ტური სუფთა მონაცემების პაჩში

ტური სუფთა მონაცემთა პაჩში
ტური სუფთა მონაცემთა პაჩში
ტური სუფთა მონაცემთა პაჩში
ტური სუფთა მონაცემთა პაჩში
ტური სუფთა მონაცემთა პაჩში
ტური სუფთა მონაცემთა პაჩში
ტური სუფთა მონაცემთა პაჩში
ტური სუფთა მონაცემთა პაჩში

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

  • გიტარის კომუნიკაცია: პატჩის ზედა მარჯვენა კუთხეში არის კვანძების ხე, რომელიც პასუხისმგებელია გიტარაზე სიგნალის დამუშავებაზე. ღირებულებები გიტარადან არის გრძელი სტრიქონი, ასე რომ ეს კვანძები ანაწილებს სტრიქონს თითოეულ მნიშვნელობად ინდივიდუალურ მნიშვნელობებად, გარდაქმნის მათ რიცხვებად და შემდეგ გადასცემს მათ კოდების 'გაგზავნის' (ის, ვინც იწყება s- ით). გაგზავნის კვანძებს ენიჭება სახელი და გამოსცემს სიგნალს ამავე სახელწოდების კვანძების "მისაღებად". მაგალითად, 's whammy' კვანძი, ასხივებს მნიშვნელობებს, რომლებიც მოდის გიტარის whammy ბარიდან და 'r whammy' კვანძი პაჩის შუაგულში იღებს ამ სიგნალს და იყენებს ამ სიგნალს სეკვენსერის შესაჩერებლად. კვანძების გაგზავნა/მიღება ხელს უწყობს პატჩში დამაკავშირებელი ხაზების არეულობის შემცირებას. მე არ გირჩევთ ამ ნაწილის გაფუჭებას, რადგან რაღაცნაირად აურზაურია სწორი, მაგრამ თქვენ აუცილებლად შეგიძლიათ დაამატოთ დამატებითი მიმღები კვანძები საჭიროებისამებრ, რომ მიიღოთ სიგნალები მისგან საჭიროებისამებრ.
  • მიმდევართა განყოფილება: პატჩის შუა განყოფილება აკონტროლებს მიმდევრობას. მარცხენა მხარეს არის ბარი მოძრავი შავი კვადრატით, რომელიც გიჩვენებთ 16-ნოტიანი მიმდევრობის რომელ ნოტს უკრავს. სტრუმის ღილაკი აკონტროლებს თამაშობს თუ არა თანმიმდევრობა წინ ან უკან. პლიუს/მინუს ღილაკები ზრდის/ამცირებს სიჩქარეს. მარჯვენა მხარეს არის რიცხვების ხუთი ნაკრები, რომლებიც აკონტროლებენ რომელი ნოტები თამაშობენ თითოეულ საფეხურზე. თითოეულ თანმიმდევრობას ენიჭება თამაში, როდესაც ფრეტზე ხუთი ღილაკიდან ერთზე დაჭერილია. ეს რიცხვები MIDI მნიშვნელობებია და თქვენ შეგიძლიათ შეცვალოთ ისინი ნებისმიერი ნოტის დაკვრისთვის … უბრალოდ მიანიჭეთ მნიშვნელობა 0 -დან 127 -მდე.
  • ოსცილატორი/FX განყოფილება: ქვედა მარცხენა მხარეს არის ოსცილატორი და FX კვანძები, რომლებიც რეალურად გამოსცემენ ხმას. პირველადი ოსცილატორი არის მარცხნივ. შუალედური მნიშვნელობები მიმდევართა განყოფილებიდან გარდაიქმნება სიხშირეზე და იკვებება ოსცილატორთან. იგი შერეულია მეორე ოსცილატორთან, რომელიც მოდის მარჯვენა მხრიდან. მისი სიხშირე ასევე კონტროლდება midi მნიშვნელობებით, მაგრამ დამატებითი სიხშირის ოფსეტურით, რომელიც ამოძრავებს ჯოისტიკის X ღერძს. ეს იწვევს დეტუნირებულ ან სასტვენ ეფექტს, როდესაც ჯოისტიკს მარცხნივ ან მარჯვნივ მოძრაობთ. ქვედა მარჯვნივ არის ასევე დაბალი გამავლობის ფილტრის კვანძი, რომლის შეწყვეტის სიხშირე მიბმულია ჯოისტიკის Y ღერძზე. დაბალი გამავლობის ფილტრი განსაზღვრავს რამდენი მაღალი სიხშირის ხმა ამოღებულია ხმიდან. როდესაც ჯოისტიკი ქვევით პოზიციაზეა გადატანილი, ის წყვეტს მაღალი სიხშირეების დიდ ნაწილს, რაც იწვევს ჩახშულ ხმას. როდესაც ის გადადის ზევით პოზიციაში, ის გადის ყველა სიხშირეს, რის შედეგადაც ხდება ნათელი ხმა.
  • ინიციალიზაცია: პატჩის ზედა მარცხენა ნაწილში არის კვანძების სერია, რომლებიც იწყებენ პატჩის გაშვებას მისი გაშვებისას, როგორიცაა აუდიოს ჩართვა და 'შეხება' სხვადასხვა კვანძების გასაღვიძებლად. ისევ თქვენ ალბათ არ გჭირდებათ არევა ამ განყოფილებაში, მაგრამ თუკი რამე გსურთ რომ მოხდეს პატჩის გაშვებისას, დაუკავშირეთ ისინი კვანძს სახელწოდებით 'loadbang'.
  • მე შევეცადე პატჩი დოკუმენტირებულიყო პატჩში კომენტარებით, ასე რომ ვიმედოვნებ, ეს მოგცემთ საკმარის ინფორმაციას იმისთვის, რომ შეისწავლოთ სხვადასხვა ვარიანტები აქედან.

ისიამოვნეთ!

ნაბიჯი 7: დამატებითი რამ, რაც უნდა სცადოთ

გიტარის გაშვება "უთავო"

შესაძლებელი უნდა იყოს ამ პროექტის გაშვება მონიტორთან/კლავიატურასთან/მაუსთან დაკავშირების გარეშე, თუ თქვენ გაუშვით თქვენი Raspberry Pi შესაბამისი პორტატული ენერგიის წყაროსგან. Raspberry Pi არ ჯდება გიტარის უკანა ნაწილში, მაგრამ თუ თავს გაბედულად გრძნობთ, შეგიძლიათ შეცვალოთ ცვლილებები გიტარაზე, ან უბრალოდ მიამაგრეთ Pi უკანა ხრახნები და დაიჭირეთ ცოტათი გარეთ ინტერნეტში არის უამრავი გაკვეთილი იმის შესახებ, თუ როგორ უნდა გაუშვათ სკრიპტები Raspberry Pi– ზე თავში, მაგრამ ძირითადად თქვენ გინდათ გაუშვათ ბრძანება ‘python /home/pi/keytarHero/keytarHero.py&’ როდესაც ის ჩატვირთვისას. თეორიულად, ნეტავ გქონდეს გიტარა, რომლისგანაც მხოლოდ ერთი კაბელი გამოდის დინამიკზე … ისევე როგორც ნამდვილი ელექტრო გიტარა!

დამატებითი სუფთა მონაცემების ცვლილებები

მე მქონდა სხვა იდეები, თუ როგორ შეიძლება გიტარა აკონტროლებდეს Pure Data პაჩს, მაგრამ არ ვცდილობდი. ეს იქნება ცვლილებები პატჩში, რომელთა ექსპერიმენტიც შეიძლება იყოს სახალისო:

  • Whammy ბარი: ახლანდელ პაჩში whammy ბარი უბრალოდ აჩერებს თანმიმდევრობის დაკვრას, მაგრამ მე ვფიქრობ, რომ უკეთესი იქნება თუ whammy ბარი ასევე გაზრდის სიხშირეს ერთდროულად, ისევე როგორც რეალური whammy ბარი. მე შევეცადე ეს გამეკეთებინა გარკვეული პერიოდის განმავლობაში, მაგრამ ეს უფრო რთული იყო ვიდრე მეგონა. მე ვფიქრობ, რომ ეს შეიძლება იყოს მხოლოდ საკითხის დამატება ოსცილატორის განყოფილებაში, რომელიც ოდნავ უფრო მაღალ სიხშირეს მატებს ოსცილატორს, დაფუძნებული ტალღის ბარიდან მომდინარე მნიშვნელობაზე.
  • Strum ბარი: ამჟამად strum ბარი უკრავს თანმიმდევრობას წინ დაჭერისას და უკან დაჭერისას, მაგრამ უკეთესი იქნება, თუ ის წრებრუნვას ახდენს სხვადასხვა თანმიმდევრობით, როგორიცაა შემთხვევითი ნაბიჯი და ა.შ.
  • პლუს/მინუს ღილაკები: პლუს/მინუს ღილაკები ცვლის დარტყმებს წუთში, მაგრამ ეს ცოტა დამამცირებელია, თუ მათ რამდენჯერმე არ დააწკაპუნებთ. შეიძლება კარგი იყოს, რომ ყოველ ჯერზე უფრო დიდი რაოდენობით გაიზარდოს. ან იქნებ მას გადართოს მიმდევრი 16-ბიტიანი, 8 დარტყმიანი, 4 დარტყმული, სამმაგი დაკვრა.

გირჩევთ: