Museria - مستودع لا مركزي للموسيقى

صورة

لقد اجتمعت مرة واحدة لكتابة تطبيق لتحديد الموسيقى لنفسي والاستماع إليها في المنزل / في الشارع / التدريب ، إلخ. ولكي يعمل كل هذا في تيار ، بحد أدنى من مشاركتي. ابتكر الهندسة المعمارية ، ورسم نموذجًا أوليًا وانتهى به الأمر إلى "مشكلة صغيرة".

وليس من الواضح من أين يتم الحصول على ملفات الأغاني نفسها. وبحلول هذه اللحظة ، كان فكونتاكتي قد أغلق واجهة برمجة التطبيقات بالفعل ، وكان كل شيء أصمًا على بوابات الموسيقى الكبيرة ، حتى تم تقديم الأغاني على شكل قطع حتى لا يتم تحليلها. لم يكن هناك سوى بعض مواقع الويب المنفصلة ليوم واحد مع الكثير من الإعلانات وجميع أنواع القمامة ، وجميع أنواع برامج انتزاع المشبوهة وغيرها من الخيارات "القذرة". بشكل عام ، ليس قرار جيد واحد صالح. يمكنك بالطبع شراء اشتراك في بعض موسيقى Yandex أو ما شابه. ولكن مرة أخرى ، لا يوجد مكان مفتوح لواجهات برمجة التطبيقات العامة ولا يمكنك الوصول إلى الموسيقى برمجيًا. في الواقع ، قامت العديد من الشركات الكبرى بتقييد وصولها إلى الموسيقى. لماذا حدث هذا على الإطلاق؟ التعمق أكثر ، أصبح من الواضح أن المشكلة الرئيسية في حق المؤلف. الحل الحالي في شكل اشتراكات يناسب العديد من المؤلفين التجاريين للأعمال الموسيقية وهذه الشركات نفسها.في الوقت نفسه ، تندرج الموسيقى غير الهادفة للربح والمجان في القائمة العامة. إما تدفع مقابل كل شيء أو لا تستمع إلى أي شيء على الإطلاق.

وبدأت أفكر ماذا أفعل بكل هذا. كيف يمكن تنظيم توزيع الموسيقى مجانا؟ ماذا أفعل إذا كنت أصنع الموسيقى بنفسي وأرغب في كسب المال عليها؟ هل أرغب في أن يتم توزيع أغنياتي بطريقة مقرصنة؟ ما هو الحل البديل؟

ونتيجة لذلك ، كانت هناك مشكلتان رئيسيتان يجب معالجتهما:

  • تنظيم التوزيع المجاني للموسيقى بأساليب مناسبة لمعظم الناس ، بما في ذلك البرمجيات.
  • عرض بدائل لصانعي الموسيقى مقابل المال

مستودع عالمي للموسيقى اللامركزية


في البداية حاولت أن أجد الحلول الحالية وأنشئ كل شيء بناءً على ذلك. بعد بعض الوقت في البحث ، أعجبت به IPfs لأول مرة . لقد بدأت في تنفيذ فكرتي ، ولكن بعد فترة وجدت العديد من المشاكل الحرجة في هذا الحل:

  • Ipfs - تخزين لكل شيء وكل شيء. هنا والصور والموسيقى والفيديو وأي شيء آخر. بشكل عام ، مثل "القمامة" الكواكب الكبيرة. لذلك ، عند بدء العقدة ، تحصل على حمل كبير على الفور. السيارة تتألم فقط.
  • - «». , , , , . , . , , ipfs .
  • ( ), . , , . , , , . .

كان لا يزال هناك العديد من المشاكل الطفيفة ، ثم كان الانطباع لا لبس فيه: لا يمكن استخدام هذا للمشروع. واصلت البحث عن المستودع ، واستكشفت خيارات مختلفة ، ولكن لم أجد أي شيء مناسب.

في النهاية ، قررت أنه من المفيد محاولة كتابة وحدة تخزين لامركزية بنفسي. دعها لا تتظاهر بأنها كواكب ، لكنها ستحل مهمة محددة.

هذه هي الطريقة دهن ، storacle ، metastocle ، museria ، museria-العالمية تبين .

قابلة للدهن- هذه هي الطبقة الرئيسية ، الأدنى ، والتي تسمح لك بدمج العقد في الشبكة. يحتوي على خوارزمية قمت بتنفيذها جزئيًا حتى الآن استنادًا إلى مكان ما في 10000 خادم. يعد الإصدار الكامل من الخوارزمية أكثر صعوبة في التنفيذ وسيتطلب بضعة أشهر إضافية (وربما أكثر).

