voxtype
This commit is contained in:
5 files changed
+2
No files matched your search
@@ -1,72 +0,0 @@
|
||||
pkgbase = voxtype-bin
|
||||
pkgdesc = Push-to-talk voice-to-text for Linux (pre-built binaries)
|
||||
pkgver = 0.6.6
|
||||
pkgrel = 2
|
||||
url = https://voxtype.io
|
||||
install = voxtype-bin.install
|
||||
arch = x86_64
|
||||
license = MIT
|
||||
depends = alsa-lib
|
||||
depends = curl
|
||||
depends = gcc-libs
|
||||
depends = glibc
|
||||
optdepends = wtype: keyboard simulation for Wayland (recommended, best CJK support)
|
||||
optdepends = dotool: keyboard simulation with layout support (KDE/GNOME compatible)
|
||||
optdepends = ydotool: keyboard simulation fallback (X11/TTY support)
|
||||
optdepends = wl-clipboard: clipboard support
|
||||
optdepends = libnotify: desktop notifications
|
||||
optdepends = pipewire: audio server (recommended)
|
||||
optdepends = pipewire-alsa: ALSA compatibility for PipeWire (required if using PipeWire)
|
||||
optdepends = pulseaudio: audio server (alternative to PipeWire)
|
||||
optdepends = vulkan-icd-loader: GPU acceleration via Vulkan for Whisper (enable with: voxtype setup gpu --enable)
|
||||
optdepends = cuda: GPU acceleration via CUDA for ONNX engines (NVIDIA GPUs)
|
||||
optdepends = rocm-hip-runtime: GPU acceleration via ROCm for ONNX engines (AMD GPUs)
|
||||
optdepends = ollama: local AI summarization for meeting mode
|
||||
provides = voxtype
|
||||
conflicts = voxtype
|
||||
backup = etc/voxtype/config.toml
|
||||
source = voxtype-0.6.6-avx2::https://github.com/peteonrails/voxtype/releases/download/v0.6.6/voxtype-0.6.6-linux-x86_64-avx2
|
||||
source = voxtype-0.6.6-avx2.asc::https://github.com/peteonrails/voxtype/releases/download/v0.6.6/voxtype-0.6.6-linux-x86_64-avx2.asc
|
||||
source = voxtype-0.6.6-avx512::https://github.com/peteonrails/voxtype/releases/download/v0.6.6/voxtype-0.6.6-linux-x86_64-avx512
|
||||
source = voxtype-0.6.6-avx512.asc::https://github.com/peteonrails/voxtype/releases/download/v0.6.6/voxtype-0.6.6-linux-x86_64-avx512.asc
|
||||
source = voxtype-0.6.6-vulkan::https://github.com/peteonrails/voxtype/releases/download/v0.6.6/voxtype-0.6.6-linux-x86_64-vulkan
|
||||
source = voxtype-0.6.6-vulkan.asc::https://github.com/peteonrails/voxtype/releases/download/v0.6.6/voxtype-0.6.6-linux-x86_64-vulkan.asc
|
||||
source = voxtype-0.6.6-onnx-avx2::https://github.com/peteonrails/voxtype/releases/download/v0.6.6/voxtype-0.6.6-linux-x86_64-onnx-avx2
|
||||
source = voxtype-0.6.6-onnx-avx2.asc::https://github.com/peteonrails/voxtype/releases/download/v0.6.6/voxtype-0.6.6-linux-x86_64-onnx-avx2.asc
|
||||
source = voxtype-0.6.6-onnx-avx512::https://github.com/peteonrails/voxtype/releases/download/v0.6.6/voxtype-0.6.6-linux-x86_64-onnx-avx512
|
||||
source = voxtype-0.6.6-onnx-avx512.asc::https://github.com/peteonrails/voxtype/releases/download/v0.6.6/voxtype-0.6.6-linux-x86_64-onnx-avx512.asc
|
||||
source = voxtype-0.6.6-onnx-cuda::https://github.com/peteonrails/voxtype/releases/download/v0.6.6/voxtype-0.6.6-linux-x86_64-onnx-cuda
|
||||
source = voxtype-0.6.6-onnx-cuda.asc::https://github.com/peteonrails/voxtype/releases/download/v0.6.6/voxtype-0.6.6-linux-x86_64-onnx-cuda.asc
|
||||
source = voxtype-0.6.6-onnx-rocm::https://github.com/peteonrails/voxtype/releases/download/v0.6.6/voxtype-0.6.6-linux-x86_64-onnx-rocm
|
||||
source = voxtype-0.6.6-onnx-rocm.asc::https://github.com/peteonrails/voxtype/releases/download/v0.6.6/voxtype-0.6.6-linux-x86_64-onnx-rocm.asc
|
||||
source = config-0.6.6.toml::https://raw.githubusercontent.com/peteonrails/voxtype/v0.6.6/config/default.toml
|
||||
source = voxtype-0.6.6.service::https://raw.githubusercontent.com/peteonrails/voxtype/v0.6.6/packaging/systemd/voxtype.service
|
||||
source = voxtype-0.6.6.bash::https://raw.githubusercontent.com/peteonrails/voxtype/v0.6.6/packaging/completions/voxtype.bash
|
||||
source = voxtype-0.6.6.zsh::https://raw.githubusercontent.com/peteonrails/voxtype/v0.6.6/packaging/completions/voxtype.zsh
|
||||
source = voxtype-0.6.6.fish::https://raw.githubusercontent.com/peteonrails/voxtype/v0.6.6/packaging/completions/voxtype.fish
|
||||
source = LICENSE-0.6.6::https://raw.githubusercontent.com/peteonrails/voxtype/v0.6.6/LICENSE
|
||||
source = README-0.6.6.md::https://raw.githubusercontent.com/peteonrails/voxtype/v0.6.6/README.md
|
||||
validpgpkeys = E79F5BAF8CD51A806AA27DBB7DA2709247D75BC6
|
||||
sha256sums = 505933791bb9389ef851813c404eefe63b186eba3aa842b2b321a164ecb8a6db
|
||||
sha256sums = SKIP
|
||||
sha256sums = ad9631c1fa810cab0749d66b73a549b6634047bbe36f004ad52d24acf969a467
|
||||
sha256sums = SKIP
|
||||
sha256sums = 2f7cf1bb199c2d25cae6566c2df0bbe62d39e712f9abea329cb2d563a3b548fe
|
||||
sha256sums = SKIP
|
||||
sha256sums = 300d040d682e39fdb3a5beca4814cdd1bc127d61efaea917ea43031193aba92f
|
||||
sha256sums = SKIP
|
||||
sha256sums = 3799fb9a6d5d59e132286b8c5f7166d849a746dcd255d2b24b77c87a3bd9fbb6
|
||||
sha256sums = SKIP
|
||||
sha256sums = ce130d9190274b84c61c974dbeeb3d92c308285f40d4d0befaa135be49af1a09
|
||||
sha256sums = SKIP
|
||||
sha256sums = 456026cc5b0122b3f99a52691c82579bda16d1c36bd739a378b7b1ea24f1294f
|
||||
sha256sums = SKIP
|
||||
sha256sums = SKIP
|
||||
sha256sums = SKIP
|
||||
sha256sums = SKIP
|
||||
sha256sums = SKIP
|
||||
sha256sums = SKIP
|
||||
sha256sums = SKIP
|
||||
sha256sums = SKIP
|
||||
|
||||
pkgname = voxtype-bin
|
||||
@@ -1,6 +0,0 @@
|
||||
*
|
||||
!.nvchecker.toml
|
||||
!.gitignore
|
||||
!*.install
|
||||
!PKGBUILD
|
||||
!.SRCINFO
|
||||
@@ -1,5 +0,0 @@
|
||||
[voxtype-bin]
|
||||
source = "github"
|
||||
github = "peteonrails/voxtype"
|
||||
use_latest_release = true
|
||||
prefix = "v"
|
||||
@@ -1,121 +0,0 @@
|
||||
# Maintainer: Peter Jackson <pete@peteonrails.com>
|
||||
pkgname=voxtype-bin
|
||||
pkgver=0.6.6
|
||||
pkgrel=2
|
||||
pkgdesc="Push-to-talk voice-to-text for Linux (pre-built binaries)"
|
||||
arch=('x86_64')
|
||||
url="https://voxtype.io"
|
||||
license=('MIT')
|
||||
depends=(
|
||||
'alsa-lib'
|
||||
'curl'
|
||||
'gcc-libs'
|
||||
'glibc'
|
||||
)
|
||||
optdepends=(
|
||||
'wtype: keyboard simulation for Wayland (recommended, best CJK support)'
|
||||
'dotool: keyboard simulation with layout support (KDE/GNOME compatible)'
|
||||
'ydotool: keyboard simulation fallback (X11/TTY support)'
|
||||
'wl-clipboard: clipboard support'
|
||||
'libnotify: desktop notifications'
|
||||
'pipewire: audio server (recommended)'
|
||||
'pipewire-alsa: ALSA compatibility for PipeWire (required if using PipeWire)'
|
||||
'pulseaudio: audio server (alternative to PipeWire)'
|
||||
'vulkan-icd-loader: GPU acceleration via Vulkan for Whisper (enable with: voxtype setup gpu --enable)'
|
||||
'cuda: GPU acceleration via CUDA for ONNX engines (NVIDIA GPUs)'
|
||||
'rocm-hip-runtime: GPU acceleration via ROCm for ONNX engines (AMD GPUs)'
|
||||
'ollama: local AI summarization for meeting mode'
|
||||
)
|
||||
provides=('voxtype')
|
||||
conflicts=('voxtype')
|
||||
backup=('etc/voxtype/config.toml')
|
||||
install=voxtype-bin.install
|
||||
validpgpkeys=('E79F5BAF8CD51A806AA27DBB7DA2709247D75BC6') # Peter Jackson <pete@peteonrails.com>
|
||||
_github="https://github.com/peteonrails/voxtype/releases/download/v$pkgver"
|
||||
source=(
|
||||
# Whisper binaries
|
||||
"voxtype-$pkgver-avx2::$_github/voxtype-$pkgver-linux-x86_64-avx2"
|
||||
"voxtype-$pkgver-avx2.asc::$_github/voxtype-$pkgver-linux-x86_64-avx2.asc"
|
||||
"voxtype-$pkgver-avx512::$_github/voxtype-$pkgver-linux-x86_64-avx512"
|
||||
"voxtype-$pkgver-avx512.asc::$_github/voxtype-$pkgver-linux-x86_64-avx512.asc"
|
||||
"voxtype-$pkgver-vulkan::$_github/voxtype-$pkgver-linux-x86_64-vulkan"
|
||||
"voxtype-$pkgver-vulkan.asc::$_github/voxtype-$pkgver-linux-x86_64-vulkan.asc"
|
||||
# ONNX binaries (all ONNX engines: Parakeet, Moonshine, SenseVoice, Paraformer, Dolphin, Omnilingual)
|
||||
"voxtype-$pkgver-onnx-avx2::$_github/voxtype-$pkgver-linux-x86_64-onnx-avx2"
|
||||
"voxtype-$pkgver-onnx-avx2.asc::$_github/voxtype-$pkgver-linux-x86_64-onnx-avx2.asc"
|
||||
"voxtype-$pkgver-onnx-avx512::$_github/voxtype-$pkgver-linux-x86_64-onnx-avx512"
|
||||
"voxtype-$pkgver-onnx-avx512.asc::$_github/voxtype-$pkgver-linux-x86_64-onnx-avx512.asc"
|
||||
"voxtype-$pkgver-onnx-cuda::$_github/voxtype-$pkgver-linux-x86_64-onnx-cuda"
|
||||
"voxtype-$pkgver-onnx-cuda.asc::$_github/voxtype-$pkgver-linux-x86_64-onnx-cuda.asc"
|
||||
"voxtype-$pkgver-onnx-rocm::$_github/voxtype-$pkgver-linux-x86_64-onnx-rocm"
|
||||
"voxtype-$pkgver-onnx-rocm.asc::$_github/voxtype-$pkgver-linux-x86_64-onnx-rocm.asc"
|
||||
# Config and support files
|
||||
"config-$pkgver.toml::https://raw.githubusercontent.com/peteonrails/voxtype/v$pkgver/config/default.toml"
|
||||
"voxtype-$pkgver.service::https://raw.githubusercontent.com/peteonrails/voxtype/v$pkgver/packaging/systemd/voxtype.service"
|
||||
"voxtype-$pkgver.bash::https://raw.githubusercontent.com/peteonrails/voxtype/v$pkgver/packaging/completions/voxtype.bash"
|
||||
"voxtype-$pkgver.zsh::https://raw.githubusercontent.com/peteonrails/voxtype/v$pkgver/packaging/completions/voxtype.zsh"
|
||||
"voxtype-$pkgver.fish::https://raw.githubusercontent.com/peteonrails/voxtype/v$pkgver/packaging/completions/voxtype.fish"
|
||||
"LICENSE-$pkgver::https://raw.githubusercontent.com/peteonrails/voxtype/v$pkgver/LICENSE"
|
||||
"README-$pkgver.md::https://raw.githubusercontent.com/peteonrails/voxtype/v$pkgver/README.md"
|
||||
)
|
||||
sha256sums=(
|
||||
# Whisper binaries
|
||||
'505933791bb9389ef851813c404eefe63b186eba3aa842b2b321a164ecb8a6db' # voxtype-avx2
|
||||
'SKIP' # voxtype-avx2.asc
|
||||
'ad9631c1fa810cab0749d66b73a549b6634047bbe36f004ad52d24acf969a467' # voxtype-avx512
|
||||
'SKIP' # voxtype-avx512.asc
|
||||
'2f7cf1bb199c2d25cae6566c2df0bbe62d39e712f9abea329cb2d563a3b548fe' # voxtype-vulkan
|
||||
'SKIP' # voxtype-vulkan.asc
|
||||
# ONNX binaries
|
||||
'300d040d682e39fdb3a5beca4814cdd1bc127d61efaea917ea43031193aba92f' # voxtype-onnx-avx2
|
||||
'SKIP' # voxtype-onnx-avx2.asc
|
||||
'3799fb9a6d5d59e132286b8c5f7166d849a746dcd255d2b24b77c87a3bd9fbb6' # voxtype-onnx-avx512
|
||||
'SKIP' # voxtype-onnx-avx512.asc
|
||||
'ce130d9190274b84c61c974dbeeb3d92c308285f40d4d0befaa135be49af1a09' # voxtype-onnx-cuda
|
||||
'SKIP' # voxtype-onnx-cuda.asc
|
||||
'456026cc5b0122b3f99a52691c82579bda16d1c36bd739a378b7b1ea24f1294f' # voxtype-onnx-rocm
|
||||
'SKIP' # voxtype-onnx-rocm.asc
|
||||
# Config and support files
|
||||
'SKIP' # config.toml
|
||||
'SKIP' # voxtype.service
|
||||
'SKIP' # voxtype.bash
|
||||
'SKIP' # voxtype.zsh
|
||||
'SKIP' # voxtype.fish
|
||||
'SKIP' # LICENSE
|
||||
'SKIP' # README.md
|
||||
)
|
||||
|
||||
package() {
|
||||
# Install Whisper CPU binaries to /usr/lib/voxtype/
|
||||
install -Dm755 "$srcdir/voxtype-$pkgver-avx2" "$pkgdir/usr/lib/voxtype/voxtype-avx2"
|
||||
install -Dm755 "$srcdir/voxtype-$pkgver-avx512" "$pkgdir/usr/lib/voxtype/voxtype-avx512"
|
||||
|
||||
# Install Whisper Vulkan GPU binary
|
||||
install -Dm755 "$srcdir/voxtype-$pkgver-vulkan" "$pkgdir/usr/lib/voxtype/voxtype-vulkan"
|
||||
|
||||
# Install ONNX binaries (all ONNX engines)
|
||||
install -Dm755 "$srcdir/voxtype-$pkgver-onnx-avx2" "$pkgdir/usr/lib/voxtype/voxtype-onnx-avx2"
|
||||
install -Dm755 "$srcdir/voxtype-$pkgver-onnx-avx512" "$pkgdir/usr/lib/voxtype/voxtype-onnx-avx512"
|
||||
install -Dm755 "$srcdir/voxtype-$pkgver-onnx-cuda" "$pkgdir/usr/lib/voxtype/voxtype-onnx-cuda"
|
||||
install -Dm755 "$srcdir/voxtype-$pkgver-onnx-rocm" "$pkgdir/usr/lib/voxtype/voxtype-onnx-rocm"
|
||||
|
||||
# /usr/bin/voxtype symlink is managed by the .install script
|
||||
# to preserve user-configured backends across upgrades
|
||||
|
||||
# Install default configuration
|
||||
install -Dm644 "$srcdir/config-$pkgver.toml" "$pkgdir/etc/voxtype/config.toml"
|
||||
|
||||
# Install systemd user service
|
||||
install -Dm644 "$srcdir/voxtype-$pkgver.service" "$pkgdir/usr/lib/systemd/user/voxtype.service"
|
||||
|
||||
# Install documentation
|
||||
install -Dm644 "$srcdir/README-$pkgver.md" "$pkgdir/usr/share/doc/$pkgname/README.md"
|
||||
|
||||
# Install license
|
||||
install -Dm644 "$srcdir/LICENSE-$pkgver" "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
|
||||
|
||||
# Install shell completions
|
||||
install -Dm644 "$srcdir/voxtype-$pkgver.bash" "$pkgdir/usr/share/bash-completion/completions/voxtype"
|
||||
install -Dm644 "$srcdir/voxtype-$pkgver.zsh" "$pkgdir/usr/share/zsh/site-functions/_voxtype"
|
||||
install -Dm644 "$srcdir/voxtype-$pkgver.fish" "$pkgdir/usr/share/fish/vendor_completions.d/voxtype.fish"
|
||||
}
|
||||
@@ -1,128 +0,0 @@
|
||||
_set_default_backend() {
|
||||
# Set the default CPU backend based on CPU capabilities
|
||||
if grep -q avx512f /proc/cpuinfo 2>/dev/null; then
|
||||
ln -sf /usr/lib/voxtype/voxtype-avx512 /usr/bin/voxtype
|
||||
echo "avx512"
|
||||
else
|
||||
ln -sf /usr/lib/voxtype/voxtype-avx2 /usr/bin/voxtype
|
||||
echo "avx2"
|
||||
fi
|
||||
}
|
||||
|
||||
_preserve_or_set_backend() {
|
||||
# Restore saved backend from pre_upgrade, or set default
|
||||
local saved="/tmp/.voxtype-backend-upgrade"
|
||||
if [ -f "$saved" ]; then
|
||||
target=$(cat "$saved")
|
||||
rm -f "$saved"
|
||||
if [ -f "$target" ]; then
|
||||
ln -sf "$target" /usr/bin/voxtype
|
||||
echo "${target##*/voxtype-}"
|
||||
return
|
||||
fi
|
||||
fi
|
||||
|
||||
# No saved state or target gone — set default
|
||||
_set_default_backend
|
||||
}
|
||||
|
||||
_detect_gpu() {
|
||||
# Detect GPU for acceleration recommendation
|
||||
GPU_DETECTED=""
|
||||
GPU_VENDOR=""
|
||||
if [ -d /dev/dri ]; then
|
||||
if ls /dev/dri/renderD* >/dev/null 2>&1; then
|
||||
if command -v lspci >/dev/null 2>&1; then
|
||||
GPU_INFO=$(lspci 2>/dev/null | grep -i 'vga\|3d\|display' | head -1 | sed 's/.*: //')
|
||||
if [ -n "$GPU_INFO" ]; then
|
||||
GPU_DETECTED="$GPU_INFO"
|
||||
case "$GPU_INFO" in
|
||||
*NVIDIA*|*GeForce*|*RTX*|*GTX*) GPU_VENDOR="nvidia" ;;
|
||||
*AMD*|*Radeon*) GPU_VENDOR="amd" ;;
|
||||
*Intel*) GPU_VENDOR="intel" ;;
|
||||
esac
|
||||
fi
|
||||
fi
|
||||
if [ -z "$GPU_DETECTED" ]; then
|
||||
GPU_DETECTED="GPU detected (install pciutils for details)"
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ -n "$GPU_DETECTED" ]; then
|
||||
echo ""
|
||||
echo " GPU detected: $GPU_DETECTED"
|
||||
echo ""
|
||||
echo " For GPU acceleration, run:"
|
||||
echo " sudo voxtype setup gpu --enable"
|
||||
echo ""
|
||||
if [ "$GPU_VENDOR" = "nvidia" ]; then
|
||||
echo " Whisper: requires vulkan-icd-loader"
|
||||
echo " ONNX engines: requires cuda package"
|
||||
elif [ "$GPU_VENDOR" = "amd" ]; then
|
||||
echo " Whisper: requires vulkan-icd-loader"
|
||||
echo " ONNX engines: requires rocm-hip-runtime"
|
||||
else
|
||||
echo " Requires: vulkan-icd-loader package"
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
post_install() {
|
||||
echo ""
|
||||
echo "==> Voxtype Post-installation Steps:"
|
||||
echo ""
|
||||
|
||||
CPU_VARIANT=$(_set_default_backend)
|
||||
echo " CPU backend: $CPU_VARIANT (using voxtype-$CPU_VARIANT)"
|
||||
|
||||
_detect_gpu
|
||||
|
||||
echo ""
|
||||
echo " 1. Add your user to the 'input' group:"
|
||||
echo " sudo usermod -aG input \$USER"
|
||||
echo ""
|
||||
echo " 2. Log out and back in for group changes to take effect"
|
||||
echo ""
|
||||
echo " 3. Download a model:"
|
||||
echo " voxtype setup model"
|
||||
echo ""
|
||||
echo " 4. Start voxtype:"
|
||||
echo " systemctl --user enable --now voxtype"
|
||||
echo ""
|
||||
echo " Optional: Switch to an ONNX engine (Parakeet, SenseVoice, etc.):"
|
||||
echo " voxtype setup onnx --enable"
|
||||
echo ""
|
||||
}
|
||||
|
||||
pre_upgrade() {
|
||||
# Save the current backend so post_upgrade can restore it
|
||||
if [ -L /usr/bin/voxtype ]; then
|
||||
readlink /usr/bin/voxtype > /tmp/.voxtype-backend-upgrade
|
||||
fi
|
||||
}
|
||||
|
||||
post_upgrade() {
|
||||
echo ""
|
||||
echo "==> Voxtype upgraded to 0.6.6"
|
||||
echo ""
|
||||
|
||||
BACKEND=$(_preserve_or_set_backend)
|
||||
echo " Backend: $BACKEND (using voxtype-$BACKEND)"
|
||||
|
||||
echo ""
|
||||
echo " v0.6.6: Media pause, audio feedback, KDE Plasma support, 7 bug fixes."
|
||||
echo " New: pause_media = true pauses music during recording (MPRIS/playerctl)."
|
||||
echo " New: audio feedback plays when transcription completes."
|
||||
echo " KDE Plasma keybinding docs added to README and user manual."
|
||||
echo " Fixes: ydotool on Fedora, eitype paste mode, duplicate notifications,"
|
||||
echo " xclip on X11, text replacement ordering, remote initial_prompt."
|
||||
echo ""
|
||||
echo " Restart the daemon to apply updates:"
|
||||
echo " systemctl --user restart voxtype"
|
||||
echo ""
|
||||
}
|
||||
|
||||
post_remove() {
|
||||
rm -f /usr/bin/voxtype
|
||||
}
|
||||
Reference in new issue
Block a user