emexlabs / WearableIntelligenceSystem

Wearable computing software framework for intelligence augmentation research and applications. Easily build smart glasses apps, relying on built in voice command, speech recognition, computer vision, UI, sensors, smart phone connection, NLP, facial recognition, database, cloud connection, and more. This repo is in beta.
MIT License
110 stars 23 forks source link

Mobility - GLBOX shrink or dissapear #2

Closed CaydenPierce closed 2 years ago

CaydenPierce commented 2 years ago

An issue with the usability, we arability, and mobility of the system is the need to carry the GLBOX laptop around everywhere.

It's heavy, bulky, requires a bag to carry, and thus isn't highly mobile.

There are two main options here (please feel free to suggest other options):

  1. Move the GLBOX to a smaller wearable that fits in pocket

    • all SBCs that I know of which have compute are too big (i.e. RaspberryPi 4 is no better than laptop as it won't fit in pocket)
    • Running GNU/Linux on Android phone hardware possible but buggy, unsupported, probably cause a lot of tangential issues
    • Pi Zero W (or similiar GNU/Linux SBCs) are small, low power, and could do it, but they are so computationally weak that we would have to stream video to the cloud or the ASP anyway for any intense computer vision
  2. Move GLBOX to the cloud

    • requires implementing audio streaming from ASG to GLBOX over internet
    • introduces latency on transcription and command response
    • will use a lot of data, means the system will now only work with an internet connection
    • better long term - means that users don't have to buy 2 pieces of hardware, and unlimited, high speed data is a reasonable assumption for 5 years out

Decision

2, move GLBOX to the cloud

Why?

For a number of reason, #2 makes more sense:

How?

The GLBOX code is already a Python socket server running in GNU/Linux, so moving it to the "the cloud" is almost already done. We just need to modify a few things to make it work on a cloud server as opposed to a wearable server.

MVP

Further

CaydenPierce commented 2 years ago

Almost complete at commit id c92e8e3ad23c2394bd661f0967628ee9255e647d working with @stairs1

TODO

CaydenPierce commented 2 years ago

Everything required for full move to the cloud is complete... except for VAD.

For VAD we are using WebRTCVad ... it works terribly, seemingly any environmental noise will trick it. This is not worth the time, will just make the experience worse. Thus, VAD is 90% complete being integrated but we are going to leave it for now as a future feature.

Commit d4cbebb18d779d759b1f43b564d7f1c56aefc498 marks the completion of this issue, includes fixes for bugs (server restart), and all new cloud features.

That means this Issue is complete. Thanks @stairs1 for help on GLBOX side