转写结果
用户研究中的一段回答
spokenตอนแรกก็ลองใช้แอปอยู่ ประมาณสองอาทิตย์ แล้วก็เลิกใช้ เพราะมันโหลดช้ามาก
writtenตอนแรกก็ลองใช้แอปอยู่ ประมาณ 2 อาทิตย์ แล้วก็เลิกใช้ เพราะมันโหลดช้ามาก
口语写法按原话保留回答,逐字引用要的正是这个。书面写法把时长写成阿拉伯数字。
公开表态的消息来源
spokenงบประมาณปีนี้ตั้งไว้ที่ หนึ่งร้อยยี่สิบล้านบาท และจะเริ่มเบิกจ่ายในเดือน ตุลาคม
writtenงบประมาณปีนี้ตั้งไว้ที่ 120 ล้านบาท และจะเริ่มเบิกจ่ายในเดือน ตุลาคม
记者引用口语版本,归档书面版本。两个版本都带着说出这个数字的那一秒。
候选人答到一半
spokenที่ทีมเก่าผมดูแล pipeline ของ data ทั้งหมด ประมาณ สิบห้า ตัว
writtenที่ทีมเก่าผมดูแล pipeline ของ data ทั้งหมด ประมาณ 15 ตัว
两种写法下,英文术语都保持英文。由职位名和工具名组成的词表,让每位候选人的转写稿拼法一致。
本页每组转写对照都是编写的示意,用来说明格式选项会改变什么,发布前已对照实际输出复核。语音转文字页面提供模型对真实录音的实录转写,并注明采集日期。
如何融入一项研究
研究团队录了 30 场访谈,接下来一个月都在打字整理。编辑部和消息来源谈了一小时,最后凭记忆引用四句话。招聘小组录下每位候选人的面试,比较时却只凭印象。转写把这份工作从耳朵搬到纸面上。每场访谈一结束就成为文字,每个词带着它的秒数,每一轮发言带着说话人编号。引语靠搜索找到,再对照录音里说出它的那一刻核实。编码从第一天就能开始。转写稿保留说话时的语言,泰语回答里的英文术语也完整保留。
开启说话人分离,发送每段录音
通话结束后直接发送文件,最长 60 分钟。说话人轮次来自对整段录音的一次处理,文件须短于 9 分钟。较长的访谈请在停顿处切开,每一段都开启说话人分离发送。扣费前先读取时长,模型无法读取的文件会在扣费前被拒绝。
请求词级时间戳
每个词都带有秒数,报告里的引语可以链接到那一刻。逐字引语用口语写法,数字用书面写法。
发送这项研究的词表
产品名、地名和访谈提纲里用到的术语,最多 50 个。每份转写稿的拼法都会保持一致。
每场访谈会变成什么
0 和 1
说话人
带秒数的引语
第一天就能编码
录音仍是原始记录
模型写下说了什么。主题、引语和评分,由您在文字上标注。
一项研究,按周推进
招募并录音
访谈通过视频通话或电话进行。每段录音结束即发送,一次请求最长 60 分钟,并开启说话人分离。
边录边读
最后十场访谈开始之前,前十份转写稿已经读完。哪个问题引出的回答太单薄,研究中途就可以改写它。
为全部语料编码
所有转写稿放在同一个文件夹里,带着说话人编号和秒数。主题标注在文字上,每个主题出现多少次,搜一下就知道。
带着引语写报告
报告里的每句引语都注明出自哪场访谈、第几秒。能访问音频的读者,点一下就能核对任何一行。
词级时间戳和说话人轮次在同一个请求里完成,两者都不改变价格。
一项研究要花多少
| 工作量 | 音频 | 费用 |
|---|---|---|
| 一场访谈,45 分钟 | 45 分钟 | $0.38 |
| 十场访谈 | 7.5 小时 | $3.75 |
| 一项研究,30 场访谈 | 约 $11.25 | |
每分钟音频 8.33 积分,按毫秒计费。以此费率计算 22.5 小时的访谈。说话人轮次和词级时间戳不额外收费。
面向开发者
示例代码开启说话人分离提交一段录音,再从响应中读取转写稿、说话人轮次和本次扣除的积分。
完整 API 参考AUDIO=$(base64 < meeting.m4a | tr -d '\n') curl -X POST https://api.paxalabs.com/v1/stt \ --max-time 300 \ -H "Authorization: Bearer $PAXA_API_KEY" \ -H "Content-Type: application/json" \ -d "{\"audio\": \"$AUDIO\", \"model\": \"paxa-stt-lite-v1-preview\", \"diarization\": true}"
import { readFile } from "node:fs/promises"; const audio = (await readFile("meeting.m4a")).toString("base64"); const response = await fetch("https://api.paxalabs.com/v1/stt", { method: "POST", headers: { Authorization: `Bearer ${process.env.PAXA_API_KEY}`, "Content-Type": "application/json", }, body: JSON.stringify({ audio, model: "paxa-stt-lite-v1-preview" }), // A long recording can run for minutes; give it room. signal: AbortSignal.timeout(300_000), }); if (!response.ok) throw new Error(`Transcription failed: ${response.status}`); const { text, usage } = await response.json(); console.log(text, `${usage.credits} credits`);
import base64 import os import requests with open("meeting.m4a", "rb") as file: audio = base64.b64encode(file.read()).decode() response = requests.post( "https://api.paxalabs.com/v1/stt", headers={"Authorization": f"Bearer {os.environ['PAXA_API_KEY']}"}, json={"audio": audio, "model": "paxa-stt-lite-v1-preview"}, # A long recording can run for minutes; give it room. timeout=300, ) response.raise_for_status() body = response.json() print(body["text"], body["usage"]["credits"], "credits")
模型为听懂什么而设计
Paxa STT Lite 优先转写泰语,其他语言按原话转写,包括中途切换语言的回答。它可按请求为说话人轮次编号,但不写出任何姓名。在评测方法一并公开之前,它不公布任何准确率数字。
常见问题
转写稿能分清访谈者和受访者吗?
以编号区分。每一轮发言都带有说话人编号,按首次出现的顺序从 0 开始计数。一对一访谈里,访谈者通常是第一个开口的声音,这个人是谁,文件自身的元数据会写明。
超过一小时的访谈怎么办?
一次请求最长 60 分钟,开启说话人轮次时须短于 9 分钟。更长的录音请在停顿处切开,各段并行发送,再按每段的起始时间平移该段的秒数。每段的说话人编号都从 0 开始,请按各个声音出场的先后,把编号跨段对应起来。
受访者的录音会保密吗?
转写稿返回给您,用量记录只保存计数和设置。输入和输出会保留下来用于训练模型,保留时不关联账户身份。《隐私政策》对此有说明。
转写失败要付费吗?
不收费。费用先行扣除,请求失败时自动退还,模型无法读取的录音会在扣费前被拒绝。
从免费积分开始
使用 Google、GitHub 或 Hugging Face 登录,即可用 100 一次性免费积分处理您自己的文本。