An algorithm for segmenting electronic dance music (EDM) songs by tempo is proposed in this thesis. Electronic dance music is a popular contemporary genre of music that is rhythmically driven and based on loops, making it ideal for tempo-based segmentation. Our algorithm is split into two parts. In the first, existing onset-detection and tempo-tracking algorithms are modified to accurately detect typical events in EDM songs. In the second, we fit a series of piecewise linear functions in order to generate a tempo graph, useful for musicologists as well as DJs. This algorithm is carefully tuned to balance runtime and accuracy of detected tempos. The algorithm is evaluated against a training set of EDM tracks, with varying as well as static tempos, and other rhythmic features.