summaryrefslogtreecommitdiff
path: root/examples
diff options
context:
space:
mode:
authorhathach <[email protected]>2021-04-15 12:08:50 +0700
committerhathach <[email protected]>2021-04-15 12:08:50 +0700
commitad11481dd16112a38ab05754bafb33599af38f9d (patch)
treec6ba48e10558a6ca70562ffe25b175d8e4d514e7 /examples
parent8d9f60ca5e1b095fd8ab5541bf3190a2035eaf6f (diff)
update plot script to work on macos and linux
also add note for installing pip module
Diffstat (limited to 'examples')
-rw-r--r--examples/device/audio_4_channel_mic/src/main.c8
-rw-r--r--examples/device/audio_4_channel_mic/src/plot_audio_samples.py20
-rw-r--r--examples/device/audio_test/src/main.c8
-rw-r--r--examples/device/audio_test/src/plot_audio_samples.py19
4 files changed, 44 insertions, 11 deletions
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 <stdlib.h>
#include <stdio.h>
#include <string.h>
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 <stdlib.h>
#include <stdio.h>
#include <string.h>
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...')