iArt.ai
AI 모션 그래픽 소프트웨어, 누구나 사용할 수 있는 After Effects 대안, 텍스트 프롬프트로 몇 분 안에 애니메이션·설명 영상 제작
Local, no-terminal desktop text-to-speech using Qwen3-TTS, for non-technical users: models auto-download with a progress bar, three modes (preset voices, voice design, voice cloning), and outputs are playable WAVs. Built to run natively on macOS, Windows, and Linux.
저장소 README에서 가져옴
README 전체를 불러오는 중입니다. 아래는 저장된 발췌입니다.
Bunyi (pronounced BOON-yee, IPA /ˈbuːɲi/ — the "ny" is the palatal nasal, like the "ñ" in jalapeño or the "ni" in onion) is Malay/Indonesian for "sound". Local, no-terminal desktop text-to-speech using Qwen3-TTS, for non-technical users: models auto-download with a progress bar, three modes (preset voices, voice design, voice cloning), and outputs are playable WAVs. Built to run natively on macOS, Windows, and Linux.README 전문 보기 ↗
Bunyi (pronounced BOON-yee, IPA /ˈbuːɲi/ — the "ny" is the palatal nasal, like the "ñ" in jalapeño or the "ni" in onion) is Malay/Indonesian for "sound".
Local, no-terminal desktop text-to-speech using Qwen3-TTS, for non-technical users: models auto-download with a progress bar, three modes (preset voices, voice design, voice cloning), and outputs are playable WAVs. Built to run natively on macOS, Windows, and Linux.
Home: bunyi.app
Blog post: Bunyi: local AI speech
Download:
| Platform | Current release | Requirements |
|---|---|---|
| macOS | Apple Silicon, macOS 15 or later | |
| Windows | x64, standard and NVIDIA CUDA builds | |
| Linux | x64, standard and NVIDIA CUDA builds |
On macOS, drag the signed and notarized app from the .dmg to Applications
and launch. Windows releases provide a setup .exe; Linux releases provide
.deb (Ubuntu/Debian) and .rpm (Fedora) packages. Install, then open Bunyi
from Start or your application menu. Portable archives remain available,
including for older archive-only releases. The download page only offers
installers once they are published. No .NET runtime installation is needed.
Upgrades and uninstall retain models, voices, recordings and settings.
See the code signing policy below for Windows publisher and signature details.
Windows Store, from a terminal: the Microsoft Store build can be installed
with winget by its Store ID. Searching msstore by name does not find Bunyi (a
known winget limitation, winget-cli#4010),
so use the ID:
winget install --id 9PD4BBXZ3948 --source msstore
NVIDIA GPU acceleration: follow the CUDA setup guide for the Windows CUDA installer or Linux CUDA archive. It covers the NVIDIA driver, CUDA 13 and cuDNN versions, library paths, verifying acceleration in Bunyi, and switching back to the standard CPU build.
For agents and terminals: the Windows/Linux CLI guide covers one-shot generation, an optional resident server, and observable model downloads. Standalone CLI archives are available in Windows/Linux 1.3.0. Native macOS CLI work is tracked in #217.
Long text (Windows/Linux 1.3.0): Windows/Linux estimate speech duration and automatically generate requests above 20 estimated seconds in shorter sections, in all three modes. Overlong attempts retry as smaller sections. The desktop app saves one complete WAV, then plays it; Stop cancels the unfinished recording. Long Voice Design requests also use the configured clone model to carry the designed voice through the remaining sections. Native macOS has the same behavior; see the long-text plan for validation and remaining work.
Model download defaults: macOS, Windows and Linux desktop/CLI packages use the Bunyi mirror for the three TTS models. Whisper keeps its existing source. Saved sources take priority: choosing Hugging Face or a custom source keeps that choice across restarts and upgrades. Reset restores the default packaged with the build. See the packaged-defaults contract.
Qwen3-TTS has no single cross-platform runtime — MLX is Apple-Silicon only — so this is a monorepo of native apps per platform kept at feature parity by a shared spec, not shared code.
| Path | Target | Stack | Status |
|---|---|---|---|
apps/macos/ | macOS (Apple Silicon) | Swift + MLX + SwiftUI | working |
apps/dotnet/ | Windows and Linux | C# .NET + Avalonia + ONNX Runtime | working — all three modes |
spec/ | all | — | source of truth |
Three operating systems, two codebases, one spec.
Feature parity is a discipline, enforced by documents — see
AGENTS.md for the rule. Before changing any feature, read:
spec/FEATURES.md — every feature and its behaviorspec/DATA-FORMATS.md — on-disk layout, manifest.txt,
voices.json, backup zip, output WAV (so a models folder or backup is
interchangeable between apps of the same runtime family)spec/CLI.md — agent-facing CLI, machine output,
download progress, one-shot execution, and persistent server behaviorThe staged cross-platform implementation design is in
CLI-PLAN.md.
Any feature change updates the spec and every app.
apps/macos/README.md /
apps/macos/AGENTS.md (XcodeGen + xcodebuild).apps/dotnet/AGENTS.md
(dotnet build, .NET 10 SDK). All three modes work. Releases contain
self-contained builds, with no runtime to install. Installer build and
validation instructions are in packaging/README.md.Signing differs by platform, because the three do not offer the same thing.
macOS — signed with an Apple Developer ID certificate, notarized by Apple, and stapled. The release workflow verifies both the app and the disk image before publishing, so Gatekeeper accepts them offline.
Windows — the release workflow signs desktop apps, CLI binaries and installers with Certum. Each release's notes state its signing status; older 1.3.1 downloads remain unsigned. Signed builds identify Shazron Elhazar Abdullah as the publisher and include a timestamp. SmartScreen can still warn on new signed downloads; inspect the publisher under More info. Verify downloads against the SHA-256 checksum published with each release. See the signing setup for the release procedure.
Linux — packages and portable archives are unsigned. Verify the download against the SHA-256 checksum published with each release.
Team roles — committers, reviewers and approvers: Shazron Abdullah (@shazron).
Privacy. This program does not transfer any information to other networked systems unless you ask it to. Models are downloaded from the source you choose the first time you use a mode; generation happens on your own machine, and the audio never leaves it.
Hosting the models yourself (when the Hub is slow, or you are serving a team):
SELF-HOSTING.md, and CACHING.md for
putting that bucket behind a CDN once it is serving — plus what to set up so
the bill cannot surprise you.
CI: .github/workflows/ builds macOS (green) and the
.NET matrix for Windows + Linux, both green.
release.yml builds, Developer ID signs,
notarizes, staples, and publishes the macOS app — tags and manual runs only.
See apps/macos/AGENTS.md for the release and help-book
details.
Alongside the usual CI, the repo runs an on-demand, AI-assisted security
review, defined in
.github/workflows/security-review.yml.
It calls the reusable workflow from
shaztechio/multi-llm-security-review,
which reviews the code with more than one model and reports what they find.
How it runs. Manually only (workflow_dispatch), never on push or PR. The
maintainer picks the reviewers:
What it produces. Findings are uploaded as SARIF to the repository's code scanning (Security tab). The workflow can also open pull requests with proposed fixes, as drafts by default, so a human reviews every change before it merges.
How the workflow is locked down.
contents, pull-requests,
security-events and actions: read.What it isn't. It is an extra review layer, not an audit or a guarantee. Model output can miss real issues or report false ones, so each finding is checked by hand. The security fixes merged so far came out of this process.
Data. Running it sends the repository's source to the providers you enable, so it needs their API keys in the repo secrets. The app itself is unaffected: the privacy statement above still holds for the shipped program.
Reporting a vulnerability. Please don't open a public issue. Use GitHub's private vulnerability reporting, or contact the maintainer, @shazron, directly.
Apache-2.0. Every source file carries the license header at the top.