← Semua alat

Pendeteksi BPM

Jatuhkan sebuah lagu. Dapatkan temponya dan waktu persis setiap ketukan — dihitung di mesin Anda sendiri, tanpa mengunggah apa pun.

Peramban Anda yang membaca dan mengodekan ulang berkas. Tidak ada permintaan yang mengirimnya ke mana pun — halaman ini tidak punya server tujuan unggah.

Pertanyaan

Apakah audio saya diunggah?

Tidak. Analisisnya berjalan di dalam peramban Anda sebagai WebAssembly. Berkas dibaca dari cakram ke memori dan tidak pernah keluar lewat jaringan: Anda bisa memeriksanya dengan membuka tab jaringan, atau mencabut koneksi setelah halamannya termuat.

Seberapa akurat?

Ia memakai analisis kekuatan onset dengan pelacakan ketukan berbasis pemrograman dinamis — pendekatan yang sama dengan perkakas music information retrieval yang sudah mapan, dan kode yang sama yang menggerakkan mesin montase Life2Film. Pada musik berdenyut stabil, ia meleset kurang dari satu ketukan. Pada rubato, rekaman langsung tanpa klik, atau materi yang sangat sinkopasi, anggap angkanya sebagai titik awal.

Apa arti «tempo separuh atau ganda»?

Tempo memang ambigu: lagu 140 BPM juga, secara benar, 70 BPM bila dihitung setengah. Pendeteksi memilih yang paling kuat dalam sinyalnya. Bila angkanya terasa meleset tepat dua kali lipat, itulah yang terjadi, dan kedua pembacaan ditampilkan agar Anda mengambil yang Anda perlukan.

Bisakah ketukannya dipakai di penyunting saya?

Untuk itulah ekspornya ada. EDL adalah pilihan untuk DaVinci Resolve atau Premiere: setiap ketukan datang sebagai penanda bernama di lini masa. Final Cut menerima FCPXML. OTIO juga bekerja di Resolve, Avid dan Premiere, dan tepat bila ketukannya menuju sebuah alur produksi alih-alih langsung ke lini masa. Audacity membaca ekspor label, sedangkan CSV atau JSON menutup kebutuhan lembar sebar dan skrip.

Kenapa frame rate penting?

Ketukan jatuh pada pecahan detik; lini masa menghitung bingkai utuh. Setiap penanda dibulatkan ke bingkai terdekat pada proyek tujuannya, jadi kisi yang diekspor pada 25 fps akan meleset sampai 20 md di rangkaian 30 fps. Setel lajunya sesuai proyek Anda dan penanda jatuh persis di tempat ketukannya. Ini tidak memengaruhi CSV maupun JSON, yang juga membawa detik mentahnya.

Alat lainnya

Pasang ini di proyek Anda sendiri

Finding the tempo and beat grid of a track — the same way this page does it, on the user's machine, with no server. Take the code, or hand the prompt to a coding agent.

const engine = await import('https://life2film.com/wasm/va_wasm.js');
await engine.default({ module_or_path: 'https://life2film.com/wasm/va_wasm_bg.wasm' });

const ctx = new AudioContext();
const buffer = await ctx.decodeAudioData(await file.arrayBuffer());

// Down-mix to mono at 22050 Hz first (OfflineAudioContext), then:
const { bpm, beats } = JSON.parse(engine.detect_beats(mono, 22050, null));

The engine is documented for agents, and every tool page is available as markdown by adding .md to its address.