← Tüm araçlar

BPM Bulucu

Bir parça bırakın. Temposunu ve her vuruşun tam zamanını alın — kendi makinenizde hesaplanır, hiçbir yere yüklenmeden.

Dosyayı sizin tarayıcınız okur ve yeniden kodlar. Hiçbir istek onu bir yere göndermez — bu sayfanın yükleme yapacağı bir sunucu yok.

Sorular

Sesim bir yere yükleniyor mu?

Hayır. Çözümleme tarayıcınızın içinde WebAssembly olarak çalışır. Dosya diskten belleğe okunur ve ağ üzerinden hiç çıkmaz: ağ sekmesini açarak ya da sayfa yüklendikten sonra bağlantıyı keserek doğrulayabilirsiniz.

Ne kadar isabetli?

Atak gücü çözümlemesini dinamik programlamayla vuruş takibiyle birlikte kullanır — yerleşik müzik bilgisi erişimi araçlarındaki yaklaşımın ve Life2Film'in kurgu motorunu çalıştıran kodun aynısı. Nabzı düzenli müzikte bir vuruş içinde isabet eder. Rubatoda, metronomsuz canlı kayıtlarda ya da yoğun senkoplu malzemede sayıyı bir başlangıç noktası sayın.

«Yarım ya da iki katı tempo» ne demek?

Tempo doğası gereği belirsizdir: 140 BPM'lik bir parça, yarım zamanda sayıldığında doğru biçimde 70 BPM'dir de. Bulucular sinyalde hangisi güçlüyse onu seçer. Sayı tam iki katı kadar yanlış geliyorsa olan budur ve ihtiyacınız olanı alabilmeniz için iki okuma da gösterilir.

Vuruşları kurgu programımda kullanabilir miyim?

Dışa aktarma tam da bunun için. DaVinci Resolve ya da Premiere için EDL seçin: her vuruş zaman çizelgesine adlandırılmış bir işaret olarak gelir. Final Cut FCPXML alır. OTIO da Resolve, Avid ve Premiere'de çalışır ve vuruşlar doğrudan zaman çizelgesi yerine bir üretim hattına gidiyorsa doğru seçimdir. Audacity etiket dışa aktarımını okur; CSV ve JSON ise tabloları ve betikleri karşılar.

Kare hızı neden önemli?

Vuruşlar saniyenin kesirlerine düşer; zaman çizelgeleri ise tam kare sayar. Her işaret, gideceği projenin en yakın karesine yuvarlanır, dolayısıyla 25 fps'de dışa aktarılmış bir ızgara 30 fps'lik bir dizide 20 ms'ye kadar kayar. Hızı projenizinkine ayarlayın, işaretler tam vuruşun olduğu yere otursun. CSV ve JSON'u etkilemez; onlarda ham saniyeler de vardır.

Diğer araçlar

Kendi projenize ekleyin

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.