惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
Project Zero
Project Zero
D
DataBreaches.Net
博客园_首页
罗磊的独立博客
Last Week in AI
Last Week in AI
博客园 - 【当耐特】
大猫的无限游戏
大猫的无限游戏
人人都是产品经理
人人都是产品经理
Recent Commits to openclaw:main
Recent Commits to openclaw:main
Forbes - Security
Forbes - Security
Attack and Defense Labs
Attack and Defense Labs
S
Secure Thoughts
雷峰网
雷峰网
Jina AI
Jina AI
O
OpenAI News
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
博客园 - 三生石上(FineUI控件)
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
S
SegmentFault 最新的问题
V
Visual Studio Blog
Webroot Blog
Webroot Blog
GbyAI
GbyAI
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
腾讯CDC
IT之家
IT之家
C
Cyber Attacks, Cyber Crime and Cyber Security
Y
Y Combinator Blog
T
The Blog of Author Tim Ferriss
T
Troy Hunt's Blog
博客园 - 叶小钗
N
News and Events Feed by Topic
B
Blog
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
博客园 - 司徒正美
C
Check Point Blog
T
Threatpost
SecWiki News
SecWiki News
爱范儿
爱范儿
阮一峰的网络日志
阮一峰的网络日志
P
Privacy International News Feed
J
Java Code Geeks
L
LINUX DO - 最新话题
PCI Perspectives
PCI Perspectives
T
Tailwind CSS Blog
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
www.infosecurity-magazine.com
www.infosecurity-magazine.com
C
Cisco Blogs
S
Schneier on Security

Hacker News - Newest: "AI"

