उन्नत विषय १
Sonic Pi लगभग 164 नमूनों के साथ आता है जिन्हें आप स्वतंत्र रूप से उपयोग कर सकते हैं और इसके साथ खेल सकते हैं, लेकिन यह बाहरी नमूनों का उपयोग करने में भी पूरी तरह से समर्थन करता है। उदाहरण के लिए, हो सकता है कि आप कुछ रिकॉर्ड करना चाहें (जैसे कि आपकी खुद की आवाज या गिटार) और आपके गाने में उपयोग करने के लिए यह Sonic Pi में है।
सबसे पहले, आपको अपनी हार्ड ड्राइव पर एक फ़ोल्डर में WAV प्रारूप में कुछ ऑडियो नमूने रखने होंगे। निम्नलिखित उदाहरणों में, हम Mehackit द्वारा एक नि: शुल्क नमूने के पैक का उपयोग कर रहे हैं। इसे Solenoid Sample 1 कहा जाता है और आप इसे यहाँ से डाउनलोड कर सकते हैं। इसमें 14 एक-शॉट और looping samples शामिल हैं जो कि 2016 की शुरुआत में एक कार्यशाला में बनाए गए काइनेटिक साउंड इंस्टॉलेशन से रिकॉर्ड किए गए थे।
एक बार जब आप पैक डाउनलोड कर लेते हैं और फ़ाइलों को किसी फ़ोल्डर में निकाल लेते हैं, तो आपको उस फ़ोल्डर का पूरा रास्ता देखना होगा। उदाहरण के लिए, यदि आपने फ़ाइलों को अपने डेस्कटॉप पर ‘Samples’ नामक एक फ़ोल्डर में निकाला है, तो मार्ग निम्नलिखित की संभावना है:
बस ‘sam’ के बजाय अपने स्वयं के उपयोगकर्ता नाम का उपयोग करना याद रखें। सैंपल पैक में निम्न फाइलें होती हैं: hit_1.wav
से hit_7.wav
(पर्क्युसिव हिट्स) और loop_1.wav
से loop_7.wav
(looping बीट्स जिन्हें सैंपलर beat_stretch
के साथ खेलने की सलाह दी जाती है)।
अब आप उन्हें सही फ़ाइल पथ का उपयोग करके सीधे sample
आदेश के साथ खेल सकते हैं:
sample "/Users/sam/Desktop/Samples/loop_1.wav", amp: 1.5
यदि पथ sample
आदेश के लिए सही ढंग से सेट किया गया था, तो आपको अब ध्वनि loop_1.wav
. सुनना चाहिए। बस इन उदाहरणों में दिखाए गए के बजाय अपने खुद के फ़ाइल पथ का उपयोग करना याद रखें! यह नमूनों तक पहुंचने और खेलने के लिए बहुत सरल तरीका है। हालाँकि, आप शायद कोड में केवल एक बार फ़ोल्डर पथ लिखना चाहते हैं और केवल उनके फ़ाइलनाम का संदर्भ देकर नमूने खेलते हैं। आप फ़ाइल पथ के लिए एक चर घोषित कर सकते हैं और sample
कमांड के साथ संयोजन में उपयोग कर सकते हैं। sample
के बाद आप फ़ाइल पथ वाले चर नाम और फिर नमूने का नाम दर्ज कर सकते हैं। हम नमूना फ़ोल्डर फ़ाइल पथ के लिए एक चर घोषित करेंगे जिसे नीचे उदाहरण में solenoids कहा गया है। जब आप इसे चलाते हैं, तो नमूना loop_4.wav
खेलना और looping शुरू करना चाहिए:
solenoids = "/Users/sam/Desktop/Samples/"
use_bpm 110
live_loop :solenoid1 do
sample solenoids, "loop_4", beat_stretch: 4, amp: 2
sleep 4
end
अब आप अपने प्रोडक्शंस में Sonic Pi की अपनी लाइब्रेरी से बाहरी नमूनों और नमूनों का उपयोग करने में सक्षम हैं। नीचे दिए गए उदाहरण को खेलने का प्रयास करें जो बाहरी और Sonic Pi के स्वयं के नमूनों को चलाने के लिए live_loop
के चार अलग-अलग उदाहरणों का उपयोग करता है। कृपया ध्यान दें कि live_loop :solenoid2
में हम एक samplename
ढंग से एक नमूने का उपयोग करके hit_1.wav
से hit_7.wav
तक का चयन करते हैं।
solenoids = "/Users/sam/Desktop/Samples/"
use_bpm 110
live_loop :solenoid1 do
sample solenoids, "loop_4", beat_stretch: 4, amp: 2
sleep 4
end
live_loop :kick do
sample :bd_haus, rate: 0.8, amp: 2
sleep 1
end
live_loop :solenoid2 do
samplename = ["hit_1", "hit_2", "hit_3", "hit_4", "hit_5", "hit_6", "hit_7"].choose
time = [0.25, 0.5, 0.75].choose
sample solenoids, samplename, amp: 1.5, rate: 2, pan: rrand(-0.8, 0.8)
sleep time
end
with_fx :reverb do
live_loop :solenoid3 do
sleep 2
sample solenoids, "hit_6", rate: (ring 0.5, 0.55, 0.6, 0.65).tick, amp: 1.5
sleep 2
end
end