تشاك
![]() | |
| نموذج | متعدد النماذج |
|---|---|
| صمم بواسطة | جي وانج |
| ظهرت لأول مرة | 2003 [1] |
| إصدار مستقر | 1.5.2.4 / أبريل 2024 [2] |
| الانضباط في الطباعة | قوي |
| نظام التشغيل | متعدد المنصات |
| رخصة | Mac و Linux و Windows : GPL-2.0 أو أحدث iOS : مصدر مغلق (غير عام) |
| موقع إلكتروني | تشاك.cs.princeton.edu |
ChucK هي لغة برمجة صوتية متزامنة وموقوتة بقوة للتوليف والتأليف والأداء في الوقت الفعلي، [3] والتي تعمل على Linux و Mac OS X و Microsoft Windows و iOS . وهي مصممة لتفضيل قابلية القراءة والمرونة للمبرمج على الاعتبارات الأخرى مثل الأداء الخام. وهي تدعم بشكل أصلي التزامن الحتمي ومعدلات التحكم الديناميكية المتعددة والمتزامنة. ميزة رئيسية أخرى هي القدرة على الكود المباشر ؛ إضافة وإزالة وتعديل الكود أثناء تشغيل البرنامج، دون إيقافه أو إعادة تشغيله. يحتوي على نموذج توقيت / تزامن دقيق للغاية، مما يسمح بحبيبات دقيقة بشكل تعسفي. إنه يوفر للملحنين والباحثين أداة برمجة قوية ومرنة لبناء برامج توليف الصوت المعقدة والتجريب بها والتحكم التفاعلي في الوقت الفعلي. [4]
تم إنشاء ChucK وتصميمه بشكل أساسي بواسطة Ge Wang كطالب دراسات عليا يعمل مع Perry R. Cook . [1] يتم توزيع ChucK بحرية بموجب شروط GNU General Public License على أنظمة التشغيل Mac OS X و Linux و Microsoft Windows . على iPhone وiPad ، يتم توزيع ChiP (ChucK for iPhone) بموجب ترخيص محدود ومغلق المصدر، ولا يتم ترخيصه حاليًا للجمهور. ومع ذلك، ذكر الفريق الأساسي أنه يرغب في استكشاف "طرق لفتح ChiP من خلال إنشاء بيئة مفيدة للجميع". [5]
ميزات اللغة
لغة البرمجة ChucK هي لغة برمجة موجهة نحو الكائنات تشبه لغة C إلى حد كبير، مع كتابة ثابتة قوية .
يتميز ChucK بالخصائص التالية: [6]
- دعم مباشر لتوليف الصوت في الوقت الحقيقي
- نموذج برمجة متزامنة قوي وبسيط
- آلية توقيت موحدة لمعالجة الأحداث والتحكم فيها بمعدلات متعددة.
- قواعد لغوية تشجع على استخدام قواعد اللغة والدلالات من اليسار إلى اليمين داخل عبارات البرنامج.
- التوقيت الدقيق: نموذج توقيت متزامن للعينة بدقة.
- يتم تجميع البرامج بشكل ديناميكي إلى البايت كود الخاص بالآلة الافتراضية ChucK .
- بيئة تشغيل تدعم البرمجة أثناء التشغيل .
- عامل ChucK (=>) الذي يمكن استخدامه بعدة طرق "لإرسال" أي تدفق منظم للبيانات من اليسار إلى اليمين.
توفر مكتبات ChucK القياسية ما يلي:
- مدخل ومخرج MIDI .
- دعم مفتوح للتحكم في الصوت .
- اتصال HID.
- مولدات الوحدات (UGens) - أي المذبذبات، والمظاريف، وأدوات التوليف UGens، والمرشحات، وما إلى ذلك.
- محللو الوحدات (UAnae) - كتل تؤدي وظائف التحليل على إشارات الصوت و/أو مدخلات البيانات الوصفية، وتنتج نتائج تحليل البيانات الوصفية كمخرجات [7] - أي FFT/IFFT، Spectral Flux /Centroid، RMS، إلخ.
- إمكانيات الإدخال والإخراج التسلسلي - أي Arduino .
- إمكانيات إدخال وإخراج الملفات.
مثال على الكود
فيما يلي برنامج ChucK بسيط يقوم بإنشاء الصوت والموسيقى:
// رسم بياني للإشارة (رقعة) SinOsc s => JCRev r => dac؛ .2 => s.gain؛ // مزيج جاف/رطب (للصدى) .1 => مزيج؛ // مجموعة من فئات النغمة (نصف نغمة) [ 0، 2، 4، 7، 9، 11 ] @=> int hi[]; // افعل ذلك إلى الأبد: بينما ( صحيح ) { //اختر نغمة، قم بتحويل السجلات، قم بالتحويل إلى التردد الانحراف المعياري (45 + الانحراف المعياري 2 (0،3) * 12 + hi[انحراف معياري 2(0، hi.cap()-1)] ) => s.freq؛ // وقت التقدم 120:: مللي ثانية => الآن ؛ }
الاستخدامات
تم استخدام ChucK في العروض التي قدمتها أوركسترا الكمبيوتر المحمول برينستون (PLOrk) وفي تطوير تطبيقات Smule ، بما في ذلك محاكي الأوكارينا الخاص بهم. [8] يعزو منظمو PLOrk بعضًا من تفرد عروضهم إلى الترميز المباشر الذي يمكنهم القيام به باستخدام ChucK. [9]
انظر أيضا
مراجع
- ^ ab Dean, RT (2009). The Oxford handbook of computer music. Oxford Handbooks in Music Series. Oxford University Press US. p. 57. ISBN 0-19-533161-3.
- ^ "github.com/ccrma/chuck" . تم الاسترجاع في 2021-01-18 .
- ^ وانج، جي (2008). لغة برمجة الصوت تشاك: بيئة/عقلية محددة التوقيت ومتحركة (دكتوراه). جامعة برينستون.
- ^ "ChucK : Strongly-timed, Concurrent, and On-the-fly Music Programming Language". مؤرشف من الأصل في 2003-11-18 . تم الاسترجاع في 2013-09-06 .
...يوفر للملحنين والباحثين والفنانين أداة برمجة قوية لبناء وتجربة برامج تحليل/توليف صوتية معقدة، وموسيقى تفاعلية في الوقت الفعلي.
- ^ وانج، جي. "تحيات وتحديثات تشوكيان!". قائمة بريدية لمستخدمي تشاك . جامعة برينستون . تم الاسترجاع في 2011-05-24 .
- ^ وانج، جي. و ب. كوك (2003). "ChucK: لغة برمجة صوتية متزامنة أثناء التنقل" (PDF) . وقائع المؤتمر الدولي للموسيقى الحاسوبية .
- ^ "دليل FLOSS". Flossmanuals . تم الاسترجاع في 2021-01-18 .
- ^ Kirn, Peter (22 يوليو 2009). "مقابلة: Ge Wang من Smule حول تطبيقات iPhone، وأوكارينا، وديمقراطية تقنية الموسيقى". Create Digital Music . تم الاسترجاع في 2011-05-24 .
- ^ Petersen, Brittany (2008-06-11). "Laptop Orchestra Makes (Sound) Waves". PC Magazine . مؤرشف من الأصل في 2017-07-11 . تم الاسترجاع 2017-08-25 .
الشيء الآخر الذي ميز PLOrk منذ البداية هو استخدامه لبرنامج نصي يسمى ChucK، تم تطويره بواسطة طالب دراسات عليا في جامعة برينستون. يسمح ChucK للمستخدم بالترميز بسرعة - على غرار الترميز المباشر - و"على الطاير" للأداء، مما يسمح بالعفوية والتفاعل في الوقت الفعلي وهو أمر مهم في أداء الموسيقى الحية. يقول ترومان: "ChucK هي اللغة الوحيدة التي أعرفها والتي تم تصميمها منذ البداية لتسهيل ذلك". البرنامج "متزامن" أيضًا، مما يعني أنه يمكنه التعامل مع العديد من العمليات المختلفة التي تجري في وقت واحد. ويقول إن "إحساسه الفطري بالوقت" يسمح للمؤدين بالتواصل أثناء التدريبات والعروض الحية، مضيفًا أن العديد من الموسيقيين الآخرين الذين يستخدمون أجهزة الكمبيوتر المحمولة ربما يستخدمون برنامجًا مثل Max/MSP (الذي يستخدمه PLOrk بالإضافة إلى ChucK) أو برنامجًا تجاريًا آخر متاحًا على نطاق واسع. واليوم تستخدم بعض فرق الأوركسترا الأخرى التي تستخدم أجهزة الكمبيوتر المحمولة ـ بما في ذلك أوركسترا ستانفورد المحمولة (SLOrk)، والتي استوحيت إلهامها بشكل مباشر من PLOrk ـ ChucK أيضًا.
قراءة إضافية
الأدب حسب مؤلفيه
- وانج، ج. (2018). التصميم الفني: التكنولوجيا في البحث عن السمو. مطبعة جامعة ستانفورد. رقم ISBN 978-1503600522.
- وانج، جي؛ كوك، بي؛ سالازار، إس. (2015). "تشوك: لغة موسيقى حاسوبية ذات توقيت قوي" (ملف PDF) . مجلة موسيقى الحاسوب .
- وانج، ج. (2008). "لغة برمجة الصوت تشاك". أطروحة دكتوراه، جامعة برينستون .
- وانج، جي؛ فيبرينك، آر؛ كوك، بي (2007). "دمج التحليل والتوليف في لغة برمجة تشاك" (PDF) . وقائع المؤتمر الدولي للموسيقى الحاسوبية .
- وانج، جي؛ ميسرا، أ؛ كابور، أ؛ كوك، ب (2005). "نعم، ألقِها! => رسم خرائط واجهة ديناميكية وقابلة للتحكم" (PDF) . وقائع المؤتمر الدولي حول الواجهات الجديدة للتعبير الموسيقي .
- وانج، جي؛ كوك، بي؛ ميسرا، أيه (2005). "تصميم وتنفيذ لغة برمجة تشاك" (PDF) . وقائع المؤتمر الدولي للموسيقى الحاسوبية .
- وانج، جي؛ كوك، بي. (2004). "الجهاز السمعي: بيئة/عقلية برمجة صوتية حساسة للسياق وسريعة الاستجابة" (ملف PDF) . في وقائع المؤتمر الدولي للموسيقى الحاسوبية .
- وانج، جي؛ كوك، بي. (2004). "البرمجة الفورية: استخدام الكود كأداة موسيقية تعبيرية" (PDF) . وقائع المؤتمر الدولي حول الواجهات الجديدة للتعبير الموسيقي .
- وانج، جي؛ كوك، بي. (2003). "ChucK: لغة برمجة صوتية متزامنة وسريعة" (PDF) . وقائع المؤتمر الدولي للموسيقى الحاسوبية .
تغطية مستقلة على ما يبدو
- جراهام موريسون، (2009) إنشاء مقطوعات موسيقية باستخدام تشاك . لقد سئمنا من نفس الموسيقى القديمة في المخططات، لذا فإننا ننشئ موسيقانا الخاصة من سلسلة من الأرقام العشوائية الزائفة. إصدار Linux Format 125
- آلان بلاكويل ونيك كولينز، لغة البرمجة كأداة موسيقية في P. Romero وJ. Good وE. Acosta Chaparro وS. Bryant (المحررون). Proc. PPIG 17، ص 120-130
- RT Dean ، محرر (2009). The Oxford Handbook of Computer Music . Oxford University Press. ص 27 و580. ISBN 978-0-19-533161-5.
روابط خارجية
- الصفحة الرئيسية لـChucK في جامعة برينستون
- مرآة تشاك في جامعة ستانفورد
- دليل ChucK FLOSS

