Skip to content

Commit 93c1a66

Browse files
committed
Baseline hmm local listening app
0 parents  commit 93c1a66

107 files changed

Lines changed: 22221 additions & 0 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.env.example

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
AEAR_ENGINE_PROFILE=stub
2+
AEAR_SERVER_URL=http://127.0.0.1:8765
3+
AEAR_AKOUO_ROOT=/path/to/akouo
4+
AEAR_MOSS_AUDIO_REPO=./MOSS-Audio
5+
AEAR_MOSS_INSTRUCT_MODEL=./weights/MOSS-Audio-4B-Instruct
6+
AEAR_MOSS_THINKING_MODEL=./weights/MOSS-Audio-4B-Thinking
7+
AEAR_MOSS_RESIDENT=single
8+
AEAR_SGLANG_BASE_URL=http://127.0.0.1:30000
9+
DYLD_LIBRARY_PATH=/opt/homebrew/lib

.gitignore

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
.DS_Store
2+
.venv/
3+
.uv-cache/
4+
__pycache__/
5+
*.py[cod]
6+
.pytest_cache/
7+
.ruff_cache/
8+
.mypy_cache/
9+
*.egg-info/
10+
.playwright-cli/
11+
test-results/
12+
sessions/*/
13+
sessions/*.json
14+
journals/*.md
15+
journals/*.json
16+
lexicon/*.jsonl
17+
lexicon/*.json
18+
benchmarks/*.json
19+
uploads/
20+
weights/
21+
MOSS-Audio/
22+
apps/macos/.build/
23+
apps/macos/dist/
24+
25+
# Private derived listening data and per-machine config (local-first; never committed)
26+
akousmata/
27+
generations/
28+
settings/
29+
exports/

LICENSE

Lines changed: 157 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,157 @@
1+
Apache License
2+
Version 2.0, January 2004
3+
http://www.apache.org/licenses/
4+
5+
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
6+
7+
1. Definitions.
8+
9+
"License" shall mean the terms and conditions for use, reproduction, and
10+
distribution as defined by Sections 1 through 9 of this document.
11+
12+
"Licensor" shall mean the copyright owner or entity authorized by the copyright
13+
owner that is granting the License.
14+
15+
"Legal Entity" shall mean the union of the acting entity and all other entities
16+
that control, are controlled by, or are under common control with that entity.
17+
For the purposes of this definition, "control" means (i) the power, direct or
18+
indirect, to cause the direction or management of such entity, whether by
19+
contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the
20+
outstanding shares, or (iii) beneficial ownership of such entity.
21+
22+
"You" (or "Your") shall mean an individual or Legal Entity exercising
23+
permissions granted by this License.
24+
25+
"Source" form shall mean the preferred form for making modifications, including
26+
but not limited to software source code, documentation source, and configuration
27+
files.
28+
29+
"Object" form shall mean any form resulting from mechanical transformation or
30+
translation of a Source form, including but not limited to compiled object code,
31+
generated documentation, and conversions to other media types.
32+
33+
"Work" shall mean the work of authorship, whether in Source or Object form, made
34+
available under the License, as indicated by a copyright notice that is included
35+
in or attached to the work.
36+
37+
"Derivative Works" shall mean any work, whether in Source or Object form, that is
38+
based on (or derived from) the Work and for which the editorial revisions,
39+
annotations, elaborations, or other modifications represent, as a whole, an
40+
original work of authorship. For the purposes of this License, Derivative Works
41+
shall not include works that remain separable from, or merely link (or bind by
42+
name) to the interfaces of, the Work and Derivative Works thereof.
43+
44+
"Contribution" shall mean any work of authorship, including the original version
45+
of the Work and any modifications or additions to that Work or Derivative Works
46+
thereof, that is intentionally submitted to Licensor for inclusion in the Work by
47+
the copyright owner or by an individual or Legal Entity authorized to submit on
48+
behalf of the copyright owner. For the purposes of this definition, "submitted"
49+
means any form of electronic, verbal, or written communication sent to the
50+
Licensor or its representatives, including but not limited to communication on
51+
electronic mailing lists, source code control systems, and issue tracking systems
52+
that are managed by, or on behalf of, the Licensor for the purpose of discussing
53+
and improving the Work, but excluding communication that is conspicuously marked
54+
or otherwise designated in writing by the copyright owner as "Not a
55+
Contribution."
56+
57+
"Contributor" shall mean Licensor and any individual or Legal Entity on behalf of
58+
whom a Contribution has been received by Licensor and subsequently incorporated
59+
within the Work.
60+
61+
2. Grant of Copyright License. Subject to the terms and conditions of this
62+
License, each Contributor hereby grants to You a perpetual, worldwide,
63+
non-exclusive, no-charge, royalty-free, irrevocable copyright license to
64+
reproduce, prepare Derivative Works of, publicly display, publicly perform,
65+
sublicense, and distribute the Work and such Derivative Works in Source or Object
66+
form.
67+
68+
3. Grant of Patent License. Subject to the terms and conditions of this License,
69+
each Contributor hereby grants to You a perpetual, worldwide, non-exclusive,
70+
no-charge, royalty-free, irrevocable patent license to make, have made, use,
71+
offer to sell, sell, import, and otherwise transfer the Work, where such license
72+
applies only to those patent claims licensable by such Contributor that are
73+
necessarily infringed by their Contribution alone or by combination of their
74+
Contribution with the Work to which such Contribution was submitted. If You
75+
institute patent litigation against any entity (including a cross-claim or
76+
counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated
77+
within the Work constitutes direct or contributory patent infringement, then any
78+
patent licenses granted to You under this License for that Work shall terminate
79+
as of the date such litigation is filed.
80+
81+
4. Redistribution. You may reproduce and distribute copies of the Work or
82+
Derivative Works thereof in any medium, with or without modifications, and in
83+
Source or Object form, provided that You meet the following conditions:
84+
85+
(a) You must give any other recipients of the Work or Derivative Works a copy of
86+
this License; and
87+
88+
(b) You must cause any modified files to carry prominent notices stating that You
89+
changed the files; and
90+
91+
(c) You must retain, in the Source form of any Derivative Works that You
92+
distribute, all copyright, patent, trademark, and attribution notices from the
93+
Source form of the Work, excluding those notices that do not pertain to any part
94+
of the Derivative Works; and
95+
96+
(d) If the Work includes a "NOTICE" text file as part of its distribution, then
97+
any Derivative Works that You distribute must include a readable copy of the
98+
attribution notices contained within such NOTICE file, excluding those notices
99+
that do not pertain to any part of the Derivative Works, in at least one of the
100+
following places: within a NOTICE text file distributed as part of the Derivative
101+
Works; within the Source form or documentation, if provided along with the
102+
Derivative Works; or within a display generated by the Derivative Works, if and
103+
wherever such third-party notices normally appear. The contents of the NOTICE
104+
file are for informational purposes only and do not modify the License. You may
105+
add Your own attribution notices within Derivative Works that You distribute,
106+
alongside or as an addendum to the NOTICE text from the Work, provided that such
107+
additional attribution notices cannot be construed as modifying the License.
108+
109+
You may add Your own copyright statement to Your modifications and may provide
110+
additional or different license terms and conditions for use, reproduction, or
111+
distribution of Your modifications, or for any such Derivative Works as a whole,
112+
provided Your use, reproduction, and distribution of the Work otherwise complies
113+
with the conditions stated in this License.
114+
115+
5. Submission of Contributions. Unless You explicitly state otherwise, any
116+
Contribution intentionally submitted for inclusion in the Work by You to the
117+
Licensor shall be under the terms and conditions of this License, without any
118+
additional terms or conditions. Notwithstanding the above, nothing herein shall
119+
supersede or modify the terms of any separate license agreement you may have
120+
executed with Licensor regarding such Contributions.
121+
122+
6. Trademarks. This License does not grant permission to use the trade names,
123+
trademarks, service marks, or product names of the Licensor, except as required
124+
for reasonable and customary use in describing the origin of the Work and
125+
reproducing the content of the NOTICE file.
126+
127+
7. Disclaimer of Warranty. Unless required by applicable law or agreed to in
128+
writing, Licensor provides the Work (and each Contributor provides its
129+
Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
130+
either express or implied, including, without limitation, any warranties or
131+
conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
132+
PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness
133+
of using or redistributing the Work and assume any risks associated with Your
134+
exercise of permissions under this License.
135+
136+
8. Limitation of Liability. In no event and under no legal theory, whether in
137+
tort (including negligence), contract, or otherwise, unless required by
138+
applicable law (such as deliberate and grossly negligent acts) or agreed to in
139+
writing, shall any Contributor be liable to You for damages, including any direct,
140+
indirect, special, incidental, or consequential damages of any character arising
141+
as a result of this License or out of the use or inability to use the Work
142+
(including but not limited to damages for loss of goodwill, work stoppage,
143+
computer failure or malfunction, or any and all other commercial damages or
144+
losses), even if such Contributor has been advised of the possibility of such
145+
damages.
146+
147+
9. Accepting Warranty or Additional Liability. While redistributing the Work or
148+
Derivative Works thereof, You may choose to offer, and charge a fee for,
149+
acceptance of support, warranty, indemnity, or other liability obligations and/or
150+
rights consistent with this License. However, in accepting such obligations, You
151+
may act only on Your own behalf and on Your sole responsibility, not on behalf of
152+
any other Contributor, and only if You agree to indemnify, defend, and hold each
153+
Contributor harmless for any liability incurred by, or claims asserted against,
154+
such Contributor by reason of your accepting any such warranty or additional
155+
liability.
156+
157+
END OF TERMS AND CONDITIONS

PLAN.md

Lines changed: 75 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,75 @@
1+
# AEAR Implementation Plan
2+
3+
This file tracks the `mossagent.md` plan as implemented in this repository.
4+
5+
## Phase 0 - Feasibility Spike
6+
7+
- Implemented config hooks for official MOSS-Audio repo and local model paths.
8+
- Cloned `OpenMOSS/MOSS-Audio` at `5cbb1d823937cd5b5de3d8fa4d3a7253ebd3b883`.
9+
- Installed official `torch-runtime` dependencies in `.venv`.
10+
- Downloaded `MOSS-Audio-4B-Instruct` and `MOSS-Audio-4B-Thinking` under
11+
local ignored `weights/`.
12+
- Verified real MPS captioning, timestamped ASR, Thinking QA, full
13+
`PerceptionReport`, AKOUO command-output validation, and live daemon CLI use.
14+
- Implemented `mac-mps`, `cuda-server`, and `stub` profiles.
15+
- Implemented benchmark recording for server RAM high-water, report wall time,
16+
and approximate output-token throughput across clip folders.
17+
18+
Acceptance target from source plan: dense caption of a 60 s field recording on
19+
this Mac in tolerable wall time, target under 60 s. If slower, use
20+
`cuda-server` or 4B-Instruct-only.
21+
22+
## Phase 1 - AEAR Daemon
23+
24+
- Implemented FastAPI server and task endpoints.
25+
- Implemented `PerceptionReport` schema.
26+
- Implemented chunk planner and event dedupe utilities.
27+
- Implemented chunked `/report` inference for long audio with temporary WAV
28+
slices, timestamp offsets, merged transcripts/captions, and deduped events.
29+
- Implemented DSP port and validation tests.
30+
31+
Acceptance target: `/report` returns a valid `PerceptionReport` and DSP LUFS
32+
matches AKOUO within 0.2 LU on shared fixtures.
33+
34+
## Phase 2 - Claim Mapper And `ear` CLI
35+
36+
- Implemented claim category mapping, confidence limits, forbidden-topic filter,
37+
DSP corroboration checks, and contradiction handling.
38+
- Implemented `ear` CLI with JSON output.
39+
40+
Acceptance target: golden tests ensure paralinguistics never exceed
41+
`interpreted`, high-frequency/stereo questions return `undetermined`, and
42+
tempo disagreement yields an `undetermined` contradiction.
43+
44+
## Phase 3 - Harness Integration
45+
46+
- Implemented read-only AKOUO skill/schema loader.
47+
- Implemented routing-plan and command-output builder.
48+
- Implemented `aear listen` session writer with `PerceptionReport.json`,
49+
`command-output.json`, `listening-output.json`, and `journal.md`.
50+
- Implemented `/listen`, `/tech`, `/voice`, `/field`, `/forensic`, and
51+
`/one-sound-many-ears` routing defaults.
52+
53+
Acceptance target: `aear listen field.wav --command /field` produces schema
54+
valid command output with category, confidence, and basis for every claim.
55+
56+
## Phase 4 - Dialogic And Corpus Modes
57+
58+
- Implemented `aear chat` transcript/journal workflow with retained session
59+
context across turns.
60+
- Implemented `aear sweep`, lexicon builder, merged corpus timeline output, and
61+
deterministic `aear corpus-qa` over timeline artifacts.
62+
63+
## Phase 5 - Live Mode And Panel
64+
65+
- Implemented live-mode guardrails, local ring buffer, DSP VAD, browser panel,
66+
CLI start/status/stop controls, persisted stop manifests, and MCP tools.
67+
68+
## Hard Rules
69+
70+
- Do not edit AKOUO from AEAR.
71+
- MOSS output is evidence, not a claim.
72+
- The claim taxonomy remains the safety boundary.
73+
- Contradiction becomes `undetermined`; it is never silently resolved.
74+
- Anything requiring stereo image, absolute level, or greater-than-8 kHz content
75+
goes to DSP or remains `undetermined`.

0 commit comments

Comments
 (0)