حاسبة BPM من النقر
النقرات عند 0 و500 و1000 و1500 ms تترك ثلاثة فواصل كل منها 500 ms، أي سرعة 120 BPM. أدخل اللحظات التي نقرت فيها مع الإيقاع لتحصل على سرعة تضبطها في مشروعك. مجانًا في متصفحك.
- مجاني
- يعمل في متصفحك
- دون تسجيل
- بياناتك لا تغادر جهازك
شغّل الأداة مجانًا
مثال محلول
- النقرات
- 0, 500, 1,000, 1,500
- النقرات (ms)
- 0, 500, 1,000, 1,500 bpm
- عدد النقرات
- 4
- الفواصل (ms)
- 500, 500, 500
- عدد الفترات
- 3
تحوّل حاسبة BPM من فترات النقر سلسلة من طوابع زمنية للنقر يُدخلها المستخدم إلى إيقاع واحد قابل للتكرار بعدد النبضات في الدقيقة. تقدّم على الأقل لحظتين مرتبتين بالميلي ثانية—إزاحات نسبية من أول نقر أو قيم ساعة مطلقة—فيقيس الأداة كل فترة متتالية، ويحسب متوسط تلك الفجوات الموجبة، ويحوّل المتوسط بالعلاقة الكلاسيكية في الاستوديو: BPM يساوي ستين ألفًا مقسومة على متوسط الميلي ثانية لكل نبضة. يحتاج المنتجون الذين يسمعون إيقاعًا بلا تمبو للمشروع، والمعلمون الذين يعرضون سير عمل النقر للتمبو، والمطورون الذين يكتبون اختبارات للمترونوم أو المُتسلسل، إلى الحسابات الحتمية نفسها دون فتح جدول ودون التخمين بساعة إيقاف.
كيف تصبح طوابع النقر نبضات في الدقيقة
يبدأ تقدير الإيقاع بالنقر من ملاحظة أن النبض المستقر يولّد فجوات زمنية شبه متساوية بين الضربات المتتالية. إذا سجّلت لحظة كل نقر بالميلي ثانية واشترطت أن يكون التسلسل متزايدًا بصرامة، فإن كل فرق متتالٍ فترة موجبة تمثل دورة نبضة واحدة بافتراض نقرة واحدة لكل نبضة. متوسط تلك الفترات يُلطّف أخطاء التوقيت البشرية الصغيرة: نقرة متأخرة أو مبكرة تزيح فجوة أو فجوتين فقط، بينما يقترب متوسط فترات كثيرة من النبض المقصود.
تحويل الفترة المتوسطة إلى نبضات في الدقيقة يستخدم نفس المعكوس الشائع في الإنتاج الموسيقي: في الدقيقة ستون ألف ميلي ثانية، فقسمة ذلك الثابت على متوسط الميلي ثانية لكل نبضة تبيّن كم من نبضات النوار (ربع النغمة) سيحدث لو دام ذلك التباعد دقيقة كاملة. على سبيل المثال، أربع نقرات عند صفر وخمسمئة وألف وألف وخمسمئة ميلي ثانية تنتج ثلاث فترات متساوية من خمسمئة ميلي ثانية ومتوسطًا خمسمئة، أي مئة وعشرين BPM—الشبكة المألوفة في الهاوس والبوب.
النقر الحي غير المنتظم يعمل أيضًا: فترات أربعمئة وثمانين وخمسمئة وعشرين وخمسمئة ميلي ثانية متوسطها خمسمئة وما زالت تُبلغ مئة وعشرين BPM بعد التقريب. رفض الفترات غير الموجبة ضروري؛ فجوة صفر تعني تمبوًا لا نهائيًا، وفجوة سالبة تعني طوابع خارج الترتيب. لذلك تُحوّل هذه القدرة كل طابع إلى عدد منتهٍ، وتبني دلتا موجبة فقط، ومتوسطها، وتنشر BPM والفترة المتوسطة وقائمة الفترات كاملة وخطوات مرتبة حتى يعيد الطلاب واختبارات الوحدة الحساب يدويًا.
نصائح عملية وحدود وعمليات بحث ذات صلة
انقر أربع إلى ثماني مرات على الأقل متى أمكن: المزيد من الفترات يقلل أثر ضربة واحدة خاطئة التوقيت، رغم أن طابعين يعرّفان أصلًا تمبو فترة واحدة لاختبارات السكربت. نقاط التحقق الشائعة في الاستوديو سهلة التحقق يدويًا: متوسط خمسمئة ميلي ثانية يساوي مئة وعشرين BPM، وستمئة ميلي ثانية مئة BPM، وحوالي أربعمئة وثمانية وعشرين فاصلة سبعة وخمسين ميلي ثانية نحو مئة وأربعين BPM.
تستهدف هذه الصفحة من يبحث عن حاسبة BPM من النقر أو تمبو من فترات النقر أو نبضات في الدقيقة من طوابع النقر؛ وليست كاشف بدايات صوتية ولا مُكمّم سوينغ ولا جدول نغمات من BPM إلى ميلي ثانية—لتمبو مشروع معروف يُحوَّل إلى مدد نغمات وتأخير استخدم الحاسبة الشقيقة BPM إلى ميلي ثانية. فضّل هذه القدرة عندما يكون المصدر نقرات بشرية أو برمجية بلا شبكة زمنية مسبقة.
فحوصات الذهاب والإياب مباشرة: أعد حساب كل فرق متتالٍ، ومتوسطه، واقسم ستين ألفًا على ذلك المتوسط، وتأكد أن النتيجة تطابق bpm المنشور ضمن تقريب اثني عشر رقمًا عشريًا.
حالات الاستخدام
تقدير تمبو الجلسة من إيقاع يُنقر
ينقر المنتجون النبض مع مسار مرجعي أو تسجيل حي، ويلصقون الطوابع بالميلي ثانية، ويضبطون BPM المشروع في DAW من متوسط الإيقاع المُرجع.
الأسئلة الشائعة
كيف يُحسب BPM من طوابع النقر؟
قس كل فترة موجبة متتالية بالميلي ثانية، ومتوسط تلك الفترات، ثم احسب BPM بمقدار 60000 مقسومة على الفترة المتوسطة. دورة نبضة متوسطة تبيّن كم نبضة تدخل في دقيقة.
كم نقرًا أحتاج؟
طابعان زمنيان على الأقل (فترة موجبة واحدة). المزيد من النقرات يحسّن الاستقرار لأن المتوسط يلطّف أخطاء توقيت ضربة واحدة.
ماذا لو لم تكن نقراتي متزايدة بصرامة؟
أي فترة صفر أو سالبة تعني تسلسلًا خارج الترتيب أو مكررًا.
هل تلزم ساعات مطلقة أم يمكن البدء من صفر؟
كلاهما يعمل. الفروق بين الطوابع المتتالية وحدها مهمة، لذا الإزاحات النسبية من 0 تكافئ ميلي ثانية مطلقة بأسلوب epoch.
ما السرعة التي تعطيها نقرات تفصل بينها 500 ms؟
120 BPM. اقسم 60000 ميلي ثانية على متوسط الفاصل البالغ 500 ms، والنقرات عند 0 و500 و1000 و1500 ms تعطي هذه النتيجة بالضبط.
أدوات ذات صلة
للمطوّرين — الوصول عبر API
كل ما في هذه الصفحة متاح برمجيًا. هذا القسم موجّه للفرق التقنية التي تريد ربط الأداة بأنظمتها الخاصة؛ بقية المستخدمين يمكنهم استخدام الأداة أعلاه مباشرة دون الحاجة لقراءة ما يلي.
الـEndpoint
صادِق على طلبك بترويسة Bearer، وأرسل طلب POST واحدًا لتدخل مهمتك قائمة التنفيذ فورًا؛ ثم تستلم النتيجة عبر webhook أو رابط موقّع.
استدعِ الخدمة من بيئتك
curl -X POST https://api.kit.forhosting.com/hobby/music-bpm-from-tap \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"taps":[0,500,1000,1500]}'const res = await fetch("https://api.kit.forhosting.com/hobby/music-bpm-from-tap", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"taps": [
0,
500,
1000,
1500
]
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/hobby/music-bpm-from-tap",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"taps": [
0,
500,
1000,
1500
]
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/hobby/music-bpm-from-tap", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"taps":[0,500,1000,1500]}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"taps":[0,500,1000,1500]}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/hobby/music-bpm-from-tap", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)مثال على الطلب
{
"taps": [
0,
500,
1000,
1500
]
}مثال على الاستجابة
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "hobby.music_bpm_from_tap",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}الواجهة غير متزامنة: تستلم task_id فور الإرسال، ويمكنك الاستعلام عن الحالة بمعدل طلب واحد في الثانية.
الأسعار
السعر معلن كما تراه: لا tokens ولا نظام نقاط؛ وإن فشلت المهمة فلن تُحاسَب عليها.
الأخطاء
| HTTP | الرمز | المعنى |
|---|---|---|
401 | unauthorized | مفتاح الوصول مفقود أو غير صالح؛ تحقق من ترويسة Bearer في طلبك. |
402 | insufficient_balance | رصيدك لا يكفي لتنفيذ هذه المهمة؛ أعد شحن الرصيد ثم أعد المحاولة. |
404 | unknown_type | نوع المهمة المطلوب غير موجود في الكتالوج — راجع الاسم المرسل في الطلب. |
429 | rate_limited | تجاوزت الحد المسموح من الطلبات؛ انتظر قليلًا ثم أعد المحاولة. |
ملاحظات تقنية
تُرفض التسلسلات غير الرتيبة أو الناقصة بخطأ واضح invalid_input حتى لا تخترع السكربتات تمبوًا من نقرة واحدة أو قائمة معكوسة. المسار رياضيات خالصة—بلا شبكة، بلا بذور عشوائية، بلا اعتماد على ساعة الجدار—لذا يُرجع مشغّل المتصفح المجاني وواجهة API المدفوعة مسبقًا نفس JSON بعد تقريب عشري ثابت في كل استدعاء.
كيف تستدعي API وماذا تُرجع
يجب أن تحتوي المصفوفة على عددين منتهيين على الأقل وخمسمئة على الأكثر. يُفضَّل إرسال أرقام لا سلاسل منسّقة مسبقًا عندما تتحكم بالعميل؛ تُقبل السلاسل الرقمية فقط إذا طابقت نمطًا عدديًا منتهيًا صارمًا. الساعات النسبية التي تبدأ من صفر مقبولة، وكذلك الميلي ثانية المطلقة بأسلوب epoch، لأن الفروق وحدها تدخل المتوسط. أرسل جسم JSON بحقل مصفوفة إلزامي واحد اسمه taps، ويُقبل أيضًا بالأسماء البديلة timestamps و tap_times و times_ms و tap_timestamps. تبقى القيمة المطلقة لكل طابع ضمن الحد المنشور حتى تبقى الفروقات معرّفة جيدًا بدقة IEEE المزدوجة. عند النجاح تُعيد الاستجابة التسلسل المقرب taps_ms و tap_count وقائمة intervals_ms للفروق الموجبة المتتالية و interval_count و mean_interval_ms والمرادف beat_ms لمتوسط التباعد و bpm كالإيقاع المقدَّر و unit بالسلسلة bpm و formula التي تنص على أن bpm يساوي 60000 على متوسط الفترات الموجبة المتتالية و message كملخص قصير و steps التي تمر من الطوابع الخام عبر كل فترة والمتوسط والقسمة النهائية. المصفوفات المفقودة والقيم غير المصفوفة وأقل من طابعين والمدخلات غير المنتهية والسلاسل الفارغة التي تفشل في التحويل العددي وأي فترة غير موجبة بين نقرات متتالية تُرجع invalid_input ولا تُحاسب أبدًا. التسعير مبلغ ثابت $0.002 لكل طلب ناجح بوحدة item.
نصائح عملية وحدود وعمليات بحث ذات صلة
أبقِ التسلسل متزايدًا بصرامة؛ إذا أمكن لطبقة الالتقاط إصدار طوابع مكررة تحت الحمل العالي فاحذف التكرار أو أضف إزاحة ضئيلة قبل استدعاء API. عند التدريس اقرن تسلسل مسار ناجح مستقر بحالة خطأ متعمدة بنقرة واحدة أو ترتيب معكوس حتى يرى المتعلمون invalid_input فورًا. المهام الفاشلة التي تُرجع invalid_input لا تستهلك الرصيد المدفوع مسبقًا، مما يبقي سكربتات الاستكشاف رخيصة حين يختبر المتعلمون الحدود عمدًا.
حالات التكامل
تمارين صفية على النقر للتمبو والمعكوس
يقدّم المعلمون قوائم نقر مرتبة ليعيد الطلاب حساب الفترة المتوسطة و 60000/المتوسط يدويًا ثم يطابقوا حقل BPM الحتمي في استجابة API.
اختبارات وحدة للمترونومات والمُتسلسلات
يمرّر المطورون مصفوفات نقر اصطناعية ثابتة ويتحققون من bpm و mean_interval_ms و intervals_ms مقابل fixtures golden بلا أجهزة صوت ولا مؤقتات ساعة الجدار.
أسئلة تقنية
هل حاسبة BPM من فترات النقر مجانية؟
أداة المتصفح مجانية وتعمل محليًا. استدعاءات API تستخدم رصيد KIT المدفوع مسبقًا بسعر $0.002 لكل طلب ناجح؛ المهام الفاشلة لا تُحاسب أبدًا.