Willow Documentation
repository·main·Indexed 25 days ago
https://github.com/heywillow/willowA platform for high-speed language inference tasks supporting STT, TTS, and LLMs. Includes guides for self-hosting the Willow Inference Server, testing audio with intray, resolving ESP32 crashes using addr2line, and generating NVS partitions.
What's inside Willow
- For detailed guides, API references, and technical instructions, visit the official documentation at heywillow.io.
Self-host the Willow Inference Server
mainYou can self-host the Willow Inference Server to perform high-speed language inference tasks. It supports various applications including STT (Speech-to-Text), TTS (Text-to-Speech), LLM (Large Language Models), and WebRTC-based workflows.Generate an NVS partition
mainTo generate an NVS (Non-Volatile Storage) partition, create a
nvs.csvfile defining your keys, types, encodings, and values. Then, use thenvs_partition_gen.pyscript to generate the.binfile.Example
nvs.csvformat:key,type,encoding,value WIFI,namespace,, PSK,data,string,mypassword SSID,data,string,myssid/opt/esp/idf/components/nvs_flash/nvs_partition_generator/nvs_partition_gen.py generate --version 2 nvs.csv nvs.bin 0x24000Test audio without API using intray
mainYou can test audio data without using the API by using intray.
- Run intray pointing to a directory:
./intray-x86_64-unknown-linux-musl --dir /tmp - Set the
CONFIG_SERVER_URIenvironment variable to point to your raw audio upload endpoint (e.g.,http://192.168.0.10:8080/upload/full/willow.raw). - If the file already exists, intray will append a suffix. You can play these files using
ffplaywith the following parameters (note that options depend on your ESP firmware configuration):ffplay -f s16le -ac 1 -ar 16000 willow.raw
ffplay -f s16le -ac 1 -ar 16000 willow.raw- Run intray pointing to a directory:
Resolve crashes using addr2line
mainWhen encountering a
Guru Meditation Erroror similar crash on ESP32 hardware, useaddr2lineto map the addresses in the backtrace to specific lines in your source code.Pass the path to your
.elffile and the address pairs (PC:A0) from the backtrace to thextensa-esp32s3-elf-addr2linetool.$ /opt/esp/tools/xtensa-esp32s3-elf/esp-2021r2-patch5-8.4.0/xtensa-esp32s3-elf/bin/xtensa-esp32s3-elf-addr2line -e build/willow.elf 0x42043afc:0x3fcaf490 0x42042b4a:0x3fcaf4b0 0x420245f6:0x3fcaf4d0 0x42024637:0x3fcaf840 0x420105ea:0x3fcaf860 0x42008b20:0x3fcaf890 0x4211bd17:0x3fcafac0