From 0ede5c644379e7de05f248e8076b946cb50a655a Mon Sep 17 00:00:00 2001 From: Gigo <gigo@muc.ccc.de> Date: Sun, 29 Dec 2019 12:56:55 +0100 Subject: [PATCH] ecg2wav.py, converts ecg log files to wav files --- tools/ecg2wav.py | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 tools/ecg2wav.py diff --git a/tools/ecg2wav.py b/tools/ecg2wav.py new file mode 100644 index 000000000..8ee55c065 --- /dev/null +++ b/tools/ecg2wav.py @@ -0,0 +1,30 @@ +# vim: set ts=4 sw=4 tw=0 et pm=: +import numpy +import wave +import sys +import struct + +def read(file_name): + signal = numpy.fromfile(file_name, dtype=numpy.int16) + return signal + + +signal = read(sys.argv[1]) + + +sampleRate = 128.0 # hertz +duration = len(signal) / sampleRate # seconds + +wavef = wave.open('out.wav','w') +wavef.setnchannels(1) # mono +wavef.setsampwidth(2) +wavef.setframerate(sampleRate) + +for i in range(int(duration * sampleRate)): + value = int(signal[i]) + data = struct.pack('<h', value) + wavef.writeframesraw( data ) + + +wavef.close() + -- GitLab