stardance has been extended another month! the new deadline is october 31 :)

You are browsing as a guest. Sign up (or log in) to start making projects!

Atlas -- Voice Assistant

  • 6 Devlogs
  • 10 Total hours

Note: After recent shipping problems and development issues with my other projects, I have decided not to ship Atlas on stardance, or to continue with any shipping. Most descriptions on stardance will be outdated. Check github for the latest. Stardance has been amazing, but the self-inflicted stress from it has pushed me to stop posting on it. Thanks!

Open comments for this post

2h 27m 56s logged

Hi Everyone! Finally decided on a real pipeline for Atlas’ intent engine. I wrote off fasttext before for being unintelligent. Fasttext doesn’t know real language like that audio and sound are related to each other. MiniLM or SnipsNLU might, but they would be so heavy. The end goal of Atlas is to be able to run on not just iOS, Android, and Linux, but also very low end linux devices like a first gen Raspberry Pi Zero. The intent engine stage should not be any source of bottlenecks or slowness. Fasttext is doing quite well. It kept failing, but with more training data, parameters, and random flags in the training step, it’s not half bad! The only major problem that I’ll run into is with arguments. For example, when you say “What’s the time in Tokyo?”, it can figure out that you’re asking what the time is pretty fast. The problem is making sure that it passes along “Tokyo” as an argument (or entity as some call it), or else it will just completely fail. This step is hard, but keywords should be easier to sneak in if I am desparate. Keyword based intent is very very unreliable though, so I’ll have to see and do some more research on fasttext’s potential. For now, it’s quite nice. If you want to use fasttext yourself, you just clone a git repo, compile into a binary, feed it one file with your examples and intents, and watch it fail and fail until it doesn’t. Massive respect to FastText devs (even though it’s Meta eww, it’s open source), and happy coding everyone! Ps– it’s unlikely that an Atlas version will be completed during the duration of stardance, but I’ll try. Thanks for reading!

0
0
4
Open comments for this post

1h 34m 6s logged

Hey everyone! Today, I tried using FastText (a local clasification model) as Atlas’ intent engine. It was pretty awesome seeing it actually kinda work! The setup is super easy, you just clone a repo, make a file, then run that file with a few args to load in your training data in a literal .txt file, and just test it there in the command line in literally under five minutes. FastText was looking like it would become Atlas’ intent engine, but unfortunatly, it’s kinda dumb, and I mean that in a very loving way. FastText doesn’t seem to know enough about language to be very confident or accurate in classifying sentances into back-end hooks. Given enough specifically equal training data (because too much data in one hook will make it be the most confident in that hook. Not exactly useful when “Play music” turns into AIRPLANE_ON), it could definitely work out, but for every single feature that i add in the future it would have to gen a GIANT list of examples, and even then, it woudln’t be great at something unpredictable. So I’m going to try flipping the script to some sort of NLU or LM, like MiniLM to use with some sort of ONNX integration so that I can make it work good on not just Android with Kotlin, but also linux, for a raspberry pi hardware project I’m calling Scout, which will basically be like a baofeng radio with a bunch of extra features (I can only work on that once I get my HAM liscense though.) Anyways, FastText proved that the whole pipeline works, and it might work as a ffallback if things go south and i really need something to ship or something for the end of stardance’s prototype. I also tried updating some app UI stuff, but going from HTML + CSS to Jetpack Compose is a wild ride. Anyhow, thanks for reading! ps– in the android studio screenshot, what am I even doing????

0
0
13
Open comments for this post

2h 47m 58s logged

Hi everyone! Atlas – CLI Version’s framework is finished! Once I add in the actions to actually do things, it will start being useful. It’s really rough, and relies on specific keywords for this prototype, but it’s a good framework concept for later. At this rate, I may be able to finish the full project by the end of October! Because my first time using Android Studio was a few days ago, I messed up a lot of the file structure because there isn’t a clear rename button in Android Studio, so I just started a new project and transferred all of the key files over. Fun stuff. Anyways, thanks for reading, and I’ll hopefully report in tomorrow. Or in a week, who knows.

0
0
92
Open comments for this post

1h 34m 38s logged

Hey everyone! Atlas is one step closer to it’s prototype release. Basically, since it’s designed to first roll out as an Android app (then a linux version later with KMP), and I want to get something tangible to ship as a prototype for the end of stardance, I’m making a version of Atlas that doesn’t have a comprehensive or accurate intent engine (for prototype it will just use keywords), doesn’t have any integrations (like Google Maps, Weather, or any APIs). I’ll try to make it shippable as an apk or in some other way where you can try the app without having to download it. It won’t run the wake word detector for the prototype either, it will just be activated by a button, and stt might not even be in place yet, I’ll have to see how much I can get done before Stardance ends. Anyways, on a completely different note, the old wake word detector that I was planning on using (once I actually start working on the not prototype version), called Porcupine apparently is closed source, and has some stupid limits to the custom wake word stuff, like model regeneration. Gross. So my new plan for that will be to take some open source TinyML implementation and modify it to be a wake word detector, to be as efficient as porcupine, but without a company in control. For the final intent engine, SnipsNLU is still probably going to be the plan, even though it’s a bit outdated. Anyhow, hopefully Atlas will have a ready and working CLI style prototype by September 20th ish. As always, thanks for reading my long rambles! PS– jetpack compose is so nice to use! I basically have nothing down for the front end regardless.

0
0
17
Open comments for this post

38m 13s logged

Hi Everyone! Today I migrated my workflow from VS Code (Code -OSS) to Android Studio. It makes a lot of the integrations with other things, like the wake word detector a lot easier, for my digital voice assistant, Atlas (hopefully Jarvis level speed and helpfulness). If you are coding with any other code editor right now, and are making an android app, I would strongly advise moving to Android Studio. It has a built in emulator, and while the file structure is extremely complex, at least compared to my old like 4 directories, it’ll be totally worth it, and anyways, to make the apk, you’ll probably have to use gradle, which is built into it anyways. There a little bit of new like AI stuff in it which is like a little annoying, but it has cool stuff like autocomplete in the terminal (past normal bash autocomplete). Anyways, happy coding! ps– made itself a bunch of errors in the code as a bonus :.

0
0
21
Open comments for this post

1h 26m 23s logged

Hi! My Voice Assistant, Atlas is officially underway for Stardance. It’s a late start, due to the fact that I started coding this on vacation, with SPCK editor, on my S21, which sadly, doesn’t support Hackatime. But whatever. Atlas is aimed to be a fast, local, and smart voice assistant. Google Assistant, Bixby, Alexa, and Siri seem to be quite sluggish in my experience, while offering little customisability. I mean it’s 2026, we should have custom wake words for google by now. Anyways, Atlas will have many custom features and integrations with services. Link to the github is here, if you’re interested. https://github.com/Hengtime787/Atlas/blob/main/README.md . It’s not ready yet. I still have to work out the entirity of the Intent Engine, the Personality Engine, TTS, Wake Word Detection, and STT. Atlas likely won’t be finished before the end Stardance, but a small scale prototype (without smart intent) might be integrated into a linux CLI or something just to showcase some features. Thanks for reading! – (Below is the logo concept.) –

0
0
15

Delete project?

Are you sure you want to permanently delete this project? This action cannot be undone.

All devlogs, followers, and associated data will be removed.

Followers

Loading…