Merge Powertap wattage into Tacx HRM file

If you’re using a Tacx VR trainer for your indoor trainings, you might find the following how-to useful, which describes on how to merge a Tacx HRM export file with a Garmin Edge 705 TCX file (which records power while workouts via ANT+ from a Powertap Elite+ powermeter).

Why you might need this: Accuracy of displayed wattages on Tacx VR trainers isn’t very good. Even if you calibrate your trainer frequently, there are several factors which cause wrong wattage outputs during workouts. e.g. motor break heating up. The best way to get comparable results is to use an SRM or Powertap powermeter. Unfortunately the Tacx software can not directly read data from those powermeters. Only way to get this done is to record the same workout/ride in parallel with the Tacx software and the powermeters computer (in my case a Garmin Edge 705) and merge the files afterwards manually before you can analyze your ride on your favorite analysis software.


  • HRM file, exported from Tacx Analyser (in this example named „tacx.hrm“)
  • TCX file from your Garmin device (in this example named „edge.tcx“).
  • Now comes the tricky part: You need to have Perl installed and the CPAN module DateTime (and i think one more CPAN module of which i can’t remember the name – You’ll get notified during installation anyway).
  • Download and install the latest version of the perl Workout library, a great set of tools to manipulate HRM, TCX, GPX, … files.
  • If you don’t know how to install Perl, a CPAN module or a perl library you can try to search on Google for howto’s and instructions. But most likely it’s better if you stop at this point and go find a friend who’s familiar with Perl and helps you out.

If you have the prerequisites done, let’s merge the files:

  1. Open the tacx.hrm file with a Texteditor and write down the StartTime (line 6).
  2. Open the edge.tcx file with a Texteditor and write down the StartTime which is within the first lines of the file.
  3. Close both files.
  4. Calculate the difference between the StartTimes in seconds. Note: Edge saves in GMT and Tacx in local time-zone. You need to respect this. It’s just about finding the difference between the 2 clocks which is typically in the range of a few seconds. e.g. in my example files: Edge: 7h26m04s, Tacx: 8h27m50s. Difference = 106s.
    Note: If you take care that both of your devices have set the same time in their settings, you can skip this step.
  5. Start the convert tool:
    wkmerge –otype=hrm –fields=ele,dur,cad,dist,time,hr –recint=5 –delta=106 –debug edge.tcx tacx.hrm merged.hrm
    This takes the edge.tcx file and merges Elevation, Duration, Cadence, Distance, Time and Hearrate from the tacx.hrm file into it. The output file is called merged.hrm, the format is hrm using a 5 sec interval and a 106s delta between the two files.

That’s it. It’s quite a lot of manual work, but at least for me this method works and produces nicely merged files, which is great help if you want to deeper analyse your performance on a specific ride.

The „perl Workout libraries“ are able to read Powertap CSV files as well as SRM files. Therefore the method described above should also work for SRM & Powertap computers as well as for Polars WIND system.

Kommentar verfassen