From ad11481dd16112a38ab05754bafb33599af38f9d Mon Sep 17 00:00:00 2001 From: hathach Date: Thu, 15 Apr 2021 12:08:50 +0700 Subject: update plot script to work on macos and linux also add note for installing pip module --- examples/device/audio_test/src/main.c | 8 ++++++++ examples/device/audio_test/src/plot_audio_samples.py | 19 ++++++++++++++----- 2 files changed, 22 insertions(+), 5 deletions(-) (limited to 'examples/device/audio_test/src') diff --git a/examples/device/audio_test/src/main.c b/examples/device/audio_test/src/main.c index 4de515b3b..9a2fdd3a1 100644 --- a/examples/device/audio_test/src/main.c +++ b/examples/device/audio_test/src/main.c @@ -23,6 +23,14 @@ * */ +/* plot_audio_samples.py requires following modules: + * $ sudo apt install libportaudio + * $ pip3 install sounddevice matplotlib + * + * Then run + * $ python3 plot_audio_samples.py + */ + #include #include #include diff --git a/examples/device/audio_test/src/plot_audio_samples.py b/examples/device/audio_test/src/plot_audio_samples.py index 0b0c3394f..6e3c4978e 100644 --- a/examples/device/audio_test/src/plot_audio_samples.py +++ b/examples/device/audio_test/src/plot_audio_samples.py @@ -1,15 +1,24 @@ import sounddevice as sd import matplotlib.pyplot as plt import numpy as np +import platform if __name__ == '__main__': - # devList = sd.query_devices() - # print(devList) + # If you got "ValueError: No input device matching", that is because your PC name example device + # differently from tested list below. Uncomment the next line to see full list and try to pick correct one + # print(sd.query_devices()) - fs = 48000 # Sample rate - duration = 100e-3 # Duration of recording - device = 'Microphone (MicNode) MME' # MME is needed since there are more than one MicNode device APIs (at least in Windows) + fs = 48000 # Sample rate + duration = 100e-3 # Duration of recording + + if platform.system() == 'Windows': + # MME is needed since there are more than one MicNode device APIs (at least in Windows) + device = 'Microphone (MicNode) MME' + elif platform.system() == 'Darwin': + device = 'MicNode' + else: + device ='default' myrecording = sd.rec(int(duration * fs), samplerate=fs, channels=1, dtype='int16', device=device) print('Waiting...') -- cgit v1.3.1