ألحان نموذجية: خمسة ألحان مع الكود
هذي نقاط البداية في نافذة «مشروع جديد» في Shawarma، معروضة بكودها كامل. كل وحدة لحن كامل مكتوب بالكود: اقرأ الكود، أو افتحه في Shawarma وغيّره بأنك تطلب.
إيقاع بسيط
طبلة كيك وهاي هات على 120 BPM. صفحة فاضية فيها نبض.
setcpm(30) // 120 BPM
s("bd*4, [~ hh]*4") .gain(.8)وش تنتبه له وأنت تسمع
أصغر لحن ممكن: كيك على كل ضربة وهاي هات بين الضربات، على 120 BPM. الفاصلة تشغّل الجزأين مع بعض، و gain(.8) تخلّي مكان للي بتضيفه بعدين.
أشياء تقدر تطلبها
- أنتأضف تصفيقة على الضربة الثانية والرابعة
- أنتخلّه 128 BPM وأضف خط باص على A مينور
هاوس
إيقاع رقص ثابت، باص بين الضربات، وكوردات minor seventh قصيرة، في أربع مقاطع.
setcpm(31) // 124 BPM
const drums = s("bd*4, [~ cp]*2, [~ hh]*4, ~ ~ ~ oh") .gain(.36)
const bass = note("<[c2 c3]*4 [a1 a2]*4 [f1 f2]*4 [g1 g2]*4>")
.s("sawtooth") .lpf(700) .decay(.15) .sustain(0) .gain(.22)
const stabs = note("<[c4,eb4,g4,bb4] [a3,c4,eb4,g4] [f3,ab3,c4,eb4] [g3,bb3,d4,f4]>")
.struct("[~ x]*2") .s("piano") .gain(.2) .room(.3)
arrange(
[4, drums], // intro
[8, stack(drums, bass, stabs)], // groove
[4, stack(bass, stabs)], // breakdown
[8, stack(drums, bass, stabs)], // groove again
)وش تنتبه له وأنت تسمع
إيقاع على 124 BPM في أربع مقاطع. الباص ينط بين أوكتافين على كل ثُمن، ويمشي على C ثم A ثم F ثم G، نوتة أساسية وحدة لكل مازورة؛ وفلتر يقص الحدّة مع تلاشي قصير يخلّونه مشدود. كوردات البيانو تنزل على الضربة الثانية والرابعة. arrange تحدد الشكل: أربع مازورات طبول، ثمان للإيقاع كامل، أربع بدون طبول، وبعدها الإيقاع مرة ثانية.
أشياء تقدر تطلبها
- أنتطوّل الجزء الهادي وفلتر الباص فيه
- أنتبدّل البيانو بباد دافي
أمبينت هادي
كوردات major seventh بطيئة، فلتر يتحرك على مهله، وكم نغمة جرس.
setcpm(15) // 60 BPM
const pad = note("<[c3,g3,e4,b4] [a2,e3,c4,g4] [f2,c3,a3,e4] [g2,d3,b3,d4]>")
.s("sawtooth") .attack(1.5) .release(3) .lpf(sine .range(500, 1500) .slow(16))
.gain(.18) .room(.9) .size(8)
const bells = note("<e5 ~ b4 ~ g5 ~ ~ d5>") .s("triangle")
.decay(.8) .sustain(0) .gain(.25) .delay(.4) .room(.8)
arrange(
[8, pad], // pads alone
[8, stack(pad, bells)], // bells drift in
)وش تنتبه له وأنت تسمع
كوردات بطيئة على 60 BPM، أغلبها major seventh، على سينث بموجة منشارية مع دخول وخروج طويلين، فكل كورد يكبر شوي شوي ويتلاشى. الفلتر يتبع موجة sine تاخذ 16 مازورة عشان تفتح وتقفل. بعد ثمان مازورات، تدخل أجراس بموجة مثلثية مع صدى.
أشياء تقدر تطلبها
- أنتأضف درون واطي وناعم تحت الباد
- أنتخلّ الأجراس تعزف أقل
إيقاع مقامي
إيقاع المقسوم على الدربوكة، مع نغمة تشبه العود من مقام الحجاز على D.
setcpm(27.5) // 110 BPM, maqsum (dum tek - tek dum - tek -)
const dum = s("darbuka:0") .struct("x ~ ~ ~ ~ ~ x ~ ~ ~ ~ ~ ~ ~ ~ ~") .gain(.9)
const tek = s("darbuka:4") .struct("~ ~ ~ ~ x ~ ~ ~ ~ ~ ~ ~ x ~ ~ ~, ~ ~ x ~ ~ ~ ~ ~ ~ ~ x ~ ~ ~ ~ ~") .gain(.6)
const riq = s("white") .struct("[~ x]*8") .hpf(8000) .decay(.04) .sustain(0) .gain(.08)
// Hijaz on D: D Eb F# G A Bb C
const oudLine = note(`<
[d4 ~ eb4 f#4 g4 ~ f#4 eb4]
[d4 ~ f#4 g4 a4 bb4 a4 g4]
[a4 ~ bb4 a4 g4 f#4 g4 ~]
[f#4 eb4 d4 ~ ~ ~ d4 ~]
>`) .s("gm_acoustic_guitar_nylon") .lpf(2000) .decay(.3) .sustain(.2) .gain(.6) .room(.3)
const drone = note("d2") .s("sawtooth") .lpf(300) .gain(.12)
arrange(
[4, stack(dum, tek, riq)], // percussion
[8, stack(dum, tek, riq, oudLine, drone)], // the line enters
)وش تنتبه له وأنت تسمع
دربوكة على 110 BPM، فيها ضربات دُم واطية وتك عالية على شبكة من ست عشرة خطوة، ولمعة تشبه الرق مسوّاة من ضجيج أبيض مفلتر. بعد أربع مازورات، جيتار بأوتار نايلون يعزف نغمة على مقام حجاز من D (D، E flat، F sharp، G، A، B flat، C) فوق درون واطي على D.
أشياء تقدر تطلبها
- أنتأضف جملة ثانية تطلع لين D العالية
- أنتكثّر الإيقاع في آخر أربع مازورات
بريك بيت
إيقاع بريك متقطع مع خط باص يتدحرج.
setcpm(34) // 136 BPM
const breakbeat = s("bd ~ ~ bd ~ ~ bd ~, ~ ~ sd ~ ~ sd ~ [~ sd], hh*8") .gain(.6)
const bass = note("<[e1 ~ e2 ~ ~ e1 g1 ~] [a1 ~ a2 ~ ~ a1 b1 ~]>")
.s("square") .lpf(500) .decay(.2) .sustain(0) .gain(.32)
arrange(
[4, breakbeat], // drums
[8, stack(breakbeat, bass)], // bass joins
)وش تنتبه له وأنت تسمع
بريك متقطع على 136 BPM: كيكات وسنيرات بعيد عن الضربة فوق هاي هات ثُمن ثابت، مع سنير خفيف قبل ما يلف اللوب. الباص بموجة مربعة يتدحرج بين E و A، يتبادلون كل مازورة.
أشياء تقدر تطلبها
- أنتخلّ خط الباص أنشط في النص الثاني
- أنتخلّ الباص أخشن
افتح في Shawarma يسوّي مشروع جديد فيه هذا اللحن، بعد ما تسجّل دخولك. وتقدر بعد تختارها بأسمائها من مشروع جديد. عشان تتعلم الكود اللي وراها، ابدأ بـ الدرس الأول؛ ودليل أنماط الطبول يشرح الإيقاعات.
جرّبه في Shawarma
Shawarma محرر موسيقى كل لحن فيه كود. لحنك يشتغل ويعيد نفسه؛ اطلب من المساعد تغيير بكلام عادي، اسمعه، واحتفظ فيه بس إذا عجبك. أو عدّل الكود بنفسك، مثل ما في هذا الدليل. المحرر مجاني، مع 5 ردود من المساعد للتجربة؛ وPro يبدأ بـ7 أيام مجانًا.