语音 SDK

实时转写(边说边出字)、录音、音量分析、音频文件转写,以及基于转写的翻译与会议纪要。

import { voice } from "/developer/sdk/v1/aidc.js";

清单里声明:"sdk": ["voice", "model"]、"permissions": { "microphone": true }、"models": ["gpt-live-transcribe", "deepseek-flash"]。

实时转写

const session = await voice.startTranscription({
  languages: ["zh", "en", "ja", "ar", "bn"],   // 预期输入语种(ISO 639-1)
  keywords: ["AIDC", "Nexus"],                // 专有名词提示
  onPartial: (id, text) => render(id, text),  // 同一句会多次回调,文字越来越长
  onFinal: (id, text) => commit(id, text),    // 这一句定稿
  onLevel: (level) => meter(level),           // 0–1 音量
  onStop: () => done(),
});
session.stop();

原理:平台用服务端的 key 换一张 10 分钟的短命票据(会话配置钉在票据上),浏览器经 WebRTC 直连转写模型——音频字节不经 AIDC 平台。断句在浏览器侧做:静音超过 silenceMs(缺省 600ms)就把这一句交去定稿。每场最长 5 分钟,到点自动结束,再开一场即可续上。

参数 说明
languages 缺省 ["zh","en"];支持 zh、en、ja、ar、bn、ko、fr、de、es、ru、vi、th、id
prompt / keywords 场景提示与专有名词(不得含 <、>、换行)。转写会偏向这些词,只放会上真会出现的词——写死无关的词会把别的词听成它
silenceMs / speechRms 断句的静音时长与音量门限
stream 复用已有的麦克风流(例如录像时)

录音

const recorder = await voice.record({ timesliceMs: 1000, onChunk: (blob) => upload(blob) });
const audio = await recorder.stop();   // 整段 webm / mp4(Safari)

录音与实时转写可以同时进行:先 voice.openMicrophone() 拿到流,分别传给 record({ stream }) 和 startTranscription({ stream })。

音量

const stopMeter = voice.levelMeter(stream, (level) => bar.style.width = `${level * 100}%`);

文件转写

const { text, language, duration } = await voice.transcribe(audioBlob, { language: "zh" });

单次 ≤ 4 MB(约 15 分钟 24 kbps opus)。更长的录音在服务端或命令行处理:aidc voice transcribe meeting.m4a(ffmpeg 自动转码、分段)。

翻译

const out = await voice.translate("下周一上线新版本", ["ja", "en", "ar-EG", "bn"]);
// → { ja: "来週の月曜日に…", en: "…", "ar-EG": "…", bn: "…" }

一次请求同时译成多种语言,缺省用 deepseek-flash(最快)。ar-EG 是埃及阿拉伯语(埃及方言),ar 是现代标准阿拉伯语。可以传 context(上文,只帮助理解、不翻译)。

会议纪要

const m = await voice.minutes(transcript, { meetingTitle: "周例会" });
// → { title, summary, decisions, actionItems: [{owner, task, due}], topics, markdown }

markdown 可以直接发给智能体归档(见 连接 SDK)。

命令行

aidc voice transcribe meeting.m4a --language zh
aidc voice translate "下周一上线" --to ja,en,ar-EG,bn
aidc voice minutes transcript.txt --title 周例会

错误

microphone_denied、microphone_not_found、microphone_unsupported、transcription_rejected、transcription_disconnected;API 的 quota_exhausted(应用当日实时转写场次用完)。

本页由 developer/docs/voice.md 生成 · Markdown 原文 · llms.txt