AI can't read an investor deck AI as an attorney? Student uses ChatGPT, Gemini to sue UW over alleged racial discrimination Hacking MCP Servers in AI Systems – The Rug Pull: Tool Changes After Approval GitHub - MeepCastana/KubeezCut: Free Web based video editor GitHub - GenAI-Gurus/awesome-eu-ai-act: Curated tools, official sources, OSS, templates, and guides for EU AI Act compliance. Amazon AI Cancelling Webcomics Can AI judge journalism? A Thiel-backed startup says yes, even if it risks chilling whistleblowers Coming soon: 10 Things That Matter in AI Right Now DARPA built an AI to fact-check enemy weapons claims What explains heterogeneity in AI adoption? When AI Meets Muscle: Context-Aware Electrical Stimulation Promises a New Way to Guide Human Movements - Department of Computer Science AI Changed How We Build. It Did Not Change What Matters. Linux rules on using AI-generated code - Copilot is OK, but humans must take 'full responsibility for the… Meta spins up AI version of Mark Zuckerberg to engage with employees Code Mode: Let Your AI Write Programs, Not Just Call Tools | TanStack Blog GitHub - Delavalom/graft: Go framework for building AI agents. Type-safe tools, multi-provider (OpenAI, Anthropic, Gemini, Bedrock), zero vendor SDKs. India's TCS tops estimates, says new AI models did not dent services demand Gen Z's fading AI hype Strong feeling: we are in a folded AI reality GitHub - machinarii/total-recall-catalog: A reference catalog of latest knowledge retrieval, memory & RAG systems GitHub - mensfeld/code-on-incus: Give each AI agent its own isolated machine with root, Docker, and systemd. Active defense detects and stops threats automatically.. Quantization, LoRA, and the 8% Problem: Benchmarking Local LLMs for Production AI Iran war: We spoke to the man making Lego-style AI videos that experts say are powerful propaganda Powell, Bessent discussed Anthropic's Mythos AI cyber threat with major U.S. banks GitHub - immartian/bellamem: Persistent belief-graph memory for AI agents. Retrieves decisive context by importance — not recency, not RAG, not /compact. recursive-mode: The Repo-Native Operating System for AI Engineering After the attack on Sam Altman's home, will AI CEO's go on the offensive? The biggest advance in AI since the LLM Opus 4.6 vs GPT 5.4 One Prompt Unity World Generation Test “AI polls” are fake polls Client Challenge Can AI be a 'child of God'? Inside Anthropic's meeting with Christian leaders How to Switch AI Chatbots and Why You Might Want To GitHub - MattMessinger1/agentic_refund_guardrail: Safe refund policy layer for AI agents — Python + TypeScript. Same behavior, shared tests. Adam/papers/emergent_values_whitepaper.md at master · strangeadvancedmarketing/Adam Ask HN: How do you stop playing 20 questions with your AI coding tools How far can automation and AI support psychotherapy? - @theU GitHub - stagas/rtdiff: realtime git diff gui and AI-assisted commits A Mac Studio for Local AI — 6 Months Later A History of the Early Years of AI at the University of Edinburgh Why AI Coding Tools Still Feel Stuck on Localhost MSN AI Datacenters Are Becoming Strategic Targets twitter.com Penn Researchers Use AI to Surface Unreported GLP-1 Side Effects in Reddit Posts Show HN: MoodSense AI (ML and FastAPI and Gradio, Deployed on Hugging Face) Moodsense Ai - a Hugging Face Space by aman179102 AI models are terrible at betting on soccer—especially xAI Grok GitHub - HimashaHerath/github-dev-wrapped: AI-powered weekly GitHub activity reports deployed to GitHub Pages GitHub - alejandrobalderas/claude-code-from-source: Architecture, patterns & internals of Anthropic's AI coding agent — reverse-engineered from source maps AI and Tech brief: Ireland ascendant GitHub - Titovilal/context0: Context0 - Never Surrender Training for a Marathon with an AI Coach: What Worked and What Didn't Cyber Pulse: Agentic Intel - Apps on Google Play I Built an AI PR Reviewer That Catches Bugs by Not Looking for Bugs Gen Z workers are so fearful AI will take their job they’re intentionally sabotaging their company’s AI rollout | Fortune How AI Is Reimagining the Game of Golf–For Both Players and Courses GitHub - nattergabriel/reseed: A CLI tool for managing and distributing agent skills across projects Is SVG the final frontier? My AI workflow evolved from prompts to a near-autonomous workflow MLSharp Help - 3DGS Viewer & Generator I put my cognitive field based AI's runtime on GitHub Is Numble the first AI-proof game? A3: Kubernetes for autonomous AI agent fleets | Emergent Principles Deepali Vyas ("The Elite Recruiter") GitHub - msmarkgu/RelayFreeLLM: A restful API designed to route user prompts to various AI model providers. Unionized ProPublica staff are on strike over AI, layoffs, and wages Unleashing the Advantage of Quantum AI We're heading for an AI-fueled 'dementia crisis,' brain scientist warns The AI-Assisted Breach of Mexico's Government Infrastructure [pdf] GitHub - stef41/lmscan: 🔍 Detect AI-generated text and fingerprint which LLM wrote it. Open-source GPTZero alternative. Zero dependencies, works offline. MSN GitHub - visionscaper/collabmem: Enabling long-term collaboration with Agentic AI - building up episodic and world model memory over time with in-context awareness We gave an AI a 3 year retail lease in SF and asked it to make a profit | Andon Labs AI Code is Hollowing Out Open Source, and Maintainers are Looking the Other Way What leaked "SteamGPT" files could mean for the PC gaming platform's use of AI AI is the boss at this retail store. What could go wrong? GitHub - Wuzu11517/agentic-proxy: Local proxy meant to help reduce With Drones, Geophysics and ArtificiaI Intelligence, Researchers Prepare to Do Battle Against Land Mines A Single Operator, Two AI Platforms, Nine Government Agencies: The Full Technical Report 在 Steam 上购买 FriedrichAI: Offline AI 立省 10% GitHub - inevolin/resume-cli: Hit Claude usage limits? Resume any AI coding session elsewhere. Switch tools at zero friction. GitHub - atripati/ark: AI Runtime Kernel — a context operating system for AI agents. Eliminates tool bloat, loads only what’s needed, and gives LLMs their reasoning space back. How to Build a Secure AI PR Reviewer with Claude, GitHub Actions, and JavaScript This Startup Wants You to Pay Up to Talk With AI Versions of Human Experts Intel Arc Pro B70 Brings 32GB VRAM to Local AI for $949 WordPress 7.0: The Good, the AI, and the Still Missing AI on the couch: Anthropic gives Claude 20 hours of psychiatry IatroBench: Pre-Registered Evidence of Iatrogenic Harm from AI Safety Measures AI Agents Know About Supabase. They Don't Always Use It Right. The history and future of AI at Google, with Sundar Pichai Inside an AI‑enabled device code phishing campaign How Meta Used AI to Map Tribal Knowledge in Large-Scale Data Pipelines AI for Systems: Using LLMs to Optimize Database Query Execution Forecasting the Economic Effects of AI Introducing Tinker: Play with AI, bring your ideas to life AI sheds light on an ancient gaming mystery People really hate AI but not as much as Iran—or Democrats | Fortune What is an AI Product Engineer? Phoebe Gates wants her $185 million AI startup to succeed with 'no ties to my privilege or my last name': 'I have a chip on my shoulder' | Fortune
GitHub - xialeistudio/echoic
2026-04-11 · via Hacker News - Newest: "AI"

