You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: .github/README.md
+213-1Lines changed: 213 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,3 +1,215 @@
1
+
# Own your Friend DevKit, DevKit 2, OMI
2
+
3
+
# Intro
4
+
The idea of this repo is to provide just enough to be useful for developers.
5
+
It should provide the minimal requirements to either:
6
+
1. Provide firmware, sdks, examples to make your own software
7
+
2. Advanced solution or tutorial for one such that you can get full use of your devices.
8
+
9
+
Instead of going the way of making OMI's ecosystem compatible and more open -
10
+
This will attempt to make it easy to roll your own - and then try to make it compatible with OMI's ecosystem.
11
+
12
+
The app uses react native sdk (A fork of it, since the original wasn't updated fast enough)
13
+
The backend uses the python sdk (A fork of it, since the original isn't pushed to pypi)
14
+
15
+
# Vision
16
+
This fits as a small part of the larger idea of
17
+
"Have various sensors feeding the state of YOUR world to computers/AI and get some use out of it"
18
+
19
+
Usecases are numerous - OMI Mentor is one of them
20
+
Friend/Omi/pendants are a small but important part of this, since they record personal spoken context the best.
21
+
OMI-like devices with a camera can also capture visual context - or smart glasses - which also double as a display.
22
+
23
+
Regardless - this repo will try to do the minimal of this - multiple OMI-like audio devices feeding audio data - and from it,
24
+
- Memories
25
+
- Action items
26
+
- Home automation
27
+
28
+
# Arch
29
+
Checkout arch.md in backends/advanced-backends/Docs/arch.md
30
+
31
+
## Arch description
32
+
The current DevKit2 streams audio via Bluetooth to some device in the OPUS codec.
33
+
Once you have audio, you need trascription (you need speech to text AKA STT or automatic speech recognition AKA ASR. Deepgram is an API based service where you stream your audio to them and they give you transcripts. You can host this locally) from it and then any other things you want, such as -
34
+
Conversation summarization (typically done via LLMs, so ollama or call OpenAI)
35
+
You also need to store these things somewhere - and you need to store different things -
36
+
1. Transcript
37
+
2. Conversation summary
38
+
3. Maybe the audio itself?
39
+
4. Memories
40
+
41
+
Memories are stored in qdrant
42
+
Conversation, and like, general logging is done on mongodb.
43
+
44
+
Its a little complicated to turn that into PCM, which most Apps use.
45
+
46
+
# Repository Structure
47
+
48
+
## Core Components
49
+
50
+
### 📱 Mobile App (`friend-lite/`)
51
+
-**React Native app** for connecting to OMI devices via Bluetooth
52
+
- Streams audio in OPUS format to selected backend
0 commit comments