"شيء خاطئ جدًا لم يبدو صحيحًا أبدًا."
كان The Kiss of Shame، الذي ظهر لأول مرة في مؤتمر جمعية هندسة الصوت 2014 في لوس أنجلوس، مكونًا إضافيًا رائدًا لـ DAW استفاد من مبادئ تصميم UX/UI التجارية لتشكيل الشريط المغناطيسي + خوارزميات محاكاة الدوائر.
لتمييز نفسها في سوق المكونات الإضافية الاحترافية التنافسية للصوت، قدمت The Kiss of Shame ميزات رائدة بما في ذلك واجهة المستخدم الرسومية التفاعلية وجاهزة اللمس المتعدد ومحاكاة تدهور الشريط التناظري للحصول على تأثيرات صوتية مميزة.
كان The Kiss of Shame هو البرنامج المساعد الأول (وربما الوحيد) في العالم لمحاكاة الشريط / الدوائر التناظرية الذي يصمم بشكل واقعي تأثيرات عدم استقرار الجسيمات المغناطيسية، وفقدان مواد التشحيم، وتشوه الركيزة، والانجراف، ورفرفة الكشط، والطباعة من خلال وتوسيع / انكماش البكرة في مجموعة من أدوات معالجة العملات الأجنبية لتصميم الصوت وإنتاج الموسيقى.
وكانت أيضًا أول من استفاد من التعلم الآلي لمراعاة اللاخطية الواسعة المتأصلة في الشريط المغناطيسي والدوائر التناظرية. أخيرًا وليس آخرًا، إنها محاكاة الشريط التناظري الوحيدة التي تحتوي على بكرات تفاعلية بالكامل تدعم اللمس ويمكنها كتابة أتمتة الشفة أثناء التنقل على غرار مجموعة الأشرطة التناظرية الحقيقية.
شاهد فيديو توضيحي قصير
قبلة العار لم تنته تمامًا ولم يتم إطلاق سراحها مطلقًا. تم التبرع بكود المصدر بسخاء إلى مجتمع المصادر المفتوحة من قبل مالكه في عام 2024.
الهدف من هذا المشروع مفتوح المصدر هو:
ملحوظة: كود المصدر الذي تم التبرع به لا يحتوي على كافة الميزات الموجودة في الوصف. والجدير بالذكر أنه يوجد نوع شريط واحد فقط وبيئة واحدة (إعصار ساندي)، كما أن وظيفة الطباعة مفقودة. في شكله الحالي، يعمل المكون الإضافي بشكل جيد فقط عند معدل عينة يبلغ 44100 هرتز. ومع ذلك، فهو لا يزال مكونًا إضافيًا ممتعًا مزودًا بواجهة مستخدم رائعة، وهناك الكثير لنتعلمه من الكود المصدري!
ملحوظة:
‼️ هذا هو العمل الجاري حاليا. قد تكون هناك مشكلات في المكون الإضافي. استخدم على مسؤوليتك الخاصة!‼️
تم توقيع إصدار Mac الإضافي وتوثيقه.
إذا لم يكن إصدار AU من المكون الإضافي مرئيًا في منصة العمل الصوتية لديك، فافتح Applications/Utilities/Terminal . اكتب ما يلي واضغط على مفتاح الإدخال:
killall -9 AudioComponentRegistrar
ثم أعد تشغيل منصة العمل الصوتية الخاصة بك. الآن يجب أن يكون المكون الإضافي مرئيًا. إذا لم يكن الأمر كذلك، أعد تشغيل جهاز الكمبيوتر الخاص بك.
اختر من بين نوعين مختلفين من الأشرطة:
S-111 – كان تنسيق البكرة المتميز الذي اشتهر في فترة الخمسينيات والسبعينيات هو الشريط المرجعي المفضل للعديد من المهندسين. تقدم The Kiss of Shame أول محاكاة رقمية لها، حيث جلبت هذا التنسيق الأسطوري إلى العالم الرقمي.
A-456 – هذا التنسيق الكلاسيكي عالي الإخراج/منخفض الضوضاء هو أحد عناصر التسجيل المستخدمة في عدد لا يحصى من الإنتاجات. على الرغم من وجود العديد من برامج المحاكاة، إلا أنه لم يتم إعادة إنشائها بهذه الطريقة تمامًا. تم استخدام أساليب الترفيه الرقمية الفريدة لالتقاط جوهرها.
ملاحظة: ليس لزر تحديد نوع الشريط أي تأثير حاليًا.
من الطقس إلى الطقس :
العمر - يسمح هذا المقبض للمستخدم بتشريع مقدار الوقت الافتراضي الذي تعرض فيه نوع الشريط المحدد إلى "البيئة" المختارة لمعالجة شدة التأثيرات المقابلة.
البيئة - اختر من بين العديد من ظروف التخزين المحاكاة لإحداث التداعيات الصوتية لعوامل مثل عدم استقرار الجسيمات المغناطيسية، والأكسدة، وفقدان مواد التشحيم، وتوسيع/انكماش حزمة الشريط، و"متلازمة الخل" والمزيد على المادة المصدر. يمكن للمستخدمين أيضًا اختيار إعداد "Hurricane Sandy" للوصول إلى المعالجة المصممة من الشريط المغمور ثم التعافي من مياه الفيضانات الناجمة عن العاصفة.
ملاحظة: يتم تطبيق بيئة إعصار ساندي فقط.
عقبة في العالم الحقيقي:
العار - تقوم قبلة العار بإعادة إنشاء مجموعة كاملة من هذه العوامل مثل Drift وWow وFlutter وScrape-Flutter التي يمكن للمستخدم نقلها باستخدام المقبض المركزي. يمكن أن يأخذ إشارة المصدر الخاصة بك من الألوان المعتدلة إلى المشوهة تمامًا.
الطباعة خلال - تُعرف هذه المحاكاة أيضًا باسم "التسييل خلال"، وهي تلتقط تقلبات السرعة الميكانيكية الموجودة في التسجيلات التناظرية. ورغم أنها شكلت تحديات للمهندسين في الماضي، إلا أنها أصبحت سمة مميزة للسجلات الكلاسيكية.
ملاحظة: لم يتم تنفيذ ميزة الطباعة.
الوصول واللمس الشريط:
The Kiss of Shame هو أول مكون إضافي للأشرطة يحتوي على بكرات متحركة وتفاعلية يمكن التعامل معها بنقرة أو لمسة بسيطة. يتيح ذلك للمستخدمين الوصول إلى حافة الشريط التناظري الأصلية في الوقت الفعلي، دون الحاجة إلى مجموعتين فعليتين من الأشرطة، وفي جزء صغير من الوقت. جميع المعلمات، بما في ذلك حركات البكرة، قابلة للأتمتة بالكامل، ولتحسين مساحة الشاشة، تكون البكرات قابلة للطي وقابلة للتخصيص بالكامل.
نصيحة: لتحديد الحواف، اسحب البكرات. لطي البكرات، انقر نقرًا مزدوجًا في أي مكان في واجهة المستخدم.
تعليمات موجزة:
تم اختباره حاليًا فقط مع:
لإعداد إصدارات CMake، تأكد من تثبيت CMake وNinja. تم تكوين Ninja لأوقات ترجمة سريعة بشكل افتراضي، ولكن إذا كنت لا ترغب في استخدامه، فاحذف '-G Ninja' من البرنامج النصي للتكوين أدناه وحدد عدد المهام يدويًا. تحقق من مستندات CMake حول كيفية القيام بذلك
قم بتكوين مشروعك (جلب JUCE، وإعداد مشروع JUCE):
cmake -B "build" -G Ninja
قم ببناء مشروعك:
cmake --build "build" --config Release --target all --
استبدل "--config Release" بـ "--config Debug" لإنشاءات تصحيح الأخطاء.
يتم نسخ الإصدارات تلقائيًا إلى مجلدات معقولة للنظام الأساسي الذي تستهدفه (على سبيل المثال: C:Program Files (x86)Common Files/VST3/
لنظام التشغيل Windows)، مما يجعل من السهل فتح هذا البرنامج الإضافي في DAW أثناء التطوير. سيتم أيضًا العثور على الإصدارات ضمن build/TheKissOfShame_artefacts/(Release or Debug)
.
لم يتم تمكين تجميع AAX ولكن يمكن تمكينه عن طريق إضافة AAX
إلى تعريف FORMATS
ضمن juce_add_plugin
في /CMakeLists.txt
. للتجميع لـ AAX، تحتاج إلى تحديد موقع AAX SDK باستخدام juce_set_aax_sdk_path(" ... ")
. لم يتم اختبار هذا بعد.
لقد أضفت تعليقات إلى الكود لشرح ما يفعله، ولكن للحصول على شرح كامل، راجع منشور مدونتي.
تمت كتابة الكود الأصلي باستخدام JUCE 3.1. يتطلب الأمر من المستخدم نسخ مجلد يحتوي على ملفات الصور والصوت إلى /Users/Shared/KissOfShame
. لم يتم تعريض المعلمات إلى DAW وسيتم إعادة ضبطها عند إعادة فتح المحرر.
تم إجراء التغييرات التالية في هذا الريبو:
الأخطاء التي وجدتها (أو قدمتها):
beginGesture
مرتين. ليست مشكلة كبيرة ولكنها ليست كبيرة أيضًا.الأشياء الأخرى التي يمكن/ينبغي تحسينها في الكود (نرحب بالمتطوعين!):
prepareToPlay()
و reset()
إلى فئات DSP. يجب أن تقوم طريقة إعادة التعيين بمسح الحالة القديمة.audioGraphProcessingBuffer = audioBuffer
، والذي قد يتم تخصيصه (على الأقل في المرة الأولى).Envelope
و EnvelopeDips
) تتبع النقطة السابقة والتالية، لذلك لا يتعين علينا تكرار جميع النقاط في كل خطوة زمنية.audioProcessor.curPositionInfo
واجهة برمجة تطبيقات مهملة.rand()
و srand()
. استبدل بـ juce::Random
.ربما:
targetDepth = depth * depth * 1000.0f
.)حقوق الطبع والنشر (C) 2014-2015 إيروس مارسيلو
المطورين الأصليين:
إيروس مارسيلو - المؤسس، كبير مهندسي المنتجات
بريان هانسن - هندسة DSP / تطوير الخوارزميات
يانيك بونيفوي – واجهة المستخدم الرسومية
التحديثات والتحسينات التي كتبها Matthijs Hollemans والمساهمين.
هذا البرنامج هو برنامج مجاني: يمكنك إعادة توزيعه و/أو تعديله بموجب شروط رخصة جنو العامة كما نشرتها مؤسسة البرمجيات الحرة، إما الإصدار 3 من الترخيص، أو (حسب اختيارك) أي إصدار لاحق.
تم أخذ بعض التعليمات البرمجية الموجودة في هذا الريبو (فئة Granulate
) من The Synthesis ToolKit في C++ (STK) بواسطة Perry R. Cook وGary P. Scavone.
JUCE حقوق الطبع والنشر © لبرامج المواد الخام.
VST® هي علامة تجارية لشركة Steinberg Media Technologies GmbH، المسجلة في أوروبا وبلدان أخرى.