بالتفصيل ، لن أصف ما يمكن نشره في هذه المقالة ، من الأفضل كتابة واحدة منفصلة بطريقة أو بأخرى. هنا ألاحظ فقط بعض الميزات:

  • يعمل من خلال http / https.
  • يمكنك إنشاء شبكة منفصلة لمهمة محددة ، مما سيقلل الحمل على كل مشروع بشكل كبير عما لو كانوا جميعًا على نفس الشبكة.
  • في البداية ، تم التفكير في آلية بها مهلات وأشياء صغيرة أخرى. وهذا يعمل لجميع الطرق في كل من العميل والعقدة. يمكنك إدارة الإعدادات بمرونة من تطبيقك.
  • nodejs. . «», . : , , , ...

ستوراكل هي طبقة موروثة من قابلة للنشر تسمح لك بتخزين الملفات على الشبكة. يحتوي كل ملف على تجزئة خاصة به وفقًا للمحتويات ، والتي يمكن الحصول عليها لاحقًا. لا يتم تقسيم الملفات إلى كتل ، ولكن يتم تخزينها بالكامل.

metastocle - طبقة موروثة من قابلة للانتشار ، والتي تسمح لك بتخزين البيانات على الشبكة ، وليس الملفات. الواجهة مشابهة لقاعدة بيانات nosql. يمكنك ، على سبيل المثال ، إضافة ملف إلى المخزن ، والحصول على تجزئته وكتابته إلى metastocle بالإشارة إلى شيء ما.

museria - الموروثة من stacle و metastocle. هذه الطبقة مسؤولة مباشرة عن تخزين الموسيقى. يعمل المستودع فقط مع ملفات mp3 وعلامات id3.

باعتباره "مفتاح" الأغنية ، يتم استخدام اسمها الكامل في شكل فنان (TPE1) - العنوان (TIT2) . على سبيل المثال:

  • Brimstone — The Burden
  • Hi-rez — Lost My Way (feat. Emilio Rojas, Dani Devinci)

يمكنك معرفة أكبر قدر ممكن كيفية تكوين أسماء الأغاني هنا . من الضروري إلقاء نظرة على وظيفة الاستخدامات. beautifySongTitle () .

المطابقة الرئيسية هي النسبة المئوية المحددة في إعدادات العقدة. على سبيل المثال ، القيمة 0.85 تعني أنه إذا وجدت وظيفة المقارنة الرئيسية (أسماء الأغاني) تشابهًا أكثر من 85٪ ، فإن هذه هي الأغنية نفسها.

توجد خوارزمية لتحديد التشابه في نفس المكان ، في الوظيفة utils.getSongSimilarity () .

غلاف للأغنية ، لاسترجاعها لاحقًا ، يتم إرفاقه أيضًا عبر العلامات ( APIC ). تحتوي الأدوات على جميع الطرق اللازمة لاستلام ومعالجة العلامات.

يمكن العثور على مثال للعمل مع المستودع من خلال العميل في الملف التمهيدي .
. , .

museria-global هو مستودع git تم تكوينه بالفعل لإطلاق عقدة خاصة به في شبكة الموسيقى العالمية. استنساخ npm i && npm start وهذا كل شيء. يمكنك التكوين بمزيد من التفاصيل ، والتشغيل في عامل الميناء ، وما إلى ذلك. التفاصيل على جيثب .

عندما يتم تحديث المستودع ، تحتاج إلى تحديث موقعك. إذا تغير رقم الإصدار الرئيسي أو الثانوي ، فسيكون هذا الإجراء مطلوبًا ، وإلا سيتم تجاهل العقد القديمة من قبل الشبكة.

يمكنك العمل مع الأغاني يدويًا وبرمجيًا. تبدأ كل عقدة الخادم بمهام مختلفة. بما في ذلك ، عند زيارة نقطة النهاية الافتراضية ، ستحصل على واجهة للعمل مع الموسيقى. على سبيل المثال ، يمكنك الانتقال إلى العقدة الجذرية(قد لا يكون الرابط ذا صلة لاحقًا ، يمكن أيضًا الحصول على عقد الإدخال عن طريق البرقية ، أو راجع التحديثات على github).