AI-powered speaking practice. Import any audio, practice sentence by sentence, and get instant phoneme-level pronunciation scoring.

English · 简体中文 · 繁體中文 · 日本語 · 한국어 · Français · Deutsch


Echoic demo


Features

  • Oral Practice — AI-driven speaking drills in three modes:
    • Read Aloud — phoneme-level accuracy, fluency, and completeness scored against a reference passage
    • Situational — respond to an AI-generated scenario; LLM evaluates content, relevance, and expression
    • Monologue — speak freely on a given topic for about one minute; LLM scores and gives feedback
  • Content Gallery — Browse and import curated episodes from VOA Learning English and BBC Learning English
  • Audio Import — Upload local files or import from any direct audio URL
  • Collections — Organise audio into named collections
  • Sentence Practice — Practice each sentence with adjustable playback speed (0.5×–2×)
  • Pronunciation Scoring — Accuracy, fluency, and completeness scores with word-level breakdown
  • Phoneme Display — IPA transcription per word; phonemes colour-coded by score after assessment
  • Word Error Review — Aggregate word accuracy across all sessions to identify weak spots
  • A/B Compare — Play original then your recording back-to-back in one click
  • AI Sentence Analysis — Translation and grammar breakdown via OpenAI or local Ollama (optional)
  • Practice History — Every attempt saved with full score details; click to replay any recording
  • Sentence States — Bookmark sentences for review; mark sentences as mastered to hide them
  • Sentence Search — Filter sentences by text within any audio file
  • Practice Heatmap — 365-day activity calendar on the overview page
  • Keyboard Shortcuts — Space / R / Enter / ←→ / Esc for hands-free practice flow
  • Dark Mode — Light, dark, and system-follow themes
  • Multi-language Learning — Practice English, Japanese, Korean, French, German, Spanish, Italian, Portuguese, Russian; phoneme scoring adapts per language automatically
  • Multilingual UI — English, Simplified Chinese, Traditional Chinese, Japanese, Korean, French, German

Supported Learning Languages

Sentence Practice (audio library)

Configure a single primary language in .env:

Language ASR__WHISPERX__LANGUAGE ALIGNMENT__WAV2VEC2__LANGUAGE SCORING__PHONEME__LANGUAGE
English en en en-us
French fr fr fr-fr
German de de de
Japanese ja ja ja

Oral Practice

Language is selected per session in the UI — no .env change required. Supported: English, Japanese, Korean, French, German, Spanish, Italian, Portuguese, Russian.

Language-specific ASR and alignment models are downloaded automatically on first use (~400 MB each) and cached permanently.

Phoneme scoring uses facebook/wav2vec2-lv-60-espeak-cv-ft for all languages.

Tech Stack

Layer Technology
Frontend React 18, Vite, Tailwind CSS v4, shadcn/ui, WaveSurfer.js
Backend FastAPI, SQLAlchemy, Alembic
Database PostgreSQL 16
ASR WhisperX (faster-whisper + CTranslate2)
Alignment wav2vec2
Scoring wav2vec2 + phonemizer
LLM OpenAI API / Ollama (optional)

Quick Start (Docker)

The easiest way to run Echoic. Requires only Docker.

git clone https://github.com/xialeistudio/echoic.git
cd echoic
docker compose up

Open http://localhost:8000 in your browser.

First run: The ASR and alignment models (~1 GB) download automatically on first use and are cached in a Docker volume. Subsequent starts are instant.

Enable AI Sentence Analysis (optional)

Create a .env file in the project root before running docker compose up.

OpenAI:

LLM__BACKEND=openai
LLM__OPENAI__API_KEY=sk-...
LLM__OPENAI__MODEL=gpt-4o-mini
# Any OpenAI-compatible endpoint is supported:
# LLM__OPENAI__BASE_URL=https://api.openai.com/v1

Ollama (local, no API key):

Install Ollama and pull a model first:

Then create .env:

LLM__BACKEND=ollama
LLM__OLLAMA__BASE_URL=http://host.docker.internal:11434
LLM__OLLAMA__MODEL=qwen2.5:3b
LLM__OLLAMA__NUM_CTX=512

host.docker.internal lets the container reach Ollama on your host machine. On Linux, replace it with your host IP.


