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