diff --git a/examples/device/audio_4_channel_mic/src/main.c b/examples/device/audio_4_channel_mic/src/main.c index 6e1ea1e6a..99e850dcc 100644 --- a/examples/device/audio_4_channel_mic/src/main.c +++ b/examples/device/audio_4_channel_mic/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_4_channel_mic/src/plot_audio_samples.py b/examples/device/audio_4_channel_mic/src/plot_audio_samples.py index 0bd6f3b5d..9ab15135d 100644 --- a/examples/device/audio_4_channel_mic/src/plot_audio_samples.py +++ b/examples/device/audio_4_channel_mic/src/plot_audio_samples.py @@ -1,16 +1,24 @@ import sounddevice as sd import matplotlib.pyplot as plt import numpy as np +import platform if __name__ == '__main__': - # Currently tested for Windows - on Linux try to find the device or use default device if not clearly listed - # 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_4_Ch), Windows WDM-KS' # WDM-KS 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': + # WDM-KS is needed since there are more than one MicNode device APIs (at least in Windows) + device = 'Microphone (MicNode_4_Ch), Windows WDM-KS' + elif platform.system() == 'Darwin': + device = 'MicNode_4_Ch' + else: + device ='default' myrecording = sd.rec(int(duration * fs), samplerate=fs, channels=4, dtype='int16', device=device) print('Waiting...') 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...')