Speech streaming over Wifi

Harry picture Harry · Feb 18, 2015 · Viewed 7.8k times · Source

I have been trying to stream speech( May extend to audio) at 16Khz over the wifi HTTP TCP/IP. I have started of with ESP8266 wifi module considering its compatibility with Arduino and other platforms.

During the course I had to figure out the feasibility of ESP8266 to stream at 16KHz. This link says ( http://espressif.com/en/products/esp8266/ ) it's capable but found contradicting views over other forums.

  1. But is it really possible to have a I2S on such a small cpu..?

I proceeded with the Idea of bit banking and using GPIO but the max frequency available with GPIO is 1KHz( ie. the PWM). The firmware used here was NODEmcu and LUA script- https://github.com/nodemcu/nodemcu-firmware/wiki/nodemcu_api_en.

  1. Is it a hardware limitation or the firmware limitation..?

  2. Can anyone guide me to access I2S on ESP and also assure its compatibility to stream at 16KHZ.

Answer

Chris picture Chris · Oct 15, 2015

Lua is interpreted and so programs written in it will not get the maximum performance possible from the ESP8266. It is now possible to program the ESP8266 form the Arduino IDE using it's version of C. This is compiled and likely to be far faster.

I found LUA apps unreliable. I've written a few programs using the Arduino IDE and they are rock solid, so I recommend that path. (https://www.youtube.com/watch?v=hu-g-XTCEpU) I've also seen a video of someone streaming audio using an ESP8266 but they added extra hardware for buffering. Sorry I don't have that link.