Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
263 commits
Select commit Hold shift + click to select a range
0c5adaf
feat: use full session conversation history for context
DavidValin Feb 8, 2026
79195b1
feat: embedded whisper (no need for external installation)
DavidValin Feb 9, 2026
3e3d68e
Merge pull request #2 from DavidValin/whisper-rs
DavidValin Feb 9, 2026
78fc37c
feat: basics Kokoro TTS working
DavidValin Feb 9, 2026
d0a8507
vendor external lib, need to patch
DavidValin Feb 9, 2026
94dca3e
original lib.rs
DavidValin Feb 9, 2026
1cc2f49
patch: add support for multilingual synthesize in kokoro-tts-0.1.0
DavidValin Feb 9, 2026
3d09b48
spanish voice works great
DavidValin Feb 9, 2026
dedbbcd
fix typo
DavidValin Feb 9, 2026
f73772d
use alex voice
DavidValin Feb 9, 2026
7ea8117
add --tts cli arg and set it to kokoro by default
DavidValin Feb 9, 2026
8393a04
map all kokoro voices per language and set all default voices per lan…
DavidValin Feb 9, 2026
845e1c2
feat: kokoro / opentts support working via switchable --tts
DavidValin Feb 9, 2026
a9b5333
Update README with language + TTS support table
DavidValin Feb 9, 2026
2b52081
Merge pull request #4 from DavidValin/kokoro-tiny
DavidValin Feb 9, 2026
2935dfa
Merge pull request #5 from DavidValin/kokoro-tiny
DavidValin Feb 9, 2026
0674adb
set opentts as default for now
DavidValin Feb 9, 2026
f69449b
fix: audio playback
DavidValin Feb 9, 2026
d28536d
0.3.0-beta.6
DavidValin Feb 9, 2026
8cbcb1d
Update cross build
DavidValin Feb 10, 2026
ab6a22d
set vendored kokoro-tiny version
DavidValin Feb 10, 2026
feb925b
use patch.crates-io
DavidValin Feb 10, 2026
b21ed1b
use new patched kokoro-tiny. voices sound great!
DavidValin Feb 10, 2026
734ad51
Use kokoro as default tts system
DavidValin Feb 10, 2026
76288f9
0.3.0-beta.7
DavidValin Feb 10, 2026
69c7d5b
.
DavidValin Feb 10, 2026
bb1b968
.
DavidValin Feb 10, 2026
2457eaf
fix: fix cross build + remove stdout print from external dep
DavidValin Feb 10, 2026
c2cd1d9
feat: include espeak-ng-data.tar.gz in release to avoid external inst…
DavidValin Feb 10, 2026
5d71da8
fix: windows build which failed
DavidValin Feb 10, 2026
cd19f21
ef_dora
DavidValin Feb 10, 2026
c5e6761
Basics kokoro streaming
DavidValin Feb 10, 2026
0cf808f
fix: better audio interrupt
DavidValin Feb 10, 2026
c83fa65
fix some rendering issues with interrupt banner
DavidValin Feb 10, 2026
62ddd6c
do not translate, and detect the language
DavidValin Feb 10, 2026
c182459
do not play speech for code blocks
DavidValin Feb 10, 2026
34e9ee0
feat: useful features
DavidValin Feb 11, 2026
a2896d0
fix: all warnings gone
DavidValin Feb 11, 2026
55c0757
fix: do not cap phrases by length
DavidValin Feb 11, 2026
b1ffdd0
fix: fix accelerated playback after 5th phrase. use unbounded channel…
DavidValin Feb 11, 2026
52c4e05
fix: use the right lang code for chinese mandarin phoenemes
DavidValin Feb 11, 2026
8be95f0
validate picked language against available ones
DavidValin Feb 11, 2026
698bfeb
0.3.0-beta.8
DavidValin Feb 11, 2026
510d5f9
Merge pull request #6 from DavidValin/develop
DavidValin Feb 11, 2026
86b7e30
fix: remove router which was causing some phrases to play in wrong order
DavidValin Feb 11, 2026
c481a7a
feat: be able to retrieve the available voices
DavidValin Feb 11, 2026
d3487f8
feat: be able to select a voice via cli
DavidValin Feb 11, 2026
04e68b7
feat: add llama-server / llamafile support
DavidValin Feb 11, 2026
20c8380
separated steps
DavidValin Feb 11, 2026
c7ec0df
fix typo
DavidValin Feb 11, 2026
311550a
Updated instructions
DavidValin Feb 11, 2026
3e4ec62
Update status
DavidValin Feb 11, 2026
fd7eae0
highlight install steps
DavidValin Feb 11, 2026
4d019dc
fix typo
DavidValin Feb 12, 2026
10e04df
fix: rework status ui bottom bar, more compact
DavidValin Feb 12, 2026
b145aa3
cargo fmt, change default speed and default voice (en)
DavidValin Feb 12, 2026
9bdca4e
feat: be able to swap voice in realtime via keyboard
DavidValin Feb 12, 2026
5d74582
improve whisper transcription speed by 500%
DavidValin Feb 12, 2026
4f77c8d
print version after the banner
DavidValin Feb 12, 2026
2dd1a1f
feat: terminate the program if terminal is unsupported
DavidValin Feb 12, 2026
bcf6d17
add assets map and a helper to retrieve them
DavidValin Feb 12, 2026
20e3e58
feat: self contained stt & tts models for portability
DavidValin Feb 12, 2026
976cf00
avoid computing assets checksum except if building --release
DavidValin Feb 12, 2026
b839d53
Release candidate 1
DavidValin Feb 12, 2026
f520b65
Update README.md
DavidValin Feb 12, 2026
b4c6a93
Update README.md
DavidValin Feb 12, 2026
e617700
Update README.md
DavidValin Feb 12, 2026
88b6e4d
Update README.md
DavidValin Feb 12, 2026
d9110d4
trying to fix whisper transcription in windows / mac
DavidValin Feb 12, 2026
6547c65
fix: faster whisper and bug fixing
DavidValin Feb 12, 2026
ed07fd4
Merge pull request #7 from DavidValin/whisper-stuff
DavidValin Feb 12, 2026
598cb10
feat: split builds, set baseline cpu based builds per arch and separa…
DavidValin Feb 12, 2026
24ec1c5
0.3.0-rc-2
DavidValin Feb 12, 2026
0e642b9
Use <SPACE> to toggle pause / resume
DavidValin Feb 12, 2026
1cc4141
Merge pull request #8 from DavidValin/develop
DavidValin Feb 12, 2026
0ce1c4c
trying fixing white noise loop in linux
DavidValin Feb 12, 2026
8b29aba
docs
DavidValin Feb 12, 2026
c8bf5e5
host
DavidValin Feb 12, 2026
d82d18d
fmt
DavidValin Feb 12, 2026
6781d4f
Add messaging specs
DavidValin Feb 13, 2026
b5320de
some cleanup
DavidValin Feb 13, 2026
9652529
fixing bugs with silence playback, interruption via keyword
DavidValin Feb 13, 2026
433ae23
print conversation through ui thread
DavidValin Feb 14, 2026
f3eca3b
Windows build script (requires msvc)
DavidValin Feb 14, 2026
69d5638
multi version compatibility for ollama / llamaserver / llamafiles
DavidValin Feb 14, 2026
60e222b
fix: whisper / assets user home directory fix so it works in windows too
DavidValin Feb 14, 2026
47d487a
0.3.0-rc-3
DavidValin Feb 14, 2026
9aaa554
Update README.md
DavidValin Feb 14, 2026
bb76df0
Update README.md
DavidValin Feb 14, 2026
e0279a3
Update README.md
DavidValin Feb 14, 2026
d2423a7
fix: audio playback
DavidValin Feb 9, 2026
656a134
use new patched kokoro-tiny. voices sound great!
DavidValin Feb 10, 2026
da7938c
fix: Force static MSVC runtime so the user doesnt need to install it …
DavidValin Feb 14, 2026
beb1b06
fix: windows build - multinamed binaries
DavidValin Feb 14, 2026
a8636fa
.
DavidValin Feb 14, 2026
457cfb4
UI + conversation lines + speech working fast as hell here
DavidValin Feb 15, 2026
2bbce5a
bang!
DavidValin Feb 15, 2026
38dfe95
works almost perfect
DavidValin Feb 15, 2026
d9cb2bc
Merge pull request #9 from DavidValin/fix-ui-sluggish
DavidValin Feb 15, 2026
e1492b7
0.3.0-rc-4
DavidValin Feb 15, 2026
752e3c3
Actually, i can voice chat with openclaw / clawbot since it exposes a…
DavidValin Feb 15, 2026
c022702
Update README.md
DavidValin Feb 15, 2026
8684eda
interruption + tts + playback never fails
DavidValin Feb 15, 2026
1463784
cleanup responses
DavidValin Feb 15, 2026
734664b
feat: Add Push to Talk feature (via --ppt)
DavidValin Feb 15, 2026
4a928dc
use new openai compatible url as default
DavidValin Feb 16, 2026
5e8ba6a
Update README.md
DavidValin Feb 16, 2026
8ec21c5
PTT sample
DavidValin Feb 16, 2026
5a84281
Update build instructions
DavidValin Feb 16, 2026
63f84db
Update README.md
DavidValin Feb 16, 2026
29a50f3
Update README.md
DavidValin Feb 16, 2026
1ba21e4
add video demos
DavidValin Feb 16, 2026
2560f2e
Update Cargo.toml
DavidValin Feb 16, 2026
d953acd
Add demo links
DavidValin Feb 16, 2026
d2e7ac9
raw links
DavidValin Feb 16, 2026
c1c7c33
update preview
DavidValin Feb 16, 2026
1ddb8c1
add thumbnails
DavidValin Feb 16, 2026
c281aaa
thumbnails
DavidValin Feb 16, 2026
14ec264
Update README.md
DavidValin Feb 16, 2026
1272135
smaller thumbs
DavidValin Feb 16, 2026
983d54c
Update README.md
DavidValin Feb 16, 2026
6ef5738
Update README.md
DavidValin Feb 16, 2026
c0e0e9a
Update README.md
DavidValin Feb 16, 2026
ff4ab04
simplified llm client, use generic --model cli arg
DavidValin Feb 16, 2026
089c8b9
much better voice interrupt: run llm request as sync and separate thr…
DavidValin Feb 17, 2026
469e97d
Merge pull request #12 from DavidValin/paralell-llm
DavidValin Feb 17, 2026
961b00d
immediate tts interrupt on stop_all_rx
DavidValin Feb 17, 2026
2a44811
Merge pull request #13 from DavidValin/tts-interrupt
DavidValin Feb 17, 2026
8f90449
break
DavidValin Feb 18, 2026
1aaa0b3
Merge pull request #10 from DavidValin/develop
DavidValin Feb 18, 2026
1597186
0.3.1
DavidValin Feb 18, 2026
309c06b
Update acceleration compatibility matrix
DavidValin Feb 18, 2026
dd6ee98
Update README.md
DavidValin Feb 18, 2026
d983572
0.3.1
DavidValin Feb 18, 2026
639d913
Update acceleration compatibility matrix
DavidValin Feb 18, 2026
afae1a1
Update README.md
DavidValin Feb 18, 2026
b5a8076
new ui basics
DavidValin Feb 19, 2026
273fd73
cargo fmt
DavidValin Feb 19, 2026
d5e3136
separate thread for bar update + render
DavidValin Feb 19, 2026
6ad5e33
details about interruptions
DavidValin Feb 19, 2026
4fda3e7
.
DavidValin Feb 19, 2026
357e868
fmt
DavidValin Feb 19, 2026
35c714f
cleaning
DavidValin Feb 19, 2026
3ae8798
Merge pull request #14 from DavidValin/new-ui
DavidValin Feb 19, 2026
2023649
log details, status, banner,
DavidValin Feb 19, 2026
f6f3450
Merge branch 'main' into develop
DavidValin Feb 19, 2026
a79df4e
Merge pull request #15 from DavidValin/develop
DavidValin Feb 19, 2026
cbd5ec8
fix different ollama url / payload hell, set voice to bf_emma
DavidValin Feb 20, 2026
f053d78
0.3.3
DavidValin Feb 20, 2026
59a911b
Merge pull request #19 from DavidValin/llm-endpoints
DavidValin Feb 20, 2026
4de53ee
Merge pull request #20 from DavidValin/develop
DavidValin Feb 20, 2026
637aa70
Update instructions
DavidValin Feb 20, 2026
096607d
Update README.md
DavidValin Feb 20, 2026
8562025
Inline video demos
DavidValin Feb 22, 2026
6da893d
Update README.md
DavidValin Feb 23, 2026
9569440
basic windows build pipeline
DavidValin Feb 23, 2026
e13469d
Basic static build scripts for windows, linux and macos
DavidValin Feb 23, 2026
97db587
windows build static
DavidValin Feb 23, 2026
1b5c0e9
build static espeak-ng
DavidValin Feb 23, 2026
2320869
Build protoc static and link it to onnx. link espeak via cargo
DavidValin Feb 23, 2026
767b99f
added correct protobuf paths and set PROTOC_EXECUTABLE for onnx
DavidValin Feb 23, 2026
c60b6d0
link static onnx correctly
DavidValin Feb 23, 2026
5d21d27
wrapping paths and -vv
DavidValin Feb 23, 2026
470a7ae
fix DCMAKE_INSTALL_PREFIX wrap
DavidValin Feb 23, 2026
b378adc
change order
DavidValin Feb 23, 2026
e332c62
merge onnx libs into one. add preference to be static
DavidValin Feb 23, 2026
c95e517
latest polishings
DavidValin Feb 23, 2026
5dd9484
dynamically set cuda cmake flag based on variant
DavidValin Feb 23, 2026
2eee196
make sure openssl compiles for musl
DavidValin Feb 24, 2026
74ab507
merge the libs recursively. remove unused flags
DavidValin Feb 24, 2026
b142e0b
merge dep .libs too
DavidValin Feb 24, 2026
73da96d
enforce /MT protobuf in onnx build
DavidValin Feb 24, 2026
c7fb29b
,
DavidValin Feb 24, 2026
9418738
force /MT as its still showing /MD
DavidValin Feb 24, 2026
6bff763
use libprotobuf-lite.a
DavidValin Feb 24, 2026
894ebb9
.
DavidValin Feb 24, 2026
3f0e60f
.
DavidValin Feb 24, 2026
8a689ea
got missing symbols
DavidValin Feb 24, 2026
9f7c62f
`
DavidValin Feb 24, 2026
8be16aa
--
DavidValin Feb 25, 2026
ba900b2
add options, disable download-binaries
DavidValin Feb 25, 2026
b432748
split
DavidValin Feb 25, 2026
617f42d
add support for linking ESPEAK
DavidValin Feb 25, 2026
5f11bb9
onnxruntime static linking
DavidValin Feb 25, 2026
1869a03
.
DavidValin Feb 25, 2026
5aafb74
.
DavidValin Feb 25, 2026
b0104db
.
DavidValin Feb 25, 2026
76254a2
.
DavidValin Feb 25, 2026
b62a614
,
DavidValin Feb 25, 2026
c1fa0ce
.
DavidValin Feb 25, 2026
1466e95
:S
DavidValin Feb 25, 2026
7573db6
looking promising towards fully static musl
DavidValin Feb 25, 2026
70b82aa
.
DavidValin Feb 25, 2026
17f1447
.
DavidValin Feb 26, 2026
3e5053d
msvc hell
DavidValin Feb 26, 2026
e363511
.
DavidValin Feb 26, 2026
caf949a
move all libs to $ORT_LIB_LOCATION
DavidValin Feb 26, 2026
03f4be5
-vv
DavidValin Feb 26, 2026
09d9ee5
.
DavidValin Feb 26, 2026
719b504
use v1.23.2
DavidValin Feb 26, 2026
65b5a2d
tls-rustls and use musl g++ for linking, se correct onnxruntime base …
DavidValin Feb 26, 2026
c15db09
Use kokoro-micro (reduced kokoro-tiny version)
DavidValin Feb 26, 2026
5c40b5e
abseil as /MT
DavidValin Feb 26, 2026
8e4e26e
.
DavidValin Feb 27, 2026
0a4feae
Merge branch 'main' into cicd-base
DavidValin Feb 27, 2026
493ce70
install re2 static lib and make it visible to ort-sys
DavidValin Feb 27, 2026
7c5215a
.
DavidValin Feb 27, 2026
4b1b8bc
.
DavidValin Feb 27, 2026
f0b2e62
force C++ 17 everywhere
DavidValin Feb 27, 2026
8f35484
link all manually
DavidValin Feb 27, 2026
3e75912
.
DavidValin Feb 27, 2026
634bc2c
.
DavidValin Feb 27, 2026
e612524
.
DavidValin Feb 27, 2026
a1f66cd
.
DavidValin Feb 27, 2026
7217def
.
DavidValin Feb 27, 2026
676d998
.
DavidValin Feb 27, 2026
338fc51
.
DavidValin Feb 27, 2026
708c34e
make ort-sys happy
DavidValin Feb 28, 2026
175fc30
make ort-sys find re2.lib
DavidValin Feb 28, 2026
05810d1
.
DavidValin Feb 28, 2026
ba8fcd3
install re2 2024-07-02
DavidValin Feb 28, 2026
653c31d
.
DavidValin Feb 28, 2026
838ccf6
.
DavidValin Feb 28, 2026
628014d
.
DavidValin Feb 28, 2026
d136ddd
organizing linux build
DavidValin Feb 28, 2026
fd048a9
.
DavidValin Feb 28, 2026
07bcf44
link manually
DavidValin Mar 1, 2026
541ac39
try using custom .cmake file
DavidValin Mar 1, 2026
840c0b7
.
DavidValin Mar 1, 2026
00d153a
.
DavidValin Mar 1, 2026
bf22d09
shim for FlatBuffers (strtoll_l)
DavidValin Apr 25, 2026
ffd88b9
Merge branch 'main' into cicd-base
DavidValin May 7, 2026
3ee6761
.
DavidValin May 7, 2026
d10f2c8
restore from main
DavidValin May 7, 2026
6f36460
first musl amd64 working
DavidValin May 17, 2026
6f3b67c
.
DavidValin May 18, 2026
e0b9bce
.
DavidValin May 19, 2026
7dc7b04
.
DavidValin May 23, 2026
0941b19
.
DavidValin May 23, 2026
cfe1a16
.
DavidValin May 24, 2026
1673985
.
DavidValin May 24, 2026
2f68645
Update build_windows.ps1
DavidValin May 24, 2026
19060ba
.
DavidValin May 24, 2026
715a6d7
.
DavidValin May 26, 2026
de7c526
.
DavidValin May 26, 2026
bbd053d
.
DavidValin May 27, 2026
24a5622
.
DavidValin May 27, 2026
4da238f
.
DavidValin May 28, 2026
34bd72b
.
DavidValin May 28, 2026
180cad3
.
DavidValin May 28, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
113 changes: 113 additions & 0 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,113 @@
name: Build All Platforms

on:
push:
branches:
- main
pull_request:
branches:
- main

jobs:

windows-x64:
name: Windows Build (x64)
runs-on: windows-latest
steps:
- uses: actions/checkout@v4

- name: Prepare Directories
run: |
mkdir dist
mkdir packages

# ----------------------
# Cache CUDA SDK
- name: Cache CUDA SDK
uses: actions/cache@v3
id: cuda-cache
with:
path: C:\ProgramData\chocolatey\lib\cuda
key: windows-cuda-12-2

- name: Install CUDA SDK (if not cached)
if: steps.cuda-cache.outputs.cache-hit != 'true'
run: |
choco install cuda -y
refreshenv

- name: Prepare AI models
shell: cmd
run: |
set "KOKORO_CACHE=%USERPROFILE%\.cache\k"
mkdir "%KOKORO_CACHE%"
curl -L https://github.com/DavidValin/kokoro-micro/raw/main/models/0.bin -o "%KOKORO_CACHE%\0.bin"
curl -L https://github.com/DavidValin/kokoro-micro/raw/main/models/0.onnx -o "%KOKORO_CACHE%\0.onnx"

# ----------------------
# Build Variants (Windows)

- name: Build Windows CPU
shell: pwsh
run: |
Write-Host "=== Loading MSVC environment (x64) ==="

$vsdev = "C:\Program Files\Microsoft Visual Studio\2022\Enterprise\Common7\Tools\VsDevCmd.bat"

cmd /c "`"$vsdev`" -arch=x64 && set" | ForEach-Object {
if ($_ -match "^(.*?)=(.*)$") {
Set-Item -Path "Env:$($matches[1])" -Value $matches[2]
}
}

