Live data from Hacker News

Simple Speech-to-Text on the '10 Cents' CH32V003 Microcontroller

github.com

11–20 of 37 posts

Re: Simple Speech-to-Text on the '10 Cents' CH32V003 Microcontroller

#11
post #5

It's really cool how people are taking these tiny cheap MCUs and making them do fun things for hobbyists. There's nothing better than a project with zero real-world use-case but that's done just because it was a challenge. Eg: Making the CH32V003 programmable via USB: https://www.youtube.com/watch?v=j-QazXghkLY CH32V003 "Super-Cluster": https://www.youtube.com/watch?v=lh93FayWHqw Powering a Nixie Tube from USB with a…

[deleted]

Re: Simple Speech-to-Text on the '10 Cents' CH32V003 Microcontroller

#12
post #4
post #2

this is exciting! it's still at prototype stage: 'getting about 90% accuracy [distinguishing between the spoken digits 'zero' to 'nine',] with the code as it stands.' i wonder if modern continuous optimization algorithms could yield a neural network that would do better than this mfcc approach at, perhaps, even lower computational cost they seem to have gotten more expensive lately, though (11.83¢ in quantity 500), a…

Replacing the codebook approach with a statistical/DNN is more likely to give higher accuracy than getting rid of mfccs as spectral representation (at least in general ASR). (Arguably, using Mel spectra was the least controversial design choice made for Whisper.)

thank you! those are good points. i was thinking that maybe you could get by with some relatively sparse convolutional layers over the raw sound samples and save yourself the expense of doing a real fourier transform, but maybe that's a dumb idea

Re: Simple Speech-to-Text on the '10 Cents' CH32V003 Microcontroller

#13
post #7

About 10 years ago, I used a basic flip phone, vendor locked to a $15/month Verizon plan. The Wal Mart page for a similar device is still up at https://www.walmart.com/ip/Verizon-Wireless-Samsung-Gusto-3-... Among other things, it had limited speech recognition -- you could say "Call" followed by a name, and it would match that against the address book on device. We live in strange times.

i had a sprint samsung sch-6100 flip phone with a similar voice recognition feature at the end of last millennium, but it would only match the name you told it to call against names you'd previously made training voice recordings of. that is, it wasn't trying to do speech-to-text or text-to-speech; it was just trying to discriminate among the particular recordings you had made previously

i didn't use the feature very much because to activate it, iirc, you had to either flip the phone open or press a button on a hands-free headset. but obviously this wasn't a bluetooth headset, and the phone couldn't play music, so you wouldn't walk around with it in your ears all the time; unless you'd just gotten off a different call, you'd have to get it out, put it in your ears, plug it in, and then you could use the speech recognition feature

so unless you were a secretary or something, making one phone call after another for hours (to a small number of people), you might as well just use speed dial

Re: Simple Speech-to-Text on the '10 Cents' CH32V003 Microcontroller

#14
post #10
post #7

About 10 years ago, I used a basic flip phone, vendor locked to a $15/month Verizon plan. The Wal Mart page for a similar device is still up at https://www.walmart.com/ip/Verizon-Wireless-Samsung-Gusto-3-... Among other things, it had limited speech recognition -- you could say "Call" followed by a name, and it would match that against the address book on device. We live in strange times.

Yeah, even 24 year-old Nokia 3310 had some form of voice dialling [1]. OS/2 Warp 4.0 (1996) came with speech recognition and dictation software [2]. The CPUs it supported back then weren't much better than a 10-year old phone. [1] https://en.wikipedia.org/wiki/Nokia_3310 [2] https://www.os2world.com/wiki/index.php?title=OS/2_Warp_4:_%...

In addition, way back in 1993, Apple released speech recognition with the original AV Macs (which were outfitted with 55 MHz AT&T 3210 DSPs in addition to their 25+ MHz Motorola 68040s) which was then also supported on the PowerPC Macs released the following year (that started at 60 MHz)

Re: Simple Speech-to-Text on the '10 Cents' CH32V003 Microcontroller

#15
post #12
post #4

Earlier quoted context omitted.

Replacing the codebook approach with a statistical/DNN is more likely to give higher accuracy than getting rid of mfccs as spectral representation (at least in general ASR). (Arguably, using Mel spectra was the least controversial design choice made for Whisper.)

thank you! those are good points. i was thinking that maybe you could get by with some relatively sparse convolutional layers over the raw sound samples and save yourself the expense of doing a real fourier transform, but maybe that's a dumb idea

It is a good idea that is worth trying out! Like anything there are tradeoffs though, so it is not guaranteed to be better for this particular circumstance. The ability to use low bitdepth integer operations (which easy for a neural net) should be beneficial for a CPU without a floating point unit. But weights need to be stored - and it can be difficult to match FFT efficiency - depending on what resolution is actually needed/utilized.

Re: Simple Speech-to-Text on the '10 Cents' CH32V003 Microcontroller

#16
Really nice project! Great care is taken in optimized audio feature extraction, very cool to see. I am working on a very similar project[1], using the Puya PY32. I opted for that chip over CH32 since it has DMA (simplifies efficient ADC input at audio rates), and 1 kB more RAM. For a couple of cents more. I have written about some of the hardware constraints on low cost audio already, and am getting to the audio DSP/ML in the next months.

1. https://hackaday.io/project/194511-1-dollar-tinyml

Re: Simple Speech-to-Text on the '10 Cents' CH32V003 Microcontroller

#17
Minor nitpick/clarification. As it stands this is doing detection of a fixed, small vocabulary of words - not open ended text to speech covering entire language. Also called speech command recognition / keyword spotting. Which is already impressive and useful. General STT on this grade hardware would be an amazing feat!

Re: Simple Speech-to-Text on the '10 Cents' CH32V003 Microcontroller

#19

Earlier quoted context omitted.

Speech to text, not text to speech. There's nothing to hear but your own voice.

Well, considering everything outside/before whisper would be less than a 40% accurate on my voice (don’t know the reason and now whisper is close to 100% even with tech stuff/abbreviations). Things like Siri, Google, Alexa, Dragon etc all never understand (I stopped trying, so it might have improved, but I did try not long ago) anything I say. When I ask for the weather, something like Siri looks on Google what the b…

I experience exactly the same. For me it’s an “accent” caused by profound hearing loss. No issues in everyday conversation, but almost zero success with any speech to text tool.

Re: Simple Speech-to-Text on the '10 Cents' CH32V003 Microcontroller

#20
post #5

It's really cool how people are taking these tiny cheap MCUs and making them do fun things for hobbyists. There's nothing better than a project with zero real-world use-case but that's done just because it was a challenge. Eg: Making the CH32V003 programmable via USB: https://www.youtube.com/watch?v=j-QazXghkLY CH32V003 "Super-Cluster": https://www.youtube.com/watch?v=lh93FayWHqw Powering a Nixie Tube from USB with a…

The software portion of this has a common real-world use case: keyword spotting (voice command) in interactive phone calls.
Post reply on HN