Manual Setup

Prerequisites

  • Python 3.11+, uv
  • Node.js 20+, pnpm
  • PostgreSQL 16
  • ffmpeg
  • espeak-ng

macOS (Homebrew):

brew install ffmpeg espeak-ng postgresql@16

Ubuntu / Debian:

sudo apt install ffmpeg espeak-ng postgresql

Steps

# 1. Clone
git clone https://github.com/xialeistudio/echoic.git
cd echoic

# 2. Start PostgreSQL
make db                          # starts postgres via Docker on port 5433

# 3. Backend
cd backend
uv sync
cp .env.example .env             # edit as needed
uv run alembic upgrade head
cd .. && make run                # serves on http://localhost:8000

# 4. Frontend (development only — skip for production)
make dev-frontend                # http://localhost:5173

For production, build the frontend first; it gets bundled into the backend:

make build   # outputs to backend/static/
make run     # serves API + frontend at http://localhost:8000

Environment Variables

Copy backend/.env.example to backend/.env. All variables are optional except DATABASE_URL.

Core

Variable Default Description
DATABASE_URL postgresql://echoic:echoic@localhost:5433/echoic PostgreSQL connection string
CORS_ORIGINS ["http://localhost:5173"] Allowed CORS origins (JSON array)

ASR

WhisperX uses CTranslate2, which does not support MPS (Apple Silicon GPU). Use cpu on macOS.

Variable Default Description
ASR__WHISPERX__MODEL_SIZE base tiny · base · small · medium · large-v2 — larger = more accurate, slower
ASR__WHISPERX__DEVICE cpu cpu or cuda
ASR__WHISPERX__COMPUTE_TYPE int8 int8 · float16 · float32
ASR__WHISPERX__LANGUAGE en Language code for transcription

Alignment & Scoring

These use PyTorch — MPS is supported on Apple Silicon.

Variable Default Description
ALIGNMENT__WAV2VEC2__DEVICE cpu cpu · cuda · mps
ALIGNMENT__WAV2VEC2__LANGUAGE en Language code — must match ASR__WHISPERX__LANGUAGE
SCORING__PHONEME__DEVICE cpu cpu · cuda · mps
SCORING__PHONEME__LANGUAGE en-us espeak language code (en-us · fr-fr · de · ja …)
SCORING__PHONEME__ACCURACY_WEIGHT 0.5 Weight of accuracy in the final score
SCORING__PHONEME__FLUENCY_WEIGHT 0.3 Weight of fluency
SCORING__PHONEME__COMPLETENESS_WEIGHT 0.2 Weight of completeness

Storage

Variable Default Description
STORAGE__BACKEND local local or s3
STORAGE__LOCAL_DIR storage Directory for uploaded audio and recordings
STORAGE__S3_BUCKET S3 bucket name (when STORAGE__BACKEND=s3)
STORAGE__S3_PREFIX echoic/ S3 key prefix

LLM (optional)

Required only for the "Translation & Analysis" feature.

Variable Default Description
LLM__BACKEND openai or ollama — leave unset to disable
LLM__OPENAI__API_KEY OpenAI API key
LLM__OPENAI__MODEL gpt-4o-mini Model name
LLM__OPENAI__BASE_URL https://api.openai.com/v1 Any OpenAI-compatible endpoint
LLM__OLLAMA__BASE_URL http://localhost:11434 Ollama server URL
LLM__OLLAMA__MODEL llama3 Ollama model name
LLM__OLLAMA__NUM_CTX 512 Context size (512 is enough for sentence analysis)
LLM__OLLAMA__THINK false Enable thinking mode (e.g. for qwen3)

Development

# Terminal 1 — database (port 5433, avoids conflict with a local postgres)
docker compose up db

# Terminal 2 — backend with hot reload
make dev-backend

# Terminal 3 — frontend with HMR
make dev-frontend

Open http://localhost:5173. The dev server proxies /api to the backend at port 8000.

The docker-compose.override.yml exposes the database on localhost:5433 and is already in .gitignore — you can add your own local overrides there.


Keyboard Shortcuts

Available on the Practice page:

Key Action
Space Play / pause original audio
R Start / finish recording
Enter Submit recording for assessment
← → Previous / next sentence
Esc Cancel recording

Data Backup

All persistent data lives in two places:

  • Database: Docker volume postgres_data — practice records, scores, sentence states
  • Audio files: Docker volume storage — uploaded audio and recordings

Copy both volumes when migrating or backing up.


License

MIT