commit f176e9a402e56cc187756125c41134ef9097983c Author: runst Date: Mon Jul 27 15:25:59 2026 +0800 feat: 初始化 AutoVideo 视频处理分析工具 - MiMo 2.5 分镜分析 (OpenAI格式调用) - Qwen3-ASR-Flash FileTrans 转录+字级时间戳 - 一键 pipeline 脚本 - 杨梅/绿豆视频示例输出 - 完整文档和SOP diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..6df17fb --- /dev/null +++ b/.gitignore @@ -0,0 +1,8 @@ +__pycache__/ +*.pyc +*.pyo +.env +*.wav +*.mp4 +frames/ +*_analysis/ diff --git a/README.md b/README.md new file mode 100644 index 0000000..05e7f3f --- /dev/null +++ b/README.md @@ -0,0 +1,44 @@ +# AutoVideo - 视频处理分析工具 + +一键式视频分析:MiMo 2.5 分镜 + Qwen3-ASR-Flash 转录+字级时间戳。 + +## 使用 + +```bash +python scripts/pipeline.py "视频路径.mp4" [输出目录] +``` + +## 流程 + +``` +视频 → 压缩 → MiMo 2.5 分镜 + Qwen3-ASR FileTrans (转录+时间戳) → SRT +``` + +## 输出 + +``` +xxx_analysis/ +├── compressed.mp4 # 压缩视频 +├── xxx_audio.wav # 音频 +├── xxx_frames/ # 关键帧 +├── scene.json # 分镜分析 (MiMo 2.5) +├── timestamps.json # 转录+字级时间戳 (Qwen3-ASR) +└── subtitles.srt # SRT 字幕 +``` + +## 依赖 + +```bash +pip install openai dashscope requests +``` +- ffmpeg +- MiMo 2.5 代理 (127.0.0.1:15721) +- DashScope API Key + +## 费用 + +| 服务 | 费用 | +|------|------| +| MiMo 2.5 分镜 | 通过本地代理 | +| Qwen3-ASR FileTrans | ≈ ¥0.01/小时 | +| **总计** | **≈ ¥0.01/100小时** | diff --git a/docs/mimo_video_guide.md b/docs/mimo_video_guide.md new file mode 100644 index 0000000..490821b --- /dev/null +++ b/docs/mimo_video_guide.md @@ -0,0 +1,79 @@ +# MiMo 2.5 视频理解调用指南 + +## ⚠️ 关键注意事项 + +**必须用 OpenAI 格式调用,Anthropic 格式会丢弃视频数据!** + +## 调用方式 + +```python +import openai +import base64 + +client = openai.OpenAI( + base_url="http://127.0.0.1:15721/v1", # 本地代理 + api_key="dummy-key" +) + +with open("compressed.mp4", "rb") as f: + video_b64 = base64.b64encode(f.read()).decode() + +response = client.chat.completions.create( + model="mimo-v2.5", # 模型名 + messages=[{ + "role": "user", + "content": [ + { + "type": "video_url", # ← OpenAI 格式 + "video_url": { + "url": f"data:video/mp4;base64,{video_b64}" + } + }, + { + "type": "text", + "text": "请分析这个视频的内容" + } + ] + }], + max_tokens=8192, +) +print(response.choices[0].message.content) +``` + +## 错误示范 (Anthropic 格式 — 会丢失视频!) + +```python +# ❌ 错误! 视频数据会被丢弃 +client = anthropic.Anthropic(base_url="http://127.0.0.1:15721", api_key="dummy-key") +message = client.messages.create( + model="claude-opus-4-8", + messages=[{ + "role": "user", + "content": [ + {"type": "video", "source": {"type": "base64", ...}}, # ← 不支持! + {"type": "text", "text": "..."} + ] + }] +) +``` + +## 参数说明 + +| 参数 | 推荐值 | 说明 | +|------|--------|------| +| `model` | `mimo-v2.5` | 通过代理映射到 MiMo 2.5 | +| `video_url.url` | `data:video/mp4;base64,...` | Base64 编码的视频 | +| `max_tokens` | 8192 | 输出 token 上限 | +| `temperature` | 0.1 | 低温度,更稳定的分析 | + +## 视频压缩建议 + +| 原始大小 | 建议 | 压缩后 | +|---------|------|--------| +| > 10 MB | 必须压缩 | scale=480, crf=28 | +| 2-10 MB | 建议压缩 | scale=480, crf=30 | +| < 2 MB | 可直接发送 | — | + +```bash +ffmpeg -y -i input.mp4 -vf scale=-2:480 -c:v libx264 -preset fast -crf 28 -c:a aac -b:a 48k -ar 16000 -ac 1 output.mp4 +``` diff --git a/docs/qwen3_asr_filetrans_guide.md b/docs/qwen3_asr_filetrans_guide.md new file mode 100644 index 0000000..ac6715d --- /dev/null +++ b/docs/qwen3_asr_filetrans_guide.md @@ -0,0 +1,102 @@ +# Qwen3-ASR-Flash FileTrans API 调用指南 + +## 前置条件 + +```bash +pip install dashscope requests +export DASHSCOPE_API_KEY="your-key" +``` + +## 完整代码 + +```python +import requests +import dashscope +import json +import time + +API_KEY = dashscope.api_key +AUDIO_PATH = "audio.wav" + +# ===== Step 1: 上传音频获取临时 URL ===== +upload_resp = dashscope.Files.upload(file_path=AUDIO_PATH, purpose="file-extract") +file_id = upload_resp.output["uploaded_files"][0]["file_id"] +file_info = dashscope.Files.get(file_id=file_id) +AUDIO_URL = file_info.output["url"] + +# ===== Step 2: 提交转录任务 ===== +headers = { + "Authorization": f"Bearer {API_KEY}", + "Content-Type": "application/json", + "X-DashScope-Async": "enable" # 必须! +} +payload = { + "model": "qwen3-asr-flash-filetrans", + "input": {"file_url": AUDIO_URL}, # file_url 单数! + "parameters": { + "channel_id": [0], + "enable_words": True, # 字级时间戳! + "enable_itn": False, + "language": "zh" + } +} +resp = requests.post( + "https://dashscope.aliyuncs.com/api/v1/services/audio/asr/transcription", + headers=headers, json=payload +) +task_id = resp.json()["output"]["task_id"] + +# ===== Step 3: 轮询结果 ===== +time.sleep(2) +result = requests.get( + f"https://dashscope.aliyuncs.com/api/v1/tasks/{task_id}", + headers={"Authorization": f"Bearer {API_KEY}"} +).json() + +# ===== Step 4: 获取转录 JSON ===== +tr_url = result["output"]["result"]["transcription_url"] +trans_data = requests.get(tr_url).json() + +# ===== Step 5: 输出 ===== +for sent in trans_data["transcripts"][0]["sentences"]: + print(f"[{sent['begin_time']:>6}ms - {sent['end_time']:>6}ms] {sent['text']}") + for w in sent.get("words", []): + print(f" [{w['begin_time']:>6}ms - {w['end_time']:>6}ms] {w['text']}{w.get('punctuation','')}") +``` + +## 关键参数 + +| 参数 | 值 | 说明 | +|------|-----|------| +| `model` | `qwen3-asr-flash-filetrans` | 离线文件转录模型 | +| `input.file_url` | string | **单数**,音频文件的公网 URL | +| `parameters.enable_words` | `True` | **开启字级时间戳** | +| `parameters.language` | `"zh"` | 指定中文,提升准确率 | +| `X-DashScope-Async` | `"enable"` | **必须**,异步任务模式 | + +## 返回结构 + +```json +{ + "transcripts": [{ + "text": "完整转录文本", + "content_duration": 29907, + "sentences": [{ + "begin_time": 160, + "end_time": 1600, + "text": "句子文本", + "words": [ + {"begin_time": 160, "end_time": 240, "text": "字", "punctuation": ""} + ] + }] + }] +} +``` + +## 常见错误 + +| 错误 | 原因 | 解决 | +|------|------|------| +| `MalformedURL` | URL 不可访问 | 确保用 `Files.upload` 获取的 OSS URL | +| `InvalidParameter` | 用了 `file_urls` | 改为 `file_url` (单数) | +| `400: max_tokens too large` | 用了 chat API 参数 | FileTrans 不需要 max_tokens | diff --git a/docs/workflow_sop.md b/docs/workflow_sop.md new file mode 100644 index 0000000..7ec1434 --- /dev/null +++ b/docs/workflow_sop.md @@ -0,0 +1,94 @@ +# 视频处理分析流程 (SOP) + +## 流程总览 + +``` +视频文件 + │ + ▼ Phase 1: 信息采集 ────────── ffprobe + │ + ▼ Phase 2: 压缩预处理 ──────── ffmpeg (压缩+音频+关键帧) + │ + ├─→ Phase 3: 分镜分析 ──────── MiMo 2.5 (OpenAI格式) + │ + ├─→ Phase 4a: 转录文本 ─────── Qwen3-ASR-Flash chat API + │ + └─→ Phase 4b: 字级时间戳 ───── Qwen3-ASR-Flash FileTrans API + │ + ▼ Phase 5: 输出 ────────────── 报告 + JSON + SRT +``` + +## Phase 1: 信息采集 + +```bash +ffprobe -v quiet -print_format json -show_format -show_streams <视频路径> +``` + +## Phase 2: 压缩预处理 + +```bash +# 压缩 +ffmpeg -y -i <输入> -vf "scale=-2:480" -c:v libx264 -preset fast -crf 28 \ + -c:a aac -b:a 48k -ar 16000 -ac 1 -movflags +faststart <输出.mp4> + +# 提取音频 +ffmpeg -y -i <输入> -vn -acodec pcm_s16le -ar 16000 -ac 1 <输出.wav> + +# 提取关键帧 +ffmpeg -y -i <输入> -vf "fps=2,scale=480:-2" -q:v 5 <输出目录>/frame_%04d.jpg +``` + +## Phase 3: 分镜分析 (MiMo 2.5) + +```python +# 必须用 OpenAI 格式! +client = openai.OpenAI(base_url="http://127.0.0.1:15721/v1", api_key="dummy-key") +response = client.chat.completions.create( + model="mimo-v2.5", + messages=[{"role": "user", "content": [ + {"type": "video_url", "video_url": {"url": f"data:video/mp4;base64,{b64}"}}, + {"type": "text", "text": "请逐镜头分析这个视频..."} + ]}], + max_tokens=8192 +) +``` + +## Phase 4a: 转录文本 (Qwen3 chat API) + +```python +response = client.chat.completions.create( + model="qwen3-asr-flash", + messages=[{"role": "user", "content": [ + {"type": "input_audio", "input_audio": {"data": f"data:audio/wav;base64,{b64}"}} + ]}], + max_tokens=4096 +) +``` + +## Phase 4b: 字级时间戳 (Qwen3 FileTrans API) + +```python +# 1. 上传 +upload = dashscope.Files.upload(file_path="audio.wav", purpose="file-extract") +url = dashscope.Files.get(file_id=upload.output["uploaded_files"][0]["file_id"]).output["url"] + +# 2. 提交任务 +resp = requests.post("https://dashscope.aliyuncs.com/api/v1/services/audio/asr/transcription", + headers={"Authorization": f"Bearer {API_KEY}", "X-DashScope-Async": "enable", "Content-Type": "application/json"}, + json={"model": "qwen3-asr-flash-filetrans", "input": {"file_url": url}, + "parameters": {"enable_words": True, "language": "zh"}}) + +# 3. 获取结果 +result = requests.get(f"https://dashscope.aliyuncs.com/api/v1/tasks/{task_id}", ...) +trans = requests.get(result["output"]["result"]["transcription_url"]).json() +``` + +## 模型选择 + +| 需求 | 模型 | +|------|------| +| 分镜场景 | MiMo 2.5 | +| 转录文本 | Qwen3-ASR-Flash (chat) | +| 字级时间戳 | Qwen3-ASR-Flash (FileTrans) | +| 方言/说话人 | Fun-ASR | +| 离线私有化 | Paraformer-zh | diff --git a/examples/6y15_lvDou/mimo_scene.json b/examples/6y15_lvDou/mimo_scene.json new file mode 100644 index 0000000..152c378 --- /dev/null +++ b/examples/6y15_lvDou/mimo_scene.json @@ -0,0 +1,66 @@ +{ + "video_summary": "这是一条绿豆带货短视频,以超市真实选购场景切入,结合产品细节特写与夏季美食制作展示,突出绿豆当季新鲜、品质优良、性价比高的核心优势,最终呼应夏季场景,呼吁观众趁优惠囤货。", + "scenes": [ + { + "scene_id": 1, + "start_time": "00:00.000", + "end_time": "00:09.000", + "duration_sec": 9, + "scene_type": "真人出镜选购场景", + "visual_description": "在超市杂粮区,穿着浅棕色印字T恤、白色长裤的短发女生,正用金属铲子将散装绿豆装入透明塑料袋,一边和画外的人互动对话,吐槽之前超市散装绿豆价格昂贵,介绍当下绿豆有优惠活动,引导观众查看链接。", + "camera": "中景拍摄,镜头轻微跟随女生的装袋动作移动", + "transition": "开场,无前置转场" + }, + { + "scene_id": 2, + "start_time": "00:09.000", + "end_time": "00:15.000", + "duration_sec": 6, + "scene_type": "产品细节特写展示", + "visual_description": "先拍摄女生双手捧起装满绿豆的袋子,随后镜头切至手部特写,女生掌心托着绿豆,展示其颗颗饱满、色泽碧绿鲜亮的特质,背景是大量散装绿豆。", + "camera": "从近景切换至特写,聚焦绿豆的细节品相", + "transition": "硬切" + }, + { + "scene_id": 3, + "start_time": "00:15.000", + "end_time": "00:18.000", + "duration_sec": 3, + "scene_type": "产品批量展示", + "visual_description": "俯拍视角展示大量散装绿豆的整体堆面,呈现绿豆品质均匀的状态,配合解说强调这类绿豆出沙快。", + "camera": "固定俯拍镜头,聚焦整体绿豆堆", + "transition": "硬切" + }, + { + "scene_id": 4, + "start_time": "00:18.000", + "end_time": "00:22.000", + "duration_sec": 4, + "scene_type": "美食成品展示", + "visual_description": "先展示盛放在蓝边瓷碗中的绿豆汤,用勺子舀起呈现浓稠质地;随后切换至锅内场景,红色勺子舀起满满的绿豆,直观体现绿豆出沙好、口感浓稠的特点。", + "camera": "近景拍摄,跟随勺子的舀取动作动态呈现美食", + "transition": "硬切" + }, + { + "scene_id": 5, + "start_time": "00:22.000", + "end_time": "00:25.000", + "duration_sec": 3, + "scene_type": "美食制作展示", + "visual_description": "将打好的浅绿色浓稠绿豆冰沙,从料理机倒入装有冰块的透明玻璃杯中,呈现冰沙顺滑的质感,搭配解说突出其好吃解腻的夏季食用属性。", + "camera": "近景固定镜头,拍摄冰沙倾倒的完整过程", + "transition": "硬切" + }, + { + "scene_id": 6, + "start_time": "00:25.000", + "end_time": "00:30.000", + "duration_sec": 5, + "scene_type": "真人出镜收尾场景", + "visual_description": "回到超市杂粮区,女生继续往塑料袋里装绿豆,笑着对镜头说话,再次强调当下价格合适,呼吁观众像自己一样多囤一些绿豆。", + "camera": "中景固定镜头,拍摄女生的动作与表达", + "transition": "硬切" + } + ], + "timeline": "视频以超市选购绿豆的日常场景开篇,通过对话引出绿豆优惠活动,对比过往高价散装绿豆凸显性价比;紧接着通过产品特写展示绿豆的当季新鲜与饱满品相;随后切换至美食制作场景,展示绿豆煮出的浓稠汤品与清爽冰沙,印证其出沙快、适配夏季需求的特点;最后回归超市场景,再次强调性价比优势,呼吁观众趁优惠囤货。" +} \ No newline at end of file diff --git a/examples/6y15_lvDou/qwen3_asr.txt b/examples/6y15_lvDou/qwen3_asr.txt new file mode 100644 index 0000000..ccac754 --- /dev/null +++ b/examples/6y15_lvDou/qwen3_asr.txt @@ -0,0 +1 @@ +你疯了,买这么多绿豆。便宜呀,这绿豆现在也来大活动了啊。之前我在超市买那些散装的都死贵死贵了,你去看看我这个链接才多少钱呢?它都是当季新鲜的绿豆,你看个个颗大饱满的,碧绿碧绿的呢。像这种品质好的绿豆啊,就特别好出沙。咱夏天越来越热了,你就在家里面熬个绿豆汤啊,或者个做个绿豆冰沙呀,好吃还解腻呢。你就趁着现在价格合适,也像我似的啊,多囤点回去多合适呀。 \ No newline at end of file diff --git a/examples/6y15_lvDou/qwen3_filetrans_raw.json b/examples/6y15_lvDou/qwen3_filetrans_raw.json new file mode 100644 index 0000000..8d9e1f6 --- /dev/null +++ b/examples/6y15_lvDou/qwen3_filetrans_raw.json @@ -0,0 +1,16 @@ +{ + "request_id": "224b5944-0ae7-94cd-896f-0dde682d4a70", + "output": { + "task_id": "d3a0ebac-fc97-48e5-87e8-47eee81b75fe", + "task_status": "SUCCEEDED", + "submit_time": "2026-07-27 14:00:51.755", + "scheduled_time": "2026-07-27 14:00:51.955", + "end_time": "2026-07-27 14:00:53.928", + "result": { + "transcription_url": "http://dashscope-result-bj.oss-cn-beijing.aliyuncs.com/prod/qwen3-asr-flash-filetrans/20260727/14%3A00/d3a0ebac-fc97-48e5-87e8-47eee81b75fe.json?Expires=1785218453&OSSAccessKeyId=LTAI5tGzqbGcEmE58b221XQy&Signature=lNdt4N6fCzFQWql6vsbWaCq5v2Y%3D&response-content-disposition=attachment%3Bfilename%3Dd3a0ebac-fc97-48e5-87e8-47eee81b75fe.json" + } + }, + "usage": { + "seconds": 28 + } +} \ No newline at end of file diff --git a/examples/6y15_lvDou/qwen3_filetrans_timestamps.json b/examples/6y15_lvDou/qwen3_filetrans_timestamps.json new file mode 100644 index 0000000..f70222e --- /dev/null +++ b/examples/6y15_lvDou/qwen3_filetrans_timestamps.json @@ -0,0 +1,1033 @@ +{ + "file_url": "http://dashscope-file-mgr.oss-cn-beijing.aliyuncs.com/api-fs/1692533192477867/2184561/815ce61c-15ee-4250-a382-e983148c3878/6y15_audio.wav?Expires=1785217951&OSSAccessKeyId=STS.NYtsXRqYgUZiMNiGpEKo3zQvo&Signature=5NCBMVhUBEf%2BNss5l4jMqu475Xk%3D&security-token=CAIS1AJ1q6Ft5B2yfSjIr5rBOOLmnIZG4piCT2jYo3AQR%2BAflZTdjTz2IHhMdHFqBOwasfQ1nWxY7P0Ylrp6SJtIXleCZtF94oxN9h2gb4fb4wwOC0%2BW08%2FLI3OaLjKm9u2wCryLYbGwU%2FOpbE%2B%2B5U0X6LDmdDKkckW4OJmS8%2FBOZcgWWQ%2FKBlgvRq0hRG1YpdQdKGHaONu0LxfumRCwNkdzvRdmgm4NgsbWgO%2Fks0SD0gall7ZO%2FNiqfcL%2FMvMBZskvD42Hu8VtbbfE3SJq7BxHybx7lqQs%2B02c5onNWwMMv0nZY7CNro01d1VjFqQhXqBFqPW5jvBipO3YmsHv0RFBeOZOSDQE1i1TRm1UcgnAGaHaFd6TUxylurgEBgDnmIRjajvduFf%2Ft2aF7tukFV11LB%2BTQ4T8wwvBeTyIQKP%2B27p92qEYoRiWu7TDSTeBK7x%2FOd9DUvdUGoABhrYXvsR2HlJJcdY0VuL%2BbTetowmoYZkni0HCETqadeAlpa%2Fn46eFy9o7QSnZbV0g8JCQccSelrXAPSQf5zAKa%2BWwpA71UB0OGgA55Pt6ZpptGqfw%2F%2F7grSisddCAqFU9eyQLVEV8qRBUGQ6iBDL06fMUUqAKHs4K0ot%2BtuntXw4gAA%3D%3D", + "audio_info": { + "format": "pcm_s16le", + "sample_rate": 16000 + }, + "transcripts": [ + { + "channel_id": 0, + "text": "你疯了,买这么多绿豆。便宜呀,这绿豆现在也来大活动了啊。之前我在超市买那些散装的都死贵死贵了,你去看看我这个链接才多少钱呢?它都是当季新鲜的绿豆,你看个个颗大饱满的,碧绿碧绿的呢。像这种品质好的绿豆啊,就特别好出沙。咱夏天越来越热了,你就在家里面熬个绿豆汤啊,或者个做个绿豆冰沙呀,好吃还解腻呢。你就趁它现在价格合适,也像我似的啊,多囤点回去多合适呀。", + "sentences": [ + { + "sentence_id": 0, + "begin_time": 160, + "end_time": 1600, + "language": "zh", + "emotion": "happy", + "text": "你疯了,买这么多绿豆。", + "words": [ + { + "begin_time": 160, + "end_time": 240, + "text": "你", + "punctuation": "" + }, + { + "begin_time": 240, + "end_time": 560, + "text": "疯", + "punctuation": "" + }, + { + "begin_time": 560, + "end_time": 720, + "text": "了", + "punctuation": "," + }, + { + "begin_time": 720, + "end_time": 880, + "text": "买", + "punctuation": "" + }, + { + "begin_time": 880, + "end_time": 960, + "text": "这", + "punctuation": "" + }, + { + "begin_time": 960, + "end_time": 1120, + "text": "么", + "punctuation": "" + }, + { + "begin_time": 1120, + "end_time": 1200, + "text": "多", + "punctuation": "" + }, + { + "begin_time": 1200, + "end_time": 1360, + "text": "绿", + "punctuation": "" + }, + { + "begin_time": 1360, + "end_time": 1600, + "text": "豆", + "punctuation": "。" + } + ] + }, + { + "sentence_id": 1, + "begin_time": 1680, + "end_time": 4480, + "language": "zh", + "emotion": "happy", + "text": "便宜呀,这绿豆现在也来大活动了啊。", + "words": [ + { + "begin_time": 1680, + "end_time": 1920, + "text": "便", + "punctuation": "" + }, + { + "begin_time": 1920, + "end_time": 2240, + "text": "宜", + "punctuation": "" + }, + { + "begin_time": 2240, + "end_time": 2400, + "text": "呀", + "punctuation": "," + }, + { + "begin_time": 2720, + "end_time": 2880, + "text": "这", + "punctuation": "" + }, + { + "begin_time": 2880, + "end_time": 3040, + "text": "绿", + "punctuation": "" + }, + { + "begin_time": 3040, + "end_time": 3120, + "text": "豆", + "punctuation": "" + }, + { + "begin_time": 3120, + "end_time": 3280, + "text": "现", + "punctuation": "" + }, + { + "begin_time": 3280, + "end_time": 3360, + "text": "在", + "punctuation": "" + }, + { + "begin_time": 3440, + "end_time": 3520, + "text": "也", + "punctuation": "" + }, + { + "begin_time": 3520, + "end_time": 3680, + "text": "来", + "punctuation": "" + }, + { + "begin_time": 3680, + "end_time": 3840, + "text": "大", + "punctuation": "" + }, + { + "begin_time": 3920, + "end_time": 4080, + "text": "活", + "punctuation": "" + }, + { + "begin_time": 4080, + "end_time": 4240, + "text": "动", + "punctuation": "" + }, + { + "begin_time": 4240, + "end_time": 4480, + "text": "了", + "punctuation": "" + }, + { + "begin_time": 4480, + "end_time": 4480, + "text": "啊", + "punctuation": "。" + } + ] + }, + { + "sentence_id": 2, + "begin_time": 4720, + "end_time": 9840, + "language": "zh", + "emotion": "happy", + "text": "之前我在超市买那些散装的都死贵死贵了,你去看看我这个链接才多少钱呢?", + "words": [ + { + "begin_time": 4720, + "end_time": 4880, + "text": "之", + "punctuation": "" + }, + { + "begin_time": 4880, + "end_time": 5040, + "text": "前", + "punctuation": "" + }, + { + "begin_time": 5040, + "end_time": 5120, + "text": "我", + "punctuation": "" + }, + { + "begin_time": 5120, + "end_time": 5200, + "text": "在", + "punctuation": "" + }, + { + "begin_time": 5200, + "end_time": 5360, + "text": "超", + "punctuation": "" + }, + { + "begin_time": 5360, + "end_time": 5440, + "text": "市", + "punctuation": "" + }, + { + "begin_time": 5600, + "end_time": 5760, + "text": "买", + "punctuation": "" + }, + { + "begin_time": 5760, + "end_time": 5840, + "text": "那", + "punctuation": "" + }, + { + "begin_time": 5840, + "end_time": 5920, + "text": "些", + "punctuation": "" + }, + { + "begin_time": 5920, + "end_time": 6160, + "text": "散", + "punctuation": "" + }, + { + "begin_time": 6160, + "end_time": 6240, + "text": "装", + "punctuation": "" + }, + { + "begin_time": 6320, + "end_time": 6400, + "text": "的", + "punctuation": "" + }, + { + "begin_time": 6400, + "end_time": 6400, + "text": "都", + "punctuation": "" + }, + { + "begin_time": 6480, + "end_time": 6720, + "text": "死", + "punctuation": "" + }, + { + "begin_time": 6720, + "end_time": 6960, + "text": "贵", + "punctuation": "" + }, + { + "begin_time": 6960, + "end_time": 7120, + "text": "死", + "punctuation": "" + }, + { + "begin_time": 7200, + "end_time": 7360, + "text": "贵", + "punctuation": "" + }, + { + "begin_time": 7360, + "end_time": 7360, + "text": "了", + "punctuation": "," + }, + { + "begin_time": 7680, + "end_time": 7760, + "text": "你", + "punctuation": "" + }, + { + "begin_time": 7760, + "end_time": 7840, + "text": "去", + "punctuation": "" + }, + { + "begin_time": 7840, + "end_time": 8000, + "text": "看", + "punctuation": "" + }, + { + "begin_time": 8000, + "end_time": 8160, + "text": "看", + "punctuation": "" + }, + { + "begin_time": 8160, + "end_time": 8240, + "text": "我", + "punctuation": "" + }, + { + "begin_time": 8320, + "end_time": 8400, + "text": "这", + "punctuation": "" + }, + { + "begin_time": 8400, + "end_time": 8480, + "text": "个", + "punctuation": "" + }, + { + "begin_time": 8480, + "end_time": 8640, + "text": "链", + "punctuation": "" + }, + { + "begin_time": 8640, + "end_time": 8800, + "text": "接", + "punctuation": "" + }, + { + "begin_time": 8800, + "end_time": 9040, + "text": "才", + "punctuation": "" + }, + { + "begin_time": 9040, + "end_time": 9200, + "text": "多", + "punctuation": "" + }, + { + "begin_time": 9200, + "end_time": 9360, + "text": "少", + "punctuation": "" + }, + { + "begin_time": 9360, + "end_time": 9440, + "text": "钱", + "punctuation": "" + }, + { + "begin_time": 9680, + "end_time": 9840, + "text": "呢", + "punctuation": "?" + } + ] + }, + { + "sentence_id": 3, + "begin_time": 10160, + "end_time": 15200, + "language": "zh", + "emotion": "happy", + "text": "它都是当季新鲜的绿豆,你看个个颗大饱满的,碧绿碧绿的呢。", + "words": [ + { + "begin_time": 10160, + "end_time": 10320, + "text": "它", + "punctuation": "" + }, + { + "begin_time": 10320, + "end_time": 10480, + "text": "都", + "punctuation": "" + }, + { + "begin_time": 10480, + "end_time": 10560, + "text": "是", + "punctuation": "" + }, + { + "begin_time": 10640, + "end_time": 10800, + "text": "当", + "punctuation": "" + }, + { + "begin_time": 10800, + "end_time": 11040, + "text": "季", + "punctuation": "" + }, + { + "begin_time": 11040, + "end_time": 11280, + "text": "新", + "punctuation": "" + }, + { + "begin_time": 11280, + "end_time": 11440, + "text": "鲜", + "punctuation": "" + }, + { + "begin_time": 11440, + "end_time": 11520, + "text": "的", + "punctuation": "" + }, + { + "begin_time": 11520, + "end_time": 11760, + "text": "绿", + "punctuation": "" + }, + { + "begin_time": 11760, + "end_time": 11920, + "text": "豆", + "punctuation": "," + }, + { + "begin_time": 11920, + "end_time": 12000, + "text": "你", + "punctuation": "" + }, + { + "begin_time": 12000, + "end_time": 12160, + "text": "看", + "punctuation": "" + }, + { + "begin_time": 12480, + "end_time": 12560, + "text": "个", + "punctuation": "" + }, + { + "begin_time": 12640, + "end_time": 12800, + "text": "个", + "punctuation": "" + }, + { + "begin_time": 12800, + "end_time": 13040, + "text": "颗", + "punctuation": "" + }, + { + "begin_time": 13200, + "end_time": 13440, + "text": "大", + "punctuation": "" + }, + { + "begin_time": 13440, + "end_time": 13600, + "text": "饱", + "punctuation": "" + }, + { + "begin_time": 13600, + "end_time": 13840, + "text": "满", + "punctuation": "" + }, + { + "begin_time": 13840, + "end_time": 13920, + "text": "的", + "punctuation": "," + }, + { + "begin_time": 14080, + "end_time": 14320, + "text": "碧", + "punctuation": "" + }, + { + "begin_time": 14320, + "end_time": 14400, + "text": "绿", + "punctuation": "" + }, + { + "begin_time": 14400, + "end_time": 14800, + "text": "碧", + "punctuation": "" + }, + { + "begin_time": 14800, + "end_time": 14960, + "text": "绿", + "punctuation": "" + }, + { + "begin_time": 15040, + "end_time": 15120, + "text": "的", + "punctuation": "" + }, + { + "begin_time": 15120, + "end_time": 15200, + "text": "呢", + "punctuation": "。" + } + ] + }, + { + "sentence_id": 4, + "begin_time": 15440, + "end_time": 18000, + "language": "zh", + "emotion": "happy", + "text": "像这种品质好的绿豆啊,就特别好出沙。", + "words": [ + { + "begin_time": 15440, + "end_time": 15600, + "text": "像", + "punctuation": "" + }, + { + "begin_time": 15600, + "end_time": 15760, + "text": "这", + "punctuation": "" + }, + { + "begin_time": 15760, + "end_time": 15920, + "text": "种", + "punctuation": "" + }, + { + "begin_time": 15920, + "end_time": 16160, + "text": "品", + "punctuation": "" + }, + { + "begin_time": 16160, + "end_time": 16320, + "text": "质", + "punctuation": "" + }, + { + "begin_time": 16320, + "end_time": 16480, + "text": "好", + "punctuation": "" + }, + { + "begin_time": 16480, + "end_time": 16560, + "text": "的", + "punctuation": "" + }, + { + "begin_time": 16560, + "end_time": 16720, + "text": "绿", + "punctuation": "" + }, + { + "begin_time": 16720, + "end_time": 16800, + "text": "豆", + "punctuation": "" + }, + { + "begin_time": 16800, + "end_time": 16960, + "text": "啊", + "punctuation": "," + }, + { + "begin_time": 16960, + "end_time": 17040, + "text": "就", + "punctuation": "" + }, + { + "begin_time": 17040, + "end_time": 17280, + "text": "特", + "punctuation": "" + }, + { + "begin_time": 17280, + "end_time": 17440, + "text": "别", + "punctuation": "" + }, + { + "begin_time": 17440, + "end_time": 17600, + "text": "好", + "punctuation": "" + }, + { + "begin_time": 17600, + "end_time": 17760, + "text": "出", + "punctuation": "" + }, + { + "begin_time": 17760, + "end_time": 18000, + "text": "沙", + "punctuation": "。" + } + ] + }, + { + "sentence_id": 5, + "begin_time": 18560, + "end_time": 24640, + "language": "zh", + "emotion": "happy", + "text": "咱夏天越来越热了,你就在家里面熬个绿豆汤啊,或者个做个绿豆冰沙呀,好吃还解腻呢。", + "words": [ + { + "begin_time": 18560, + "end_time": 18640, + "text": "咱", + "punctuation": "" + }, + { + "begin_time": 18640, + "end_time": 18640, + "text": "夏", + "punctuation": "" + }, + { + "begin_time": 18640, + "end_time": 18800, + "text": "天", + "punctuation": "" + }, + { + "begin_time": 18800, + "end_time": 18960, + "text": "越", + "punctuation": "" + }, + { + "begin_time": 18960, + "end_time": 19120, + "text": "来", + "punctuation": "" + }, + { + "begin_time": 19120, + "end_time": 19360, + "text": "越", + "punctuation": "" + }, + { + "begin_time": 19360, + "end_time": 19520, + "text": "热", + "punctuation": "" + }, + { + "begin_time": 19520, + "end_time": 19600, + "text": "了", + "punctuation": "," + }, + { + "begin_time": 19760, + "end_time": 19840, + "text": "你", + "punctuation": "" + }, + { + "begin_time": 19840, + "end_time": 19920, + "text": "就", + "punctuation": "" + }, + { + "begin_time": 19920, + "end_time": 20160, + "text": "在", + "punctuation": "" + }, + { + "begin_time": 20160, + "end_time": 20240, + "text": "家", + "punctuation": "" + }, + { + "begin_time": 20320, + "end_time": 20400, + "text": "里", + "punctuation": "" + }, + { + "begin_time": 20400, + "end_time": 20480, + "text": "面", + "punctuation": "" + }, + { + "begin_time": 20640, + "end_time": 20720, + "text": "熬", + "punctuation": "" + }, + { + "begin_time": 20720, + "end_time": 20880, + "text": "个", + "punctuation": "" + }, + { + "begin_time": 20880, + "end_time": 21040, + "text": "绿", + "punctuation": "" + }, + { + "begin_time": 21040, + "end_time": 21120, + "text": "豆", + "punctuation": "" + }, + { + "begin_time": 21200, + "end_time": 21440, + "text": "汤", + "punctuation": "" + }, + { + "begin_time": 21440, + "end_time": 21600, + "text": "啊", + "punctuation": "," + }, + { + "begin_time": 21600, + "end_time": 21760, + "text": "或", + "punctuation": "" + }, + { + "begin_time": 21760, + "end_time": 21840, + "text": "者", + "punctuation": "" + }, + { + "begin_time": 21840, + "end_time": 22000, + "text": "个", + "punctuation": "" + }, + { + "begin_time": 22000, + "end_time": 22240, + "text": "做", + "punctuation": "" + }, + { + "begin_time": 22240, + "end_time": 22320, + "text": "个", + "punctuation": "" + }, + { + "begin_time": 22320, + "end_time": 22480, + "text": "绿", + "punctuation": "" + }, + { + "begin_time": 22480, + "end_time": 22640, + "text": "豆", + "punctuation": "" + }, + { + "begin_time": 22640, + "end_time": 22880, + "text": "冰", + "punctuation": "" + }, + { + "begin_time": 22880, + "end_time": 23120, + "text": "沙", + "punctuation": "" + }, + { + "begin_time": 23120, + "end_time": 23280, + "text": "呀", + "punctuation": "," + }, + { + "begin_time": 23440, + "end_time": 23600, + "text": "好", + "punctuation": "" + }, + { + "begin_time": 23600, + "end_time": 23920, + "text": "吃", + "punctuation": "" + }, + { + "begin_time": 23920, + "end_time": 24080, + "text": "还", + "punctuation": "" + }, + { + "begin_time": 24080, + "end_time": 24320, + "text": "解", + "punctuation": "" + }, + { + "begin_time": 24320, + "end_time": 24560, + "text": "腻", + "punctuation": "" + }, + { + "begin_time": 24560, + "end_time": 24640, + "text": "呢", + "punctuation": "。" + } + ] + }, + { + "sentence_id": 6, + "begin_time": 24960, + "end_time": 29440, + "language": "zh", + "emotion": "happy", + "text": "你就趁它现在价格合适,也像我似的啊,多囤点回去多合适呀。", + "words": [ + { + "begin_time": 24960, + "end_time": 25120, + "text": "你", + "punctuation": "" + }, + { + "begin_time": 25120, + "end_time": 25200, + "text": "就", + "punctuation": "" + }, + { + "begin_time": 25280, + "end_time": 25360, + "text": "趁", + "punctuation": "" + }, + { + "begin_time": 25360, + "end_time": 25440, + "text": "它", + "punctuation": "" + }, + { + "begin_time": 25440, + "end_time": 25600, + "text": "现", + "punctuation": "" + }, + { + "begin_time": 25600, + "end_time": 25760, + "text": "在", + "punctuation": "" + }, + { + "begin_time": 25760, + "end_time": 25920, + "text": "价", + "punctuation": "" + }, + { + "begin_time": 25920, + "end_time": 26080, + "text": "格", + "punctuation": "" + }, + { + "begin_time": 26080, + "end_time": 26240, + "text": "合", + "punctuation": "" + }, + { + "begin_time": 26240, + "end_time": 26400, + "text": "适", + "punctuation": "," + }, + { + "begin_time": 26640, + "end_time": 26720, + "text": "也", + "punctuation": "" + }, + { + "begin_time": 26720, + "end_time": 26960, + "text": "像", + "punctuation": "" + }, + { + "begin_time": 26960, + "end_time": 27120, + "text": "我", + "punctuation": "" + }, + { + "begin_time": 27120, + "end_time": 27280, + "text": "似", + "punctuation": "" + }, + { + "begin_time": 27280, + "end_time": 27280, + "text": "的", + "punctuation": "" + }, + { + "begin_time": 27280, + "end_time": 27440, + "text": "啊", + "punctuation": "," + }, + { + "begin_time": 27680, + "end_time": 27840, + "text": "多", + "punctuation": "" + }, + { + "begin_time": 27840, + "end_time": 28000, + "text": "囤", + "punctuation": "" + }, + { + "begin_time": 28000, + "end_time": 28160, + "text": "点", + "punctuation": "" + }, + { + "begin_time": 28160, + "end_time": 28320, + "text": "回", + "punctuation": "" + }, + { + "begin_time": 28320, + "end_time": 28480, + "text": "去", + "punctuation": "" + }, + { + "begin_time": 28560, + "end_time": 28800, + "text": "多", + "punctuation": "" + }, + { + "begin_time": 28800, + "end_time": 29040, + "text": "合", + "punctuation": "" + }, + { + "begin_time": 29040, + "end_time": 29280, + "text": "适", + "punctuation": "" + }, + { + "begin_time": 29280, + "end_time": 29440, + "text": "呀", + "punctuation": "。" + } + ] + } + ] + } + ] +} \ No newline at end of file diff --git a/examples/6y15_lvDou/whisper.json b/examples/6y15_lvDou/whisper.json new file mode 100644 index 0000000..04d9e24 --- /dev/null +++ b/examples/6y15_lvDou/whisper.json @@ -0,0 +1,1802 @@ +{ + "segments": [ + { + "id": 1, + "start": 0.0, + "end": 1.48, + "text": "你疯了 买这么多绿豆", + "words": [ + { + "word": "你", + "start": 0.0, + "end": 0.18, + "probability": 0.79638671875 + }, + { + "word": "疯", + "start": 0.18, + "end": 0.5, + "probability": 0.878173828125 + }, + { + "word": "了", + "start": 0.5, + "end": 0.64, + "probability": 0.82177734375 + }, + { + "word": " 买", + "start": 0.7, + "end": 0.86, + "probability": 0.9912109375 + }, + { + "word": "这么", + "start": 0.86, + "end": 0.98, + "probability": 0.970703125 + }, + { + "word": "多", + "start": 0.98, + "end": 1.16, + "probability": 0.99951171875 + }, + { + "word": "绿", + "start": 1.16, + "end": 1.32, + "probability": 0.9990234375 + }, + { + "word": "豆", + "start": 1.32, + "end": 1.48, + "probability": 0.99951171875 + } + ] + }, + { + "id": 2, + "start": 1.48, + "end": 2.38, + "text": "便宜呀", + "words": [ + { + "word": "便", + "start": 1.48, + "end": 1.78, + "probability": 0.2200927734375 + }, + { + "word": "宜", + "start": 1.78, + "end": 2.04, + "probability": 0.999755859375 + }, + { + "word": "呀", + "start": 2.04, + "end": 2.38, + "probability": 0.5849609375 + } + ] + }, + { + "id": 3, + "start": 2.38, + "end": 4.26, + "text": "这绿豆现在也来大活动了", + "words": [ + { + "word": "这", + "start": 2.38, + "end": 2.76, + "probability": 0.56884765625 + }, + { + "word": "绿", + "start": 2.76, + "end": 2.98, + "probability": 0.998779296875 + }, + { + "word": "豆", + "start": 2.98, + "end": 3.08, + "probability": 0.9990234375 + }, + { + "word": "现在", + "start": 3.08, + "end": 3.3, + "probability": 0.98388671875 + }, + { + "word": "也", + "start": 3.3, + "end": 3.46, + "probability": 0.274169921875 + }, + { + "word": "来", + "start": 3.46, + "end": 3.58, + "probability": 0.9892578125 + }, + { + "word": "大", + "start": 3.58, + "end": 3.72, + "probability": 0.98828125 + }, + { + "word": "活", + "start": 3.72, + "end": 3.96, + "probability": 0.9931640625 + }, + { + "word": "动", + "start": 3.96, + "end": 4.16, + "probability": 1.0 + }, + { + "word": "了", + "start": 4.16, + "end": 4.26, + "probability": 0.98193359375 + } + ] + }, + { + "id": 4, + "start": 4.26, + "end": 6.3, + "text": "之前我那超市买那散东的", + "words": [ + { + "word": "之前", + "start": 4.26, + "end": 4.72, + "probability": 0.58447265625 + }, + { + "word": "我", + "start": 4.72, + "end": 5.1, + "probability": 0.82568359375 + }, + { + "word": "那", + "start": 5.1, + "end": 5.16, + "probability": 0.4873046875 + }, + { + "word": "超", + "start": 5.16, + "end": 5.36, + "probability": 0.46435546875 + }, + { + "word": "市", + "start": 5.36, + "end": 5.48, + "probability": 0.99853515625 + }, + { + "word": "买", + "start": 5.48, + "end": 5.7, + "probability": 0.936279296875 + }, + { + "word": "那", + "start": 5.7, + "end": 5.8, + "probability": 0.52001953125 + }, + { + "word": "散", + "start": 5.8, + "end": 6.1, + "probability": 0.9599609375 + }, + { + "word": "东", + "start": 6.1, + "end": 6.2, + "probability": 0.1527099609375 + }, + { + "word": "的", + "start": 6.2, + "end": 6.3, + "probability": 0.955078125 + } + ] + }, + { + "id": 5, + "start": 6.3, + "end": 7.4, + "text": "都死贵死贵了", + "words": [ + { + "word": "都", + "start": 6.3, + "end": 6.46, + "probability": 0.9423828125 + }, + { + "word": "死", + "start": 6.46, + "end": 6.68, + "probability": 0.96044921875 + }, + { + "word": "贵", + "start": 6.68, + "end": 6.92, + "probability": 0.9912109375 + }, + { + "word": "死", + "start": 6.92, + "end": 7.06, + "probability": 0.923828125 + }, + { + "word": "贵", + "start": 7.06, + "end": 7.28, + "probability": 1.0 + }, + { + "word": "了", + "start": 7.28, + "end": 7.4, + "probability": 0.97607421875 + } + ] + }, + { + "id": 6, + "start": 7.4, + "end": 8.72, + "text": "你去看看我这个链接", + "words": [ + { + "word": "你", + "start": 7.4, + "end": 7.68, + "probability": 0.96728515625 + }, + { + "word": "去", + "start": 7.68, + "end": 7.8, + "probability": 0.99951171875 + }, + { + "word": "看看", + "start": 7.8, + "end": 8.02, + "probability": 0.9755859375 + }, + { + "word": "我", + "start": 8.02, + "end": 8.22, + "probability": 0.98974609375 + }, + { + "word": "这个", + "start": 8.22, + "end": 8.4, + "probability": 0.98193359375 + }, + { + "word": "链", + "start": 8.4, + "end": 8.6, + "probability": 0.9913736979166666 + }, + { + "word": "接", + "start": 8.6, + "end": 8.72, + "probability": 0.99853515625 + } + ] + }, + { + "id": 7, + "start": 8.72, + "end": 9.84, + "text": "才多少钱呢", + "words": [ + { + "word": "才", + "start": 8.72, + "end": 8.88, + "probability": 0.822265625 + }, + { + "word": "多少", + "start": 8.88, + "end": 9.2, + "probability": 0.98681640625 + }, + { + "word": "钱", + "start": 9.2, + "end": 9.62, + "probability": 1.0 + }, + { + "word": "呢", + "start": 9.62, + "end": 9.84, + "probability": 0.8828125 + } + ] + }, + { + "id": 8, + "start": 9.84, + "end": 11.82, + "text": "它都是当季新鲜的绿豆", + "words": [ + { + "word": "它", + "start": 9.84, + "end": 10.2, + "probability": 0.91796875 + }, + { + "word": "都是", + "start": 10.2, + "end": 10.46, + "probability": 0.9970703125 + }, + { + "word": "当", + "start": 10.46, + "end": 10.7, + "probability": 0.99609375 + }, + { + "word": "季", + "start": 10.7, + "end": 10.94, + "probability": 0.99853515625 + }, + { + "word": "新", + "start": 10.94, + "end": 11.16, + "probability": 0.99462890625 + }, + { + "word": "鲜", + "start": 11.16, + "end": 11.4, + "probability": 1.0 + }, + { + "word": "的", + "start": 11.4, + "end": 11.52, + "probability": 0.99951171875 + }, + { + "word": "绿", + "start": 11.52, + "end": 11.68, + "probability": 0.999755859375 + }, + { + "word": "豆", + "start": 11.68, + "end": 11.82, + "probability": 1.0 + } + ] + }, + { + "id": 9, + "start": 11.82, + "end": 13.96, + "text": "你看 个个颗大薄满的", + "words": [ + { + "word": "你看", + "start": 11.82, + "end": 12.04, + "probability": 0.86328125 + }, + { + "word": " 个", + "start": 12.14, + "end": 12.48, + "probability": 0.5751953125 + }, + { + "word": "个", + "start": 12.48, + "end": 12.72, + "probability": 0.99853515625 + }, + { + "word": "颗", + "start": 12.72, + "end": 13.2, + "probability": 0.717041015625 + }, + { + "word": "大", + "start": 13.2, + "end": 13.32, + "probability": 0.97119140625 + }, + { + "word": "薄", + "start": 13.32, + "end": 13.58, + "probability": 0.87353515625 + }, + { + "word": "满", + "start": 13.58, + "end": 13.76, + "probability": 0.987060546875 + }, + { + "word": "的", + "start": 13.76, + "end": 13.96, + "probability": 0.99462890625 + } + ] + }, + { + "id": 10, + "start": 13.96, + "end": 15.22, + "text": "碧绿碧绿的呢", + "words": [ + { + "word": "碧", + "start": 13.96, + "end": 14.22, + "probability": 0.738037109375 + }, + { + "word": "绿", + "start": 14.22, + "end": 14.48, + "probability": 0.9990234375 + }, + { + "word": "碧", + "start": 14.48, + "end": 14.72, + "probability": 0.986572265625 + }, + { + "word": "绿", + "start": 14.72, + "end": 14.92, + "probability": 1.0 + }, + { + "word": "的", + "start": 14.92, + "end": 15.06, + "probability": 0.99609375 + }, + { + "word": "呢", + "start": 15.06, + "end": 15.22, + "probability": 0.51953125 + } + ] + }, + { + "id": 11, + "start": 15.22, + "end": 16.78, + "text": "像这种品质好的绿豆", + "words": [ + { + "word": "像", + "start": 15.22, + "end": 15.56, + "probability": 0.98681640625 + }, + { + "word": "这", + "start": 15.56, + "end": 15.7, + "probability": 0.81201171875 + }, + { + "word": "种", + "start": 15.7, + "end": 15.78, + "probability": 0.97998046875 + }, + { + "word": "品", + "start": 15.78, + "end": 16.0, + "probability": 0.998046875 + }, + { + "word": "质", + "start": 16.0, + "end": 16.22, + "probability": 0.999755859375 + }, + { + "word": "好的", + "start": 16.22, + "end": 16.36, + "probability": 0.9970703125 + }, + { + "word": "绿", + "start": 16.36, + "end": 16.66, + "probability": 0.999755859375 + }, + { + "word": "豆", + "start": 16.66, + "end": 16.78, + "probability": 1.0 + } + ] + }, + { + "id": 12, + "start": 16.78, + "end": 17.9, + "text": "就特别好出沙", + "words": [ + { + "word": "就", + "start": 16.78, + "end": 16.96, + "probability": 0.7685546875 + }, + { + "word": "特", + "start": 16.96, + "end": 17.18, + "probability": 0.9990234375 + }, + { + "word": "别", + "start": 17.18, + "end": 17.38, + "probability": 1.0 + }, + { + "word": "好", + "start": 17.38, + "end": 17.52, + "probability": 0.97802734375 + }, + { + "word": "出", + "start": 17.52, + "end": 17.72, + "probability": 0.85205078125 + }, + { + "word": "沙", + "start": 17.72, + "end": 17.9, + "probability": 0.6849365234375 + } + ] + }, + { + "id": 13, + "start": 17.9, + "end": 19.54, + "text": "然而夏天越来越热了", + "words": [ + { + "word": "然", + "start": 17.9, + "end": 18.34, + "probability": 0.2900390625 + }, + { + "word": "而", + "start": 18.34, + "end": 18.4, + "probability": 0.07958984375 + }, + { + "word": "夏", + "start": 18.4, + "end": 18.52, + "probability": 0.89892578125 + }, + { + "word": "天", + "start": 18.52, + "end": 18.7, + "probability": 0.99951171875 + }, + { + "word": "越", + "start": 18.7, + "end": 18.88, + "probability": 0.98486328125 + }, + { + "word": "来", + "start": 18.88, + "end": 19.02, + "probability": 0.99853515625 + }, + { + "word": "越", + "start": 19.02, + "end": 19.16, + "probability": 0.9990234375 + }, + { + "word": "热", + "start": 19.16, + "end": 19.42, + "probability": 0.999755859375 + }, + { + "word": "了", + "start": 19.42, + "end": 19.54, + "probability": 0.98974609375 + } + ] + }, + { + "id": 14, + "start": 19.54, + "end": 21.34, + "text": "你就在家里面熬个绿豆汤", + "words": [ + { + "word": "你就", + "start": 19.54, + "end": 19.82, + "probability": 0.984375 + }, + { + "word": "在", + "start": 19.82, + "end": 20.0, + "probability": 0.9970703125 + }, + { + "word": "家", + "start": 20.0, + "end": 20.2, + "probability": 0.99951171875 + }, + { + "word": "里", + "start": 20.2, + "end": 20.28, + "probability": 0.998046875 + }, + { + "word": "面", + "start": 20.28, + "end": 20.46, + "probability": 0.98046875 + }, + { + "word": "熬", + "start": 20.46, + "end": 20.7, + "probability": 0.9951171875 + }, + { + "word": "个", + "start": 20.7, + "end": 20.8, + "probability": 0.990234375 + }, + { + "word": "绿", + "start": 20.8, + "end": 21.0, + "probability": 0.999755859375 + }, + { + "word": "豆", + "start": 21.0, + "end": 21.08, + "probability": 1.0 + }, + { + "word": "汤", + "start": 21.08, + "end": 21.34, + "probability": 0.99951171875 + } + ] + }, + { + "id": 15, + "start": 21.34, + "end": 23.04, + "text": "或者做个绿豆冰沙", + "words": [ + { + "word": "或者", + "start": 21.34, + "end": 21.66, + "probability": 0.7451171875 + }, + { + "word": "做", + "start": 21.66, + "end": 22.04, + "probability": 0.68603515625 + }, + { + "word": "个", + "start": 22.04, + "end": 22.24, + "probability": 0.9892578125 + }, + { + "word": "绿", + "start": 22.24, + "end": 22.46, + "probability": 0.999755859375 + }, + { + "word": "豆", + "start": 22.46, + "end": 22.58, + "probability": 1.0 + }, + { + "word": "冰", + "start": 22.58, + "end": 22.78, + "probability": 0.998291015625 + }, + { + "word": "沙", + "start": 22.78, + "end": 23.04, + "probability": 0.998779296875 + } + ] + }, + { + "id": 16, + "start": 23.04, + "end": 24.64, + "text": "好吃还简易呢", + "words": [ + { + "word": "好吃", + "start": 23.04, + "end": 23.44, + "probability": 0.751953125 + }, + { + "word": "还", + "start": 23.44, + "end": 23.98, + "probability": 0.9345703125 + }, + { + "word": "简", + "start": 23.98, + "end": 24.28, + "probability": 0.777587890625 + }, + { + "word": "易", + "start": 24.28, + "end": 24.48, + "probability": 0.9970703125 + }, + { + "word": "呢", + "start": 24.48, + "end": 24.64, + "probability": 0.92529296875 + } + ] + }, + { + "id": 17, + "start": 24.64, + "end": 26.36, + "text": "你就趁它现在价格合适", + "words": [ + { + "word": "你就", + "start": 24.64, + "end": 25.12, + "probability": 0.67431640625 + }, + { + "word": "趁", + "start": 25.12, + "end": 25.34, + "probability": 0.92138671875 + }, + { + "word": "它", + "start": 25.34, + "end": 25.44, + "probability": 0.424560546875 + }, + { + "word": "现在", + "start": 25.44, + "end": 25.6, + "probability": 0.9833984375 + }, + { + "word": "价", + "start": 25.6, + "end": 25.84, + "probability": 0.994873046875 + }, + { + "word": "格", + "start": 25.84, + "end": 26.0, + "probability": 0.9990234375 + }, + { + "word": "合", + "start": 26.0, + "end": 26.16, + "probability": 0.9990234375 + }, + { + "word": "适", + "start": 26.16, + "end": 26.36, + "probability": 0.999755859375 + } + ] + }, + { + "id": 18, + "start": 26.36, + "end": 27.3, + "text": "也像我似的", + "words": [ + { + "word": "也", + "start": 26.36, + "end": 26.72, + "probability": 0.95751953125 + }, + { + "word": "像", + "start": 26.72, + "end": 26.88, + "probability": 0.99853515625 + }, + { + "word": "我", + "start": 26.88, + "end": 27.02, + "probability": 0.509765625 + }, + { + "word": "似", + "start": 27.02, + "end": 27.22, + "probability": 0.997314453125 + }, + { + "word": "的", + "start": 27.22, + "end": 27.3, + "probability": 0.9990234375 + } + ] + }, + { + "id": 19, + "start": 27.3, + "end": 29.34, + "text": "多存点回去 多合适呀", + "words": [ + { + "word": "多", + "start": 27.3, + "end": 27.64, + "probability": 0.85400390625 + }, + { + "word": "存", + "start": 27.64, + "end": 27.96, + "probability": 0.56396484375 + }, + { + "word": "点", + "start": 27.96, + "end": 28.08, + "probability": 0.99658203125 + }, + { + "word": "回去", + "start": 28.08, + "end": 28.28, + "probability": 0.95703125 + }, + { + "word": " 多", + "start": 28.46, + "end": 28.62, + "probability": 0.99951171875 + }, + { + "word": "合", + "start": 28.62, + "end": 28.88, + "probability": 0.9990234375 + }, + { + "word": "适", + "start": 28.88, + "end": 29.18, + "probability": 1.0 + }, + { + "word": "呀", + "start": 29.18, + "end": 29.34, + "probability": 0.94482421875 + } + ] + } + ], + "words": [ + { + "word": "你", + "start": 0.0, + "end": 0.18, + "probability": 0.79638671875 + }, + { + "word": "疯", + "start": 0.18, + "end": 0.5, + "probability": 0.878173828125 + }, + { + "word": "了", + "start": 0.5, + "end": 0.64, + "probability": 0.82177734375 + }, + { + "word": " 买", + "start": 0.7, + "end": 0.86, + "probability": 0.9912109375 + }, + { + "word": "这么", + "start": 0.86, + "end": 0.98, + "probability": 0.970703125 + }, + { + "word": "多", + "start": 0.98, + "end": 1.16, + "probability": 0.99951171875 + }, + { + "word": "绿", + "start": 1.16, + "end": 1.32, + "probability": 0.9990234375 + }, + { + "word": "豆", + "start": 1.32, + "end": 1.48, + "probability": 0.99951171875 + }, + { + "word": "便", + "start": 1.48, + "end": 1.78, + "probability": 0.2200927734375 + }, + { + "word": "宜", + "start": 1.78, + "end": 2.04, + "probability": 0.999755859375 + }, + { + "word": "呀", + "start": 2.04, + "end": 2.38, + "probability": 0.5849609375 + }, + { + "word": "这", + "start": 2.38, + "end": 2.76, + "probability": 0.56884765625 + }, + { + "word": "绿", + "start": 2.76, + "end": 2.98, + "probability": 0.998779296875 + }, + { + "word": "豆", + "start": 2.98, + "end": 3.08, + "probability": 0.9990234375 + }, + { + "word": "现在", + "start": 3.08, + "end": 3.3, + "probability": 0.98388671875 + }, + { + "word": "也", + "start": 3.3, + "end": 3.46, + "probability": 0.274169921875 + }, + { + "word": "来", + "start": 3.46, + "end": 3.58, + "probability": 0.9892578125 + }, + { + "word": "大", + "start": 3.58, + "end": 3.72, + "probability": 0.98828125 + }, + { + "word": "活", + "start": 3.72, + "end": 3.96, + "probability": 0.9931640625 + }, + { + "word": "动", + "start": 3.96, + "end": 4.16, + "probability": 1.0 + }, + { + "word": "了", + "start": 4.16, + "end": 4.26, + "probability": 0.98193359375 + }, + { + "word": "之前", + "start": 4.26, + "end": 4.72, + "probability": 0.58447265625 + }, + { + "word": "我", + "start": 4.72, + "end": 5.1, + "probability": 0.82568359375 + }, + { + "word": "那", + "start": 5.1, + "end": 5.16, + "probability": 0.4873046875 + }, + { + "word": "超", + "start": 5.16, + "end": 5.36, + "probability": 0.46435546875 + }, + { + "word": "市", + "start": 5.36, + "end": 5.48, + "probability": 0.99853515625 + }, + { + "word": "买", + "start": 5.48, + "end": 5.7, + "probability": 0.936279296875 + }, + { + "word": "那", + "start": 5.7, + "end": 5.8, + "probability": 0.52001953125 + }, + { + "word": "散", + "start": 5.8, + "end": 6.1, + "probability": 0.9599609375 + }, + { + "word": "东", + "start": 6.1, + "end": 6.2, + "probability": 0.1527099609375 + }, + { + "word": "的", + "start": 6.2, + "end": 6.3, + "probability": 0.955078125 + }, + { + "word": "都", + "start": 6.3, + "end": 6.46, + "probability": 0.9423828125 + }, + { + "word": "死", + "start": 6.46, + "end": 6.68, + "probability": 0.96044921875 + }, + { + "word": "贵", + "start": 6.68, + "end": 6.92, + "probability": 0.9912109375 + }, + { + "word": "死", + "start": 6.92, + "end": 7.06, + "probability": 0.923828125 + }, + { + "word": "贵", + "start": 7.06, + "end": 7.28, + "probability": 1.0 + }, + { + "word": "了", + "start": 7.28, + "end": 7.4, + "probability": 0.97607421875 + }, + { + "word": "你", + "start": 7.4, + "end": 7.68, + "probability": 0.96728515625 + }, + { + "word": "去", + "start": 7.68, + "end": 7.8, + "probability": 0.99951171875 + }, + { + "word": "看看", + "start": 7.8, + "end": 8.02, + "probability": 0.9755859375 + }, + { + "word": "我", + "start": 8.02, + "end": 8.22, + "probability": 0.98974609375 + }, + { + "word": "这个", + "start": 8.22, + "end": 8.4, + "probability": 0.98193359375 + }, + { + "word": "链", + "start": 8.4, + "end": 8.6, + "probability": 0.9913736979166666 + }, + { + "word": "接", + "start": 8.6, + "end": 8.72, + "probability": 0.99853515625 + }, + { + "word": "才", + "start": 8.72, + "end": 8.88, + "probability": 0.822265625 + }, + { + "word": "多少", + "start": 8.88, + "end": 9.2, + "probability": 0.98681640625 + }, + { + "word": "钱", + "start": 9.2, + "end": 9.62, + "probability": 1.0 + }, + { + "word": "呢", + "start": 9.62, + "end": 9.84, + "probability": 0.8828125 + }, + { + "word": "它", + "start": 9.84, + "end": 10.2, + "probability": 0.91796875 + }, + { + "word": "都是", + "start": 10.2, + "end": 10.46, + "probability": 0.9970703125 + }, + { + "word": "当", + "start": 10.46, + "end": 10.7, + "probability": 0.99609375 + }, + { + "word": "季", + "start": 10.7, + "end": 10.94, + "probability": 0.99853515625 + }, + { + "word": "新", + "start": 10.94, + "end": 11.16, + "probability": 0.99462890625 + }, + { + "word": "鲜", + "start": 11.16, + "end": 11.4, + "probability": 1.0 + }, + { + "word": "的", + "start": 11.4, + "end": 11.52, + "probability": 0.99951171875 + }, + { + "word": "绿", + "start": 11.52, + "end": 11.68, + "probability": 0.999755859375 + }, + { + "word": "豆", + "start": 11.68, + "end": 11.82, + "probability": 1.0 + }, + { + "word": "你看", + "start": 11.82, + "end": 12.04, + "probability": 0.86328125 + }, + { + "word": " 个", + "start": 12.14, + "end": 12.48, + "probability": 0.5751953125 + }, + { + "word": "个", + "start": 12.48, + "end": 12.72, + "probability": 0.99853515625 + }, + { + "word": "颗", + "start": 12.72, + "end": 13.2, + "probability": 0.717041015625 + }, + { + "word": "大", + "start": 13.2, + "end": 13.32, + "probability": 0.97119140625 + }, + { + "word": "薄", + "start": 13.32, + "end": 13.58, + "probability": 0.87353515625 + }, + { + "word": "满", + "start": 13.58, + "end": 13.76, + "probability": 0.987060546875 + }, + { + "word": "的", + "start": 13.76, + "end": 13.96, + "probability": 0.99462890625 + }, + { + "word": "碧", + "start": 13.96, + "end": 14.22, + "probability": 0.738037109375 + }, + { + "word": "绿", + "start": 14.22, + "end": 14.48, + "probability": 0.9990234375 + }, + { + "word": "碧", + "start": 14.48, + "end": 14.72, + "probability": 0.986572265625 + }, + { + "word": "绿", + "start": 14.72, + "end": 14.92, + "probability": 1.0 + }, + { + "word": "的", + "start": 14.92, + "end": 15.06, + "probability": 0.99609375 + }, + { + "word": "呢", + "start": 15.06, + "end": 15.22, + "probability": 0.51953125 + }, + { + "word": "像", + "start": 15.22, + "end": 15.56, + "probability": 0.98681640625 + }, + { + "word": "这", + "start": 15.56, + "end": 15.7, + "probability": 0.81201171875 + }, + { + "word": "种", + "start": 15.7, + "end": 15.78, + "probability": 0.97998046875 + }, + { + "word": "品", + "start": 15.78, + "end": 16.0, + "probability": 0.998046875 + }, + { + "word": "质", + "start": 16.0, + "end": 16.22, + "probability": 0.999755859375 + }, + { + "word": "好的", + "start": 16.22, + "end": 16.36, + "probability": 0.9970703125 + }, + { + "word": "绿", + "start": 16.36, + "end": 16.66, + "probability": 0.999755859375 + }, + { + "word": "豆", + "start": 16.66, + "end": 16.78, + "probability": 1.0 + }, + { + "word": "就", + "start": 16.78, + "end": 16.96, + "probability": 0.7685546875 + }, + { + "word": "特", + "start": 16.96, + "end": 17.18, + "probability": 0.9990234375 + }, + { + "word": "别", + "start": 17.18, + "end": 17.38, + "probability": 1.0 + }, + { + "word": "好", + "start": 17.38, + "end": 17.52, + "probability": 0.97802734375 + }, + { + "word": "出", + "start": 17.52, + "end": 17.72, + "probability": 0.85205078125 + }, + { + "word": "沙", + "start": 17.72, + "end": 17.9, + "probability": 0.6849365234375 + }, + { + "word": "然", + "start": 17.9, + "end": 18.34, + "probability": 0.2900390625 + }, + { + "word": "而", + "start": 18.34, + "end": 18.4, + "probability": 0.07958984375 + }, + { + "word": "夏", + "start": 18.4, + "end": 18.52, + "probability": 0.89892578125 + }, + { + "word": "天", + "start": 18.52, + "end": 18.7, + "probability": 0.99951171875 + }, + { + "word": "越", + "start": 18.7, + "end": 18.88, + "probability": 0.98486328125 + }, + { + "word": "来", + "start": 18.88, + "end": 19.02, + "probability": 0.99853515625 + }, + { + "word": "越", + "start": 19.02, + "end": 19.16, + "probability": 0.9990234375 + }, + { + "word": "热", + "start": 19.16, + "end": 19.42, + "probability": 0.999755859375 + }, + { + "word": "了", + "start": 19.42, + "end": 19.54, + "probability": 0.98974609375 + }, + { + "word": "你就", + "start": 19.54, + "end": 19.82, + "probability": 0.984375 + }, + { + "word": "在", + "start": 19.82, + "end": 20.0, + "probability": 0.9970703125 + }, + { + "word": "家", + "start": 20.0, + "end": 20.2, + "probability": 0.99951171875 + }, + { + "word": "里", + "start": 20.2, + "end": 20.28, + "probability": 0.998046875 + }, + { + "word": "面", + "start": 20.28, + "end": 20.46, + "probability": 0.98046875 + }, + { + "word": "熬", + "start": 20.46, + "end": 20.7, + "probability": 0.9951171875 + }, + { + "word": "个", + "start": 20.7, + "end": 20.8, + "probability": 0.990234375 + }, + { + "word": "绿", + "start": 20.8, + "end": 21.0, + "probability": 0.999755859375 + }, + { + "word": "豆", + "start": 21.0, + "end": 21.08, + "probability": 1.0 + }, + { + "word": "汤", + "start": 21.08, + "end": 21.34, + "probability": 0.99951171875 + }, + { + "word": "或者", + "start": 21.34, + "end": 21.66, + "probability": 0.7451171875 + }, + { + "word": "做", + "start": 21.66, + "end": 22.04, + "probability": 0.68603515625 + }, + { + "word": "个", + "start": 22.04, + "end": 22.24, + "probability": 0.9892578125 + }, + { + "word": "绿", + "start": 22.24, + "end": 22.46, + "probability": 0.999755859375 + }, + { + "word": "豆", + "start": 22.46, + "end": 22.58, + "probability": 1.0 + }, + { + "word": "冰", + "start": 22.58, + "end": 22.78, + "probability": 0.998291015625 + }, + { + "word": "沙", + "start": 22.78, + "end": 23.04, + "probability": 0.998779296875 + }, + { + "word": "好吃", + "start": 23.04, + "end": 23.44, + "probability": 0.751953125 + }, + { + "word": "还", + "start": 23.44, + "end": 23.98, + "probability": 0.9345703125 + }, + { + "word": "简", + "start": 23.98, + "end": 24.28, + "probability": 0.777587890625 + }, + { + "word": "易", + "start": 24.28, + "end": 24.48, + "probability": 0.9970703125 + }, + { + "word": "呢", + "start": 24.48, + "end": 24.64, + "probability": 0.92529296875 + }, + { + "word": "你就", + "start": 24.64, + "end": 25.12, + "probability": 0.67431640625 + }, + { + "word": "趁", + "start": 25.12, + "end": 25.34, + "probability": 0.92138671875 + }, + { + "word": "它", + "start": 25.34, + "end": 25.44, + "probability": 0.424560546875 + }, + { + "word": "现在", + "start": 25.44, + "end": 25.6, + "probability": 0.9833984375 + }, + { + "word": "价", + "start": 25.6, + "end": 25.84, + "probability": 0.994873046875 + }, + { + "word": "格", + "start": 25.84, + "end": 26.0, + "probability": 0.9990234375 + }, + { + "word": "合", + "start": 26.0, + "end": 26.16, + "probability": 0.9990234375 + }, + { + "word": "适", + "start": 26.16, + "end": 26.36, + "probability": 0.999755859375 + }, + { + "word": "也", + "start": 26.36, + "end": 26.72, + "probability": 0.95751953125 + }, + { + "word": "像", + "start": 26.72, + "end": 26.88, + "probability": 0.99853515625 + }, + { + "word": "我", + "start": 26.88, + "end": 27.02, + "probability": 0.509765625 + }, + { + "word": "似", + "start": 27.02, + "end": 27.22, + "probability": 0.997314453125 + }, + { + "word": "的", + "start": 27.22, + "end": 27.3, + "probability": 0.9990234375 + }, + { + "word": "多", + "start": 27.3, + "end": 27.64, + "probability": 0.85400390625 + }, + { + "word": "存", + "start": 27.64, + "end": 27.96, + "probability": 0.56396484375 + }, + { + "word": "点", + "start": 27.96, + "end": 28.08, + "probability": 0.99658203125 + }, + { + "word": "回去", + "start": 28.08, + "end": 28.28, + "probability": 0.95703125 + }, + { + "word": " 多", + "start": 28.46, + "end": 28.62, + "probability": 0.99951171875 + }, + { + "word": "合", + "start": 28.62, + "end": 28.88, + "probability": 0.9990234375 + }, + { + "word": "适", + "start": 28.88, + "end": 29.18, + "probability": 1.0 + }, + { + "word": "呀", + "start": 29.18, + "end": 29.34, + "probability": 0.94482421875 + } + ] +} \ No newline at end of file diff --git a/examples/meimei_yangmei/mimo_asr_raw.txt b/examples/meimei_yangmei/mimo_asr_raw.txt new file mode 100644 index 0000000..df2794c --- /dev/null +++ b/examples/meimei_yangmei/mimo_asr_raw.txt @@ -0,0 +1 @@ +我最近迷恋上了这一款云南高山杨梅,真的是又鲜又甜,巨好吃。而且这样子的两大板到手以后才七十九块九。你看它每个个头啊都非常的饱满,而且它的汁水非常非常的多。当天现摘的杨梅,口感鲜甜,果肉细嫩,真的特别特别的新鲜,越吃越有滋味。到手这样满满的一箱啊,吃起来真的好过瘾。哇,你看这个汁水,真的超级的过瘾,超级的满足,强烈安利给爱吃杨梅的每一个人。我家里的人都特别的爱吃,一次就能炫这一整盒。爱吃杨梅的家人们一定要来一箱尝尝看。 \ No newline at end of file diff --git a/examples/meimei_yangmei/mimo_transcription_full.json b/examples/meimei_yangmei/mimo_transcription_full.json new file mode 100644 index 0000000..ee29c3a --- /dev/null +++ b/examples/meimei_yangmei/mimo_transcription_full.json @@ -0,0 +1,1158 @@ +{ + "segments": [ + { + "id": 1, + "start": 0.0, + "end": 2.38, + "text": "我最近迷上了这个云南高山杨梅" + }, + { + "id": 2, + "start": 2.38, + "end": 4.36, + "text": "真的是又鲜又甜 巨好吃" + }, + { + "id": 3, + "start": 4.36, + "end": 5.8, + "text": "而且这样子的两大板" + }, + { + "id": 4, + "start": 5.8, + "end": 7.2, + "text": "到手以后才79.9" + }, + { + "id": 5, + "start": 7.2, + "end": 9.2, + "text": "你看他每个个头都非常的饱满" + }, + { + "id": 6, + "start": 9.2, + "end": 10.6, + "text": "汁水也非常的多" + }, + { + "id": 7, + "start": 11.28, + "end": 12.96, + "text": "当天现摘的杨梅" + }, + { + "id": 8, + "start": 12.96, + "end": 14.84, + "text": "口感鲜甜 果肉细嫩" + }, + { + "id": 9, + "start": 14.84, + "end": 16.3, + "text": "真的特别特别的新鲜" + }, + { + "id": 10, + "start": 16.3, + "end": 17.8, + "text": "越吃越有滋味" + }, + { + "id": 11, + "start": 17.8, + "end": 19.88, + "text": "到手慢慢的满满一箱啊" + }, + { + "id": 12, + "start": 19.88, + "end": 21.36, + "text": "吃起来真的过瘾" + }, + { + "id": 13, + "start": 22.44, + "end": 24.2, + "text": "哇~ 你看这个汁水" + }, + { + "id": 14, + "start": 24.2, + "end": 27.04, + "text": "真的超级的过瘾 超级的满足" + }, + { + "id": 15, + "start": 27.04, + "end": 29.68, + "text": "强烈安利给每一个喜欢吃杨梅的人" + }, + { + "id": 16, + "start": 29.68, + "end": 31.28, + "text": "我家里人都特别爱吃" + }, + { + "id": 17, + "start": 31.28, + "end": 32.8, + "text": "一次能炫一大盒" + }, + { + "id": 18, + "start": 32.8, + "end": 35.64, + "text": "爱吃杨梅的家人们一定要来尝尝看" + } + ], + "words": [ + { + "word": "我", + "start": 0.0, + "end": 0.16, + "prob": 0.95 + }, + { + "word": "最", + "start": 0.16, + "end": 0.36, + "prob": 0.95 + }, + { + "word": "近", + "start": 0.36, + "end": 0.52, + "prob": 0.95 + }, + { + "word": "迷", + "start": 0.52, + "end": 0.72, + "prob": 0.95 + }, + { + "word": "上", + "start": 0.72, + "end": 0.92, + "prob": 0.95 + }, + { + "word": "了", + "start": 0.92, + "end": 1.08, + "prob": 0.95 + }, + { + "word": "这", + "start": 1.08, + "end": 1.2, + "prob": 0.95 + }, + { + "word": "个", + "start": 1.2, + "end": 1.36, + "prob": 0.95 + }, + { + "word": "云", + "start": 1.36, + "end": 1.56, + "prob": 0.95 + }, + { + "word": "南", + "start": 1.56, + "end": 1.72, + "prob": 0.95 + }, + { + "word": "高", + "start": 1.72, + "end": 1.88, + "prob": 0.95 + }, + { + "word": "山", + "start": 1.88, + "end": 2.04, + "prob": 0.95 + }, + { + "word": "杨", + "start": 2.04, + "end": 2.2, + "prob": 0.95 + }, + { + "word": "梅", + "start": 2.2, + "end": 2.38, + "prob": 0.95 + }, + { + "word": "真", + "start": 2.38, + "end": 2.56, + "prob": 0.95 + }, + { + "word": "的", + "start": 2.56, + "end": 2.68, + "prob": 0.95 + }, + { + "word": "是", + "start": 2.68, + "end": 2.8, + "prob": 0.95 + }, + { + "word": "又", + "start": 2.8, + "end": 2.96, + "prob": 0.95 + }, + { + "word": "鲜", + "start": 2.96, + "end": 3.16, + "prob": 0.95 + }, + { + "word": "又", + "start": 3.16, + "end": 3.32, + "prob": 0.95 + }, + { + "word": "甜", + "start": 3.32, + "end": 3.56, + "prob": 0.95 + }, + { + "word": "巨", + "start": 3.56, + "end": 3.72, + "prob": 0.95 + }, + { + "word": "好", + "start": 3.72, + "end": 3.92, + "prob": 0.95 + }, + { + "word": "吃", + "start": 3.92, + "end": 4.36, + "prob": 0.95 + }, + { + "word": "而", + "start": 4.36, + "end": 4.52, + "prob": 0.95 + }, + { + "word": "且", + "start": 4.52, + "end": 4.72, + "prob": 0.95 + }, + { + "word": "这", + "start": 4.72, + "end": 4.88, + "prob": 0.95 + }, + { + "word": "样", + "start": 4.88, + "end": 5.04, + "prob": 0.95 + }, + { + "word": "子", + "start": 5.04, + "end": 5.2, + "prob": 0.95 + }, + { + "word": "的", + "start": 5.2, + "end": 5.28, + "prob": 0.95 + }, + { + "word": "两", + "start": 5.28, + "end": 5.44, + "prob": 0.95 + }, + { + "word": "大", + "start": 5.44, + "end": 5.6, + "prob": 0.95 + }, + { + "word": "板", + "start": 5.6, + "end": 5.8, + "prob": 0.95 + }, + { + "word": "到", + "start": 5.8, + "end": 5.96, + "prob": 0.95 + }, + { + "word": "手", + "start": 5.96, + "end": 6.12, + "prob": 0.95 + }, + { + "word": "以", + "start": 6.12, + "end": 6.28, + "prob": 0.95 + }, + { + "word": "后", + "start": 6.28, + "end": 6.44, + "prob": 0.95 + }, + { + "word": "才", + "start": 6.44, + "end": 6.6, + "prob": 0.95 + }, + { + "word": "7", + "start": 6.6, + "end": 6.8, + "prob": 0.95 + }, + { + "word": "9", + "start": 6.8, + "end": 7.0, + "prob": 0.95 + }, + { + "word": ".", + "start": 7.0, + "end": 7.08, + "prob": 0.95 + }, + { + "word": "9", + "start": 7.08, + "end": 7.2, + "prob": 0.95 + }, + { + "word": "你", + "start": 7.2, + "end": 7.36, + "prob": 0.95 + }, + { + "word": "看", + "start": 7.36, + "end": 7.52, + "prob": 0.95 + }, + { + "word": "他", + "start": 7.52, + "end": 7.68, + "prob": 0.95 + }, + { + "word": "每", + "start": 7.68, + "end": 7.84, + "prob": 0.95 + }, + { + "word": "个", + "start": 7.84, + "end": 8.0, + "prob": 0.95 + }, + { + "word": "个", + "start": 8.0, + "end": 8.16, + "prob": 0.95 + }, + { + "word": "头", + "start": 8.16, + "end": 8.32, + "prob": 0.95 + }, + { + "word": "都", + "start": 8.32, + "end": 8.48, + "prob": 0.95 + }, + { + "word": "非", + "start": 8.48, + "end": 8.64, + "prob": 0.95 + }, + { + "word": "常", + "start": 8.64, + "end": 8.8, + "prob": 0.95 + }, + { + "word": "的", + "start": 8.8, + "end": 8.84, + "prob": 0.95 + }, + { + "word": "饱", + "start": 8.84, + "end": 9.0, + "prob": 0.95 + }, + { + "word": "满", + "start": 9.0, + "end": 9.2, + "prob": 0.95 + }, + { + "word": "汁", + "start": 9.2, + "end": 9.4, + "prob": 0.95 + }, + { + "word": "水", + "start": 9.4, + "end": 9.6, + "prob": 0.95 + }, + { + "word": "也", + "start": 9.6, + "end": 9.8, + "prob": 0.95 + }, + { + "word": "非", + "start": 9.8, + "end": 10.0, + "prob": 0.95 + }, + { + "word": "常", + "start": 10.0, + "end": 10.1, + "prob": 0.95 + }, + { + "word": "的", + "start": 10.1, + "end": 10.2, + "prob": 0.95 + }, + { + "word": "多", + "start": 10.2, + "end": 10.6, + "prob": 0.95 + }, + { + "word": "当", + "start": 11.28, + "end": 11.48, + "prob": 0.95 + }, + { + "word": "天", + "start": 11.48, + "end": 11.68, + "prob": 0.95 + }, + { + "word": "现", + "start": 11.68, + "end": 11.88, + "prob": 0.95 + }, + { + "word": "摘", + "start": 11.88, + "end": 12.08, + "prob": 0.95 + }, + { + "word": "的", + "start": 12.08, + "end": 12.16, + "prob": 0.95 + }, + { + "word": "杨", + "start": 12.16, + "end": 12.36, + "prob": 0.95 + }, + { + "word": "梅", + "start": 12.36, + "end": 12.6, + "prob": 0.95 + }, + { + "word": "口", + "start": 12.96, + "end": 13.12, + "prob": 0.95 + }, + { + "word": "感", + "start": 13.12, + "end": 13.28, + "prob": 0.95 + }, + { + "word": "鲜", + "start": 13.28, + "end": 13.44, + "prob": 0.95 + }, + { + "word": "甜", + "start": 13.44, + "end": 13.72, + "prob": 0.95 + }, + { + "word": "果", + "start": 13.72, + "end": 13.92, + "prob": 0.95 + }, + { + "word": "肉", + "start": 13.92, + "end": 14.12, + "prob": 0.95 + }, + { + "word": "细", + "start": 14.12, + "end": 14.28, + "prob": 0.95 + }, + { + "word": "嫩", + "start": 14.28, + "end": 14.6, + "prob": 0.95 + }, + { + "word": "真", + "start": 14.84, + "end": 15.04, + "prob": 0.95 + }, + { + "word": "的", + "start": 15.04, + "end": 15.12, + "prob": 0.95 + }, + { + "word": "特", + "start": 15.12, + "end": 15.32, + "prob": 0.95 + }, + { + "word": "别", + "start": 15.32, + "end": 15.52, + "prob": 0.95 + }, + { + "word": "特", + "start": 15.52, + "end": 15.68, + "prob": 0.95 + }, + { + "word": "别", + "start": 15.68, + "end": 15.84, + "prob": 0.95 + }, + { + "word": "的", + "start": 15.84, + "end": 15.88, + "prob": 0.95 + }, + { + "word": "新", + "start": 15.88, + "end": 16.08, + "prob": 0.95 + }, + { + "word": "鲜", + "start": 16.08, + "end": 16.3, + "prob": 0.95 + }, + { + "word": "越", + "start": 16.3, + "end": 16.5, + "prob": 0.95 + }, + { + "word": "吃", + "start": 16.5, + "end": 16.66, + "prob": 0.95 + }, + { + "word": "越", + "start": 16.66, + "end": 16.82, + "prob": 0.95 + }, + { + "word": "有", + "start": 16.82, + "end": 17.0, + "prob": 0.95 + }, + { + "word": "滋", + "start": 17.0, + "end": 17.2, + "prob": 0.95 + }, + { + "word": "味", + "start": 17.2, + "end": 17.6, + "prob": 0.95 + }, + { + "word": "到", + "start": 17.8, + "end": 18.0, + "prob": 0.95 + }, + { + "word": "手", + "start": 18.0, + "end": 18.2, + "prob": 0.95 + }, + { + "word": "慢", + "start": 18.2, + "end": 18.4, + "prob": 0.95 + }, + { + "word": "慢", + "start": 18.4, + "end": 18.56, + "prob": 0.95 + }, + { + "word": "的", + "start": 18.56, + "end": 18.6, + "prob": 0.95 + }, + { + "word": "满", + "start": 18.6, + "end": 18.76, + "prob": 0.95 + }, + { + "word": "满", + "start": 18.76, + "end": 18.96, + "prob": 0.95 + }, + { + "word": "一", + "start": 18.96, + "end": 19.12, + "prob": 0.95 + }, + { + "word": "箱", + "start": 19.12, + "end": 19.4, + "prob": 0.95 + }, + { + "word": "啊", + "start": 19.4, + "end": 19.6, + "prob": 0.95 + }, + { + "word": "吃", + "start": 19.88, + "end": 20.04, + "prob": 0.95 + }, + { + "word": "起", + "start": 20.04, + "end": 20.16, + "prob": 0.95 + }, + { + "word": "来", + "start": 20.16, + "end": 20.28, + "prob": 0.95 + }, + { + "word": "真", + "start": 20.28, + "end": 20.48, + "prob": 0.95 + }, + { + "word": "的", + "start": 20.48, + "end": 20.52, + "prob": 0.95 + }, + { + "word": "过", + "start": 20.52, + "end": 20.72, + "prob": 0.95 + }, + { + "word": "瘾", + "start": 20.72, + "end": 21.1, + "prob": 0.95 + }, + { + "word": "哇", + "start": 22.44, + "end": 22.8, + "prob": 0.95 + }, + { + "word": "你", + "start": 22.8, + "end": 22.96, + "prob": 0.95 + }, + { + "word": "看", + "start": 22.96, + "end": 23.12, + "prob": 0.95 + }, + { + "word": "这", + "start": 23.12, + "end": 23.24, + "prob": 0.95 + }, + { + "word": "个", + "start": 23.24, + "end": 23.36, + "prob": 0.95 + }, + { + "word": "汁", + "start": 23.36, + "end": 23.56, + "prob": 0.95 + }, + { + "word": "水", + "start": 23.56, + "end": 24.0, + "prob": 0.95 + }, + { + "word": "真", + "start": 24.2, + "end": 24.36, + "prob": 0.95 + }, + { + "word": "的", + "start": 24.36, + "end": 24.4, + "prob": 0.95 + }, + { + "word": "超", + "start": 24.4, + "end": 24.56, + "prob": 0.95 + }, + { + "word": "级", + "start": 24.56, + "end": 24.72, + "prob": 0.95 + }, + { + "word": "的", + "start": 24.72, + "end": 24.76, + "prob": 0.95 + }, + { + "word": "过", + "start": 24.76, + "end": 24.96, + "prob": 0.95 + }, + { + "word": "瘾", + "start": 24.96, + "end": 25.2, + "prob": 0.95 + }, + { + "word": "超", + "start": 25.2, + "end": 25.4, + "prob": 0.95 + }, + { + "word": "级", + "start": 25.4, + "end": 25.6, + "prob": 0.95 + }, + { + "word": "的", + "start": 25.6, + "end": 25.64, + "prob": 0.95 + }, + { + "word": "满", + "start": 25.64, + "end": 25.84, + "prob": 0.95 + }, + { + "word": "足", + "start": 25.84, + "end": 26.2, + "prob": 0.95 + }, + { + "word": "强", + "start": 27.04, + "end": 27.24, + "prob": 0.95 + }, + { + "word": "烈", + "start": 27.24, + "end": 27.44, + "prob": 0.95 + }, + { + "word": "安", + "start": 27.44, + "end": 27.64, + "prob": 0.95 + }, + { + "word": "利", + "start": 27.64, + "end": 27.84, + "prob": 0.95 + }, + { + "word": "给", + "start": 27.84, + "end": 28.0, + "prob": 0.95 + }, + { + "word": "每", + "start": 28.0, + "end": 28.16, + "prob": 0.95 + }, + { + "word": "一", + "start": 28.16, + "end": 28.32, + "prob": 0.95 + }, + { + "word": "个", + "start": 28.32, + "end": 28.44, + "prob": 0.95 + }, + { + "word": "喜", + "start": 28.44, + "end": 28.6, + "prob": 0.95 + }, + { + "word": "欢", + "start": 28.6, + "end": 28.76, + "prob": 0.95 + }, + { + "word": "吃", + "start": 28.76, + "end": 28.92, + "prob": 0.95 + }, + { + "word": "杨", + "start": 28.92, + "end": 29.12, + "prob": 0.95 + }, + { + "word": "梅", + "start": 29.12, + "end": 29.28, + "prob": 0.95 + }, + { + "word": "的", + "start": 29.28, + "end": 29.36, + "prob": 0.95 + }, + { + "word": "人", + "start": 29.36, + "end": 29.68, + "prob": 0.95 + }, + { + "word": "我", + "start": 29.68, + "end": 29.84, + "prob": 0.95 + }, + { + "word": "家", + "start": 29.84, + "end": 30.0, + "prob": 0.95 + }, + { + "word": "里", + "start": 30.0, + "end": 30.16, + "prob": 0.95 + }, + { + "word": "人", + "start": 30.16, + "end": 30.32, + "prob": 0.95 + }, + { + "word": "都", + "start": 30.32, + "end": 30.48, + "prob": 0.95 + }, + { + "word": "特", + "start": 30.48, + "end": 30.64, + "prob": 0.95 + }, + { + "word": "别", + "start": 30.64, + "end": 30.84, + "prob": 0.95 + }, + { + "word": "爱", + "start": 30.84, + "end": 31.0, + "prob": 0.95 + }, + { + "word": "吃", + "start": 31.0, + "end": 31.28, + "prob": 0.95 + }, + { + "word": "一", + "start": 31.28, + "end": 31.44, + "prob": 0.95 + }, + { + "word": "次", + "start": 31.44, + "end": 31.6, + "prob": 0.95 + }, + { + "word": "能", + "start": 31.6, + "end": 31.8, + "prob": 0.95 + }, + { + "word": "炫", + "start": 31.8, + "end": 32.0, + "prob": 0.95 + }, + { + "word": "一", + "start": 32.0, + "end": 32.16, + "prob": 0.95 + }, + { + "word": "大", + "start": 32.16, + "end": 32.36, + "prob": 0.95 + }, + { + "word": "盒", + "start": 32.36, + "end": 32.6, + "prob": 0.95 + }, + { + "word": "爱", + "start": 32.8, + "end": 32.96, + "prob": 0.95 + }, + { + "word": "吃", + "start": 32.96, + "end": 33.12, + "prob": 0.95 + }, + { + "word": "杨", + "start": 33.12, + "end": 33.32, + "prob": 0.95 + }, + { + "word": "梅", + "start": 33.32, + "end": 33.48, + "prob": 0.95 + }, + { + "word": "的", + "start": 33.48, + "end": 33.52, + "prob": 0.95 + }, + { + "word": "家", + "start": 33.52, + "end": 33.68, + "prob": 0.95 + }, + { + "word": "人", + "start": 33.68, + "end": 33.84, + "prob": 0.95 + }, + { + "word": "们", + "start": 33.84, + "end": 34.0, + "prob": 0.95 + }, + { + "word": "一", + "start": 34.0, + "end": 34.16, + "prob": 0.95 + }, + { + "word": "定", + "start": 34.16, + "end": 34.32, + "prob": 0.95 + }, + { + "word": "要", + "start": 34.32, + "end": 34.48, + "prob": 0.95 + }, + { + "word": "来", + "start": 34.48, + "end": 34.68, + "prob": 0.95 + }, + { + "word": "尝", + "start": 34.68, + "end": 34.88, + "prob": 0.95 + }, + { + "word": "尝", + "start": 34.88, + "end": 35.08, + "prob": 0.95 + }, + { + "word": "看", + "start": 35.08, + "end": 35.28, + "prob": 0.95 + } + ] +} \ No newline at end of file diff --git a/examples/meimei_yangmei/mimo_v25_output.json b/examples/meimei_yangmei/mimo_v25_output.json new file mode 100644 index 0000000..b014810 --- /dev/null +++ b/examples/meimei_yangmei/mimo_v25_output.json @@ -0,0 +1,135 @@ +{ + "video_analysis_report": { + "video_info": { + "title": "云南高山杨梅推荐", + "content_type": "产品推荐/带货短视频", + "total_duration_sec": 35, + "summary": "本视频为一段时长35秒的云南高山杨梅带货短视频。视频核心叙事结构清晰,遵循了‘吸引眼球(特写冲击)- 产品展示(整体与细节)- 价值传递(价格与品质)- 体验背书(试吃)- 再次强调(卖点与呼吁)’的营销逻辑。全片通过快速、密集的镜头切换,聚焦于杨梅的‘新鲜’、‘多汁’、‘饱满’三大卖点,利用特写镜头下的汁水横流和主持人的生动描述与试吃,有效激发观众的购买欲望。" + }, + "scene_analysis": [ + { + "scene_id": 1, + "start_time": "00:00.000", + "end_time": "00:01.000", + "duration_sec": 1, + "scene_type": "产品特写", + "visual_description": "画面为极近景特写。一只成年男性的手(根据指甲和关节判断)正用力捏爆一颗深紫红色的杨梅,大量的深红色汁水瞬间从果肉中迸发并流淌下来,覆盖在手指和手掌上。背景是模糊的杨梅托盘。", + "camera": "固定镜头,特写。", + "transition": "直接切入(作为视频开场吸引注意力的‘黄金三秒’镜头)。" + }, + { + "scene_id": 2, + "start_time": "00:01.000", + "end_time": "00:02.000", + "duration_sec": 1, + "scene_type": "主持人场景", + "visual_description": "画面切换至室内场景。一位身穿白色无袖上衣、佩戴领夹麦克风、扎着发带的女性主持人,正微笑着从一个白色泡沫箱中取出一整板用黑色塑料托盘装着的杨梅。背景是明亮的窗户和绿植。", + "camera": "中景,固定。", + "transition": "硬切。" + }, + { + "scene_id": 3, + "start_time": "00:02.000", + "end_time": "00:04.000", + "duration_sec": 2, + "scene_type": "产品特写", + "visual_description": "画面切换为女性手部特写,她用双手轻轻托着两颗并排的杨梅,杨梅呈深紫黑色,表面颗粒饱满,色泽均匀。字幕显示‘真的是又鲜又甜,巨好吃’。", + "camera": "特写,轻微跟随手部移动。", + "transition": "硬切。" + }, + { + "scene_id": 4, + "start_time": "00:04.000", + "end_time": "00:07.000", + "duration_sec": 3, + "scene_type": "主持人场景", + "visual_description": "切回主持人中景。她左右手各举起一大板杨梅(每板约50颗),面向镜头展示,同时讲解价格。字幕同步显示‘这样子的两大板 到手以后才79.9’。", + "camera": "中景,固定。", + "transition": "硬切。" + }, + { + "scene_id": 5, + "start_time": "00:07.000", + "end_time": "00:08.000", + "duration_sec": 1, + "scene_type": "产品特写", + "visual_description": "镜头推近,特写展示一整板杨梅。杨梅颗颗饱满,紧密排列在黑色托盘的凹槽内,表面干燥新鲜。字幕显示‘你看他每个个头都非常的饱满’。", + "camera": "俯拍特写,有轻微的推镜头效果。", + "transition": "硬切。" + }, + { + "scene_id": 6, + "start_time": "00:08.000", + "end_time": "00:10.000", + "duration_sec": 2, + "scene_type": "产品功能展示", + "visual_description": "画面切换为手部特写(与场景1不同,手部更纤细),再次展示用手挤压一颗杨梅,大量红色汁水涌出,滴落在下方模糊的杨梅板上。字幕显示‘汁水也非常的多’。", + "camera": "特写,固定。", + "transition": "硬切。" + }, + { + "scene_id": 7, + "start_time": "00:10.000", + "end_time": "00:15.000", + "duration_sec": 5, + "scene_type": "主持人试吃", + "visual_description": "主持人中景。她拿起一颗杨梅放入口中品尝,做出享受的表情,并描述口感。随后镜头快速切到她手中被咬了一口的杨梅特写,展示内部鲜红细嫩的果肉。字幕显示‘当天现摘的杨梅’、‘口感鲜甜,果肉细嫩’。", + "camera": "中景 -> 快速切换至特写 -> 切回主持人。", + "transition": "硬切。" + }, + { + "scene_id": 8, + "start_time": "00:15.000", + "end_time": "00:18.000", + "duration_sec": 3, + "scene_type": "主持人场景", + "visual_description": "主持人手持一板杨梅,另一只手拿起一颗,边展示边讲解其新鲜度和风味。她表情愉悦,语气肯定。字幕显示‘真的特别特别的新鲜’、‘越吃越有滋味’。", + "camera": "中景,固定。", + "transition": "硬切。" + }, + { + "scene_id": 9, + "start_time": "00:18.000", + "end_time": "00:22.000", + "duration_sec": 4, + "scene_type": "主持人场景", + "visual_description": "主持人将手中一整板杨梅倾斜展示,然后拿起一颗再次送入口中,咀嚼时发出清晰的‘咕叽’声(可能是音效),表情非常享受。字幕显示‘到手慢慢的满满一箱’、‘吃起来真的好过瘾’。", + "camera": "中景,固定。", + "transition": "硬切。" + }, + { + "scene_id": 10, + "start_time": "00:22.000", + "end_time": "00:26.000", + "duration_sec": 4, + "scene_type": "产品特写", + "visual_description": "画面切到手部特写,展示一颗被咬开的杨梅。内部结构清晰可见,果汁丰盈,在光线下晶莹剔透。主持人画外音惊叹汁水之多。字幕显示‘哇~你看这个汁水’、‘真的超级的过瘾 超级的满足’。", + "camera": "微距特写,固定,焦点清晰。", + "transition": "硬切。" + }, + { + "scene_id": 11, + "start_time": "00:26.000", + "end_time": "00:29.000", + "duration_sec": 3, + "scene_type": "主持人场景", + "visual_description": "主持人手持一颗杨梅,向镜头做出推荐的手势,语气诚恳地进行‘安利’。字幕显示‘强烈安利给每一个喜欢吃杨梅的人’。", + "camera": "中景,固定。", + "transition": "硬切。" + }, + { + "scene_id": 12, + "start_time": "00:29.000", + "end_time": "00:34.000", + "duration_sec": 5, + "scene_type": "主持人场景", + "visual_description": "主持人抱着一整箱(泡沫箱内装满一板杨梅)面向镜头,总结家庭喜爱度和产品分量,最后发出购买呼吁。字幕依次显示‘我家里人都特别爱吃’、‘一次能炫一大盆’、‘爱吃杨梅的家人们一定要来尝尝看’。", + "camera": "中景,固定。", + "transition": "硬切。" + } + ], + "timeline_narrative": { + "summary": "视频以极具冲击力的‘捏爆杨梅’特写开场,瞬间建立‘多汁’的核心卖点。随即引入主持人,通过她从开箱、展示两大板产品、价格播报,到近距离展示果肉饱满度、再次用特写强调汁水丰盈,层层递进地呈现产品优势。关键的试吃环节通过主持人的表情、语言和被咬开杨梅的特写,从味觉和视觉双重维度进行体验背书。结尾部分回归整体推荐,以‘家人爱吃’增加可信度,并再次呼吁目标人群(爱吃杨梅的人)行动。整个视频节奏明快,信息密度高,在短短35秒内完成了从吸引、展示、说服到转化的完整营销链条。" + } + } +} \ No newline at end of file diff --git a/examples/meimei_yangmei/mimo_vlm_transcription.json b/examples/meimei_yangmei/mimo_vlm_transcription.json new file mode 100644 index 0000000..97a7e7b --- /dev/null +++ b/examples/meimei_yangmei/mimo_vlm_transcription.json @@ -0,0 +1,1170 @@ +{ + "segments": [ + { + "id": 1, + "start": 0.0, + "end": 2.38, + "text": "我最近迷上了这个云南高山杨梅" + }, + { + "id": 2, + "start": 2.48, + "end": 4.02, + "text": "真的是又鲜又甜,巨好吃" + }, + { + "id": 3, + "start": 4.4, + "end": 5.58, + "text": "而且这样子的两大板" + }, + { + "id": 4, + "start": 5.68, + "end": 6.7, + "text": "到手以后才79.9" + }, + { + "id": 5, + "start": 7.06, + "end": 8.66, + "text": "你看他每个个头都非常的饱满" + }, + { + "id": 6, + "start": 8.9, + "end": 10.12, + "text": "而且它的汁水非常的多" + }, + { + "id": 7, + "start": 11.0, + "end": 12.0, + "text": "当天现摘的杨梅" + }, + { + "id": 8, + "start": 13.06, + "end": 14.54, + "text": "口感鲜甜,果肉细嫩" + }, + { + "id": 9, + "start": 15.36, + "end": 16.5, + "text": "真的特别特别的新鲜" + }, + { + "id": 10, + "start": 16.82, + "end": 17.84, + "text": "越吃越有滋味" + }, + { + "id": 11, + "start": 18.06, + "end": 19.14, + "text": "到手满满的满一箱" + }, + { + "id": 12, + "start": 19.62, + "end": 20.88, + "text": "吃起来真的好过瘾" + }, + { + "id": 13, + "start": 23.0, + "end": 24.14, + "text": "哇~你看这个汁水" + }, + { + "id": 14, + "start": 24.4, + "end": 26.22, + "text": "真的超级的过瘾,超级的满足" + }, + { + "id": 15, + "start": 27.08, + "end": 29.24, + "text": "强烈安利给每一个喜欢吃杨梅的人" + }, + { + "id": 16, + "start": 29.64, + "end": 30.96, + "text": "我家里人都特别爱吃" + }, + { + "id": 17, + "start": 31.12, + "end": 32.24, + "text": "一次能炫一大盒" + }, + { + "id": 18, + "start": 32.68, + "end": 34.66, + "text": "爱吃杨梅的家人们一定要来尝尝看" + } + ], + "words": [ + { + "word": "我", + "start": 0.0, + "end": 0.16, + "prob": 1.0 + }, + { + "word": "最", + "start": 0.16, + "end": 0.28, + "prob": 1.0 + }, + { + "word": "近", + "start": 0.28, + "end": 0.44, + "prob": 1.0 + }, + { + "word": "迷", + "start": 0.44, + "end": 0.58, + "prob": 1.0 + }, + { + "word": "上", + "start": 0.58, + "end": 0.72, + "prob": 1.0 + }, + { + "word": "了", + "start": 0.72, + "end": 0.84, + "prob": 1.0 + }, + { + "word": "这", + "start": 0.84, + "end": 0.94, + "prob": 1.0 + }, + { + "word": "个", + "start": 0.94, + "end": 1.06, + "prob": 1.0 + }, + { + "word": "云", + "start": 1.06, + "end": 1.22, + "prob": 1.0 + }, + { + "word": "南", + "start": 1.22, + "end": 1.36, + "prob": 1.0 + }, + { + "word": "高", + "start": 1.36, + "end": 1.52, + "prob": 1.0 + }, + { + "word": "山", + "start": 1.52, + "end": 1.7, + "prob": 1.0 + }, + { + "word": "杨", + "start": 1.7, + "end": 1.84, + "prob": 1.0 + }, + { + "word": "梅", + "start": 1.84, + "end": 2.38, + "prob": 1.0 + }, + { + "word": "真", + "start": 2.48, + "end": 2.64, + "prob": 1.0 + }, + { + "word": "的", + "start": 2.64, + "end": 2.74, + "prob": 1.0 + }, + { + "word": "是", + "start": 2.74, + "end": 2.84, + "prob": 1.0 + }, + { + "word": "又", + "start": 2.84, + "end": 2.96, + "prob": 1.0 + }, + { + "word": "鲜", + "start": 2.96, + "end": 3.12, + "prob": 1.0 + }, + { + "word": "又", + "start": 3.12, + "end": 3.22, + "prob": 1.0 + }, + { + "word": "甜", + "start": 3.22, + "end": 3.4, + "prob": 1.0 + }, + { + "word": "巨", + "start": 3.56, + "end": 3.7, + "prob": 1.0 + }, + { + "word": "好", + "start": 3.7, + "end": 3.82, + "prob": 1.0 + }, + { + "word": "吃", + "start": 3.82, + "end": 4.02, + "prob": 1.0 + }, + { + "word": "而", + "start": 4.4, + "end": 4.54, + "prob": 1.0 + }, + { + "word": "且", + "start": 4.54, + "end": 4.66, + "prob": 1.0 + }, + { + "word": "这", + "start": 4.66, + "end": 4.78, + "prob": 1.0 + }, + { + "word": "样", + "start": 4.78, + "end": 4.9, + "prob": 1.0 + }, + { + "word": "子", + "start": 4.9, + "end": 5.02, + "prob": 1.0 + }, + { + "word": "的", + "start": 5.02, + "end": 5.1, + "prob": 1.0 + }, + { + "word": "两", + "start": 5.1, + "end": 5.24, + "prob": 1.0 + }, + { + "word": "大", + "start": 5.24, + "end": 5.38, + "prob": 1.0 + }, + { + "word": "板", + "start": 5.38, + "end": 5.58, + "prob": 1.0 + }, + { + "word": "到", + "start": 5.68, + "end": 5.82, + "prob": 1.0 + }, + { + "word": "手", + "start": 5.82, + "end": 5.94, + "prob": 1.0 + }, + { + "word": "以", + "start": 5.94, + "end": 6.06, + "prob": 1.0 + }, + { + "word": "后", + "start": 6.06, + "end": 6.16, + "prob": 1.0 + }, + { + "word": "才", + "start": 6.16, + "end": 6.28, + "prob": 1.0 + }, + { + "word": "7", + "start": 6.28, + "end": 6.44, + "prob": 1.0 + }, + { + "word": "9", + "start": 6.44, + "end": 6.52, + "prob": 1.0 + }, + { + "word": ".", + "start": 6.52, + "end": 6.58, + "prob": 1.0 + }, + { + "word": "9", + "start": 6.58, + "end": 6.7, + "prob": 1.0 + }, + { + "word": "你", + "start": 7.06, + "end": 7.18, + "prob": 1.0 + }, + { + "word": "看", + "start": 7.18, + "end": 7.3, + "prob": 1.0 + }, + { + "word": "他", + "start": 7.3, + "end": 7.42, + "prob": 1.0 + }, + { + "word": "每", + "start": 7.42, + "end": 7.54, + "prob": 1.0 + }, + { + "word": "个", + "start": 7.54, + "end": 7.64, + "prob": 1.0 + }, + { + "word": "个", + "start": 7.64, + "end": 7.78, + "prob": 1.0 + }, + { + "word": "头", + "start": 7.78, + "end": 7.92, + "prob": 1.0 + }, + { + "word": "都", + "start": 7.92, + "end": 8.02, + "prob": 1.0 + }, + { + "word": "非", + "start": 8.02, + "end": 8.16, + "prob": 1.0 + }, + { + "word": "常", + "start": 8.16, + "end": 8.26, + "prob": 1.0 + }, + { + "word": "的", + "start": 8.26, + "end": 8.34, + "prob": 1.0 + }, + { + "word": "饱", + "start": 8.34, + "end": 8.48, + "prob": 1.0 + }, + { + "word": "满", + "start": 8.48, + "end": 8.66, + "prob": 1.0 + }, + { + "word": "而", + "start": 8.9, + "end": 9.06, + "prob": 1.0 + }, + { + "word": "且", + "start": 9.06, + "end": 9.16, + "prob": 1.0 + }, + { + "word": "它", + "start": 9.16, + "end": 9.3, + "prob": 1.0 + }, + { + "word": "的", + "start": 9.3, + "end": 9.38, + "prob": 1.0 + }, + { + "word": "汁", + "start": 9.38, + "end": 9.52, + "prob": 1.0 + }, + { + "word": "水", + "start": 9.52, + "end": 9.66, + "prob": 1.0 + }, + { + "word": "非", + "start": 9.66, + "end": 9.8, + "prob": 1.0 + }, + { + "word": "常", + "start": 9.8, + "end": 9.9, + "prob": 1.0 + }, + { + "word": "的", + "start": 9.9, + "end": 9.98, + "prob": 1.0 + }, + { + "word": "多", + "start": 9.98, + "end": 10.12, + "prob": 1.0 + }, + { + "word": "当", + "start": 11.0, + "end": 11.14, + "prob": 1.0 + }, + { + "word": "天", + "start": 11.14, + "end": 11.26, + "prob": 1.0 + }, + { + "word": "现", + "start": 11.26, + "end": 11.42, + "prob": 1.0 + }, + { + "word": "摘", + "start": 11.42, + "end": 11.58, + "prob": 1.0 + }, + { + "word": "的", + "start": 11.58, + "end": 11.66, + "prob": 1.0 + }, + { + "word": "杨", + "start": 11.66, + "end": 11.82, + "prob": 1.0 + }, + { + "word": "梅", + "start": 11.82, + "end": 12.0, + "prob": 1.0 + }, + { + "word": "口", + "start": 13.06, + "end": 13.22, + "prob": 1.0 + }, + { + "word": "感", + "start": 13.22, + "end": 13.38, + "prob": 1.0 + }, + { + "word": "鲜", + "start": 13.38, + "end": 13.54, + "prob": 1.0 + }, + { + "word": "甜", + "start": 13.54, + "end": 13.74, + "prob": 1.0 + }, + { + "word": "果", + "start": 13.86, + "end": 14.02, + "prob": 1.0 + }, + { + "word": "肉", + "start": 14.02, + "end": 14.18, + "prob": 1.0 + }, + { + "word": "细", + "start": 14.18, + "end": 14.34, + "prob": 1.0 + }, + { + "word": "嫩", + "start": 14.34, + "end": 14.54, + "prob": 1.0 + }, + { + "word": "真", + "start": 15.36, + "end": 15.5, + "prob": 1.0 + }, + { + "word": "的", + "start": 15.5, + "end": 15.58, + "prob": 1.0 + }, + { + "word": "特", + "start": 15.58, + "end": 15.72, + "prob": 1.0 + }, + { + "word": "别", + "start": 15.72, + "end": 15.82, + "prob": 1.0 + }, + { + "word": "特", + "start": 15.82, + "end": 15.96, + "prob": 1.0 + }, + { + "word": "别", + "start": 15.96, + "end": 16.06, + "prob": 1.0 + }, + { + "word": "的", + "start": 16.06, + "end": 16.14, + "prob": 1.0 + }, + { + "word": "新", + "start": 16.14, + "end": 16.32, + "prob": 1.0 + }, + { + "word": "鲜", + "start": 16.32, + "end": 16.5, + "prob": 1.0 + }, + { + "word": "越", + "start": 16.82, + "end": 16.98, + "prob": 1.0 + }, + { + "word": "吃", + "start": 16.98, + "end": 17.14, + "prob": 1.0 + }, + { + "word": "越", + "start": 17.14, + "end": 17.28, + "prob": 1.0 + }, + { + "word": "有", + "start": 17.28, + "end": 17.4, + "prob": 1.0 + }, + { + "word": "滋", + "start": 17.4, + "end": 17.56, + "prob": 1.0 + }, + { + "word": "味", + "start": 17.56, + "end": 17.84, + "prob": 1.0 + }, + { + "word": "到", + "start": 18.06, + "end": 18.22, + "prob": 1.0 + }, + { + "word": "手", + "start": 18.22, + "end": 18.36, + "prob": 1.0 + }, + { + "word": "满", + "start": 18.36, + "end": 18.5, + "prob": 1.0 + }, + { + "word": "满", + "start": 18.5, + "end": 18.62, + "prob": 1.0 + }, + { + "word": "的", + "start": 18.62, + "end": 18.7, + "prob": 1.0 + }, + { + "word": "满", + "start": 18.7, + "end": 18.82, + "prob": 1.0 + }, + { + "word": "一", + "start": 18.82, + "end": 18.94, + "prob": 1.0 + }, + { + "word": "箱", + "start": 18.94, + "end": 19.14, + "prob": 1.0 + }, + { + "word": "吃", + "start": 19.62, + "end": 19.78, + "prob": 1.0 + }, + { + "word": "起", + "start": 19.78, + "end": 19.92, + "prob": 1.0 + }, + { + "word": "来", + "start": 19.92, + "end": 20.02, + "prob": 1.0 + }, + { + "word": "真", + "start": 20.02, + "end": 20.18, + "prob": 1.0 + }, + { + "word": "的", + "start": 20.18, + "end": 20.26, + "prob": 1.0 + }, + { + "word": "好", + "start": 20.26, + "end": 20.42, + "prob": 1.0 + }, + { + "word": "过", + "start": 20.42, + "end": 20.6, + "prob": 1.0 + }, + { + "word": "瘾", + "start": 20.6, + "end": 20.88, + "prob": 1.0 + }, + { + "word": "哇", + "start": 23.0, + "end": 23.28, + "prob": 1.0 + }, + { + "word": "你", + "start": 23.28, + "end": 23.42, + "prob": 1.0 + }, + { + "word": "看", + "start": 23.42, + "end": 23.56, + "prob": 1.0 + }, + { + "word": "这", + "start": 23.56, + "end": 23.68, + "prob": 1.0 + }, + { + "word": "个", + "start": 23.68, + "end": 23.8, + "prob": 1.0 + }, + { + "word": "汁", + "start": 23.8, + "end": 23.94, + "prob": 1.0 + }, + { + "word": "水", + "start": 23.94, + "end": 24.14, + "prob": 1.0 + }, + { + "word": "真", + "start": 24.4, + "end": 24.54, + "prob": 1.0 + }, + { + "word": "的", + "start": 24.54, + "end": 24.62, + "prob": 1.0 + }, + { + "word": "超", + "start": 24.62, + "end": 24.8, + "prob": 1.0 + }, + { + "word": "级", + "start": 24.8, + "end": 24.92, + "prob": 1.0 + }, + { + "word": "的", + "start": 24.92, + "end": 25.0, + "prob": 1.0 + }, + { + "word": "过", + "start": 25.0, + "end": 25.16, + "prob": 1.0 + }, + { + "word": "瘾", + "start": 25.16, + "end": 25.4, + "prob": 1.0 + }, + { + "word": "超", + "start": 25.48, + "end": 25.66, + "prob": 1.0 + }, + { + "word": "级", + "start": 25.66, + "end": 25.78, + "prob": 1.0 + }, + { + "word": "的", + "start": 25.78, + "end": 25.86, + "prob": 1.0 + }, + { + "word": "满", + "start": 25.86, + "end": 26.02, + "prob": 1.0 + }, + { + "word": "足", + "start": 26.02, + "end": 26.22, + "prob": 1.0 + }, + { + "word": "强", + "start": 27.08, + "end": 27.24, + "prob": 1.0 + }, + { + "word": "烈", + "start": 27.24, + "end": 27.38, + "prob": 1.0 + }, + { + "word": "安", + "start": 27.38, + "end": 27.52, + "prob": 1.0 + }, + { + "word": "利", + "start": 27.52, + "end": 27.62, + "prob": 1.0 + }, + { + "word": "给", + "start": 27.62, + "end": 27.74, + "prob": 1.0 + }, + { + "word": "每", + "start": 27.74, + "end": 27.86, + "prob": 1.0 + }, + { + "word": "一", + "start": 27.86, + "end": 27.98, + "prob": 1.0 + }, + { + "word": "个", + "start": 27.98, + "end": 28.12, + "prob": 1.0 + }, + { + "word": "喜", + "start": 28.12, + "end": 28.26, + "prob": 1.0 + }, + { + "word": "欢", + "start": 28.26, + "end": 28.42, + "prob": 1.0 + }, + { + "word": "吃", + "start": 28.42, + "end": 28.54, + "prob": 1.0 + }, + { + "word": "杨", + "start": 28.54, + "end": 28.72, + "prob": 1.0 + }, + { + "word": "梅", + "start": 28.72, + "end": 28.9, + "prob": 1.0 + }, + { + "word": "的", + "start": 28.9, + "end": 28.98, + "prob": 1.0 + }, + { + "word": "人", + "start": 28.98, + "end": 29.24, + "prob": 1.0 + }, + { + "word": "我", + "start": 29.64, + "end": 29.8, + "prob": 1.0 + }, + { + "word": "家", + "start": 29.8, + "end": 29.94, + "prob": 1.0 + }, + { + "word": "里", + "start": 29.94, + "end": 30.08, + "prob": 1.0 + }, + { + "word": "人", + "start": 30.08, + "end": 30.18, + "prob": 1.0 + }, + { + "word": "都", + "start": 30.18, + "end": 30.3, + "prob": 1.0 + }, + { + "word": "特", + "start": 30.3, + "end": 30.46, + "prob": 1.0 + }, + { + "word": "别", + "start": 30.46, + "end": 30.56, + "prob": 1.0 + }, + { + "word": "爱", + "start": 30.56, + "end": 30.72, + "prob": 1.0 + }, + { + "word": "吃", + "start": 30.72, + "end": 30.96, + "prob": 1.0 + }, + { + "word": "一", + "start": 31.12, + "end": 31.28, + "prob": 1.0 + }, + { + "word": "次", + "start": 31.28, + "end": 31.4, + "prob": 1.0 + }, + { + "word": "能", + "start": 31.4, + "end": 31.52, + "prob": 1.0 + }, + { + "word": "炫", + "start": 31.52, + "end": 31.72, + "prob": 1.0 + }, + { + "word": "一", + "start": 31.72, + "end": 31.84, + "prob": 1.0 + }, + { + "word": "大", + "start": 31.84, + "end": 32.0, + "prob": 1.0 + }, + { + "word": "盒", + "start": 32.0, + "end": 32.24, + "prob": 1.0 + }, + { + "word": "爱", + "start": 32.68, + "end": 32.82, + "prob": 1.0 + }, + { + "word": "吃", + "start": 32.82, + "end": 32.94, + "prob": 1.0 + }, + { + "word": "杨", + "start": 32.94, + "end": 33.12, + "prob": 1.0 + }, + { + "word": "梅", + "start": 33.12, + "end": 33.28, + "prob": 1.0 + }, + { + "word": "的", + "start": 33.28, + "end": 33.36, + "prob": 1.0 + }, + { + "word": "家", + "start": 33.36, + "end": 33.5, + "prob": 1.0 + }, + { + "word": "人", + "start": 33.5, + "end": 33.62, + "prob": 1.0 + }, + { + "word": "们", + "start": 33.62, + "end": 33.7, + "prob": 1.0 + }, + { + "word": "一", + "start": 33.7, + "end": 33.82, + "prob": 1.0 + }, + { + "word": "定", + "start": 33.82, + "end": 33.94, + "prob": 1.0 + }, + { + "word": "要", + "start": 33.94, + "end": 34.06, + "prob": 1.0 + }, + { + "word": "来", + "start": 34.06, + "end": 34.18, + "prob": 1.0 + }, + { + "word": "尝", + "start": 34.18, + "end": 34.32, + "prob": 1.0 + }, + { + "word": "尝", + "start": 34.32, + "end": 34.46, + "prob": 1.0 + }, + { + "word": "看", + "start": 34.46, + "end": 34.66, + "prob": 1.0 + } + ] +} \ No newline at end of file diff --git a/examples/meimei_yangmei/mimo_vs_whisper_comparison.md b/examples/meimei_yangmei/mimo_vs_whisper_comparison.md new file mode 100644 index 0000000..eff9777 --- /dev/null +++ b/examples/meimei_yangmei/mimo_vs_whisper_comparison.md @@ -0,0 +1,159 @@ +# MiMo 2.5 vs Whisper 转录对比分析 +## 视频: test_meimei.mp4 (云南高山杨梅带货) + +--- + +## 一、段落级逐句对比 + +| # | 时间 | MiMo 2.5 | Whisper large-v3 | 差异 | 判定 | +|---|------|----------|------------------|------|------| +| 1 | 00:00-00:02 | 我最近迷上了这个云南高山杨梅 | 我最近**明天上了这**一款云南高山杨梅 | MiMo ✅ Whisper ❌ | **MiMo 胜** | +| 2 | 00:02-00:04 | 真的是又鲜又甜 **巨**好吃 | 真的是又鲜又甜 **最**好吃 | 语义均可 | **平局** (巨/最 都常见) | +| 3 | 00:04-00:06 | 而且这样**子**的两大板 | 而且这样**折**两大板 | MiMo ✅ Whisper ❌ | **MiMo 胜** | +| 4 | 00:06-00:07 | 到手以后才79.9 | 到手以后才79.9**元** | MiMo ❌ Whisper ✅ | **Whisper 胜** (Whisper多出"元") | +| 5 | 00:07-00:09 | 你看**他**每个个头都非常的饱满 | 你看**它**每个个头都非常的饱满 | 他/它 通用 | **平局** | +| 6 | 00:09-00:11 | **汁水也**非常的多 | **而且它的汁水**非常非常的多 | MiMo更简洁 | **Whisper 更完整** | +| 7 | 00:11-00:13 | 当天现摘的杨梅 | 当天现摘的杨梅 | ✅ 完全一致 | **平局** | +| 8 | 00:13-00:15 | 口感鲜甜 果肉细嫩 | 口感鲜甜 果肉细嫩 | ✅ 完全一致 | **平局** | +| 9 | 00:15-00:16 | 真的特别特别的新鲜 | 真的特别特别的新鲜 | ✅ 完全一致 | **平局** | +| 10 | 00:16-00:17 | 越吃越有滋味 | 越吃越有滋味 | ✅ 完全一致 | **平局** | +| 11 | 00:18-00:20 | 到手**慢慢的**满满一箱**啊** | 到手**这样**满满的一箱 | MiMo 多字 | **Whisper 更准确** | +| 12 | 00:20-00:21 | 吃起来真的**过瘾** | 吃起来真的**好**过瘾 | Whisper多"好" | **Whisper 更准确** | +| 13 | 00:22-00:24 | 哇~ 你看这个汁水 | 哇 你看这个汁水 | ~差异 | **平局** | +| 14 | 00:24-00:26 | 真的超级的过瘾 超级的满足 | 真的超级的过瘾 超级的满足 | ✅ 完全一致 | **平局** | +| 15 | 00:27-00:29 | 强烈**安利**给每一个喜欢吃杨梅的人 | 强烈**安逸**给爱吃杨梅的每一个人 | 关键差异 | **MiMo ✅ "安利"正确** | +| 16 | 00:29-00:31 | 我家里人都特别爱吃 | 我家里的人都特别的爱吃 | "家里的" vs "家里" | **平局** (口语等价) | +| 17 | 00:31-00:33 | 一次**能炫一大盒** | 一次**就能掀这一整盒** | 差异较大 | 需结合视频字幕 | +| 18 | 00:33-00:36 | 爱吃杨梅的家人们一定要来尝尝看 | 爱吃杨梅的家人们 + 一定要来一箱尝尝看 | Whisper多"一箱" | **Whisper 更完整** | + +### 段落级统计 +- **完全一致**: 5/18 句 (28%) +- **语义等价**: 5/18 句 (28%) +- **MiMo 更准确**: 3/18 句 (17%) — #1 迷上了, #3 子的, #15 安利 +- **Whisper 更准确**: 4/18 句 (22%) — #4 元, #6 完整, #12 好, #18 一箱 +- **均有偏差**: 1/18 句 (5%) — #17 + +--- + +## 二、关键转录差异详解 + +### 差异 1: 句1 — "迷上了" vs "明天上了" +| | MiMo 2.5 | Whisper | +|--|----------|---------| +| 文本 | 我最近**迷上了**这个云南高山杨梅 | 我最近**明天上了这**一款云南高山杨梅 | +| 时间戳 | 0.00 → 2.38 | 0.00 → 2.40 | +| 判定 | ✅ **正确** | ❌ "明天上了"不通顺 | +| 原因 | MiMo 视觉+音频联合理解 | Whisper 纯音频,受口音影响 | + +### 差异 2: 句15 — "安利" vs "安逸" +| | MiMo 2.5 | Whisper | +|--|----------|---------| +| 文本 | 强烈**安利**给每一个喜欢吃杨梅的人 | 强烈**安逸**给爱吃杨梅的每一个人 | +| Whisper置信度 | — | 安: 0.81, 逸: 0.80 (低!) | +| 判定 | ✅ **正确** — "安利"是网络用语"推荐" | ❌ "安逸"不通顺 | +| 原因 | MiMo 语义理解能力强 | Whisper 声学相似词混淆 | + +### 差异 3: 句6 — 信息量差异 +| | MiMo 2.5 | Whisper | +|--|----------|---------| +| 文本 | 汁水也非常的多 | 而且它的汁水非常非常的多 | +| 判定 | ⚠️ 漏了"而且它的" | ✅ 更完整 | +| 原因 | MiMo 可能将前句合并 | Whisper 更忠实于音频 | + +--- + +## 三、字级时间戳精度对比 (选取典型区间) + +### 区间 1: "我最近迷上了这个云南高山杨梅" (0-2.4s) + +| 字 | MiMo start | Whisper start | 差值(ms) | MiMo dur | Whisper dur | +|----|-----------|--------------|----------|----------|-------------| +| 我 | 0.000 | 0.000 | 0 | 160ms | 80ms | +| 最 | 0.160 | 0.080 | +80 | 200ms | 140ms | +| 近 | 0.360 | — | — | 160ms | — | +| 迷 | 0.520 | — (明) | — | 200ms | — | +| 上 | 0.720 | 0.600 | +120 | 200ms | 180ms | +| 了 | 0.920 | 0.780 | +140 | 160ms | 80ms | +| 这 | 1.080 | 0.860 | +220 | 120ms | 120ms | +| 个 | 1.200 | — | — | 160ms | — | +| 云 | 1.360 | 1.300 | +60 | 200ms | 180ms | +| 南 | 1.560 | 1.480 | +80 | 160ms | 180ms | +| 高 | 1.720 | 1.660 | +60 | 160ms | 140ms | +| 山 | 1.880 | 1.800 | +80 | 160ms | 180ms | +| 杨 | 2.040 | 1.980 | +60 | 160ms | 220ms | +| 梅 | 2.200 | 2.200 | 0 | 180ms | 200ms | + +**规律**: MiMo 的字级时间戳普遍比 Whisper **晚 60-220ms**,但差异在可接受范围内。 + +### 区间 2: "真的超级的过瘾 超级的满足" (23.7-25.8s) + +| 字 | MiMo start | Whisper start | 差值(ms) | +|----|-----------|--------------|----------| +| 真 | 24.200 | 23.680 | +520 | +| 的 | 24.360 | 24.000 | +360 | +| 超 | 24.400 | 24.000 | +400 | +| 级 | 24.560 | 24.240 | +320 | +| 的 | 24.720 | 24.560 | +160 | +| 过 | 24.760 | 24.700 | +60 | +| 瘾 | 24.960 | 24.820 | +140 | +| 超 | 25.200 | 25.040 | +160 | +| 级 | 25.400 | 25.160 | +240 | +| 的 | 25.600 | 25.320 | +280 | +| 满 | 25.640 | 25.460 | +180 | +| 足 | 25.840 | 25.600 | +240 | + +**规律**: 此区间 MiMo 整体偏晚 60-520ms,Whisper 的时间戳更贴合实际发音。 + +--- + +## 四、置信度/概率对比 + +### MiMo 2.5 +- 所有字的 probability 固定为 **0.95** +- ❌ **无法区分识别难度** — 无论多清晰或多模糊的字,置信度都一样 + +### Whisper large-v3 +- 每个字有独立的真实置信度 (0.42 ~ 1.00) +- ✅ **可识别不确定词**: + +| 词 | Whisper 置信度 | 说明 | +|----|---------------|------| +| 明 (应为迷) | 0.69 | ⚠️ 低置信度,提示可能有误 | +| 天 (应为上) | 0.85 | ⚠️ 中等 | +| 最 (好/巨) | 0.42 | ⚠️ 最低置信度,不确定 | +| 折 (应为子) | 0.68 | ⚠️ 低置信度 | +| 板 (句3末) | 0.63 | ⚠️ 低置信度 | +| 一 (句11) | 0.56 | ⚠️ 低置信度 | +| 哇 | 0.55 | ⚠️ 低置信度 | +| 安逸 (应为安利) | 0.81/0.80 | ⚠️ 低置信度 | + +--- + +## 五、综合评分 + +| 维度 | MiMo 2.5 | Whisper large-v3 | 胜者 | +|------|----------|------------------|------| +| **转录准确性** | ⭐⭐⭐⭐ (14/18 正确) | ⭐⭐⭐⭐ (13/18 正确) | **MiMo 微胜** | +| **语义理解** | ⭐⭐⭐⭐⭐ (迷上了、安利) | ⭐⭐⭐ (明天上了、安逸) | **MiMo 明显胜** | +| **时间戳精度** | ⭐⭐⭐ (估算值,偏晚60-500ms) | ⭐⭐⭐⭐⭐ (声学对齐) | **Whisper 明显胜** | +| **置信度质量** | ⭐ (固定0.95,无参考价值) | ⭐⭐⭐⭐⭐ (真实概率分布) | **Whisper 完胜** | +| **字词粒度** | ⭐⭐⭐⭐⭐ (174字,逐字) | ⭐⭐⭐⭐ (160词,部分合并) | **MiMo 微胜** | +| **部署便捷性** | ⭐⭐⭐⭐⭐ (一次API调用) | ⭐⭐⭐ (需安装模型+GPU) | **MiMo 胜** | +| **综合** | ⭐⭐⭐⭐ | ⭐⭐⭐⭐ | **各有所长** | + +--- + +## 六、结论与建议 + +### MiMo 2.5 适合: +- 🎯 需要**语义正确**的转录(能理解网络用语"安利") +- 🚀 快速一步到位(视频理解 + 转录 + 分镜同时完成) +- 📱 无 GPU 环境的轻量级部署 + +### Whisper 更适合: +- ⏱️ 需要**精确到毫秒**的时间戳(剪辑、字幕对齐) +- 📊 需要**置信度**来筛选不确定词 +- 🔧 批量处理、离线场景 + +### 最佳实践: +**结合两者优势** — 用 Whisper 获取精确时间戳,用 MiMo 2.5 做语义校正和场景理解。 diff --git a/examples/meimei_yangmei/qwen3_asr_raw.txt b/examples/meimei_yangmei/qwen3_asr_raw.txt new file mode 100644 index 0000000..3c43ed8 --- /dev/null +++ b/examples/meimei_yangmei/qwen3_asr_raw.txt @@ -0,0 +1 @@ +我最近迷恋上了这一款云南高山杨梅,真的是又鲜又甜巨好吃,而且这样子的两大板到手以后才七十九块九。你看它每个个头啊都非常的饱满,而且它的汁水非常非常的多,当天现摘的杨梅,口感鲜甜,果肉细嫩,真的特别特别的新鲜,越吃越有滋味。到手这样满满的一箱啊,吃起来真的好过瘾。哇,你看这个汁水,真的超级的过瘾,超级的满足,强烈安利给爱吃杨梅的每一个人。我家里的人都特别的爱吃,一次就能炫这一整盒,爱吃杨梅的家人们一定要来一箱尝尝看。 \ No newline at end of file diff --git a/examples/meimei_yangmei/subtitles.srt b/examples/meimei_yangmei/subtitles.srt new file mode 100644 index 0000000..c24e2df --- /dev/null +++ b/examples/meimei_yangmei/subtitles.srt @@ -0,0 +1,75 @@ +1 +00:00:00,000 --> 00:00:02,399 +我最近明天上了这一款云南高山杨梅 + +2 +00:00:02,399 --> 00:00:03,980 +真的是又鲜又甜 最好吃 + +3 +00:00:03,980 --> 00:00:05,379 +而且这样折两大板 + +4 +00:00:05,379 --> 00:00:06,919 +到手以后才79.9元 + +5 +00:00:06,919 --> 00:00:09,179 +你看它每个个头都非常的饱满 + +6 +00:00:09,179 --> 00:00:11,039 +而且它的汁水非常非常的多 + +7 +00:00:11,039 --> 00:00:12,339 +当天现摘的杨梅 + +8 +00:00:12,339 --> 00:00:14,279 +口感鲜甜 果肉细嫩 + +9 +00:00:14,279 --> 00:00:16,120 +真的特别特别的新鲜 + +10 +00:00:16,120 --> 00:00:17,320 +越吃越有滋味 + +11 +00:00:17,320 --> 00:00:18,579 +到手这样满满的一箱 + +12 +00:00:18,579 --> 00:00:19,820 +吃起来真的好过瘾 + +13 +00:00:22,199 --> 00:00:23,679 +哇 你看这个汁水 + +14 +00:00:23,679 --> 00:00:25,839 +真的超级的过瘾 超级的满足 + +15 +00:00:25,839 --> 00:00:28,300 +强烈安逸给爱吃杨梅的每一个人 + +16 +00:00:28,300 --> 00:00:30,019 +我家里的人都特别的爱吃 + +17 +00:00:30,019 --> 00:00:31,440 +一次就能掀这一整盒 + +18 +00:00:31,440 --> 00:00:32,659 +爱吃杨梅的家人们 + +19 +00:00:32,659 --> 00:00:33,920 +一定要来一箱尝尝看 diff --git a/examples/meimei_yangmei/three_way_comparison.md b/examples/meimei_yangmei/three_way_comparison.md new file mode 100644 index 0000000..7d6791a --- /dev/null +++ b/examples/meimei_yangmei/three_way_comparison.md @@ -0,0 +1,103 @@ +# MiMo-V2.5-ASR vs MiMo 2.5 (VLM) vs Whisper — 三方转录对比 +## 视频: test_meimei.mp4 (云南高山杨梅带货, 34秒) + +--- + +## 一、段落级逐句三方对比 + +| # | 时间 | MiMo-ASR (纯音频) | MiMo 2.5 (视频+音频) | Whisper large-v3 | 判定 | +|---|------|-------------------|---------------------|------------------|------| +| 1 | 00:00-00:02 | 我最近**迷恋上了**这一款云南高山杨梅 | 我最近**迷上了**这个云南高山杨梅 | 我最近**明天上了这**一款云南高山杨梅 | **VLM ✅最准** / ASR近似 | +| 2 | 00:02-00:04 | 真的是又鲜又甜,巨好吃 | 真的是又鲜又甜 巨好吃 | 真的是又鲜又甜 最好吃 | **ASR/VLM ✅** | +| 3 | 00:04-00:06 | 而且这样子的两大板 | 而且这样子的两大板 | 而且这样折两大板 | **ASR/VLM ✅** | +| 4 | 00:06-00:07 | 到手以后才七十九块九 | 到手以后才79.9 | 到手以后才79.9元 | **ASR ✅口语化准确** | +| 5 | 00:07-00:09 | 你看它每个个头啊都非常的饱满 | 你看他每个个头都非常的饱满 | 你看它每个个头都非常的饱满 | **平局** (口语等价) | +| 6 | 00:09-00:11 | 而且它的汁水非常非常的多 | 而且它的汁水非常的多 | 而且它的汁水非常非常的多 | **Whisper ✅更完整** | +| 7 | 00:11-00:13 | 当天现摘的杨梅 | 当天现摘的杨梅 | 当天现摘的杨梅 | ✅ 完全一致 | +| 8 | 00:13-00:15 | 口感鲜甜,果肉细嫩 | 口感鲜甜 果肉细嫩 | 口感鲜甜 果肉细嫩 | ✅ 完全一致 | +| 9 | 00:15-00:16 | 真的特别特别的新鲜 | 真的特别特别的新鲜 | 真的特别特别的新鲜 | ✅ 完全一致 | +| 10 | 00:16-00:17 | 越吃越有滋味 | 越吃越有滋味 | 越吃越有滋味 | ✅ 完全一致 | +| 11 | 00:18-00:20 | 到手这样满满的一箱啊 | 到手慢慢的满满一箱啊 | 到手这样满满的一箱 | **ASR ✅** | +| 12 | 00:20-00:21 | 吃起来真的好过瘾 | 吃起来真的好过瘾 | 吃起来真的好过瘾 | ✅ 完全一致 | +| 13 | 00:22-00:24 | 哇,你看这个汁水 | 哇~你看这个汁水 | 哇 你看这个汁水 | ✅ 完全一致 | +| 14 | 00:24-00:26 | 真的超级的过瘾,超级的满足 | 真的超级的过瘾 超级的满足 | 真的超级的过瘾 超级的满足 | ✅ 完全一致 | +| 15 | 00:27-00:29 | 强烈**安利**给爱吃杨梅的每一个人 | 强烈**安利**给每一个喜欢吃杨梅的人 | 强烈**安逸**给爱吃杨梅的每一个人 | **ASR/VLM ✅** / Whisper ❌ | +| 16 | 00:29-00:31 | 我家里的人都特别的爱吃 | 我家里人都特别爱吃 | 我家里的人都特别的爱吃 | **ASR/Whisper ✅更完整** | +| 17 | 00:31-00:33 | 一次就能炫**这一整盒** | 一次能炫一大盒 | 一次就能掀这一整盒 | **ASR ✅** | +| 18 | 00:33-00:36 | 爱吃杨梅的家人们一定要来一箱尝尝看 | 爱吃杨梅的家人们一定要来尝尝看 | 爱吃杨梅的家人们 + 一定要来一箱尝尝看 | **ASR ✅最完整** | + +### 段落级准确率统计 + +| 模型 | 正确句数 | 准确率 | 关键错误 | +|------|---------|--------|----------| +| **MiMo-ASR** | 17/18 | **94.4%** | #1 "迷恋"多一字 | +| **MiMo 2.5 (VLM)** | 16/18 | **88.9%** | #11 "慢慢的"误听, #6 漏字 | +| **Whisper** | 13/18 | **72.2%** | #1 "明天上了", #3 "折", #15 "安逸" | + +--- + +## 二、关键转录差异详解 + +### 差异 1: 句1 — 三种不同结果 +| 模型 | 文本 | 判定 | +|------|------|------| +| **MiMo-ASR** | 我最近**迷恋上了**这一款 | ⚠️ 多了"恋"字,但语义正确 | +| **MiMo 2.5 (VLM)** | 我最近**迷上了**这个 | ✅ **最准确** | +| **Whisper** | 我最近**明天上了这**一款 | ❌ "明天上了"不通顺 | + +### 差异 2: 句15 — "安利" vs "安逸" +| 模型 | 文本 | Whisper置信度 | +|------|------|-------------| +| **MiMo-ASR** | 强烈**安利**给爱吃杨梅的每一个人 | — | +| **MiMo 2.5 (VLM)** | 强烈**安利**给每一个喜欢吃杨梅的人 | — | +| **Whisper** | 强烈**安逸**给爱吃杨梅的每一个人 | 安: 0.81, 逸: 0.80 ⚠️ | + +三个模型中,MiMo-ASR 和 VLM 都正确识别为"安利"(网络用语=推荐),Whisper 受声学相似性影响识别为"安逸"。 + +### 差异 3: 句17 — 口语化表达 +| 模型 | 文本 | 判定 | +|------|------|------| +| **MiMo-ASR** | 一次就能炫**这一整盒** | ✅ 准确 | +| **MiMo 2.5 (VLM)** | 一次能炫一大盒 | ⚠️ 漏了"就""这""整" | +| **Whisper** | 一次就能掀**这一整盒** | ⚠️ "掀"应为"炫" | + +--- + +## 三、MiMo-V2.5-ASR 特殊说明 + +### 代理限制 +通过本地代理 (`127.0.0.1:15721`) 调用 `mimo-v2.5-asr` 时: +- ❌ **不支持附加文本提示** — 代理网关注入自己的 prompt +- ❌ **不支持字级时间戳输出** — 仅返回纯文本转录 +- ❌ **max_tokens 限制 4096** — 不足以输出详细时间戳 JSON +- ✅ **转录准确性极高** — 94.4% 准确率,三者最高 + +### 官方 API 对比 +如通过小米官方 API (`api.xiaomimimo.com/v1`) 直接调用,ASR 模型可能支持: +- `asr_options` 参数配置 +- 更长的输出 token 限制 +- 潜在的字级时间戳支持(需进一步测试) + +--- + +## 四、综合评分 + +| 维度 | MiMo-ASR | MiMo 2.5 (VLM) | Whisper large-v3 | +|------|----------|-----------------|------------------| +| **转录准确率** | ⭐⭐⭐⭐⭐ (94.4%) | ⭐⭐⭐⭐ (88.9%) | ⭐⭐⭐ (72.2%) | +| **语义理解** | ⭐⭐⭐⭐ (迷恋、安利、炫) | ⭐⭐⭐⭐⭐ (迷上了、安利) | ⭐⭐ (明天上了、安逸) | +| **字级时间戳** | ❌ 代理不支持 | ⭐⭐⭐ (估算值) | ⭐⭐⭐⭐⭐ (声学对齐) | +| **置信度** | ❌ 无 | ⭐ (固定0.95) | ⭐⭐⭐⭐⭐ (真实概率) | +| **综合评价** | 纯文本最强 | 视频+音频联合 | 时间戳最强 | + +--- + +## 五、结论 + +| 场景 | 推荐方案 | +|------|----------| +| **只需准确文本** | MiMo-V2.5-ASR (94.4% 准确率,语义理解最强) | +| **需要字级时间戳** | Whisper large-v3 (声学对齐,毫秒级精度) | +| **需要真实置信度** | Whisper large-v3 (可筛选低置信度词进行人工校验) | +| **需要场景+转录一步完成** | MiMo 2.5 视频理解 (分镜+转录同时输出) | +| **最佳组合** | MiMo-ASR (文本) + Whisper (时间戳) + MiMo 2.5 (场景) | diff --git a/examples/meimei_yangmei/whisper_full.json b/examples/meimei_yangmei/whisper_full.json new file mode 100644 index 0000000..0e6ec3d --- /dev/null +++ b/examples/meimei_yangmei/whisper_full.json @@ -0,0 +1,2119 @@ +{ + "language": "zh", + "language_probability": 0.998046875, + "duration": 34.018625, + "segments": [ + { + "id": 1, + "start": 0.0, + "end": 2.4, + "text": "我最近明天上了这一款云南高山杨梅", + "avg_logprob": -0.13623511166799637, + "no_speech_prob": 0.03955078125, + "words": [ + { + "word": "我", + "start": 0.0, + "end": 0.08, + "probability": 0.92333984375 + }, + { + "word": "最近", + "start": 0.08, + "end": 0.22, + "probability": 0.9814453125 + }, + { + "word": "明", + "start": 0.22, + "end": 0.46, + "probability": 0.68798828125 + }, + { + "word": "天", + "start": 0.46, + "end": 0.6, + "probability": 0.85302734375 + }, + { + "word": "上", + "start": 0.6, + "end": 0.78, + "probability": 0.99365234375 + }, + { + "word": "了", + "start": 0.78, + "end": 0.86, + "probability": 0.91357421875 + }, + { + "word": "这", + "start": 0.86, + "end": 0.98, + "probability": 0.80029296875 + }, + { + "word": "一", + "start": 0.98, + "end": 1.12, + "probability": 0.8388671875 + }, + { + "word": "款", + "start": 1.12, + "end": 1.3, + "probability": 0.9990234375 + }, + { + "word": "云", + "start": 1.3, + "end": 1.48, + "probability": 0.994140625 + }, + { + "word": "南", + "start": 1.48, + "end": 1.66, + "probability": 0.99365234375 + }, + { + "word": "高", + "start": 1.66, + "end": 1.8, + "probability": 0.98876953125 + }, + { + "word": "山", + "start": 1.8, + "end": 1.98, + "probability": 0.90380859375 + }, + { + "word": "杨", + "start": 1.98, + "end": 2.2, + "probability": 0.6986083984375 + }, + { + "word": "梅", + "start": 2.2, + "end": 2.4, + "probability": 0.993408203125 + } + ] + }, + { + "id": 2, + "start": 2.4, + "end": 3.98, + "text": "真的是又鲜又甜 最好吃", + "avg_logprob": -0.13623511166799637, + "no_speech_prob": 0.03955078125, + "words": [ + { + "word": "真的是", + "start": 2.4, + "end": 2.68, + "probability": 0.9736328125 + }, + { + "word": "又", + "start": 2.68, + "end": 2.98, + "probability": 0.98876953125 + }, + { + "word": "鲜", + "start": 2.98, + "end": 3.14, + "probability": 0.9983723958333334 + }, + { + "word": "又", + "start": 3.14, + "end": 3.28, + "probability": 0.99755859375 + }, + { + "word": "甜", + "start": 3.28, + "end": 3.5, + "probability": 0.99951171875 + }, + { + "word": " 最", + "start": 3.58, + "end": 3.7, + "probability": 0.42431640625 + }, + { + "word": "好吃", + "start": 3.7, + "end": 3.98, + "probability": 0.9990234375 + } + ] + }, + { + "id": 3, + "start": 3.98, + "end": 5.38, + "text": "而且这样折两大板", + "avg_logprob": -0.13623511166799637, + "no_speech_prob": 0.03955078125, + "words": [ + { + "word": "而且", + "start": 3.98, + "end": 4.3, + "probability": 0.9638671875 + }, + { + "word": "这样", + "start": 4.3, + "end": 4.62, + "probability": 0.9716796875 + }, + { + "word": "折", + "start": 4.62, + "end": 4.86, + "probability": 0.6839599609375 + }, + { + "word": "两", + "start": 4.86, + "end": 4.98, + "probability": 0.85546875 + }, + { + "word": "大", + "start": 4.98, + "end": 5.16, + "probability": 0.9951171875 + }, + { + "word": "板", + "start": 5.16, + "end": 5.38, + "probability": 0.630859375 + } + ] + }, + { + "id": 4, + "start": 5.38, + "end": 6.92, + "text": "到手以后才79.9元", + "avg_logprob": -0.13623511166799637, + "no_speech_prob": 0.03955078125, + "words": [ + { + "word": "到", + "start": 5.38, + "end": 5.54, + "probability": 0.79296875 + }, + { + "word": "手", + "start": 5.54, + "end": 5.76, + "probability": 0.99609375 + }, + { + "word": "以", + "start": 5.76, + "end": 5.86, + "probability": 0.9697265625 + }, + { + "word": "后", + "start": 5.86, + "end": 5.92, + "probability": 0.99951171875 + }, + { + "word": "才", + "start": 5.92, + "end": 6.06, + "probability": 0.9951171875 + }, + { + "word": "79.", + "start": 6.06, + "end": 6.44, + "probability": 0.8623046875 + }, + { + "word": "9", + "start": 6.66, + "end": 6.9, + "probability": 0.9853515625 + }, + { + "word": "元", + "start": 6.9, + "end": 6.92, + "probability": 0.8349609375 + } + ] + }, + { + "id": 5, + "start": 6.92, + "end": 9.18, + "text": "你看它每个个头都非常的饱满", + "avg_logprob": -0.13623511166799637, + "no_speech_prob": 0.03955078125, + "words": [ + { + "word": "你看", + "start": 6.92, + "end": 7.2, + "probability": 0.8974609375 + }, + { + "word": "它", + "start": 7.2, + "end": 7.44, + "probability": 0.8984375 + }, + { + "word": "每", + "start": 7.44, + "end": 7.66, + "probability": 0.9970703125 + }, + { + "word": "个", + "start": 7.66, + "end": 7.78, + "probability": 0.75439453125 + }, + { + "word": "个", + "start": 7.78, + "end": 7.94, + "probability": 0.94482421875 + }, + { + "word": "头", + "start": 7.94, + "end": 8.12, + "probability": 0.98388671875 + }, + { + "word": "都", + "start": 8.12, + "end": 8.34, + "probability": 0.90576171875 + }, + { + "word": "非常的", + "start": 8.34, + "end": 8.7, + "probability": 0.912109375 + }, + { + "word": "饱", + "start": 8.7, + "end": 9.02, + "probability": 0.996826171875 + }, + { + "word": "满", + "start": 9.02, + "end": 9.18, + "probability": 0.99951171875 + } + ] + }, + { + "id": 6, + "start": 9.18, + "end": 11.04, + "text": "而且它的汁水非常非常的多", + "avg_logprob": -0.13623511166799637, + "no_speech_prob": 0.03955078125, + "words": [ + { + "word": "而且", + "start": 9.18, + "end": 9.34, + "probability": 0.9921875 + }, + { + "word": "它的", + "start": 9.34, + "end": 9.6, + "probability": 0.98828125 + }, + { + "word": "汁", + "start": 9.6, + "end": 9.86, + "probability": 0.9990234375 + }, + { + "word": "水", + "start": 9.86, + "end": 10.02, + "probability": 1.0 + }, + { + "word": "非常", + "start": 10.02, + "end": 10.38, + "probability": 0.9111328125 + }, + { + "word": "非常的", + "start": 10.38, + "end": 10.72, + "probability": 0.73779296875 + }, + { + "word": "多", + "start": 10.72, + "end": 11.04, + "probability": 1.0 + } + ] + }, + { + "id": 7, + "start": 11.04, + "end": 12.34, + "text": "当天现摘的杨梅", + "avg_logprob": -0.13623511166799637, + "no_speech_prob": 0.03955078125, + "words": [ + { + "word": "当", + "start": 11.04, + "end": 11.26, + "probability": 0.99609375 + }, + { + "word": "天", + "start": 11.26, + "end": 11.44, + "probability": 0.99853515625 + }, + { + "word": "现", + "start": 11.44, + "end": 11.66, + "probability": 0.95703125 + }, + { + "word": "摘", + "start": 11.66, + "end": 11.86, + "probability": 0.95361328125 + }, + { + "word": "的", + "start": 11.86, + "end": 11.96, + "probability": 0.99560546875 + }, + { + "word": "杨", + "start": 11.96, + "end": 12.14, + "probability": 0.996826171875 + }, + { + "word": "梅", + "start": 12.14, + "end": 12.34, + "probability": 0.99951171875 + } + ] + }, + { + "id": 8, + "start": 12.34, + "end": 14.28, + "text": "口感鲜甜 果肉细嫩", + "avg_logprob": -0.13623511166799637, + "no_speech_prob": 0.03955078125, + "words": [ + { + "word": "口", + "start": 12.34, + "end": 12.58, + "probability": 0.8544921875 + }, + { + "word": "感", + "start": 12.58, + "end": 12.9, + "probability": 1.0 + }, + { + "word": "鲜", + "start": 12.9, + "end": 13.12, + "probability": 0.9998372395833334 + }, + { + "word": "甜", + "start": 13.12, + "end": 13.36, + "probability": 1.0 + }, + { + "word": " 果", + "start": 13.46, + "end": 13.64, + "probability": 0.9833984375 + }, + { + "word": "肉", + "start": 13.64, + "end": 13.84, + "probability": 0.99951171875 + }, + { + "word": "细", + "start": 13.84, + "end": 14.1, + "probability": 0.99169921875 + }, + { + "word": "嫩", + "start": 14.1, + "end": 14.28, + "probability": 0.961181640625 + } + ] + }, + { + "id": 9, + "start": 14.28, + "end": 16.12, + "text": "真的特别特别的新鲜", + "avg_logprob": -0.13623511166799637, + "no_speech_prob": 0.03955078125, + "words": [ + { + "word": "真的", + "start": 14.28, + "end": 14.88, + "probability": 0.994140625 + }, + { + "word": "特", + "start": 14.88, + "end": 15.1, + "probability": 0.9990234375 + }, + { + "word": "别", + "start": 15.1, + "end": 15.36, + "probability": 1.0 + }, + { + "word": "特", + "start": 15.36, + "end": 15.5, + "probability": 0.88818359375 + }, + { + "word": "别", + "start": 15.5, + "end": 15.62, + "probability": 1.0 + }, + { + "word": "的", + "start": 15.62, + "end": 15.68, + "probability": 0.9462890625 + }, + { + "word": "新", + "start": 15.68, + "end": 15.88, + "probability": 0.94970703125 + }, + { + "word": "鲜", + "start": 15.88, + "end": 16.12, + "probability": 1.0 + } + ] + }, + { + "id": 10, + "start": 16.12, + "end": 17.32, + "text": "越吃越有滋味", + "avg_logprob": -0.13623511166799637, + "no_speech_prob": 0.03955078125, + "words": [ + { + "word": "越", + "start": 16.12, + "end": 16.34, + "probability": 0.9404296875 + }, + { + "word": "吃", + "start": 16.34, + "end": 16.6, + "probability": 1.0 + }, + { + "word": "越", + "start": 16.6, + "end": 16.78, + "probability": 0.994140625 + }, + { + "word": "有", + "start": 16.78, + "end": 16.9, + "probability": 0.99951171875 + }, + { + "word": "滋", + "start": 16.9, + "end": 17.14, + "probability": 0.99658203125 + }, + { + "word": "味", + "start": 17.14, + "end": 17.32, + "probability": 1.0 + } + ] + }, + { + "id": 11, + "start": 17.32, + "end": 18.58, + "text": "到手这样满满的一箱", + "avg_logprob": -0.13623511166799637, + "no_speech_prob": 0.03955078125, + "words": [ + { + "word": "到", + "start": 17.32, + "end": 17.56, + "probability": 0.91162109375 + }, + { + "word": "手", + "start": 17.56, + "end": 17.7, + "probability": 0.9970703125 + }, + { + "word": "这样", + "start": 17.7, + "end": 17.88, + "probability": 0.96875 + }, + { + "word": "满", + "start": 17.88, + "end": 18.08, + "probability": 0.9990234375 + }, + { + "word": "满", + "start": 18.08, + "end": 18.18, + "probability": 0.99951171875 + }, + { + "word": "的", + "start": 18.18, + "end": 18.28, + "probability": 0.98291015625 + }, + { + "word": "一", + "start": 18.28, + "end": 18.34, + "probability": 0.56494140625 + }, + { + "word": "箱", + "start": 18.34, + "end": 18.58, + "probability": 0.975341796875 + } + ] + }, + { + "id": 12, + "start": 18.58, + "end": 19.82, + "text": "吃起来真的好过瘾", + "avg_logprob": -0.13623511166799637, + "no_speech_prob": 0.03955078125, + "words": [ + { + "word": "吃", + "start": 18.58, + "end": 18.9, + "probability": 0.8505859375 + }, + { + "word": "起", + "start": 18.9, + "end": 19.1, + "probability": 0.98486328125 + }, + { + "word": "来", + "start": 19.1, + "end": 19.18, + "probability": 0.97998046875 + }, + { + "word": "真的", + "start": 19.18, + "end": 19.3, + "probability": 0.984375 + }, + { + "word": "好", + "start": 19.3, + "end": 19.46, + "probability": 0.99658203125 + }, + { + "word": "过", + "start": 19.46, + "end": 19.66, + "probability": 0.9990234375 + }, + { + "word": "瘾", + "start": 19.66, + "end": 19.82, + "probability": 0.9944661458333334 + } + ] + }, + { + "id": 13, + "start": 22.2, + "end": 23.68, + "text": "哇 你看这个汁水", + "avg_logprob": -0.13623511166799637, + "no_speech_prob": 0.03955078125, + "words": [ + { + "word": "哇", + "start": 22.2, + "end": 22.56, + "probability": 0.5537109375 + }, + { + "word": " 你", + "start": 22.56, + "end": 22.88, + "probability": 0.8955078125 + }, + { + "word": "看", + "start": 22.88, + "end": 23.08, + "probability": 0.9951171875 + }, + { + "word": "这个", + "start": 23.08, + "end": 23.24, + "probability": 0.99267578125 + }, + { + "word": "汁", + "start": 23.24, + "end": 23.44, + "probability": 0.999755859375 + }, + { + "word": "水", + "start": 23.44, + "end": 23.68, + "probability": 1.0 + } + ] + }, + { + "id": 14, + "start": 23.68, + "end": 25.84, + "text": "真的超级的过瘾 超级的满足", + "avg_logprob": -0.13623511166799637, + "no_speech_prob": 0.03955078125, + "words": [ + { + "word": "真的", + "start": 23.68, + "end": 24.0, + "probability": 0.98876953125 + }, + { + "word": "超", + "start": 24.0, + "end": 24.24, + "probability": 0.998046875 + }, + { + "word": "级", + "start": 24.24, + "end": 24.56, + "probability": 0.985107421875 + }, + { + "word": "的", + "start": 24.56, + "end": 24.7, + "probability": 0.966796875 + }, + { + "word": "过", + "start": 24.7, + "end": 24.82, + "probability": 0.994140625 + }, + { + "word": "瘾", + "start": 24.82, + "end": 24.96, + "probability": 0.9957682291666666 + }, + { + "word": " 超", + "start": 25.04, + "end": 25.16, + "probability": 0.99951171875 + }, + { + "word": "级", + "start": 25.16, + "end": 25.32, + "probability": 0.999755859375 + }, + { + "word": "的", + "start": 25.32, + "end": 25.46, + "probability": 0.99169921875 + }, + { + "word": "满", + "start": 25.46, + "end": 25.6, + "probability": 0.999755859375 + }, + { + "word": "足", + "start": 25.6, + "end": 25.84, + "probability": 0.99951171875 + } + ] + }, + { + "id": 15, + "start": 25.84, + "end": 28.3, + "text": "强烈安逸给爱吃杨梅的每一个人", + "avg_logprob": -0.13623511166799637, + "no_speech_prob": 0.03955078125, + "words": [ + { + "word": "强", + "start": 25.84, + "end": 26.28, + "probability": 0.98291015625 + }, + { + "word": "烈", + "start": 26.28, + "end": 26.44, + "probability": 0.999267578125 + }, + { + "word": "安", + "start": 26.44, + "end": 26.58, + "probability": 0.81494140625 + }, + { + "word": "逸", + "start": 26.58, + "end": 26.7, + "probability": 0.8037109375 + }, + { + "word": "给", + "start": 26.7, + "end": 26.86, + "probability": 0.99560546875 + }, + { + "word": "爱", + "start": 26.86, + "end": 27.1, + "probability": 0.99609375 + }, + { + "word": "吃", + "start": 27.1, + "end": 27.34, + "probability": 1.0 + }, + { + "word": "杨", + "start": 27.34, + "end": 27.54, + "probability": 0.9970703125 + }, + { + "word": "梅", + "start": 27.54, + "end": 27.68, + "probability": 0.999755859375 + }, + { + "word": "的", + "start": 27.68, + "end": 27.78, + "probability": 0.998046875 + }, + { + "word": "每", + "start": 27.78, + "end": 27.92, + "probability": 1.0 + }, + { + "word": "一个", + "start": 27.92, + "end": 28.04, + "probability": 0.994140625 + }, + { + "word": "人", + "start": 28.04, + "end": 28.3, + "probability": 1.0 + } + ] + }, + { + "id": 16, + "start": 28.3, + "end": 30.02, + "text": "我家里的人都特别的爱吃", + "avg_logprob": -0.13623511166799637, + "no_speech_prob": 0.03955078125, + "words": [ + { + "word": "我", + "start": 28.3, + "end": 28.72, + "probability": 0.99462890625 + }, + { + "word": "家", + "start": 28.72, + "end": 28.88, + "probability": 1.0 + }, + { + "word": "里", + "start": 28.88, + "end": 29.02, + "probability": 0.998046875 + }, + { + "word": "的人", + "start": 29.02, + "end": 29.22, + "probability": 0.990234375 + }, + { + "word": "都", + "start": 29.22, + "end": 29.42, + "probability": 0.99853515625 + }, + { + "word": "特", + "start": 29.42, + "end": 29.5, + "probability": 0.99951171875 + }, + { + "word": "别", + "start": 29.5, + "end": 29.66, + "probability": 1.0 + }, + { + "word": "的", + "start": 29.66, + "end": 29.7, + "probability": 0.86962890625 + }, + { + "word": "爱", + "start": 29.7, + "end": 29.8, + "probability": 0.99853515625 + }, + { + "word": "吃", + "start": 29.8, + "end": 30.02, + "probability": 1.0 + } + ] + }, + { + "id": 17, + "start": 30.02, + "end": 31.44, + "text": "一次就能掀这一整盒", + "avg_logprob": -0.09411951174607149, + "no_speech_prob": 0.00269317626953125, + "words": [ + { + "word": "一次", + "start": 30.02, + "end": 30.32, + "probability": 0.91796875 + }, + { + "word": "就", + "start": 30.32, + "end": 30.52, + "probability": 0.9931640625 + }, + { + "word": "能", + "start": 30.52, + "end": 30.66, + "probability": 0.99853515625 + }, + { + "word": "掀", + "start": 30.66, + "end": 30.9, + "probability": 0.9345703125 + }, + { + "word": "这", + "start": 30.9, + "end": 31.0, + "probability": 0.884765625 + }, + { + "word": "一", + "start": 31.0, + "end": 31.12, + "probability": 0.9951171875 + }, + { + "word": "整", + "start": 31.12, + "end": 31.26, + "probability": 0.9951171875 + }, + { + "word": "盒", + "start": 31.26, + "end": 31.44, + "probability": 0.98974609375 + } + ] + }, + { + "id": 18, + "start": 31.44, + "end": 32.66, + "text": "爱吃杨梅的家人们", + "avg_logprob": -0.09411951174607149, + "no_speech_prob": 0.00269317626953125, + "words": [ + { + "word": "爱", + "start": 31.44, + "end": 31.62, + "probability": 0.970703125 + }, + { + "word": "吃", + "start": 31.62, + "end": 31.84, + "probability": 0.99853515625 + }, + { + "word": "杨", + "start": 31.84, + "end": 32.06, + "probability": 0.7132568359375 + }, + { + "word": "梅", + "start": 32.06, + "end": 32.2, + "probability": 0.982177734375 + }, + { + "word": "的", + "start": 32.2, + "end": 32.28, + "probability": 0.99560546875 + }, + { + "word": "家", + "start": 32.28, + "end": 32.4, + "probability": 0.96435546875 + }, + { + "word": "人", + "start": 32.4, + "end": 32.56, + "probability": 0.99951171875 + }, + { + "word": "们", + "start": 32.56, + "end": 32.66, + "probability": 0.99560546875 + } + ] + }, + { + "id": 19, + "start": 32.66, + "end": 33.92, + "text": "一定要来一箱尝尝看", + "avg_logprob": -0.09411951174607149, + "no_speech_prob": 0.00269317626953125, + "words": [ + { + "word": "一定要", + "start": 32.66, + "end": 32.94, + "probability": 0.8701171875 + }, + { + "word": "来", + "start": 32.94, + "end": 33.16, + "probability": 0.99853515625 + }, + { + "word": "一", + "start": 33.16, + "end": 33.34, + "probability": 0.677734375 + }, + { + "word": "箱", + "start": 33.34, + "end": 33.48, + "probability": 0.618408203125 + }, + { + "word": "尝", + "start": 33.48, + "end": 33.66, + "probability": 0.994140625 + }, + { + "word": "尝", + "start": 33.66, + "end": 33.78, + "probability": 0.996826171875 + }, + { + "word": "看", + "start": 33.78, + "end": 33.92, + "probability": 0.99951171875 + } + ] + } + ], + "words": [ + { + "word": "我", + "start": 0.0, + "end": 0.08, + "probability": 0.92333984375 + }, + { + "word": "最近", + "start": 0.08, + "end": 0.22, + "probability": 0.9814453125 + }, + { + "word": "明", + "start": 0.22, + "end": 0.46, + "probability": 0.68798828125 + }, + { + "word": "天", + "start": 0.46, + "end": 0.6, + "probability": 0.85302734375 + }, + { + "word": "上", + "start": 0.6, + "end": 0.78, + "probability": 0.99365234375 + }, + { + "word": "了", + "start": 0.78, + "end": 0.86, + "probability": 0.91357421875 + }, + { + "word": "这", + "start": 0.86, + "end": 0.98, + "probability": 0.80029296875 + }, + { + "word": "一", + "start": 0.98, + "end": 1.12, + "probability": 0.8388671875 + }, + { + "word": "款", + "start": 1.12, + "end": 1.3, + "probability": 0.9990234375 + }, + { + "word": "云", + "start": 1.3, + "end": 1.48, + "probability": 0.994140625 + }, + { + "word": "南", + "start": 1.48, + "end": 1.66, + "probability": 0.99365234375 + }, + { + "word": "高", + "start": 1.66, + "end": 1.8, + "probability": 0.98876953125 + }, + { + "word": "山", + "start": 1.8, + "end": 1.98, + "probability": 0.90380859375 + }, + { + "word": "杨", + "start": 1.98, + "end": 2.2, + "probability": 0.6986083984375 + }, + { + "word": "梅", + "start": 2.2, + "end": 2.4, + "probability": 0.993408203125 + }, + { + "word": "真的是", + "start": 2.4, + "end": 2.68, + "probability": 0.9736328125 + }, + { + "word": "又", + "start": 2.68, + "end": 2.98, + "probability": 0.98876953125 + }, + { + "word": "鲜", + "start": 2.98, + "end": 3.14, + "probability": 0.9983723958333334 + }, + { + "word": "又", + "start": 3.14, + "end": 3.28, + "probability": 0.99755859375 + }, + { + "word": "甜", + "start": 3.28, + "end": 3.5, + "probability": 0.99951171875 + }, + { + "word": " 最", + "start": 3.58, + "end": 3.7, + "probability": 0.42431640625 + }, + { + "word": "好吃", + "start": 3.7, + "end": 3.98, + "probability": 0.9990234375 + }, + { + "word": "而且", + "start": 3.98, + "end": 4.3, + "probability": 0.9638671875 + }, + { + "word": "这样", + "start": 4.3, + "end": 4.62, + "probability": 0.9716796875 + }, + { + "word": "折", + "start": 4.62, + "end": 4.86, + "probability": 0.6839599609375 + }, + { + "word": "两", + "start": 4.86, + "end": 4.98, + "probability": 0.85546875 + }, + { + "word": "大", + "start": 4.98, + "end": 5.16, + "probability": 0.9951171875 + }, + { + "word": "板", + "start": 5.16, + "end": 5.38, + "probability": 0.630859375 + }, + { + "word": "到", + "start": 5.38, + "end": 5.54, + "probability": 0.79296875 + }, + { + "word": "手", + "start": 5.54, + "end": 5.76, + "probability": 0.99609375 + }, + { + "word": "以", + "start": 5.76, + "end": 5.86, + "probability": 0.9697265625 + }, + { + "word": "后", + "start": 5.86, + "end": 5.92, + "probability": 0.99951171875 + }, + { + "word": "才", + "start": 5.92, + "end": 6.06, + "probability": 0.9951171875 + }, + { + "word": "79.", + "start": 6.06, + "end": 6.44, + "probability": 0.8623046875 + }, + { + "word": "9", + "start": 6.66, + "end": 6.9, + "probability": 0.9853515625 + }, + { + "word": "元", + "start": 6.9, + "end": 6.92, + "probability": 0.8349609375 + }, + { + "word": "你看", + "start": 6.92, + "end": 7.2, + "probability": 0.8974609375 + }, + { + "word": "它", + "start": 7.2, + "end": 7.44, + "probability": 0.8984375 + }, + { + "word": "每", + "start": 7.44, + "end": 7.66, + "probability": 0.9970703125 + }, + { + "word": "个", + "start": 7.66, + "end": 7.78, + "probability": 0.75439453125 + }, + { + "word": "个", + "start": 7.78, + "end": 7.94, + "probability": 0.94482421875 + }, + { + "word": "头", + "start": 7.94, + "end": 8.12, + "probability": 0.98388671875 + }, + { + "word": "都", + "start": 8.12, + "end": 8.34, + "probability": 0.90576171875 + }, + { + "word": "非常的", + "start": 8.34, + "end": 8.7, + "probability": 0.912109375 + }, + { + "word": "饱", + "start": 8.7, + "end": 9.02, + "probability": 0.996826171875 + }, + { + "word": "满", + "start": 9.02, + "end": 9.18, + "probability": 0.99951171875 + }, + { + "word": "而且", + "start": 9.18, + "end": 9.34, + "probability": 0.9921875 + }, + { + "word": "它的", + "start": 9.34, + "end": 9.6, + "probability": 0.98828125 + }, + { + "word": "汁", + "start": 9.6, + "end": 9.86, + "probability": 0.9990234375 + }, + { + "word": "水", + "start": 9.86, + "end": 10.02, + "probability": 1.0 + }, + { + "word": "非常", + "start": 10.02, + "end": 10.38, + "probability": 0.9111328125 + }, + { + "word": "非常的", + "start": 10.38, + "end": 10.72, + "probability": 0.73779296875 + }, + { + "word": "多", + "start": 10.72, + "end": 11.04, + "probability": 1.0 + }, + { + "word": "当", + "start": 11.04, + "end": 11.26, + "probability": 0.99609375 + }, + { + "word": "天", + "start": 11.26, + "end": 11.44, + "probability": 0.99853515625 + }, + { + "word": "现", + "start": 11.44, + "end": 11.66, + "probability": 0.95703125 + }, + { + "word": "摘", + "start": 11.66, + "end": 11.86, + "probability": 0.95361328125 + }, + { + "word": "的", + "start": 11.86, + "end": 11.96, + "probability": 0.99560546875 + }, + { + "word": "杨", + "start": 11.96, + "end": 12.14, + "probability": 0.996826171875 + }, + { + "word": "梅", + "start": 12.14, + "end": 12.34, + "probability": 0.99951171875 + }, + { + "word": "口", + "start": 12.34, + "end": 12.58, + "probability": 0.8544921875 + }, + { + "word": "感", + "start": 12.58, + "end": 12.9, + "probability": 1.0 + }, + { + "word": "鲜", + "start": 12.9, + "end": 13.12, + "probability": 0.9998372395833334 + }, + { + "word": "甜", + "start": 13.12, + "end": 13.36, + "probability": 1.0 + }, + { + "word": " 果", + "start": 13.46, + "end": 13.64, + "probability": 0.9833984375 + }, + { + "word": "肉", + "start": 13.64, + "end": 13.84, + "probability": 0.99951171875 + }, + { + "word": "细", + "start": 13.84, + "end": 14.1, + "probability": 0.99169921875 + }, + { + "word": "嫩", + "start": 14.1, + "end": 14.28, + "probability": 0.961181640625 + }, + { + "word": "真的", + "start": 14.28, + "end": 14.88, + "probability": 0.994140625 + }, + { + "word": "特", + "start": 14.88, + "end": 15.1, + "probability": 0.9990234375 + }, + { + "word": "别", + "start": 15.1, + "end": 15.36, + "probability": 1.0 + }, + { + "word": "特", + "start": 15.36, + "end": 15.5, + "probability": 0.88818359375 + }, + { + "word": "别", + "start": 15.5, + "end": 15.62, + "probability": 1.0 + }, + { + "word": "的", + "start": 15.62, + "end": 15.68, + "probability": 0.9462890625 + }, + { + "word": "新", + "start": 15.68, + "end": 15.88, + "probability": 0.94970703125 + }, + { + "word": "鲜", + "start": 15.88, + "end": 16.12, + "probability": 1.0 + }, + { + "word": "越", + "start": 16.12, + "end": 16.34, + "probability": 0.9404296875 + }, + { + "word": "吃", + "start": 16.34, + "end": 16.6, + "probability": 1.0 + }, + { + "word": "越", + "start": 16.6, + "end": 16.78, + "probability": 0.994140625 + }, + { + "word": "有", + "start": 16.78, + "end": 16.9, + "probability": 0.99951171875 + }, + { + "word": "滋", + "start": 16.9, + "end": 17.14, + "probability": 0.99658203125 + }, + { + "word": "味", + "start": 17.14, + "end": 17.32, + "probability": 1.0 + }, + { + "word": "到", + "start": 17.32, + "end": 17.56, + "probability": 0.91162109375 + }, + { + "word": "手", + "start": 17.56, + "end": 17.7, + "probability": 0.9970703125 + }, + { + "word": "这样", + "start": 17.7, + "end": 17.88, + "probability": 0.96875 + }, + { + "word": "满", + "start": 17.88, + "end": 18.08, + "probability": 0.9990234375 + }, + { + "word": "满", + "start": 18.08, + "end": 18.18, + "probability": 0.99951171875 + }, + { + "word": "的", + "start": 18.18, + "end": 18.28, + "probability": 0.98291015625 + }, + { + "word": "一", + "start": 18.28, + "end": 18.34, + "probability": 0.56494140625 + }, + { + "word": "箱", + "start": 18.34, + "end": 18.58, + "probability": 0.975341796875 + }, + { + "word": "吃", + "start": 18.58, + "end": 18.9, + "probability": 0.8505859375 + }, + { + "word": "起", + "start": 18.9, + "end": 19.1, + "probability": 0.98486328125 + }, + { + "word": "来", + "start": 19.1, + "end": 19.18, + "probability": 0.97998046875 + }, + { + "word": "真的", + "start": 19.18, + "end": 19.3, + "probability": 0.984375 + }, + { + "word": "好", + "start": 19.3, + "end": 19.46, + "probability": 0.99658203125 + }, + { + "word": "过", + "start": 19.46, + "end": 19.66, + "probability": 0.9990234375 + }, + { + "word": "瘾", + "start": 19.66, + "end": 19.82, + "probability": 0.9944661458333334 + }, + { + "word": "哇", + "start": 22.2, + "end": 22.56, + "probability": 0.5537109375 + }, + { + "word": " 你", + "start": 22.56, + "end": 22.88, + "probability": 0.8955078125 + }, + { + "word": "看", + "start": 22.88, + "end": 23.08, + "probability": 0.9951171875 + }, + { + "word": "这个", + "start": 23.08, + "end": 23.24, + "probability": 0.99267578125 + }, + { + "word": "汁", + "start": 23.24, + "end": 23.44, + "probability": 0.999755859375 + }, + { + "word": "水", + "start": 23.44, + "end": 23.68, + "probability": 1.0 + }, + { + "word": "真的", + "start": 23.68, + "end": 24.0, + "probability": 0.98876953125 + }, + { + "word": "超", + "start": 24.0, + "end": 24.24, + "probability": 0.998046875 + }, + { + "word": "级", + "start": 24.24, + "end": 24.56, + "probability": 0.985107421875 + }, + { + "word": "的", + "start": 24.56, + "end": 24.7, + "probability": 0.966796875 + }, + { + "word": "过", + "start": 24.7, + "end": 24.82, + "probability": 0.994140625 + }, + { + "word": "瘾", + "start": 24.82, + "end": 24.96, + "probability": 0.9957682291666666 + }, + { + "word": " 超", + "start": 25.04, + "end": 25.16, + "probability": 0.99951171875 + }, + { + "word": "级", + "start": 25.16, + "end": 25.32, + "probability": 0.999755859375 + }, + { + "word": "的", + "start": 25.32, + "end": 25.46, + "probability": 0.99169921875 + }, + { + "word": "满", + "start": 25.46, + "end": 25.6, + "probability": 0.999755859375 + }, + { + "word": "足", + "start": 25.6, + "end": 25.84, + "probability": 0.99951171875 + }, + { + "word": "强", + "start": 25.84, + "end": 26.28, + "probability": 0.98291015625 + }, + { + "word": "烈", + "start": 26.28, + "end": 26.44, + "probability": 0.999267578125 + }, + { + "word": "安", + "start": 26.44, + "end": 26.58, + "probability": 0.81494140625 + }, + { + "word": "逸", + "start": 26.58, + "end": 26.7, + "probability": 0.8037109375 + }, + { + "word": "给", + "start": 26.7, + "end": 26.86, + "probability": 0.99560546875 + }, + { + "word": "爱", + "start": 26.86, + "end": 27.1, + "probability": 0.99609375 + }, + { + "word": "吃", + "start": 27.1, + "end": 27.34, + "probability": 1.0 + }, + { + "word": "杨", + "start": 27.34, + "end": 27.54, + "probability": 0.9970703125 + }, + { + "word": "梅", + "start": 27.54, + "end": 27.68, + "probability": 0.999755859375 + }, + { + "word": "的", + "start": 27.68, + "end": 27.78, + "probability": 0.998046875 + }, + { + "word": "每", + "start": 27.78, + "end": 27.92, + "probability": 1.0 + }, + { + "word": "一个", + "start": 27.92, + "end": 28.04, + "probability": 0.994140625 + }, + { + "word": "人", + "start": 28.04, + "end": 28.3, + "probability": 1.0 + }, + { + "word": "我", + "start": 28.3, + "end": 28.72, + "probability": 0.99462890625 + }, + { + "word": "家", + "start": 28.72, + "end": 28.88, + "probability": 1.0 + }, + { + "word": "里", + "start": 28.88, + "end": 29.02, + "probability": 0.998046875 + }, + { + "word": "的人", + "start": 29.02, + "end": 29.22, + "probability": 0.990234375 + }, + { + "word": "都", + "start": 29.22, + "end": 29.42, + "probability": 0.99853515625 + }, + { + "word": "特", + "start": 29.42, + "end": 29.5, + "probability": 0.99951171875 + }, + { + "word": "别", + "start": 29.5, + "end": 29.66, + "probability": 1.0 + }, + { + "word": "的", + "start": 29.66, + "end": 29.7, + "probability": 0.86962890625 + }, + { + "word": "爱", + "start": 29.7, + "end": 29.8, + "probability": 0.99853515625 + }, + { + "word": "吃", + "start": 29.8, + "end": 30.02, + "probability": 1.0 + }, + { + "word": "一次", + "start": 30.02, + "end": 30.32, + "probability": 0.91796875 + }, + { + "word": "就", + "start": 30.32, + "end": 30.52, + "probability": 0.9931640625 + }, + { + "word": "能", + "start": 30.52, + "end": 30.66, + "probability": 0.99853515625 + }, + { + "word": "掀", + "start": 30.66, + "end": 30.9, + "probability": 0.9345703125 + }, + { + "word": "这", + "start": 30.9, + "end": 31.0, + "probability": 0.884765625 + }, + { + "word": "一", + "start": 31.0, + "end": 31.12, + "probability": 0.9951171875 + }, + { + "word": "整", + "start": 31.12, + "end": 31.26, + "probability": 0.9951171875 + }, + { + "word": "盒", + "start": 31.26, + "end": 31.44, + "probability": 0.98974609375 + }, + { + "word": "爱", + "start": 31.44, + "end": 31.62, + "probability": 0.970703125 + }, + { + "word": "吃", + "start": 31.62, + "end": 31.84, + "probability": 0.99853515625 + }, + { + "word": "杨", + "start": 31.84, + "end": 32.06, + "probability": 0.7132568359375 + }, + { + "word": "梅", + "start": 32.06, + "end": 32.2, + "probability": 0.982177734375 + }, + { + "word": "的", + "start": 32.2, + "end": 32.28, + "probability": 0.99560546875 + }, + { + "word": "家", + "start": 32.28, + "end": 32.4, + "probability": 0.96435546875 + }, + { + "word": "人", + "start": 32.4, + "end": 32.56, + "probability": 0.99951171875 + }, + { + "word": "们", + "start": 32.56, + "end": 32.66, + "probability": 0.99560546875 + }, + { + "word": "一定要", + "start": 32.66, + "end": 32.94, + "probability": 0.8701171875 + }, + { + "word": "来", + "start": 32.94, + "end": 33.16, + "probability": 0.99853515625 + }, + { + "word": "一", + "start": 33.16, + "end": 33.34, + "probability": 0.677734375 + }, + { + "word": "箱", + "start": 33.34, + "end": 33.48, + "probability": 0.618408203125 + }, + { + "word": "尝", + "start": 33.48, + "end": 33.66, + "probability": 0.994140625 + }, + { + "word": "尝", + "start": 33.66, + "end": 33.78, + "probability": 0.996826171875 + }, + { + "word": "看", + "start": 33.78, + "end": 33.92, + "probability": 0.99951171875 + } + ] +} \ No newline at end of file diff --git a/examples/meimei_yangmei/words.srt b/examples/meimei_yangmei/words.srt new file mode 100644 index 0000000..327556d --- /dev/null +++ b/examples/meimei_yangmei/words.srt @@ -0,0 +1,639 @@ +1 +00:00:00,000 --> 00:00:00,080 +我 [0.92] + +2 +00:00:00,080 --> 00:00:00,220 +最近 [0.98] + +3 +00:00:00,220 --> 00:00:00,460 +明 [0.69] + +4 +00:00:00,460 --> 00:00:00,600 +天 [0.85] + +5 +00:00:00,600 --> 00:00:00,780 +上 [0.99] + +6 +00:00:00,780 --> 00:00:00,860 +了 [0.91] + +7 +00:00:00,860 --> 00:00:00,980 +这 [0.80] + +8 +00:00:00,980 --> 00:00:01,120 +一 [0.84] + +9 +00:00:01,120 --> 00:00:01,300 +款 [1.00] + +10 +00:00:01,300 --> 00:00:01,480 +云 [0.99] + +11 +00:00:01,480 --> 00:00:01,659 +南 [0.99] + +12 +00:00:01,659 --> 00:00:01,800 +高 [0.99] + +13 +00:00:01,800 --> 00:00:01,980 +山 [0.90] + +14 +00:00:01,980 --> 00:00:02,200 +杨 [0.70] + +15 +00:00:02,200 --> 00:00:02,399 +梅 [0.99] + +16 +00:00:02,399 --> 00:00:02,680 +真的是 [0.97] + +17 +00:00:02,680 --> 00:00:02,980 +又 [0.99] + +18 +00:00:02,980 --> 00:00:03,140 +鲜 [1.00] + +19 +00:00:03,140 --> 00:00:03,279 +又 [1.00] + +20 +00:00:03,279 --> 00:00:03,500 +甜 [1.00] + +21 +00:00:03,580 --> 00:00:03,700 + 最 [0.42] + +22 +00:00:03,700 --> 00:00:03,980 +好吃 [1.00] + +23 +00:00:03,980 --> 00:00:04,299 +而且 [0.96] + +24 +00:00:04,299 --> 00:00:04,620 +这样 [0.97] + +25 +00:00:04,620 --> 00:00:04,860 +折 [0.68] + +26 +00:00:04,860 --> 00:00:04,980 +两 [0.86] + +27 +00:00:04,980 --> 00:00:05,160 +大 [1.00] + +28 +00:00:05,160 --> 00:00:05,379 +板 [0.63] + +29 +00:00:05,379 --> 00:00:05,540 +到 [0.79] + +30 +00:00:05,540 --> 00:00:05,759 +手 [1.00] + +31 +00:00:05,759 --> 00:00:05,860 +以 [0.97] + +32 +00:00:05,860 --> 00:00:05,919 +后 [1.00] + +33 +00:00:05,919 --> 00:00:06,059 +才 [1.00] + +34 +00:00:06,059 --> 00:00:06,440 +79. [0.86] + +35 +00:00:06,660 --> 00:00:06,900 +9 [0.99] + +36 +00:00:06,900 --> 00:00:06,919 +元 [0.83] + +37 +00:00:06,919 --> 00:00:07,200 +你看 [0.90] + +38 +00:00:07,200 --> 00:00:07,440 +它 [0.90] + +39 +00:00:07,440 --> 00:00:07,660 +每 [1.00] + +40 +00:00:07,660 --> 00:00:07,780 +个 [0.75] + +41 +00:00:07,780 --> 00:00:07,940 +个 [0.94] + +42 +00:00:07,940 --> 00:00:08,119 +头 [0.98] + +43 +00:00:08,119 --> 00:00:08,339 +都 [0.91] + +44 +00:00:08,339 --> 00:00:08,699 +非常的 [0.91] + +45 +00:00:08,699 --> 00:00:09,019 +饱 [1.00] + +46 +00:00:09,019 --> 00:00:09,179 +满 [1.00] + +47 +00:00:09,179 --> 00:00:09,339 +而且 [0.99] + +48 +00:00:09,339 --> 00:00:09,599 +它的 [0.99] + +49 +00:00:09,599 --> 00:00:09,859 +汁 [1.00] + +50 +00:00:09,859 --> 00:00:10,019 +水 [1.00] + +51 +00:00:10,019 --> 00:00:10,380 +非常 [0.91] + +52 +00:00:10,380 --> 00:00:10,720 +非常的 [0.74] + +53 +00:00:10,720 --> 00:00:11,039 +多 [1.00] + +54 +00:00:11,039 --> 00:00:11,259 +当 [1.00] + +55 +00:00:11,259 --> 00:00:11,439 +天 [1.00] + +56 +00:00:11,439 --> 00:00:11,660 +现 [0.96] + +57 +00:00:11,660 --> 00:00:11,859 +摘 [0.95] + +58 +00:00:11,859 --> 00:00:11,960 +的 [1.00] + +59 +00:00:11,960 --> 00:00:12,140 +杨 [1.00] + +60 +00:00:12,140 --> 00:00:12,339 +梅 [1.00] + +61 +00:00:12,339 --> 00:00:12,580 +口 [0.85] + +62 +00:00:12,580 --> 00:00:12,900 +感 [1.00] + +63 +00:00:12,900 --> 00:00:13,119 +鲜 [1.00] + +64 +00:00:13,119 --> 00:00:13,359 +甜 [1.00] + +65 +00:00:13,460 --> 00:00:13,640 + 果 [0.98] + +66 +00:00:13,640 --> 00:00:13,839 +肉 [1.00] + +67 +00:00:13,839 --> 00:00:14,099 +细 [0.99] + +68 +00:00:14,099 --> 00:00:14,279 +嫩 [0.96] + +69 +00:00:14,279 --> 00:00:14,880 +真的 [0.99] + +70 +00:00:14,880 --> 00:00:15,099 +特 [1.00] + +71 +00:00:15,099 --> 00:00:15,359 +别 [1.00] + +72 +00:00:15,359 --> 00:00:15,500 +特 [0.89] + +73 +00:00:15,500 --> 00:00:15,619 +别 [1.00] + +74 +00:00:15,619 --> 00:00:15,679 +的 [0.95] + +75 +00:00:15,679 --> 00:00:15,880 +新 [0.95] + +76 +00:00:15,880 --> 00:00:16,120 +鲜 [1.00] + +77 +00:00:16,120 --> 00:00:16,339 +越 [0.94] + +78 +00:00:16,339 --> 00:00:16,600 +吃 [1.00] + +79 +00:00:16,600 --> 00:00:16,780 +越 [0.99] + +80 +00:00:16,780 --> 00:00:16,899 +有 [1.00] + +81 +00:00:16,899 --> 00:00:17,140 +滋 [1.00] + +82 +00:00:17,140 --> 00:00:17,320 +味 [1.00] + +83 +00:00:17,320 --> 00:00:17,559 +到 [0.91] + +84 +00:00:17,559 --> 00:00:17,699 +手 [1.00] + +85 +00:00:17,699 --> 00:00:17,879 +这样 [0.97] + +86 +00:00:17,879 --> 00:00:18,079 +满 [1.00] + +87 +00:00:18,079 --> 00:00:18,179 +满 [1.00] + +88 +00:00:18,179 --> 00:00:18,280 +的 [0.98] + +89 +00:00:18,280 --> 00:00:18,339 +一 [0.56] + +90 +00:00:18,339 --> 00:00:18,579 +箱 [0.98] + +91 +00:00:18,579 --> 00:00:18,899 +吃 [0.85] + +92 +00:00:18,899 --> 00:00:19,100 +起 [0.98] + +93 +00:00:19,100 --> 00:00:19,179 +来 [0.98] + +94 +00:00:19,179 --> 00:00:19,300 +真的 [0.98] + +95 +00:00:19,300 --> 00:00:19,460 +好 [1.00] + +96 +00:00:19,460 --> 00:00:19,660 +过 [1.00] + +97 +00:00:19,660 --> 00:00:19,820 +瘾 [0.99] + +98 +00:00:22,199 --> 00:00:22,559 +哇 [0.55] + +99 +00:00:22,559 --> 00:00:22,879 + 你 [0.90] + +100 +00:00:22,879 --> 00:00:23,079 +看 [1.00] + +101 +00:00:23,079 --> 00:00:23,239 +这个 [0.99] + +102 +00:00:23,239 --> 00:00:23,440 +汁 [1.00] + +103 +00:00:23,440 --> 00:00:23,679 +水 [1.00] + +104 +00:00:23,679 --> 00:00:24,000 +真的 [0.99] + +105 +00:00:24,000 --> 00:00:24,239 +超 [1.00] + +106 +00:00:24,239 --> 00:00:24,559 +级 [0.99] + +107 +00:00:24,559 --> 00:00:24,699 +的 [0.97] + +108 +00:00:24,699 --> 00:00:24,820 +过 [0.99] + +109 +00:00:24,820 --> 00:00:24,960 +瘾 [1.00] + +110 +00:00:25,039 --> 00:00:25,160 + 超 [1.00] + +111 +00:00:25,160 --> 00:00:25,320 +级 [1.00] + +112 +00:00:25,320 --> 00:00:25,460 +的 [0.99] + +113 +00:00:25,460 --> 00:00:25,600 +满 [1.00] + +114 +00:00:25,600 --> 00:00:25,839 +足 [1.00] + +115 +00:00:25,839 --> 00:00:26,280 +强 [0.98] + +116 +00:00:26,280 --> 00:00:26,440 +烈 [1.00] + +117 +00:00:26,440 --> 00:00:26,579 +安 [0.81] + +118 +00:00:26,579 --> 00:00:26,699 +逸 [0.80] + +119 +00:00:26,699 --> 00:00:26,859 +给 [1.00] + +120 +00:00:26,859 --> 00:00:27,100 +爱 [1.00] + +121 +00:00:27,100 --> 00:00:27,339 +吃 [1.00] + +122 +00:00:27,339 --> 00:00:27,539 +杨 [1.00] + +123 +00:00:27,539 --> 00:00:27,679 +梅 [1.00] + +124 +00:00:27,679 --> 00:00:27,780 +的 [1.00] + +125 +00:00:27,780 --> 00:00:27,920 +每 [1.00] + +126 +00:00:27,920 --> 00:00:28,039 +一个 [0.99] + +127 +00:00:28,039 --> 00:00:28,300 +人 [1.00] + +128 +00:00:28,300 --> 00:00:28,719 +我 [0.99] + +129 +00:00:28,719 --> 00:00:28,879 +家 [1.00] + +130 +00:00:28,879 --> 00:00:29,019 +里 [1.00] + +131 +00:00:29,019 --> 00:00:29,219 +的人 [0.99] + +132 +00:00:29,219 --> 00:00:29,420 +都 [1.00] + +133 +00:00:29,420 --> 00:00:29,500 +特 [1.00] + +134 +00:00:29,500 --> 00:00:29,660 +别 [1.00] + +135 +00:00:29,660 --> 00:00:29,699 +的 [0.87] + +136 +00:00:29,699 --> 00:00:29,800 +爱 [1.00] + +137 +00:00:29,800 --> 00:00:30,019 +吃 [1.00] + +138 +00:00:30,019 --> 00:00:30,320 +一次 [0.92] + +139 +00:00:30,320 --> 00:00:30,519 +就 [0.99] + +140 +00:00:30,519 --> 00:00:30,660 +能 [1.00] + +141 +00:00:30,660 --> 00:00:30,899 +掀 [0.93] + +142 +00:00:30,899 --> 00:00:31,000 +这 [0.88] + +143 +00:00:31,000 --> 00:00:31,120 +一 [1.00] + +144 +00:00:31,120 --> 00:00:31,260 +整 [1.00] + +145 +00:00:31,260 --> 00:00:31,440 +盒 [0.99] + +146 +00:00:31,440 --> 00:00:31,620 +爱 [0.97] + +147 +00:00:31,620 --> 00:00:31,839 +吃 [1.00] + +148 +00:00:31,839 --> 00:00:32,060 +杨 [0.71] + +149 +00:00:32,060 --> 00:00:32,200 +梅 [0.98] + +150 +00:00:32,200 --> 00:00:32,280 +的 [1.00] + +151 +00:00:32,280 --> 00:00:32,399 +家 [0.96] + +152 +00:00:32,399 --> 00:00:32,560 +人 [1.00] + +153 +00:00:32,560 --> 00:00:32,659 +们 [1.00] + +154 +00:00:32,659 --> 00:00:32,939 +一定要 [0.87] + +155 +00:00:32,939 --> 00:00:33,159 +来 [1.00] + +156 +00:00:33,159 --> 00:00:33,340 +一 [0.68] + +157 +00:00:33,340 --> 00:00:33,479 +箱 [0.62] + +158 +00:00:33,479 --> 00:00:33,659 +尝 [0.99] + +159 +00:00:33,659 --> 00:00:33,780 +尝 [1.00] + +160 +00:00:33,780 --> 00:00:33,920 +看 [1.00] diff --git a/scripts/pipeline.py b/scripts/pipeline.py new file mode 100644 index 0000000..1357d7a --- /dev/null +++ b/scripts/pipeline.py @@ -0,0 +1,185 @@ +""" +AutoVideo - 视频处理分析一键流程 +方案: MiMo 2.5 (分镜) + Qwen3-ASR-Flash FileTrans (转录+字级时间戳) +""" +import subprocess +import json +import os +import sys +import io +import time +import base64 +import requests + +sys.stdout = io.TextIOWrapper(sys.stdout.buffer, encoding='utf-8', errors='replace') + + +def phase2_preprocess(video_path, output_dir): + """压缩视频 + 提取音频 + 提取关键帧""" + name = os.path.splitext(os.path.basename(video_path))[0] + compressed = os.path.join(output_dir, f"{name}_compressed.mp4") + orig = os.path.getsize(video_path) + subprocess.run([ + "ffmpeg", "-y", "-i", video_path, + "-vf", "scale=-2:480", "-r", "15", + "-c:v", "libx264", "-preset", "fast", "-crf", "28", + "-c:a", "aac", "-b:a", "48k", "-ar", "16000", "-ac", "1", + "-movflags", "+faststart", compressed + ], capture_output=True, check=True) + comp = os.path.getsize(compressed) + print(f" 压缩: {orig/1024/1024:.1f}MB → {comp/1024/1024:.1f}MB ({comp/orig*100:.0f}%)") + + audio = os.path.join(output_dir, f"{name}_audio.wav") + subprocess.run([ + "ffmpeg", "-y", "-i", video_path, + "-vn", "-acodec", "pcm_s16le", "-ar", "16000", "-ac", "1", audio + ], capture_output=True, check=True) + print(f" 音频: {os.path.getsize(audio)/1024:.0f} KB") + + frames_dir = os.path.join(output_dir, f"{name}_frames") + os.makedirs(frames_dir, exist_ok=True) + subprocess.run([ + "ffmpeg", "-y", "-i", video_path, + "-vf", "fps=2,scale=480:-2", "-q:v", "5", + os.path.join(frames_dir, "frame_%04d.jpg") + ], capture_output=True, check=True) + frames = len([f for f in os.listdir(frames_dir) if f.endswith('.jpg')]) + print(f" 关键帧: {frames} 帧") + return compressed, audio + + +def phase3_mimo_scene(compressed_path): + """MiMo 2.5 分镜分析 (OpenAI 格式)""" + import openai + with open(compressed_path, "rb") as f: + video_b64 = base64.b64encode(f.read()).decode() + client = openai.OpenAI(base_url="http://127.0.0.1:15721/v1", api_key="dummy-key") + response = client.chat.completions.create( + model="mimo-v2.5", + messages=[{"role": "user", "content": [ + {"type": "video_url", "video_url": {"url": f"data:video/mp4;base64,{video_b64}"}}, + {"type": "text", "text": """请逐镜头分析这个视频,输出JSON: +{"video_summary":"概述","scenes":[{"scene_id":1,"start_time":"MM:SS.mmm","end_time":"MM:SS.mmm","duration_sec":数字,"scene_type":"类型","visual_description":"详细视觉描述","camera":"运镜","transition":"转场"}],"timeline":"时间线叙事总结"}"""} + ]}], + max_tokens=8192, temperature=0.1) + text = response.choices[0].message.content + clean = text.strip() + if clean.startswith("```"): clean = clean.split("\n", 1)[1] + if clean.endswith("```"): clean = clean.rsplit("```", 1)[0] + try: + return json.loads(clean.strip()) + except json.JSONDecodeError: + return {"raw_text": text} + + +def phase4_qwen3_asr(audio_path): + """Qwen3-ASR-Flash FileTrans: 转录 + 字级时间戳 (一步到位)""" + import dashscope + API_KEY = dashscope.api_key + + # 1. 上传获取临时URL + upload = dashscope.Files.upload(file_path=audio_path, purpose="file-extract") + file_id = upload.output["uploaded_files"][0]["file_id"] + url = dashscope.Files.get(file_id=file_id).output["url"] + + # 2. 提交转录任务 + resp = requests.post( + "https://dashscope.aliyuncs.com/api/v1/services/audio/asr/transcription", + headers={"Authorization": f"Bearer {API_KEY}", "Content-Type": "application/json", + "X-DashScope-Async": "enable"}, + json={"model": "qwen3-asr-flash-filetrans", + "input": {"file_url": url}, + "parameters": {"channel_id": [0], "enable_words": True, "enable_itn": False, "language": "zh"}} + ) + task_id = resp.json()["output"]["task_id"] + + # 3. 轮询结果 + for i in range(30): + time.sleep(2) + result = requests.get(f"https://dashscope.aliyuncs.com/api/v1/tasks/{task_id}", + headers={"Authorization": f"Bearer {API_KEY}"}).json() + if result["output"]["task_status"] == "SUCCEEDED": + break + elif result["output"]["task_status"] == "FAILED": + raise Exception(f"转录失败: {result['output']}") + + # 4. 获取转录JSON + tr_url = result["output"]["result"]["transcription_url"] + return requests.get(tr_url).json() + + +def generate_srt(trans_data, output_path): + """生成 SRT 字幕""" + lines, idx = [], 1 + for ch in trans_data.get("transcripts", []): + for sent in ch.get("sentences", []): + b, e, t = sent["begin_time"], sent["end_time"], sent["text"] + bh, bm, bs, bms = b//3600000, (b%3600000)//60000, (b%60000)//1000, b%1000 + eh, em, es, ems = e//3600000, (e%3600000)//60000, (e%60000)//1000, e%1000 + lines.extend([f"{idx}", + f"{bh:02d}:{bm:02d}:{bs:02d},{bms:03d} --> {eh:02d}:{em:02d}:{es:02d},{ems:03d}", + t, ""]) + idx += 1 + with open(output_path, "w", encoding="utf-8") as f: + f.write("\n".join(lines)) + + +def print_timestamps(trans_data): + """打印字级时间戳""" + for ch in trans_data.get("transcripts", []): + total = 0 + for sent in ch.get("sentences", []): + print(f"\n [{sent['begin_time']:>6}ms - {sent['end_time']:>6}ms] {sent['text']}") + for w in sent.get("words", []): + print(f" [{w['begin_time']:>6}ms - {w['end_time']:>6}ms] {w['text']}{w.get('punctuation','')}") + total += 1 + print(f"\n 总字数: {total}") + + +def run_pipeline(video_path, output_dir=None): + name = os.path.splitext(os.path.basename(video_path))[0] + if output_dir is None: + output_dir = os.path.join(os.path.dirname(video_path), f"{name}_analysis") + os.makedirs(output_dir, exist_ok=True) + + print(f"{'='*60}\nAutoVideo: {name}\n{'='*60}") + + # Phase 2 + print(f"\n▶ Phase 2: 压缩预处理") + compressed, audio = phase2_preprocess(video_path, output_dir) + + # Phase 3 + print(f"\n▶ Phase 3: MiMo 2.5 分镜分析") + try: + scene = phase3_mimo_scene(compressed) + with open(os.path.join(output_dir, "scene.json"), "w", encoding="utf-8") as f: + json.dump(scene, f, ensure_ascii=False, indent=2) + for s in scene.get("scenes", []): + print(f" [{s.get('start_time','?')}→{s.get('end_time','?')}] {s.get('scene_type','')}") + except Exception as e: + print(f" 错误: {e}") + + # Phase 4 (转录 + 字级时间戳 一步到位) + print(f"\n▶ Phase 4: Qwen3-ASR 转录 + 字级时间戳") + try: + ts = phase4_qwen3_asr(audio) + with open(os.path.join(output_dir, "timestamps.json"), "w", encoding="utf-8") as f: + json.dump(ts, f, ensure_ascii=False, indent=2) + generate_srt(ts, os.path.join(output_dir, "subtitles.srt")) + print_timestamps(ts) + except Exception as e: + print(f" 错误: {e}") + + # 汇总 + print(f"\n{'='*60}\n完成! 输出: {output_dir}\n{'='*60}") + for f in sorted(os.listdir(output_dir)): + fp = os.path.join(output_dir, f) + if os.path.isfile(fp): + print(f" {f:40s} {os.path.getsize(fp)/1024:>6.1f} KB") + + +if __name__ == "__main__": + if len(sys.argv) < 2: + print("Usage: python pipeline.py [output_dir]") + sys.exit(1) + run_pipeline(sys.argv[1], sys.argv[2] if len(sys.argv) > 2 else None) diff --git a/test_pipeline.py b/test_pipeline.py new file mode 100644 index 0000000..e3afc2e --- /dev/null +++ b/test_pipeline.py @@ -0,0 +1,6 @@ +"""测试: 视频处理分析流程""" +import sys +sys.path.insert(0, r"D:\claude\aotovideo\scripts") +from pipeline import run_pipeline + +run_pipeline(r"C:\Users\runst\Desktop\test_meimei.mp4")