A computer-implemented method for synchronizing a photoplethysmography signal, abbreviated PPG signal, with an electrocardiogram signal, abbreviated ECG signal, said method comprising: - recording said ECG signal using an ECG monitoring system; - recording said PPG signal, semi-synchronously with said recording of said ECG signal, using a contact PPG sensor; - cutting said PPG signal into PPG signal pieces; - for a PPG signal piece out of said PPG signal pieces: - generating a vector of PPG peak times for peaks in said PPG signal piece; - selecting different offsets o; - cutting different ECG signal pieces out of said ECG signal by applying said different offsets o in said ECG signal; - generating respective vectors of ECG peak times for said ECG signal pieces; - computing distances d between said vector of PPG peak times and said respective vectors of ECG peak times; - determining a best matching ECG signal piece with minimal distance d o amongst said distances d; and - registering a start time x of said PPG signal piece in said PPG signal, a start time y o of said best matching ECG signal piece in said ECG signal, and said minimal distance d o; - determining an offset between said PPG signal and ECG signal as the offset of a regression model modelling the relation between said start time x and said start time y o, inverse weighted by said minimal distance d o; - determining a drift between said PPG signal and ECG signal as the slope of said regression model; and - applying said offset and said drift to said PPG signal to synchronize said PPG signal with said ECG signal. - recording said ECG signal using an ECG monitoring system; - recording said PPG signal, semi-synchronously with said recording of said ECG signal, using a contact PPG sensor; - cutting said PPG signal into PPG signal pieces; - for a PPG signal piece out of said PPG signal pieces: - generating a vector of PPG peak times for peaks in said PPG signal piece; - selecting different offsets o; - cutting different ECG signal pieces out of said ECG signal by applying said different offsets o in said ECG signal; - generating respective vectors of ECG peak times for said ECG signal pieces; - computing distances d between said vector of PPG peak times and said respective vectors of ECG peak times; - determining a best matching ECG signal piece with minimal distance d o amongst said distances d; and - registering a start time x of said PPG signal piece in said PPG signal, a start time y o of said best matching ECG signal piece in said ECG signal, and said minimal distance d o; - generating a vector of PPG peak times for peaks in said PPG signal piece; - selecting different offsets o; - cutting different ECG signal pieces out of said ECG signal by applying said different offsets o in said ECG signal; - generating respective vectors of ECG peak times for said ECG signal pieces; - computing distances d between said vector of PPG peak times and said respective vectors of ECG peak times; - determining a best matching ECG signal piece with minimal distance d o amongst said distances d; and - registering a start time x of said PPG signal piece in said PPG signal, a start time y o of said best matching ECG signal piece in said ECG signal, and said minimal distance d o; - determining an offset between said PPG signal and ECG signal as the offset of a regression model modelling the relation between said start time x and said start time y o, inverse weighted by said minimal distance d o; - determining a drift between said PPG signal and ECG signal as the slope of said regression model; and - applying said offset and said drift to said PPG signal to synchronize said PPG signal with said ECG signal.