From 5a4bd42ba6ceb7deb99156891bf0516ccba748a5 Mon Sep 17 00:00:00 2001 From: playduck Date: Tue, 21 Apr 2020 16:09:16 +0200 Subject: [PATCH] rescaled wav output --- Exporter.py | 33 ++++++++++++++++++++------------- 1 file changed, 20 insertions(+), 13 deletions(-) diff --git a/Exporter.py b/Exporter.py index 05c0007..290a5ce 100644 --- a/Exporter.py +++ b/Exporter.py @@ -68,7 +68,6 @@ def __export(self, data, filename, normalize, samplingRate, bitsPerSample): assume_sorted=True, bounds_error=False, fill_value=0) dlg += 10 - arr = spl(xnew) dlg += 10 @@ -78,18 +77,26 @@ def __export(self, data, filename, normalize, samplingRate, bitsPerSample): return if normalize: - # normalize values to -1.0 to 1.0 - arr = np.divide(arr, np.max(np.abs(arr))) - dlg += 5 - - if dtype == np.dtype(np.uint8).type: - arr = np.add(arr, 1) - amplitude = amplitude // 2 - - arr = np.multiply(arr, amplitude) - dlg += 5 - # samples only go from -(2**15) to (2**15) for 16-Bit PCM for example - # => missing one possible value at (2**15)-1 + divide = np.max(np.abs(arr)) # scale to max range + else: + divide = 1000 #mA + # scale to 1A maximum as per import into ltspice + + # normalize values to -1.0 to 1.0 + arr = np.divide(arr, divide) + dlg += 5 + + if dtype == np.dtype(np.uint8).type: + arr = np.add(arr, 1) + amplitude = amplitude // 2 + + arr = np.multiply(arr, amplitude) + dlg += 5 + # samples only go from -(2**15) to (2**15) for 16-Bit PCM for example + # => missing one possible value at (2**15)-1 + + if dtype != np.dtype(np.float).type: + arr = np.round(arr, 0) # convert to data type data_resampled = arr.astype(dtype)