Featured·

Integrating Tempus Metronome with the GetSongBPM API – What BPM Really Means and How to Use It

Understanding tempo is one of the fundamentals of music performance, practice, and DJing. In Tempus Metronome, we integrate directly with the GetSongBPM API, allowing users to look up a song, check its tempo, and instantly set the metronome to match.
Integrating Tempus Metronome with the GetSongBPM API – What BPM Really Means and How to Use It

Integrating Tempus Metronome with the GetSongBPM API – What BPM Really Means and How to Use It

Understanding tempo is one of the fundamentals of music performance, practice, and DJing. In Tempus Metronome, we integrate directly with the GetSongBPM API, allowing users to look up a song, check its tempo, and instantly set the metronome to match. This article explains what BPM actually is, why it matters, where tempo data comes from, and how to integrate GetSongBPM into Flutter — all in one place.

What Is BPM?

BPM (Beats Per Minute) describes the tempo of a piece of music — how many beats occur in one minute.
A slow ballad might be 60 BPM, a pop track 120 BPM, and fast electronic music can reach 150–180 BPM or more.

BPM helps musicians and producers:

  • keep consistent timing
  • match tempos between tracks (DJing)
  • design workouts or running playlists
  • practice specific rhythmic patterns
  • analyze energy and intensity in a song

What BPM Can Tell You

  • Energy level
  • Genre tendencies
  • Performance difficulty
  • Training structure

What to Watch Out For

  • Tempo changes
  • Live recordings
  • Different remixes
  • Double-time / half-time feel
  • Incorrect crowd-sourced data

Where Can You Search for BPM Data?

  • GetSongBPM.com (API)
  • Spotify Audio Features API
  • AudD / ACRCloud
  • Manual tap-tempo tools

Tempus Metronome uses GetSongBPM for its simplicity and speed.

Getting Started with the GetSongBPM API

Register at: https://getsongbpm.com/api

Requirements

  • Backlink must be included
  • Rate limit: 3000 requests/hour

Environment Configuration

GETSONGBPM_API_KEY=your_api_key_here

For Flutter Web:

flutter build web --dart-define=GETSONGBPM_API_KEY=your_api_key_here

Flutter Integration Example

API Service

class GetSongBpmApi {
  final String baseUrl = "https://api.getsongbpm.com";
  final String apiKey = dotenv.env['GETSONGBPM_API_KEY']!;

  Future<List<dynamic>> searchSongs(String query) async {
    final url = Uri.parse("$baseUrl/search/?api_key=$apiKey&type=multi&lookup=$query");
    final response = await http.get(url);
    if (response.statusCode == 200) {
      final jsonResponse = jsonDecode(response.body);
      return jsonResponse['search'] ?? [];
    } else {
      throw Exception("Failed to load data");
    }
  }
}

Testing

  1. Open the app
  2. Tap search
  3. Enter a song
  4. BPM is applied automatically