Become a leader in the IoT community!
New DevHeads get a 320-point leaderboard boost when joining the DevHeads IoT Integration Community. In addition to learning and advising, active community leaders are rewarded with community recognition and free tech stuff. Start your Legendary Collaboration now!
“`python
from machine import Pin, I2S
import time
import ustruct
import array
import tensorflow as tf
led = Pin(2, Pin.OUT)
i2s = I2S(0,
sck=Pin(14),
ws=Pin(15),
sd=Pin(32),
mode=I2S.RX,
bits=16,
format=I2S.MONO,
rate=16000,
ibuf=2000)
model = tf.lite.Interpreter(model_path=”model.tflite”)
model.allocate_tensors()
input_details = model.get_input_details()
output_details = model.get_output_details()
def read_audio():
audio_data = array.array(‘h’, i2s.read(1024))
audio_samples = ustruct.unpack(‘<1024h', audio_data)
return audio_samples
def final_process_audio():
audio_samples = read_audio()
audio_input = tf.convert_to_tensor(audio_samples, dtype=tf.float32)
audio_input = tf.expand_dims(audio_input, axis=0)
model.set_tensor(input_details[0]['index'], audio_input)
model.invoke()
output_data = model.get_tensor(output_details[0]['index'])
command_index = int(output_data.argmax())
commands = ["turn off", "turn on"]
if command_index < len(commands): return commands[command_index] else: return "unknown" while True: command = final_process_audio() print(f"Recognized command: {command}") if command == "turn on": led.on() print("LED successfully turned on.") elif command == "turn off": led.off() print("LED successfully turned off.") else: print("Unknown command received.") time.sleep(1) ```
CONTRIBUTE TO THIS THREAD