مرحبا يا هبر! في المقالة الأخيرة ،
"نمط لا نهائي يعتمد على الأعداد الأولية" ، تحدثت عن خوارزمية تسمح لك بإنشاء أنماط جميلة لا نهاية لها إما رسومات غريبة أو شيء تكنولوجي ، مثل جهاز رقاقة. ومع ذلك ، يمكن أيضًا استخدام خوارزمية إنشاء أنماط ثنائية الأبعاد لإنشاء الألحان. مزيد من التفاصيل تحت القطع.
خوارزمية توليد اللحن
لإنشاء الألحان ، قمت بعمل مولد متعرج بسيط مع إشارة يتلاشى. في هذه الحالة ، يمكنك تداخل عدة مولدات متعرجة فوق بعضها البعض. بعد ذلك ، نحدد فترات المولدات المتعرجة وفقًا لترددات الملاحظات ، ونحدد سعة المولدات اعتمادًا على وجود المفتاح "المثبت". كإشارة لضغطة مفتاح ، استخدمت قيمة البكسل لصورة ثنائية الأبعاد مأخوذة من عمود عمودي يمكن تحريكه حول الصورة. يحتوي العمود على 14 بكسل ، والتي تقابل 7 ملاحظات من الأوكتاف الثاني والثالث. يحتوي المفتاح على حالتين فقط - يتم الضغط عليه أم لا.
مولد التعرج ووظائف لتخزين النتيجة في ملف WAV قمت بتطبيقه كمكتبة منفصلة للعمل مع الصوت. إنها
هنا .
يمكن الاطلاع على برنامج توليد الموسيقى
هنا . يطلق عليه simple_sound. يمكن العثور على ملف جاهز في الأرشيف. عند الإخراج ، يقوم البرنامج بإنشاء ملف WAV "مثال".
أمثلة اللحن
واحدة من أكثر النغمات إثارة للاهتمام ،
example_dx1000_dy1000_x2018_y8 . يظهر اسم اللحن حجم التحول في إحداثيات X و Y ، وكذلك الإحداثيات الأولية. ألحان أخرى:
example_dx_dy_x5678_y7768example_dx_dy_y776897123example_y47مثالمن الناحية النظرية ، يمكنك تحسين الخوارزمية واستخدامها للألعاب البدائية ، بحيث لا تتكرر الألحان في اللعبة أبدًا.