لذا يمكنك البحث عن الأغاني وتحميلها على المستودع. يمكن تنزيل الأغاني في وضعين: عادي ومعتدل. يعني الوضع الثاني أن العمل يتم من قبل شخص ، وليس برنامج. وإذا قمت بتحديد هذا المربع عند الإضافة ، فستحتاج إلى حل اختبار CAPTCHA. يمكن إضافة الأغاني بأولويات -1 أو 0 أو 1. لا يمكن تعيين الأولوية 1 إلا في الوضع المعتدل. هناك حاجة إلى الأولويات لجعل المستودع أكثر فعالية في تحديد ما يجب فعله عند محاولة استبدال أغنية حالية بأخرى جديدة. كلما زادت الأولوية ، زادت احتمالية استبدال الملف الحالي. يساعد ذلك في مكافحة البريد العشوائي وزيادة جودة الأغاني التي تم تنزيلها.

إذا بدأت في إضافة أغانٍ إلى المستودع ، فحاول إرفاق صور (غلاف) ، على الرغم من أن هذا الحقل اختياري. في 99٪ من الحالات ، تكون الصور الأولى في Google حسب أسماء الأغاني هي أغلفة الألبومات.

كيف تتم إضافة الملفات من الناحية الفنية باختصار:

  • يتلقى العميل عنوان عقدة مجانية ، والتي ستصبح المنسق لبعض الوقت.
  • يتم تشغيل وظيفة إضافة أغنية (بواسطة شخص أو رمز) ، يتم تقديم طلب لإضافة منسق إلى نقطة النهاية.
  • يقوم المنسق بحساب عدد التكرارات التي يجب حفظها (معلمة قابلة للتكوين).
  • يتم البحث في العقد الأكثر ملائمة للحفظ.
  • ينتقل الملف مباشرة إلى هذه العقد.

كيف يتم استلام الملفات من الناحية الفنية:
  • يتلقى العميل عنوان عقدة مجانية ، والتي ستصبح المنسق لبعض الوقت.
  • يتم تشغيل وظيفة استقبال الأغنية (بواسطة شخص أو رمز) ، يتم تلقي طلب للحصول على منسق إلى نقطة النهاية.
  • . , , .
  • , .


لطالما كنت مهتمًا بالسؤال ، كيف يمكن للمرء أن يقيم بشكل موضوعي قيمة العديد من الأعمال الإبداعية؟ لماذا ، على سبيل المثال ، يعرض شخص ألبومه الموسيقي مقابل 10 دولارات؟ أو مقابل 20 دولارًا أو 100 دولار. أين الخوارزمية؟ عندما نتحدث ، على سبيل المثال ، عن نوع ما من المنتجات المادية ، أو حتى أنواع عديدة من الخدمات ، يمكننا على الأقل حساب سعر التكلفة والمضي قدمًا من ذلك.

حسنًا ، لنضع 10 دولارات. هل هي فعالة حقا؟ لنفترض أنني استمعت إلى ألبوم في مكان ما أو أغنية من هناك وقررت أن أشكر. ولكن بحسب مشاعري وقدراتي ، فإن مبلغ 3 دولارات هو الحد الأقصى. وكيف تكون هنا؟ على الأرجح أنني لن أفعل أي شيء ، مثل معظم الناس.

من خلال تحديد سعر ثابت للعمل الإبداعي ، فإنك ببساطة تحدد نفسك ، ولا تسمح لعدد كبير من الأشخاص بإرسال أموال أقل إليك ، وهو ما يمكن أن يكون أكثر إثارة للإعجاب من أولئك الذين يشترون بالسعر الذي تحدده. يبدو لي أن الإبداع هو بالضبط المجال الذي يجب أن توجه فيه التبرعات أولاً. للقيام بذلك ، تحتاج إلى:

  • لتعليم الناس تقديم الشكر بهذه الطريقة. يجب على منشئي المحتوى أنفسهم أن يظهروا بوضوح أنهم يرغبون في تلقي التبرعات ، وإضافة روابط في كل مكان إلى طرق دفع مختلفة ، وما إلى ذلك.
  • . , , .

    , :

    http://someartistsdonationsite.site/category/artist?external-info

    , :

    http://someartistsdonationsite.com/music/miyagi?song=blabla

    .

    museria , , / . . , , .

, , ,


  • , , , . museria , . , , , .
  • - : , , ...
  • , . , .
  • - . , , .

المشروع الآن في مهده. شبكة اختبار قيد التشغيل ، وغالبًا ما يمكن إعادة تشغيل العقد ، أو تتطلب تحديثات ، إلخ. في غياب المشاكل الحرجة خلال فترة التقييم ، يتم تحويل نفس الشبكة إلى الشبكة الرئيسية.

عرض معلومات حول الموقع من الخارج: عدد الأغاني ، المساحة الحرة ، وما إلى ذلك ، يمكنك النقر على نوع الرابط http://node-address/statusأو جهات الاتصال الخاصة بي:http://node-address/status?pretty




All Articles