./build_windows.ps1 cpu

- name: Build Windows Vulkan
shell: pwsh
run: |
Write-Host "=== Loading MSVC environment (x64) ==="

$vsdev = "C:\Program Files\Microsoft Visual Studio\2022\Enterprise\Common7\Tools\VsDevCmd.bat"

cmd /c "`"$vsdev`" -arch=x64 && set" | ForEach-Object {
if ($_ -match "^(.*?)=(.*)$") {
Set-Item -Path "Env:$($matches[1])" -Value $matches[2]
}
}

./build_windows.ps1 vulkan

- name: Build Windows CUDA
shell: pwsh
run: |
Write-Host "=== Loading MSVC environment (x64) ==="

$vsdev = "C:\Program Files\Microsoft Visual Studio\2022\Enterprise\Common7\Tools\VsDevCmd.bat"

cmd /c "`"$vsdev`" -arch=x64 && set" | ForEach-Object {
if ($_ -match "^(.*?)=(.*)$") {
Set-Item -Path "Env:$($matches[1])" -Value $matches[2]
}
}

./build_windows.ps1 cuda

# ----------------------
# Upload artifacts
- name: Upload CPU Artifact
uses: actions/upload-artifact@v4
with:
name: windows-x64-cpu
path: target-cross\cpu

- name: Upload Vulkan Artifact
uses: actions/upload-artifact@v4
with:
name: windows-x64-vulkan
path: target-cross\vulkan

- name: Upload CUDA Artifact
uses: actions/upload-artifact@v4
with:
name: windows-x64-cuda
path: target-cross\cuda
4 changes: 3 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
assets/openblas*
target
target-cross
dist
.DS_Store
NEXT_STEPS.txt
NEXT_STEPS.txt
deps
Loading
Loading