From 87a87cac71d3e0d3fba495341b72565410f2b28d Mon Sep 17 00:00:00 2001 From: Kevin J Walters Date: Sun, 23 Jan 2022 13:10:30 +0000 Subject: [PATCH 1/2] Fixing self._sample typo in sound_level #53 --- adafruit_clue.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/adafruit_clue.py b/adafruit_clue.py index 3a32eaf..4c62caa 100644 --- a/adafruit_clue.py +++ b/adafruit_clue.py @@ -812,7 +812,7 @@ def sound_level(self): while True: print(clue.sound_level) """ - if self._sample is None: + if self._samples is None: self._samples = array.array("H", [0] * 160) self._mic.record(self._samples, len(self._samples)) return self._normalized_rms(self._samples) From 36ddf4a86d0cd7f058ed46dc460fd0334e6e4e74 Mon Sep 17 00:00:00 2001 From: Dan Halbert Date: Sun, 23 Jan 2022 08:51:15 -0500 Subject: [PATCH 2/2] rename "sample" variables to avoid confusion --- adafruit_clue.py | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/adafruit_clue.py b/adafruit_clue.py index 4c62caa..3c86e16 100644 --- a/adafruit_clue.py +++ b/adafruit_clue.py @@ -211,10 +211,10 @@ def __init__(self): sample_rate=16000, bit_depth=16, ) - self._sample = None - self._samples = None + self._audio_out = None self._sine_wave = None self._sine_wave_sample = None + self._mic_samples = None # Define sensors: # Accelerometer/gyroscope: @@ -689,10 +689,10 @@ def _sine_sample(length): yield int(tone_volume * math.sin(2 * math.pi * (i / length)) + shift) def _generate_sample(self, length=100): - if self._sample is not None: + if self._audio_out is not None: return self._sine_wave = array.array("H", self._sine_sample(length)) - self._sample = audiopwmio.PWMAudioOut(board.SPEAKER) + self._audio_out = audiopwmio.PWMAudioOut(board.SPEAKER) self._sine_wave_sample = audiocore.RawSample(self._sine_wave) def play_tone(self, frequency, duration): @@ -752,8 +752,8 @@ def start_tone(self, frequency): self._generate_sample(length) # Start playing a tone of the specified frequency (hz). self._sine_wave_sample.sample_rate = int(len(self._sine_wave) * frequency) - if not self._sample.playing: - self._sample.play(self._sine_wave_sample, loop=True) + if not self._audio_out.playing: + self._audio_out.play(self._sine_wave_sample, loop=True) def stop_tone(self): """Use with start_tone to stop the tone produced. @@ -779,10 +779,10 @@ def stop_tone(self): clue.stop_tone() """ # Stop playing any tones. - if self._sample is not None and self._sample.playing: - self._sample.stop() - self._sample.deinit() - self._sample = None + if self._audio_out is not None and self._audio_out.playing: + self._audio_out.stop() + self._audio_out.deinit() + self._audio_out = None @staticmethod def _normalized_rms(values): @@ -812,10 +812,10 @@ def sound_level(self): while True: print(clue.sound_level) """ - if self._samples is None: - self._samples = array.array("H", [0] * 160) - self._mic.record(self._samples, len(self._samples)) - return self._normalized_rms(self._samples) + if self._mic_samples is None: + self._mic_samples = array.array("H", [0] * 160) + self._mic.record(self._mic_samples, len(self._mic_samples)) + return self._normalized_rms(self._mic_samples) def loud_sound(self, sound_threshold=200): """Utilise a loud sound as an input.