عن المشروع

flashback-sampler هو تطبيق سطح مكتب صوتي يسجل باستمرار صوت النظام في ذاكرة دائرية (ring buffer)، مما يتيح للمستخدمين رفع شريحة من الماضي القريب، ومعاينتها وتقليمها، ثم حفظها أو سحبها مباشرة إلى محطة عمل صوتية رقمية (DAW). تستمر الذاكرة الدائرية في الدوران أثناء جميع العمليات. تشمل الأهداف الرئيسية عدم فقدان أي أخذ: تحتفظ الذاكرة الدائرية بآخر N دقائق بتردد يصل إلى 192 كيلوهرتز، وتكتب عمليات السحب إلى القرص فورًا بحيث تبقى سليمة في caso من التعطل. يستخدم السحب-out إفلات ملف عادي من نظام التشغيل بحيث يمكن لكل مضيف DAW تقبله. تحمل الشرائح المصدرة صوتًا إضافيًا (مقابض) حولها، مما يسمح للمستخدمين بسحب أطراف المقتطف في محطة العمل للكشف عن مزيد من الصوت. تبقى الشريحة نفسها كاملة، وتحدد علامات WAV (cue, smpl, adtl labels) موقعها داخل الملف. يمكن لتفضيل اختياري سحب مقطع Ableton Live (.alc) بدلاً من WAV. المحرك هو مكتبة Zig بدون اعتماديات تحت core/ تتعامل مع الالتقاط، الخلط، التشغيل، الذاكرة الدائرية، القمم، WAV، وذاكرة التخزين المؤقت للخدش. Python هو قشرة PySide6/Qt تنشئ المقابض، وتبدأ وتوقفها، وتقرأ الأرقام؛ ولا ترى أي إطار. يمكن للمحرك نفسه أن يقع تحت إضافة CLAP، أو رصيف OBS، أو هاتف. الحالة هي الإصدار 0.4.1، ومدعوم فقط على نظام Windows. يلتقط الخلط والتشغيل عبر WASAPI في نواة Zig. يتم تجميع النواة بشكل متقاطع لـ Linux وmacOS، لكن تلك الخلفيات غير موجودة بعد. من المخطط إعادة بناء واجهة Qt باستخدام Zig أصلي. تعرض الواجهة زوجًا من platters: السطح الأيسر هو الذاكرة الدائرية الحية، والسطح الأيمن يحتفظ بالمقتطفات التي تم سحبها. يختار المستخدم مصدرًا (الإخراج الافتراضي، جهاز التقاط، عملية واحدة، أو عدة مدخلات مختلطة)، يبدأ/يوقف الالتقاط، يحدد مدة وموقع الشريحة، يجمد العرض لمحاذاة اللقطات بينما يستمر الالتقاط، يسحب الاختيار، يعاين ويقص المقتطفات، يحفظها كملف WAV (بافتراضي 32-bit float)، أو يسحبها إلى DAW. تبقى المقتطفات بعد توقف الالتقاط وتعيش في مجلد خدش كملفات WAV من نوع float32. يتم تخصيص الذاكرة مسبقًا عند تفعيل فتحة: الثوانٍ × معدل العينة × عدد القنوات × 4 بايت. preset لمدة 15 دقيقة ستريو عند 48 كيلوهرتز يستهلك 346 ميجابايت. يتم إجراء فحصين قبل إنشاء الذاكرة الدائرية: حد أقصى للاستهلاك (افتراضيًا 25% من الذاكرة الفيزيائية) ورفض إذا تجاوزت الذاكرة الدائرية الذاكرة الفيزيائية المتاحة. تم اختبار سلوك علامات DAW فقط مع Ableton Live 12. تم ذكر Reaper، Logic، Cubase، Bitwig، FL Studio، Studio One، وPro Tools لكنها لم تختبر. يتطلب Python 3.10+ وZig 0.16.0. مرخص تحت MIT؛ الخطوط المدمجة Monaspace تحت رخصة SIL Open Font License 1.1.