{
"cells": [
{
"cell_type": "code",
"execution_count": 36,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
" \n",
" "
],
"text/plain": [
""
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"# OpenAI API test (non-streaming)\n",
"from openai import OpenAI\n",
"from IPython.display import Audio, display\n",
"\n",
"# Initialize the client\n",
"client = OpenAI(api_key=\"dummy-key\", base_url=\"http://localhost:8000/v1\")\n",
"\n",
"# Generate audio\n",
"response = client.audio.speech.create(\n",
" model=\"tts-1\",\n",
" voice=\"echo\",\n",
" input=\"\"\"\n",
" 以下是一些中英文对照的话语。 \n",
" 1. 早上好!希望你有美好的一天。Good morning! Wish you a wonderful day. \n",
" 2. 你好呀,最近怎么样?Hello there, how have you been recently? \n",
" 3. 别放弃,你能做到的!Don't give up, you can do it! \n",
" 4. 继续努力,你的付出会有回报的。Keep up the good work, your efforts will pay off.\n",
" \"\"\",\n",
" response_format=\"wav\",\n",
")\n",
"\n",
"# Get audio binary data\n",
"audio_data = response.content # response.content is of type bytes\n",
"\n",
"# Display and play in the Notebook\n",
"display(Audio(audio_data, autoplay=False))"
]
},
{
"cell_type": "code",
"execution_count": 37,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
" \n",
" "
],
"text/plain": [
""
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"Audio has been loaded into the Notebook and can be played manually\n"
]
}
],
"source": [
"# Test using the requests module, streaming mode\n",
"import requests\n",
"from IPython.display import Audio, display\n",
"import io\n",
"\n",
"payload = {\n",
" \"model\": \"tts-1\",\n",
" \"input\": \"\"\"\n",
" 以下是一些中英文对照的话语。 \n",
" 1. 早上好!希望你有美好的一天。Good morning! Wish you a wonderful day. \n",
" 2. 你好呀,最近怎么样?Hello there, how have you been recently? \n",
" 3. 别放弃,你能做到的!Don't give up, you can do it! \n",
" 4. 继续努力,你的付出会有回报的。Keep up the good work, your efforts will pay off.\n",
" \"\"\",\n",
" \"voice\": \"echo\",\n",
" \"response_format\": \"wav\",\n",
" \"stream\": True,\n",
"}\n",
"\n",
"try:\n",
" response = requests.post(\n",
" \"http://localhost:8000/v1/audio/speech\", json=payload, stream=True\n",
" )\n",
" response.raise_for_status() # Check the status code\n",
"\n",
" audio_buffer = io.BytesIO()\n",
" for chunk in response.iter_content(chunk_size=8192):\n",
" if chunk:\n",
" audio_buffer.write(chunk)\n",
"\n",
" audio_buffer.seek(0)\n",
" display(Audio(audio_buffer.getvalue(), autoplay=False))\n",
" print(\"Audio has been loaded into the Notebook and can be played manually\")\n",
"except requests.exceptions.RequestException as e:\n",
" print(f\"Request failed: {str(e)}\")\n",
" if hasattr(e.response, \"text\"):\n",
" print(f\"Error details: {e.response.text}\")"
]
},
{
"cell_type": "code",
"execution_count": 38,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"[file] Reading from stdin...\n",
"[ffmpeg/demuxer] wav: Ignoring maximum wav data size, file may be invalid\n",
"● Audio --aid=1 (pcm_s16le 1ch 24000 Hz 384 kbps)\n",
"AO: [pipewire] 24000Hz mono 1ch s16\n",
"A: 00:00:00 / 00:00:04 (0%) Cache: 4.0s/212KB\n",
"A: 00:00:00 / 00:00:04 (0%) Cache: 3.9s/208KB\n",
"A: 00:00:00 / 00:00:04 (1%) Cache: 3.8s/203KB\n",
"A: 00:00:00 / 00:00:04 (3%) Cache: 3.8s/199KB\n",
"A: 00:00:00 / 00:00:04 (5%) Cache: 3.7s/194KB\n",
"A: 00:00:00 / 00:00:04 (7%) Cache: 3.6s/190KB\n",
"A: 00:00:00 / 00:00:05 (7%) Cache: 5.0s/267KB\n",
"A: 00:00:00 / 00:00:05 (8%) Cache: 4.9s/262KB\n",
"A: 00:00:00 / 00:00:05 (9%) Cache: 4.9s/258KB\n",
"A: 00:00:00 / 00:00:05 (11%) Cache: 4.8s/253KB\n",
"A: 00:00:00 / 00:00:05 (12%) Cache: 4.7s/249KB\n",
"A: 00:00:00 / 00:00:05 (14%) Cache: 4.6s/244KB\n",
"A: 00:00:00 / 00:00:05 (15%) Cache: 4.5s/240KB\n",
"A: 00:00:00 / 00:00:07 (13%) Cache: 5.9s/312KB\n",
"A: 00:00:01 / 00:00:07 (14%) Cache: 5.8s/308KB\n",
"A: 00:00:01 / 00:00:07 (16%) Cache: 5.7s/303KB\n",
"A: 00:00:01 / 00:00:07 (17%) Cache: 5.6s/299KB\n",
"A: 00:00:01 / 00:00:07 (18%) Cache: 5.5s/294KB\n",
"A: 00:00:01 / 00:00:07 (19%) Cache: 5.5s/290KB\n",
"A: 00:00:01 / 00:00:07 (21%) Cache: 5.4s/285KB\n",
"A: 00:00:01 / 00:00:07 (21%) Cache: 5.3s/280KB\n",
"A: 00:00:01 / 00:00:08 (19%) Cache: 6.7s/357KB\n",
"A: 00:00:01 / 00:00:08 (20%) Cache: 6.7s/353KB\n",
"A: 00:00:01 / 00:00:08 (20%) Cache: 6.6s/348KB\n",
"A: 00:00:01 / 00:00:08 (22%) Cache: 6.5s/344KB\n",
"A: 00:00:02 / 00:00:08 (23%) Cache: 6.4s/339KB\n",
"A: 00:00:02 / 00:00:08 (23%) Cache: 6.3s/335KB\n",
"A: 00:00:02 / 00:00:08 (25%) Cache: 6.2s/330KB\n",
"A: 00:00:02 / 00:00:08 (26%) Cache: 6.1s/326KB\n",
"A: 00:00:02 / 00:00:10 (22%) Cache: 7.6s/403KB\n",
"A: 00:00:02 / 00:00:10 (24%) Cache: 7.5s/398KB\n",
"A: 00:00:02 / 00:00:10 (24%) Cache: 7.4s/394KB\n",
"A: 00:00:02 / 00:00:10 (25%) Cache: 7.3s/389KB\n",
"A: 00:00:02 / 00:00:10 (26%) Cache: 7.3s/385KB\n",
"A: 00:00:02 / 00:00:10 (27%) Cache: 7.2s/380KB\n",
"A: 00:00:02 / 00:00:10 (27%) Cache: 7.1s/376KB\n",
"A: 00:00:02 / 00:00:10 (28%) Cache: 7.0s/371KB\n",
"A: 00:00:03 / 00:00:11 (26%) Cache: 8.4s/444KB\n",
"A: 00:00:03 / 00:00:11 (26%) Cache: 8.3s/439KB\n",
"A: 00:00:03 / 00:00:11 (27%) Cache: 8.2s/435KB\n",
"A: 00:00:03 / 00:00:11 (28%) Cache: 8.1s/430KB\n",
"A: 00:00:03 / 00:00:11 (28%) Cache: 8.0s/425KB\n",
"A: 00:00:03 / 00:00:11 (29%) Cache: 7.9s/421KB\n",
"A: 00:00:03 / 00:00:11 (30%) Cache: 7.9s/416KB\n",
"A: 00:00:03 / 00:00:11 (30%) Cache: 7.8s/412KB\n",
"A: 00:00:03 / 00:00:11 (32%) Cache: 7.7s/407KB\n",
"A: 00:00:03 / 00:00:13 (28%) Cache: 9.1s/484KB\n",
"A: 00:00:03 / 00:00:13 (29%) Cache: 9.0s/480KB\n",
"A: 00:00:03 / 00:00:13 (30%) Cache: 9.0s/475KB\n",
"A: 00:00:04 / 00:00:13 (30%) Cache: 8.9s/471KB\n",
"A: 00:00:04 / 00:00:13 (31%) Cache: 8.8s/466KB\n",
"A: 00:00:04 / 00:00:13 (32%) Cache: 8.7s/462KB\n",
"A: 00:00:04 / 00:00:13 (32%) Cache: 8.6s/457KB\n",
"A: 00:00:04 / 00:00:13 (33%) Cache: 8.5s/453KB\n",
"A: 00:00:04 / 00:00:13 (34%) Cache: 8.4s/448KB\n",
"A: 00:00:04 / 00:00:14 (31%) Cache: 9.8s/521KB\n",
"A: 00:00:04 / 00:00:14 (31%) Cache: 9.7s/516KB\n",
"A: 00:00:04 / 00:00:14 (32%) Cache: 9.6s/512KB\n",
"A: 00:00:04 / 00:00:14 (32%) Cache: 9.6s/507KB\n",
"A: 00:00:04 / 00:00:14 (33%) Cache: 9.5s/502KB\n",
"A: 00:00:04 / 00:00:14 (34%) Cache: 9.4s/498KB\n",
"A: 00:00:05 / 00:00:14 (34%) Cache: 9.3s/493KB\n",
"A: 00:00:05 / 00:00:14 (35%) Cache: 9.2s/489KB\n",
"A: 00:00:05 / 00:00:14 (36%) Cache: 9.1s/484KB\n",
"A: 00:00:05 / 00:00:14 (36%) Cache: 9.0s/480KB\n",
"A: 00:00:05 / 00:00:16 (33%) Cache: 10s/557KB\n",
"A: 00:00:05 / 00:00:16 (34%) Cache: 10s/552KB\n",
"A: 00:00:05 / 00:00:16 (34%) Cache: 10s/548KB\n",
"A: 00:00:05 / 00:00:16 (35%) Cache: 10s/543KB\n",
"A: 00:00:05 / 00:00:16 (35%) Cache: 10s/539KB\n",
"A: 00:00:05 / 00:00:16 (36%) Cache: 10s/534KB\n",
"A: 00:00:05 / 00:00:16 (36%) Cache: 10.0s/530KB\n",
"A: 00:00:06 / 00:00:16 (37%) Cache: 9.9s/525KB\n",
"A: 00:00:06 / 00:00:16 (37%) Cache: 9.8s/521KB\n",
"A: 00:00:06 / 00:00:17 (35%) Cache: 11s/593KB\n",
"A: 00:00:06 / 00:00:17 (35%) Cache: 11s/589KB\n",
"A: 00:00:06 / 00:00:17 (36%) Cache: 11s/584KB\n",
"A: 00:00:06 / 00:00:17 (36%) Cache: 10s/580KB\n",
"A: 00:00:06 / 00:00:17 (37%) Cache: 10s/575KB\n",
"A: 00:00:06 / 00:00:17 (37%) Cache: 10s/570KB\n",
"A: 00:00:06 / 00:00:17 (38%) Cache: 10s/566KB\n",
"A: 00:00:06 / 00:00:17 (38%) Cache: 10s/561KB\n",
"A: 00:00:06 / 00:00:17 (38%) Cache: 10s/557KB\n",
"A: 00:00:06 / 00:00:17 (39%) Cache: 10s/552KB\n",
"A: 00:00:07 / 00:00:17 (40%) Cache: 10s/548KB\n",
"A: 00:00:07 / 00:00:19 (37%) Cache: 11s/625KB\n",
"A: 00:00:07 / 00:00:19 (37%) Cache: 11s/620KB\n",
"A: 00:00:07 / 00:00:19 (38%) Cache: 11s/616KB\n",
"A: 00:00:07 / 00:00:19 (38%) Cache: 11s/611KB\n",
"A: 00:00:07 / 00:00:19 (39%) Cache: 11s/607KB\n",
"A: 00:00:07 / 00:00:19 (39%) Cache: 11s/602KB\n",
"A: 00:00:07 / 00:00:19 (40%) Cache: 11s/598KB\n",
"A: 00:00:07 / 00:00:19 (40%) Cache: 11s/593KB\n",
"A: 00:00:07 / 00:00:19 (40%) Cache: 11s/589KB\n",
"A: 00:00:07 / 00:00:19 (41%) Cache: 11s/584KB\n",
"A: 00:00:07 / 00:00:20 (38%) Cache: 12s/661KB\n",
"A: 00:00:08 / 00:00:20 (39%) Cache: 12s/657KB\n",
"A: 00:00:08 / 00:00:20 (39%) Cache: 12s/652KB\n",
"A: 00:00:08 / 00:00:20 (40%) Cache: 12s/647KB\n",
"A: 00:00:08 / 00:00:20 (40%) Cache: 12s/643KB\n",
"A: 00:00:08 / 00:00:20 (40%) Cache: 12s/638KB\n",
"A: 00:00:08 / 00:00:20 (41%) Cache: 11s/634KB\n",
"A: 00:00:08 / 00:00:20 (41%) Cache: 11s/629KB\n",
"A: 00:00:08 / 00:00:20 (42%) Cache: 11s/625KB\n",
"A: 00:00:08 / 00:00:20 (42%) Cache: 11s/620KB\n",
"A: 00:00:08 / 00:00:20 (42%) Cache: 11s/616KB\n",
"A: 00:00:08 / 00:00:22 (40%) Cache: 12s/688KB\n",
"A: 00:00:09 / 00:00:22 (40%) Cache: 12s/684KB\n",
"A: 00:00:09 / 00:00:22 (41%) Cache: 12s/679KB\n",
"A: 00:00:09 / 00:00:22 (41%) Cache: 12s/675KB\n",
"A: 00:00:09 / 00:00:22 (42%) Cache: 12s/670KB\n",
"A: 00:00:09 / 00:00:22 (42%) Cache: 12s/666KB\n",
"A: 00:00:09 / 00:00:22 (42%) Cache: 12s/661KB\n",
"A: 00:00:09 / 00:00:22 (43%) Cache: 12s/657KB\n",
"A: 00:00:09 / 00:00:22 (43%) Cache: 12s/652KB\n",
"A: 00:00:09 / 00:00:22 (43%) Cache: 12s/647KB\n",
"A: 00:00:09 / 00:00:22 (44%) Cache: 12s/643KB\n",
"A: 00:00:09 / 00:00:22 (44%) Cache: 12s/638KB\n",
"A: 00:00:09 / 00:00:23 (42%) Cache: 13s/715KB\n",
"A: 00:00:10 / 00:00:23 (42%) Cache: 13s/711KB\n",
"A: 00:00:10 / 00:00:23 (42%) Cache: 13s/706KB\n",
"[ffmpeg/demuxer] wav: Packet corrupt (stream = 0, dts = NOPTS).\n",
"A: 00:00:10 / 00:00:23 (42%) Cache: 13s/706KB\n",
"A: 00:00:10 / 00:00:25 (39%) Cache: 15s/814KB\n",
"A: 00:00:10 / 00:00:25 (40%) Cache: 15s/809KB\n",
"A: 00:00:10 / 00:00:25 (40%) Cache: 15s/805KB\n",
"A: 00:00:10 / 00:00:25 (40%) Cache: 15s/800KB\n",
"A: 00:00:10 / 00:00:25 (41%) Cache: 15s/795KB\n",
"A: 00:00:10 / 00:00:25 (41%) Cache: 14s/791KB\n",
"A: 00:00:10 / 00:00:25 (41%) Cache: 14s/786KB\n",
"A: 00:00:10 / 00:00:25 (42%) Cache: 14s/782KB\n",
"A: 00:00:10 / 00:00:25 (42%) Cache: 14s/777KB\n",
"A: 00:00:10 / 00:00:25 (42%) Cache: 14s/773KB\n",
"A: 00:00:11 / 00:00:25 (43%) Cache: 14s/768KB\n",
"A: 00:00:11 / 00:00:25 (43%) Cache: 14s/764KB\n",
"A: 00:00:11 / 00:00:25 (43%) Cache: 14s/759KB\n",
"A: 00:00:11 / 00:00:25 (44%) Cache: 14s/755KB\n",
"A: 00:00:11 / 00:00:25 (44%) Cache: 14s/750KB\n",
"A: 00:00:11 / 00:00:25 (44%) Cache: 14s/746KB\n",
"A: 00:00:11 / 00:00:25 (45%) Cache: 13s/741KB\n",
"A: 00:00:11 / 00:00:25 (45%) Cache: 13s/737KB\n",
"A: 00:00:11 / 00:00:25 (45%) Cache: 13s/732KB\n",
"A: 00:00:11 / 00:00:25 (46%) Cache: 13s/728KB\n",
"A: 00:00:11 / 00:00:25 (46%) Cache: 13s/723KB\n",
"A: 00:00:11 / 00:00:25 (46%) Cache: 13s/718KB\n",
"A: 00:00:12 / 00:00:25 (47%) Cache: 13s/714KB\n",
"A: 00:00:12 / 00:00:25 (47%) Cache: 13s/709KB\n",
"A: 00:00:12 / 00:00:25 (47%) Cache: 13s/705KB\n",
"A: 00:00:12 / 00:00:25 (48%) Cache: 13s/700KB\n",
"A: 00:00:12 / 00:00:25 (48%) Cache: 13s/696KB\n",
"A: 00:00:12 / 00:00:25 (48%) Cache: 13s/691KB\n",
"A: 00:00:12 / 00:00:25 (48%) Cache: 12s/687KB\n",
"A: 00:00:12 / 00:00:25 (49%) Cache: 12s/682KB\n",
"A: 00:00:12 / 00:00:25 (49%) Cache: 12s/678KB\n",
"A: 00:00:12 / 00:00:25 (49%) Cache: 12s/673KB\n",
"A: 00:00:12 / 00:00:25 (50%) Cache: 12s/669KB\n",
"A: 00:00:13 / 00:00:25 (50%) Cache: 12s/664KB\n",
"A: 00:00:13 / 00:00:25 (50%) Cache: 12s/660KB\n",
"A: 00:00:13 / 00:00:25 (51%) Cache: 12s/655KB\n",
"A: 00:00:13 / 00:00:25 (51%) Cache: 12s/650KB\n",
"A: 00:00:13 / 00:00:25 (51%) Cache: 12s/646KB\n",
"A: 00:00:13 / 00:00:25 (52%) Cache: 12s/641KB\n",
"A: 00:00:13 / 00:00:25 (52%) Cache: 12s/637KB\n",
"A: 00:00:13 / 00:00:25 (52%) Cache: 11s/632KB\n",
"A: 00:00:13 / 00:00:25 (53%) Cache: 11s/628KB\n",
"A: 00:00:13 / 00:00:25 (53%) Cache: 11s/623KB\n",
"A: 00:00:13 / 00:00:25 (53%) Cache: 11s/619KB\n",
"A: 00:00:13 / 00:00:25 (54%) Cache: 11s/614KB\n",
"A: 00:00:14 / 00:00:25 (54%) Cache: 11s/610KB\n",
"A: 00:00:14 / 00:00:25 (54%) Cache: 11s/605KB\n",
"A: 00:00:14 / 00:00:25 (55%) Cache: 11s/601KB\n",
"A: 00:00:14 / 00:00:25 (55%) Cache: 11s/596KB\n",
"A: 00:00:14 / 00:00:25 (55%) Cache: 11s/592KB\n",
"A: 00:00:14 / 00:00:25 (56%) Cache: 11s/587KB\n",
"A: 00:00:14 / 00:00:25 (56%) Cache: 11s/583KB\n",
"A: 00:00:14 / 00:00:25 (56%) Cache: 10s/578KB\n",
"A: 00:00:14 / 00:00:25 (57%) Cache: 10s/573KB\n",
"A: 00:00:14 / 00:00:25 (57%) Cache: 10s/569KB\n",
"A: 00:00:14 / 00:00:25 (57%) Cache: 10s/564KB\n",
"A: 00:00:14 / 00:00:25 (58%) Cache: 10s/560KB\n",
"A: 00:00:15 / 00:00:25 (58%) Cache: 10s/555KB\n",
"A: 00:00:15 / 00:00:25 (58%) Cache: 10s/551KB\n",
"A: 00:00:15 / 00:00:25 (59%) Cache: 10s/546KB\n",
"A: 00:00:15 / 00:00:25 (59%) Cache: 10s/542KB\n",
"A: 00:00:15 / 00:00:25 (59%) Cache: 10s/537KB\n",
"A: 00:00:15 / 00:00:25 (60%) Cache: 10s/533KB\n",
"A: 00:00:15 / 00:00:25 (60%) Cache: 10.0s/528KB\n",
"A: 00:00:15 / 00:00:25 (60%) Cache: 9.9s/524KB\n",
"A: 00:00:15 / 00:00:25 (61%) Cache: 9.8s/519KB\n",
"A: 00:00:15 / 00:00:25 (61%) Cache: 9.7s/515KB\n",
"A: 00:00:15 / 00:00:25 (61%) Cache: 9.6s/510KB\n",
"A: 00:00:15 / 00:00:25 (62%) Cache: 9.6s/505KB\n",
"A: 00:00:16 / 00:00:25 (62%) Cache: 9.5s/501KB\n",
"A: 00:00:16 / 00:00:25 (62%) Cache: 9.4s/496KB\n",
"A: 00:00:16 / 00:00:25 (63%) Cache: 9.3s/492KB\n",
"A: 00:00:16 / 00:00:25 (63%) Cache: 9.2s/487KB\n",
"A: 00:00:16 / 00:00:25 (63%) Cache: 9.1s/483KB\n",
"A: 00:00:16 / 00:00:25 (64%) Cache: 9.0s/478KB\n",
"A: 00:00:16 / 00:00:25 (64%) Cache: 9.0s/474KB\n",
"A: 00:00:16 / 00:00:25 (64%) Cache: 8.9s/469KB\n",
"A: 00:00:16 / 00:00:25 (65%) Cache: 8.8s/465KB\n",
"A: 00:00:16 / 00:00:25 (65%) Cache: 8.7s/460KB\n",
"A: 00:00:16 / 00:00:25 (65%) Cache: 8.6s/456KB\n",
"A: 00:00:17 / 00:00:25 (66%) Cache: 8.5s/451KB\n",
"A: 00:00:17 / 00:00:25 (66%) Cache: 8.4s/447KB\n",
"A: 00:00:17 / 00:00:25 (66%) Cache: 8.4s/442KB\n",
"A: 00:00:17 / 00:00:25 (67%) Cache: 8.3s/438KB\n",
"A: 00:00:17 / 00:00:25 (67%) Cache: 8.2s/433KB\n",
"A: 00:00:17 / 00:00:25 (67%) Cache: 8.1s/428KB\n",
"A: 00:00:17 / 00:00:25 (68%) Cache: 8.0s/424KB\n",
"A: 00:00:17 / 00:00:25 (68%) Cache: 7.9s/419KB\n",
"A: 00:00:17 / 00:00:25 (68%) Cache: 7.9s/415KB\n",
"A: 00:00:17 / 00:00:25 (69%) Cache: 7.8s/410KB\n",
"A: 00:00:17 / 00:00:25 (69%) Cache: 7.7s/406KB\n",
"A: 00:00:17 / 00:00:25 (69%) Cache: 7.6s/401KB\n",
"A: 00:00:18 / 00:00:25 (70%) Cache: 7.5s/397KB\n",
"A: 00:00:18 / 00:00:25 (70%) Cache: 7.4s/392KB\n",
"A: 00:00:18 / 00:00:25 (70%) Cache: 7.3s/388KB\n",
"A: 00:00:18 / 00:00:25 (71%) Cache: 7.3s/383KB\n",
"A: 00:00:18 / 00:00:25 (71%) Cache: 7.2s/379KB\n",
"A: 00:00:18 / 00:00:25 (71%) Cache: 7.1s/374KB\n",
"A: 00:00:18 / 00:00:25 (71%) Cache: 7.0s/370KB\n",
"A: 00:00:18 / 00:00:25 (72%) Cache: 6.9s/365KB\n",
"A: 00:00:18 / 00:00:25 (72%) Cache: 6.8s/360KB\n",
"A: 00:00:18 / 00:00:25 (73%) Cache: 6.7s/356KB\n",
"A: 00:00:18 / 00:00:25 (73%) Cache: 6.7s/351KB\n",
"A: 00:00:18 / 00:00:25 (73%) Cache: 6.6s/347KB\n",
"A: 00:00:19 / 00:00:25 (74%) Cache: 6.5s/342KB\n",
"A: 00:00:19 / 00:00:25 (74%) Cache: 6.4s/338KB\n",
"A: 00:00:19 / 00:00:25 (74%) Cache: 6.3s/333KB\n",
"A: 00:00:19 / 00:00:25 (74%) Cache: 6.2s/329KB\n",
"A: 00:00:19 / 00:00:25 (75%) Cache: 6.1s/324KB\n",
"A: 00:00:19 / 00:00:25 (75%) Cache: 6.1s/320KB\n",
"A: 00:00:19 / 00:00:25 (75%) Cache: 6.0s/315KB\n",
"A: 00:00:19 / 00:00:25 (76%) Cache: 5.9s/311KB\n",
"A: 00:00:19 / 00:00:25 (76%) Cache: 5.8s/306KB\n",
"A: 00:00:19 / 00:00:25 (76%) Cache: 5.7s/302KB\n",
"A: 00:00:19 / 00:00:25 (77%) Cache: 5.6s/297KB\n",
"A: 00:00:20 / 00:00:25 (77%) Cache: 5.5s/293KB\n",
"A: 00:00:20 / 00:00:25 (77%) Cache: 5.5s/288KB\n",
"A: 00:00:20 / 00:00:25 (78%) Cache: 5.4s/283KB\n",
"A: 00:00:20 / 00:00:25 (78%) Cache: 5.3s/279KB\n",
"A: 00:00:20 / 00:00:25 (78%) Cache: 5.2s/274KB\n",
"A: 00:00:20 / 00:00:25 (79%) Cache: 5.1s/270KB\n",
"A: 00:00:20 / 00:00:25 (79%) Cache: 5.0s/265KB\n",
"A: 00:00:20 / 00:00:25 (79%) Cache: 4.9s/261KB\n",
"A: 00:00:20 / 00:00:25 (80%) Cache: 4.9s/256KB\n",
"A: 00:00:20 / 00:00:25 (80%) Cache: 4.8s/252KB\n",
"A: 00:00:20 / 00:00:25 (80%) Cache: 4.7s/247KB\n",
"A: 00:00:20 / 00:00:25 (81%) Cache: 4.6s/243KB\n",
"A: 00:00:21 / 00:00:25 (81%) Cache: 4.5s/238KB\n",
"A: 00:00:21 / 00:00:25 (81%) Cache: 4.4s/234KB\n",
"A: 00:00:21 / 00:00:25 (82%) Cache: 4.4s/229KB\n",
"A: 00:00:21 / 00:00:25 (82%) Cache: 4.3s/225KB\n",
"A: 00:00:21 / 00:00:25 (82%) Cache: 4.2s/220KB\n",
"A: 00:00:21 / 00:00:25 (83%) Cache: 4.1s/215KB\n",
"A: 00:00:21 / 00:00:25 (83%) Cache: 4.0s/211KB\n",
"A: 00:00:21 / 00:00:25 (83%) Cache: 3.9s/206KB\n",
"A: 00:00:21 / 00:00:25 (84%) Cache: 3.8s/202KB\n",
"A: 00:00:21 / 00:00:25 (84%) Cache: 3.8s/197KB\n",
"A: 00:00:21 / 00:00:25 (84%) Cache: 3.7s/193KB\n",
"A: 00:00:21 / 00:00:25 (85%) Cache: 3.6s/188KB\n",
"A: 00:00:22 / 00:00:25 (85%) Cache: 3.5s/184KB\n",
"A: 00:00:22 / 00:00:25 (85%) Cache: 3.4s/179KB\n",
"A: 00:00:22 / 00:00:25 (86%) Cache: 3.3s/175KB\n",
"A: 00:00:22 / 00:00:25 (86%) Cache: 3.2s/170KB\n",
"A: 00:00:22 / 00:00:25 (86%) Cache: 3.2s/166KB\n",
"A: 00:00:22 / 00:00:25 (87%) Cache: 3.1s/161KB\n",
"A: 00:00:22 / 00:00:25 (87%) Cache: 3.0s/157KB\n",
"A: 00:00:22 / 00:00:25 (87%) Cache: 2.9s/152KB\n",
"A: 00:00:22 / 00:00:25 (88%) Cache: 2.8s/148KB\n",
"A: 00:00:22 / 00:00:25 (88%) Cache: 2.7s/143KB\n",
"A: 00:00:22 / 00:00:25 (88%) Cache: 2.6s/138KB\n",
"A: 00:00:22 / 00:00:25 (89%) Cache: 2.6s/134KB\n",
"A: 00:00:23 / 00:00:25 (89%) Cache: 2.5s/129KB\n",
"A: 00:00:23 / 00:00:25 (89%) Cache: 2.4s/125KB\n",
"A: 00:00:23 / 00:00:25 (90%) Cache: 2.3s/120KB\n",
"A: 00:00:23 / 00:00:25 (90%) Cache: 2.2s/116KB\n",
"A: 00:00:23 / 00:00:25 (90%) Cache: 2.1s/111KB\n",
"A: 00:00:23 / 00:00:25 (91%) Cache: 2.0s/107KB\n",
"A: 00:00:23 / 00:00:25 (91%) Cache: 2.0s/102KB\n",
"A: 00:00:23 / 00:00:25 (91%) Cache: 1.9s/98KB\n",
"A: 00:00:23 / 00:00:25 (92%) Cache: 1.8s/93KB\n",
"A: 00:00:23 / 00:00:25 (92%) Cache: 1.7s/89KB\n",
"A: 00:00:23 / 00:00:25 (92%) Cache: 1.6s/84KB\n",
"A: 00:00:24 / 00:00:25 (93%) Cache: 1.5s/80KB\n",
"A: 00:00:24 / 00:00:25 (93%) Cache: 1.5s/75KB\n",
"A: 00:00:24 / 00:00:25 (93%) Cache: 1.4s/70KB\n",
"A: 00:00:24 / 00:00:25 (94%) Cache: 1.3s/66KB\n",
"A: 00:00:24 / 00:00:25 (94%) Cache: 1.2s/61KB\n",
"A: 00:00:24 / 00:00:25 (94%) Cache: 1.1s/57KB\n",
"A: 00:00:24 / 00:00:25 (94%) Cache: 1.0s/52KB\n",
"A: 00:00:24 / 00:00:25 (95%) Cache: 0.9s/48KB\n",
"A: 00:00:24 / 00:00:25 (95%) Cache: 0.9s/43KB\n",
"A: 00:00:24 / 00:00:25 (96%) Cache: 0.8s/39KB\n",
"A: 00:00:24 / 00:00:25 (96%) Cache: 0.7s/34KB\n",
"A: 00:00:24 / 00:00:25 (96%) Cache: 0.6s/30KB\n",
"A: 00:00:25 / 00:00:25 (97%) Cache: 0.5s/25KB\n",
"A: 00:00:25 / 00:00:25 (97%) Cache: 0.4s/21KB\n",
"A: 00:00:25 / 00:00:25 (97%) Cache: 0.3s/16KB\n",
"A: 00:00:25 / 00:00:25 (98%) Cache: 0.3s/12KB\n",
"A: 00:00:25 / 00:00:25 (98%) Cache: 0.2s/7KB\n",
"A: 00:00:25 / 00:00:25 (98%) Cache: 0.1s/3KB\n",
"A: 00:00:25 / 00:00:25 (99%) Cache: 0.0s\n",
"Exiting... (End of file)\n"
]
},
{
"data": {
"text/plain": [
"CompletedProcess(args='curl -X POST \"http://localhost:8000/v1/audio/speech\" -H \"Content-Type: application/json\" -d \\'{\"model\": \"tts-1\", \"input\": \"以下是一些中英文对照的话语。 1. 早上好!希望你有美好的一天。Good morning! Wish you a wonderful day. 2. 你好呀,最近怎么样?Hello there, how have you been recently? 3. 别放弃,你能做到的!Dont give up, you can do it! 4. 继续努力,你的付出会有回报的。Keep up the good work, your efforts will pay off.\", \"voice\": \"echo\", \"response_format\": \"wav\", \"stream\": true}\\' -s | mpv --no-video -', returncode=0)"
]
},
"execution_count": 38,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"import subprocess\n",
"\n",
"# Use pipeline to implement streaming playback, WAV format\n",
"cmd = (\n",
" 'curl -X POST \"http://localhost:8000/v1/audio/speech\" '\n",
" '-H \"Content-Type: application/json\" '\n",
" '-d \\'{\"model\": \"tts-1\", \"input\": \"以下是一些中英文对照的话语。 1. 早上好!希望你有美好的一天。Good morning! Wish you a wonderful day. 2. 你好呀,最近怎么样?Hello there, how have you been recently? 3. 别放弃,你能做到的!Dont give up, you can do it! 4. 继续努力,你的付出会有回报的。Keep up the good work, your efforts will pay off.\", \"voice\": \"echo\", \"response_format\": \"wav\", \"stream\": true}\\' '\n",
" \"-s | mpv --no-video -\"\n",
")\n",
"subprocess.run(cmd, shell=True, check=True)"
]
},
{
"cell_type": "code",
"execution_count": 39,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"[file] Reading from stdin...\n",
"[ffmpeg/demuxer] mp3: invalid concatenated file detected - using bitrate for duration\n",
"● Audio --aid=1 (mp3 2ch 48000 Hz 128 kbps)\n",
"AO: [pipewire] 48000Hz stereo 2ch floatp\n",
"A: 00:00:00 / 00:00:04 (0%) Cache: 3.8s/142KB\n",
"A: 00:00:00 / 00:00:04 (0%) Cache: 3.7s/140KB\n",
"A: 00:00:00 / 00:00:04 (0%) Cache: 3.7s/137KB\n",
"A: 00:00:00 / 00:00:04 (0%) Cache: 3.6s/136KB\n",
"A: 00:00:00 / 00:00:04 (1%) Cache: 3.6s/134KB\n",
"[ffmpeg/audio] mp3float: Header missing\n",
"A: 00:00:00 / 00:00:04 (1%) Cache: 3.6s/134KB\n",
"Error decoding audio.\n",
"A: 00:00:00 / 00:00:04 (1%) Cache: 3.6s/134KB\n",
"A: 00:00:00 / 00:00:04 (3%) Cache: 3.5s/131KB\n",
"A: 00:00:00 / 00:00:04 (5%) Cache: 3.4s/128KB\n",
"A: 00:00:00 / 00:00:04 (7%) Cache: 3.4s/126KB\n",
"A: 00:00:00 / 00:00:04 (8%) Cache: 3.3s/123KB\n",
"A: 00:00:00 / 00:00:04 (10%) Cache: 3.2s/121KB\n",
"A: 00:00:00 / 00:00:04 (12%) Cache: 3.2s/118KB\n",
"A: 00:00:00 / 00:00:04 (13%) Cache: 3.1s/116KB\n",
"A: 00:00:00 / 00:00:04 (14%) Cache: 3.0s/114KB\n",
"A: 00:00:00 / 00:00:04 (16%) Cache: 3.0s/112KB\n",
"[ffmpeg/audio] mp3float: Header missing\n",
"A: 00:00:00 / 00:00:04 (16%) Cache: 3.0s/112KB\n",
"Error decoding audio.\n",
"A: 00:00:00 / 00:00:04 (16%) Cache: 3.0s/112KB\n",
"A: 00:00:00 / 00:00:04 (18%) Cache: 2.9s/108KB\n",
"A: 00:00:00 / 00:00:04 (20%) Cache: 2.8s/106KB\n",
"A: 00:00:00 / 00:00:04 (21%) Cache: 2.8s/103KB\n",
"A: 00:00:00 / 00:00:04 (23%) Cache: 2.7s/101KB\n",
"A: 00:00:01 / 00:00:04 (25%) Cache: 2.6s/98KB\n",
"A: 00:00:01 / 00:00:04 (27%) Cache: 2.6s/96KB\n",
"A: 00:00:01 / 00:00:04 (28%) Cache: 2.5s/93KB\n",
"A: 00:00:01 / 00:00:04 (30%) Cache: 2.4s/91KB\n",
"[ffmpeg/audio] mp3float: Header missing\n",
"A: 00:00:01 / 00:00:04 (30%) Cache: 2.4s/91KB\n",
"Error decoding audio.\n",
"A: 00:00:01 / 00:00:04 (30%) Cache: 2.4s/91KB\n",
"A: 00:00:01 / 00:00:04 (32%) Cache: 2.4s/88KB\n",
"A: 00:00:01 / 00:00:04 (33%) Cache: 2.3s/85KB\n",
"A: 00:00:01 / 00:00:04 (35%) Cache: 2.2s/83KB\n",
"A: 00:00:01 / 00:00:04 (36%) Cache: 2.2s/81KB\n",
"A: 00:00:01 / 00:00:04 (38%) Cache: 2.1s/79KB\n",
"A: 00:00:01 / 00:00:04 (40%) Cache: 2.0s/76KB\n",
"A: 00:00:01 / 00:00:04 (41%) Cache: 2.0s/73KB\n",
"A: 00:00:01 / 00:00:08 (20%) Cache: 6.4s/238KB\n",
"[ffmpeg/audio] mp3float: Header missing\n",
"A: 00:00:01 / 00:00:08 (20%) Cache: 6.4s/238KB\n",
"Error decoding audio.\n",
"A: 00:00:01 / 00:00:08 (20%) Cache: 6.4s/238KB\n",
"A: 00:00:01 / 00:00:08 (21%) Cache: 6.3s/234KB\n",
"A: 00:00:01 / 00:00:08 (22%) Cache: 6.2s/232KB\n",
"A: 00:00:01 / 00:00:08 (23%) Cache: 6.1s/229KB\n",
"A: 00:00:02 / 00:00:08 (24%) Cache: 6.1s/227KB\n",
"A: 00:00:02 / 00:00:08 (25%) Cache: 6.0s/225KB\n",
"A: 00:00:02 / 00:00:08 (25%) Cache: 5.9s/222KB\n",
"A: 00:00:02 / 00:00:08 (26%) Cache: 5.9s/220KB\n",
"A: 00:00:02 / 00:00:08 (27%) Cache: 5.8s/217KB\n",
"[ffmpeg/audio] mp3float: Header missing\n",
"A: 00:00:02 / 00:00:08 (27%) Cache: 5.8s/217KB\n",
"Error decoding audio.\n",
"A: 00:00:02 / 00:00:08 (27%) Cache: 5.8s/217KB\n",
"A: 00:00:02 / 00:00:08 (28%) Cache: 5.7s/214KB\n",
"A: 00:00:02 / 00:00:08 (28%) Cache: 5.7s/212KB\n",
"A: 00:00:02 / 00:00:08 (29%) Cache: 5.6s/210KB\n",
"A: 00:00:02 / 00:00:08 (30%) Cache: 5.5s/207KB\n",
"A: 00:00:02 / 00:00:08 (31%) Cache: 5.5s/205KB\n",
"A: 00:00:02 / 00:00:08 (31%) Cache: 5.4s/202KB\n",
"A: 00:00:02 / 00:00:08 (32%) Cache: 5.4s/200KB\n",
"A: 00:00:02 / 00:00:08 (33%) Cache: 5.3s/197KB\n",
"[ffmpeg/audio] mp3float: Header missing\n",
"A: 00:00:02 / 00:00:08 (33%) Cache: 5.3s/197KB\n",
"Error decoding audio.\n",
"A: 00:00:02 / 00:00:08 (33%) Cache: 5.3s/197KB\n",
"A: 00:00:02 / 00:00:08 (34%) Cache: 5.2s/194KB\n",
"A: 00:00:02 / 00:00:08 (35%) Cache: 5.1s/191KB\n",
"A: 00:00:03 / 00:00:08 (36%) Cache: 5.1s/189KB\n",
"A: 00:00:03 / 00:00:08 (36%) Cache: 5.0s/187KB\n",
"A: 00:00:03 / 00:00:08 (37%) Cache: 4.9s/184KB\n",
"A: 00:00:03 / 00:00:08 (38%) Cache: 4.9s/182KB\n",
"A: 00:00:03 / 00:00:08 (38%) Cache: 4.8s/180KB\n",
"A: 00:00:03 / 00:00:08 (39%) Cache: 4.8s/178KB\n",
"A: 00:00:03 / 00:00:08 (40%) Cache: 4.7s/175KB\n",
"[ffmpeg/audio] mp3float: Header missing\n",
"A: 00:00:03 / 00:00:08 (40%) Cache: 4.7s/175KB\n",
"Error decoding audio.\n",
"A: 00:00:03 / 00:00:08 (40%) Cache: 4.7s/175KB\n",
"A: 00:00:03 / 00:00:08 (41%) Cache: 4.6s/171KB\n",
"A: 00:00:03 / 00:00:08 (42%) Cache: 4.5s/170KB\n",
"A: 00:00:03 / 00:00:08 (43%) Cache: 4.5s/167KB\n",
"A: 00:00:03 / 00:00:08 (43%) Cache: 4.4s/164KB\n",
"A: 00:00:03 / 00:00:12 (29%) Cache: 8.7s/327KB\n",
"A: 00:00:03 / 00:00:12 (30%) Cache: 8.7s/325KB\n",
"A: 00:00:03 / 00:00:12 (30%) Cache: 8.6s/323KB\n",
"A: 00:00:03 / 00:00:12 (31%) Cache: 8.5s/320KB\n",
"[ffmpeg/audio] mp3float: Header missing\n",
"A: 00:00:03 / 00:00:12 (31%) Cache: 8.5s/320KB\n",
"Error decoding audio.\n",
"A: 00:00:03 / 00:00:12 (31%) Cache: 8.5s/320KB\n",
"A: 00:00:04 / 00:00:12 (31%) Cache: 8.5s/317KB\n",
"A: 00:00:04 / 00:00:12 (32%) Cache: 8.4s/315KB\n",
"A: 00:00:04 / 00:00:12 (32%) Cache: 8.4s/313KB\n",
"A: 00:00:04 / 00:00:12 (33%) Cache: 8.3s/310KB\n",
"A: 00:00:04 / 00:00:12 (33%) Cache: 8.2s/307KB\n",
"A: 00:00:04 / 00:00:12 (34%) Cache: 8.2s/306KB\n",
"A: 00:00:04 / 00:00:12 (34%) Cache: 8.1s/303KB\n",
"A: 00:00:04 / 00:00:12 (35%) Cache: 8.0s/300KB\n",
"[ffmpeg/audio] mp3float: Header missing\n",
"A: 00:00:04 / 00:00:12 (35%) Cache: 8.0s/300KB\n",
"Error decoding audio.\n",
"A: 00:00:04 / 00:00:12 (35%) Cache: 8.0s/300KB\n",
"A: 00:00:04 / 00:00:12 (35%) Cache: 7.9s/297KB\n",
"A: 00:00:04 / 00:00:12 (36%) Cache: 7.9s/295KB\n",
"A: 00:00:04 / 00:00:12 (36%) Cache: 7.8s/292KB\n",
"A: 00:00:04 / 00:00:12 (37%) Cache: 7.7s/289KB\n",
"A: 00:00:04 / 00:00:12 (37%) Cache: 7.7s/288KB\n",
"A: 00:00:04 / 00:00:12 (38%) Cache: 7.6s/286KB\n",
"A: 00:00:04 / 00:00:12 (38%) Cache: 7.6s/283KB\n",
"A: 00:00:05 / 00:00:12 (39%) Cache: 7.5s/280KB\n",
"[ffmpeg/audio] mp3float: Header missing\n",
"A: 00:00:05 / 00:00:12 (39%) Cache: 7.5s/280KB\n",
"Error decoding audio.\n",
"A: 00:00:05 / 00:00:12 (39%) Cache: 7.5s/280KB\n",
"A: 00:00:05 / 00:00:12 (40%) Cache: 7.4s/277KB\n",
"A: 00:00:05 / 00:00:12 (40%) Cache: 7.3s/274KB\n",
"A: 00:00:05 / 00:00:12 (41%) Cache: 7.3s/272KB\n",
"A: 00:00:05 / 00:00:12 (41%) Cache: 7.2s/270KB\n",
"A: 00:00:05 / 00:00:12 (41%) Cache: 7.2s/268KB\n",
"A: 00:00:05 / 00:00:12 (42%) Cache: 7.1s/265KB\n",
"A: 00:00:05 / 00:00:12 (43%) Cache: 7.0s/262KB\n",
"A: 00:00:05 / 00:00:12 (43%) Cache: 6.9s/260KB\n",
"A: 00:00:05 / 00:00:12 (44%) Cache: 6.9s/258KB\n",
"[ffmpeg/audio] mp3float: Header missing\n",
"A: 00:00:05 / 00:00:12 (44%) Cache: 6.9s/258KB\n",
"Error decoding audio.\n",
"A: 00:00:05 / 00:00:12 (44%) Cache: 6.9s/258KB\n",
"A: 00:00:05 / 00:00:12 (44%) Cache: 6.8s/254KB\n",
"A: 00:00:05 / 00:00:12 (45%) Cache: 6.7s/252KB\n",
"A: 00:00:05 / 00:00:12 (45%) Cache: 6.7s/250KB\n",
"A: 00:00:05 / 00:00:12 (46%) Cache: 6.6s/248KB\n",
"A: 00:00:05 / 00:00:12 (46%) Cache: 6.6s/245KB\n",
"A: 00:00:05 / 00:00:17 (35%) Cache: 10s/408KB\n",
"A: 00:00:06 / 00:00:17 (35%) Cache: 10s/407KB\n",
"A: 00:00:06 / 00:00:17 (35%) Cache: 10s/405KB\n",
"A: 00:00:06 / 00:00:17 (36%) Cache: 10s/403KB\n",
"[ffmpeg/audio] mp3float: Header missing\n",
"A: 00:00:06 / 00:00:17 (36%) Cache: 10s/403KB\n",
"Error decoding audio.\n",
"A: 00:00:06 / 00:00:17 (36%) Cache: 10s/403KB\n",
"A: 00:00:06 / 00:00:17 (36%) Cache: 10s/400KB\n",
"A: 00:00:06 / 00:00:17 (36%) Cache: 10s/397KB\n",
"A: 00:00:06 / 00:00:17 (37%) Cache: 10s/395KB\n",
"A: 00:00:06 / 00:00:17 (37%) Cache: 10s/393KB\n",
"A: 00:00:06 / 00:00:17 (38%) Cache: 10s/390KB\n",
"A: 00:00:06 / 00:00:17 (38%) Cache: 10s/387KB\n",
"A: 00:00:06 / 00:00:17 (38%) Cache: 10s/386KB\n",
"A: 00:00:06 / 00:00:17 (39%) Cache: 10s/384KB\n",
"[ffmpeg/audio] mp3float: Header missing\n",
"A: 00:00:06 / 00:00:17 (39%) Cache: 10s/384KB\n",
"Error decoding audio.\n",
"A: 00:00:06 / 00:00:17 (39%) Cache: 10s/384KB\n",
"A: 00:00:06 / 00:00:17 (39%) Cache: 10s/380KB\n",
"A: 00:00:06 / 00:00:17 (40%) Cache: 10s/378KB\n",
"A: 00:00:06 / 00:00:17 (40%) Cache: 10s/375KB\n",
"A: 00:00:06 / 00:00:17 (40%) Cache: 10.0s/373KB\n",
"A: 00:00:07 / 00:00:17 (41%) Cache: 9.9s/370KB\n",
"A: 00:00:07 / 00:00:17 (41%) Cache: 9.8s/368KB\n",
"A: 00:00:07 / 00:00:17 (41%) Cache: 9.7s/365KB\n",
"A: 00:00:07 / 00:00:17 (42%) Cache: 9.7s/363KB\n",
"[ffmpeg/audio] mp3float: Header missing\n",
"A: 00:00:07 / 00:00:17 (42%) Cache: 9.7s/363KB\n",
"Error decoding audio.\n",
"A: 00:00:07 / 00:00:17 (42%) Cache: 9.7s/363KB\n",
"A: 00:00:07 / 00:00:17 (42%) Cache: 9.6s/360KB\n",
"A: 00:00:07 / 00:00:17 (43%) Cache: 9.5s/357KB\n",
"A: 00:00:07 / 00:00:17 (43%) Cache: 9.5s/355KB\n",
"A: 00:00:07 / 00:00:17 (43%) Cache: 9.4s/353KB\n",
"A: 00:00:07 / 00:00:17 (44%) Cache: 9.4s/351KB\n",
"A: 00:00:07 / 00:00:17 (44%) Cache: 9.3s/348KB\n",
"A: 00:00:07 / 00:00:17 (44%) Cache: 9.2s/345KB\n",
"A: 00:00:07 / 00:00:17 (45%) Cache: 9.1s/342KB\n",
"A: 00:00:07 / 00:00:17 (45%) Cache: 9.1s/341KB\n",
"[ffmpeg/audio] mp3float: Header missing\n",
"A: 00:00:07 / 00:00:17 (45%) Cache: 9.1s/341KB\n",
"Error decoding audio.\n",
"A: 00:00:07 / 00:00:17 (45%) Cache: 9.1s/341KB\n",
"A: 00:00:07 / 00:00:17 (46%) Cache: 9.0s/337KB\n",
"A: 00:00:07 / 00:00:17 (46%) Cache: 8.9s/334KB\n",
"A: 00:00:08 / 00:00:17 (46%) Cache: 8.9s/333KB\n",
"A: 00:00:08 / 00:00:17 (47%) Cache: 8.8s/330KB\n",
"A: 00:00:08 / 00:00:17 (47%) Cache: 8.7s/327KB\n",
"A: 00:00:08 / 00:00:17 (48%) Cache: 8.7s/325KB\n",
"A: 00:00:08 / 00:00:17 (48%) Cache: 8.6s/323KB\n",
"A: 00:00:08 / 00:00:17 (48%) Cache: 8.5s/320KB\n",
"[ffmpeg/audio] mp3float: Header missing\n",
"A: 00:00:08 / 00:00:17 (48%) Cache: 8.5s/320KB\n",
"Error decoding audio.\n",
"A: 00:00:08 / 00:00:17 (48%) Cache: 8.5s/320KB\n",
"A: 00:00:08 / 00:00:17 (49%) Cache: 8.5s/317KB\n",
"A: 00:00:08 / 00:00:21 (39%) Cache: 12s/482KB\n",
"A: 00:00:08 / 00:00:21 (39%) Cache: 12s/479KB\n",
"A: 00:00:08 / 00:00:21 (40%) Cache: 12s/477KB\n",
"A: 00:00:08 / 00:00:21 (40%) Cache: 12s/474KB\n",
"A: 00:00:08 / 00:00:21 (40%) Cache: 12s/472KB\n",
"A: 00:00:08 / 00:00:21 (41%) Cache: 12s/469KB\n",
"A: 00:00:08 / 00:00:21 (41%) Cache: 12s/467KB\n",
"[ffmpeg/audio] mp3float: Header missing\n",
"A: 00:00:08 / 00:00:21 (41%) Cache: 12s/467KB\n",
"Error decoding audio.\n",
"A: 00:00:08 / 00:00:21 (41%) Cache: 12s/467KB\n",
"A: 00:00:08 / 00:00:21 (41%) Cache: 12s/463KB\n",
"A: 00:00:09 / 00:00:21 (42%) Cache: 12s/461KB\n",
"A: 00:00:09 / 00:00:21 (42%) Cache: 12s/459KB\n",
"A: 00:00:09 / 00:00:21 (42%) Cache: 12s/456KB\n",
"A: 00:00:09 / 00:00:21 (42%) Cache: 12s/454KB\n",
"A: 00:00:09 / 00:00:21 (43%) Cache: 12s/452KB\n",
"A: 00:00:09 / 00:00:21 (43%) Cache: 12s/450KB\n",
"A: 00:00:09 / 00:00:21 (43%) Cache: 11s/447KB\n",
"[ffmpeg/audio] mp3float: Header missing\n",
"A: 00:00:09 / 00:00:21 (43%) Cache: 11s/447KB\n",
"Error decoding audio.\n",
"A: 00:00:09 / 00:00:21 (43%) Cache: 11s/447KB\n",
"A: 00:00:09 / 00:00:21 (44%) Cache: 11s/443KB\n",
"A: 00:00:09 / 00:00:21 (44%) Cache: 11s/442KB\n",
"A: 00:00:09 / 00:00:21 (44%) Cache: 11s/439KB\n",
"A: 00:00:09 / 00:00:21 (45%) Cache: 11s/436KB\n",
"A: 00:00:09 / 00:00:21 (45%) Cache: 11s/433KB\n",
"A: 00:00:09 / 00:00:21 (45%) Cache: 11s/432KB\n",
"A: 00:00:09 / 00:00:21 (46%) Cache: 11s/429KB\n",
"A: 00:00:09 / 00:00:21 (46%) Cache: 11s/426KB\n",
"A: 00:00:10 / 00:00:21 (46%) Cache: 11s/424KB\n",
"[ffmpeg/audio] mp3float: Header missing\n",
"A: 00:00:10 / 00:00:21 (46%) Cache: 11s/424KB\n",
"Error decoding audio.\n",
"A: 00:00:10 / 00:00:21 (46%) Cache: 11s/424KB\n",
"A: 00:00:10 / 00:00:21 (46%) Cache: 11s/422KB\n",
"A: 00:00:10 / 00:00:21 (47%) Cache: 11s/419KB\n",
"A: 00:00:10 / 00:00:21 (47%) Cache: 11s/416KB\n",
"A: 00:00:10 / 00:00:21 (47%) Cache: 11s/414KB\n",
"A: 00:00:10 / 00:00:21 (48%) Cache: 10s/412KB\n",
"A: 00:00:10 / 00:00:21 (48%) Cache: 10s/409KB\n",
"A: 00:00:10 / 00:00:21 (48%) Cache: 10s/406KB\n",
"A: 00:00:10 / 00:00:21 (49%) Cache: 10s/404KB\n",
"[ffmpeg/audio] mp3float: Header missing\n",
"A: 00:00:10 / 00:00:21 (49%) Cache: 10s/404KB\n",
"Error decoding audio.\n",
"A: 00:00:10 / 00:00:21 (49%) Cache: 10s/404KB\n",
"A: 00:00:10 / 00:00:21 (49%) Cache: 10s/401KB\n",
"A: 00:00:10 / 00:00:21 (49%) Cache: 10s/398KB\n",
"A: 00:00:10 / 00:00:21 (50%) Cache: 10s/396KB\n",
"A: 00:00:10 / 00:00:21 (50%) Cache: 10s/394KB\n",
"A: 00:00:10 / 00:00:21 (50%) Cache: 10s/391KB\n",
"A: 00:00:10 / 00:00:21 (50%) Cache: 10s/388KB\n",
"A: 00:00:11 / 00:00:21 (51%) Cache: 10s/387KB\n",
"A: 00:00:11 / 00:00:26 (42%) Cache: 14s/550KB\n",
"[ffmpeg/audio] mp3float: Header missing\n",
"A: 00:00:11 / 00:00:26 (42%) Cache: 14s/550KB\n",
"Error decoding audio.\n",
"A: 00:00:11 / 00:00:26 (42%) Cache: 14s/550KB\n",
"A: 00:00:11 / 00:00:26 (43%) Cache: 14s/547KB\n",
"A: 00:00:11 / 00:00:26 (43%) Cache: 14s/544KB\n",
"A: 00:00:11 / 00:00:26 (43%) Cache: 14s/541KB\n",
"A: 00:00:11 / 00:00:26 (43%) Cache: 14s/540KB\n",
"A: 00:00:11 / 00:00:28 (40%) Cache: 16s/626KB\n",
"A: 00:00:11 / 00:00:28 (40%) Cache: 16s/625KB\n",
"A: 00:00:11 / 00:00:28 (40%) Cache: 16s/623KB\n",
"A: 00:00:11 / 00:00:28 (41%) Cache: 16s/620KB\n",
"A: 00:00:11 / 00:00:28 (41%) Cache: 16s/619KB\n",
"[ffmpeg/audio] mp3float: Header missing\n",
"A: 00:00:11 / 00:00:28 (41%) Cache: 16s/619KB\n",
"Error decoding audio.\n",
"A: 00:00:11 / 00:00:28 (41%) Cache: 16s/619KB\n",
"A: 00:00:11 / 00:00:28 (41%) Cache: 16s/616KB\n",
"A: 00:00:11 / 00:00:28 (41%) Cache: 16s/613KB\n",
"A: 00:00:11 / 00:00:28 (42%) Cache: 16s/611KB\n",
"A: 00:00:11 / 00:00:28 (42%) Cache: 16s/608KB\n",
"A: 00:00:11 / 00:00:28 (42%) Cache: 16s/606KB\n",
"A: 00:00:12 / 00:00:28 (42%) Cache: 16s/604KB\n",
"A: 00:00:12 / 00:00:28 (42%) Cache: 16s/601KB\n",
"A: 00:00:12 / 00:00:28 (43%) Cache: 15s/598KB\n",
"A: 00:00:12 / 00:00:28 (43%) Cache: 15s/597KB\n",
"[ffmpeg/audio] mp3float: Header missing\n",
"A: 00:00:12 / 00:00:28 (43%) Cache: 15s/597KB\n",
"Error decoding audio.\n",
"A: 00:00:12 / 00:00:28 (43%) Cache: 15s/597KB\n",
"A: 00:00:12 / 00:00:28 (43%) Cache: 15s/593KB\n",
"A: 00:00:12 / 00:00:28 (43%) Cache: 15s/590KB\n",
"A: 00:00:12 / 00:00:28 (44%) Cache: 15s/589KB\n",
"A: 00:00:12 / 00:00:28 (44%) Cache: 15s/586KB\n",
"A: 00:00:12 / 00:00:28 (44%) Cache: 15s/583KB\n",
"A: 00:00:12 / 00:00:28 (44%) Cache: 15s/581KB\n",
"A: 00:00:12 / 00:00:28 (45%) Cache: 15s/579KB\n",
"A: 00:00:12 / 00:00:28 (45%) Cache: 15s/576KB\n",
"[ffmpeg/audio] mp3float: Header missing\n",
"A: 00:00:12 / 00:00:28 (45%) Cache: 15s/576KB\n",
"Error decoding audio.\n",
"A: 00:00:12 / 00:00:28 (45%) Cache: 15s/576KB\n",
"A: 00:00:12 / 00:00:28 (45%) Cache: 15s/573KB\n",
"A: 00:00:12 / 00:00:28 (45%) Cache: 15s/571KB\n",
"A: 00:00:12 / 00:00:28 (45%) Cache: 15s/569KB\n",
"A: 00:00:13 / 00:00:28 (46%) Cache: 15s/566KB\n",
"A: 00:00:13 / 00:00:28 (46%) Cache: 15s/563KB\n",
"A: 00:00:13 / 00:00:28 (46%) Cache: 14s/561KB\n",
"A: 00:00:13 / 00:00:28 (46%) Cache: 14s/559KB\n",
"A: 00:00:13 / 00:00:28 (47%) Cache: 14s/556KB\n",
"[ffmpeg/audio] mp3float: Header missing\n",
"A: 00:00:13 / 00:00:28 (47%) Cache: 14s/556KB\n",
"Error decoding audio.\n",
"A: 00:00:13 / 00:00:28 (47%) Cache: 14s/556KB\n",
"A: 00:00:13 / 00:00:28 (47%) Cache: 14s/553KB\n",
"A: 00:00:13 / 00:00:28 (47%) Cache: 14s/551KB\n",
"A: 00:00:13 / 00:00:28 (47%) Cache: 14s/548KB\n",
"A: 00:00:13 / 00:00:28 (48%) Cache: 14s/545KB\n",
"A: 00:00:13 / 00:00:28 (48%) Cache: 14s/544KB\n",
"A: 00:00:13 / 00:00:28 (48%) Cache: 14s/541KB\n",
"A: 00:00:13 / 00:00:28 (48%) Cache: 14s/538KB\n",
"A: 00:00:13 / 00:00:28 (48%) Cache: 14s/536KB\n",
"A: 00:00:13 / 00:00:28 (49%) Cache: 14s/534KB\n",
"[ffmpeg/audio] mp3float: Header missing\n",
"A: 00:00:13 / 00:00:28 (49%) Cache: 14s/534KB\n",
"Error decoding audio.\n",
"A: 00:00:13 / 00:00:28 (49%) Cache: 14s/534KB\n",
"A: 00:00:13 / 00:00:28 (49%) Cache: 14s/531KB\n",
"A: 00:00:14 / 00:00:28 (49%) Cache: 14s/528KB\n",
"A: 00:00:14 / 00:00:28 (49%) Cache: 14s/526KB\n",
"A: 00:00:14 / 00:00:28 (50%) Cache: 13s/524KB\n",
"A: 00:00:14 / 00:00:28 (50%) Cache: 13s/521KB\n",
"A: 00:00:14 / 00:00:28 (50%) Cache: 13s/518KB\n",
"A: 00:00:14 / 00:00:28 (50%) Cache: 13s/516KB\n",
"A: 00:00:14 / 00:00:28 (51%) Cache: 13s/514KB\n",
"[ffmpeg/audio] mp3float: Header missing\n",
"A: 00:00:14 / 00:00:28 (51%) Cache: 13s/514KB\n",
"Error decoding audio.\n",
"A: 00:00:14 / 00:00:28 (51%) Cache: 13s/514KB\n",
"A: 00:00:14 / 00:00:28 (51%) Cache: 13s/510KB\n",
"A: 00:00:14 / 00:00:28 (51%) Cache: 13s/508KB\n",
"A: 00:00:14 / 00:00:28 (51%) Cache: 13s/506KB\n",
"A: 00:00:14 / 00:00:28 (52%) Cache: 13s/503KB\n",
"A: 00:00:14 / 00:00:28 (52%) Cache: 13s/500KB\n",
"A: 00:00:14 / 00:00:28 (52%) Cache: 13s/498KB\n",
"A: 00:00:14 / 00:00:28 (52%) Cache: 13s/496KB\n",
"A: 00:00:14 / 00:00:28 (52%) Cache: 13s/493KB\n",
"[ffmpeg/audio] mp3float: Header missing\n",
"A: 00:00:14 / 00:00:28 (52%) Cache: 13s/493KB\n",
"Error decoding audio.\n",
"A: 00:00:14 / 00:00:28 (52%) Cache: 13s/493KB\n",
"A: 00:00:15 / 00:00:28 (53%) Cache: 13s/490KB\n",
"A: 00:00:15 / 00:00:28 (53%) Cache: 13s/488KB\n",
"A: 00:00:15 / 00:00:28 (53%) Cache: 12s/486KB\n",
"A: 00:00:15 / 00:00:28 (53%) Cache: 12s/483KB\n",
"A: 00:00:15 / 00:00:28 (54%) Cache: 12s/480KB\n",
"A: 00:00:15 / 00:00:28 (54%) Cache: 12s/478KB\n",
"A: 00:00:15 / 00:00:28 (54%) Cache: 12s/476KB\n",
"A: 00:00:15 / 00:00:28 (54%) Cache: 12s/473KB\n",
"[ffmpeg/audio] mp3float: Header missing\n",
"A: 00:00:15 / 00:00:28 (54%) Cache: 12s/473KB\n",
"Error decoding audio.\n",
"A: 00:00:15 / 00:00:28 (54%) Cache: 12s/473KB\n",
"A: 00:00:15 / 00:00:28 (55%) Cache: 12s/470KB\n",
"A: 00:00:15 / 00:00:28 (55%) Cache: 12s/468KB\n",
"A: 00:00:15 / 00:00:28 (55%) Cache: 12s/465KB\n",
"A: 00:00:15 / 00:00:28 (55%) Cache: 12s/463KB\n",
"A: 00:00:15 / 00:00:28 (56%) Cache: 12s/461KB\n",
"A: 00:00:15 / 00:00:28 (56%) Cache: 12s/458KB\n",
"A: 00:00:15 / 00:00:28 (56%) Cache: 12s/455KB\n",
"A: 00:00:16 / 00:00:28 (56%) Cache: 12s/453KB\n",
"[ffmpeg/audio] mp3float: Header missing\n",
"A: 00:00:16 / 00:00:28 (56%) Cache: 12s/453KB\n",
"Error decoding audio.\n",
"A: 00:00:16 / 00:00:28 (56%) Cache: 12s/453KB\n",
"A: 00:00:16 / 00:00:28 (57%) Cache: 12s/450KB\n",
"A: 00:00:16 / 00:00:28 (57%) Cache: 11s/447KB\n",
"A: 00:00:16 / 00:00:28 (57%) Cache: 11s/445KB\n",
"A: 00:00:16 / 00:00:28 (57%) Cache: 11s/443KB\n",
"A: 00:00:16 / 00:00:28 (57%) Cache: 11s/441KB\n",
"A: 00:00:16 / 00:00:28 (58%) Cache: 11s/438KB\n",
"A: 00:00:16 / 00:00:28 (58%) Cache: 11s/435KB\n",
"A: 00:00:16 / 00:00:28 (58%) Cache: 11s/433KB\n",
"A: 00:00:16 / 00:00:28 (58%) Cache: 11s/431KB\n",
"[ffmpeg/audio] mp3float: Header missing\n",
"A: 00:00:16 / 00:00:28 (58%) Cache: 11s/431KB\n",
"Error decoding audio.\n",
"A: 00:00:16 / 00:00:28 (58%) Cache: 11s/431KB\n",
"A: 00:00:16 / 00:00:28 (59%) Cache: 11s/427KB\n",
"A: 00:00:16 / 00:00:28 (59%) Cache: 11s/425KB\n",
"A: 00:00:16 / 00:00:28 (59%) Cache: 11s/423KB\n",
"A: 00:00:16 / 00:00:28 (59%) Cache: 11s/420KB\n",
"A: 00:00:16 / 00:00:28 (60%) Cache: 11s/417KB\n",
"A: 00:00:17 / 00:00:28 (60%) Cache: 11s/416KB\n",
"A: 00:00:17 / 00:00:28 (60%) Cache: 11s/413KB\n",
"A: 00:00:17 / 00:00:28 (60%) Cache: 10s/410KB\n",
"[ffmpeg/audio] mp3float: Header missing\n",
"A: 00:00:17 / 00:00:28 (60%) Cache: 10s/410KB\n",
"Error decoding audio.\n",
"A: 00:00:17 / 00:00:28 (60%) Cache: 10s/410KB\n",
"A: 00:00:17 / 00:00:28 (61%) Cache: 10s/408KB\n",
"A: 00:00:17 / 00:00:28 (61%) Cache: 10s/405KB\n",
"A: 00:00:17 / 00:00:28 (61%) Cache: 10s/402KB\n",
"A: 00:00:17 / 00:00:28 (61%) Cache: 10s/400KB\n",
"A: 00:00:17 / 00:00:28 (61%) Cache: 10s/398KB\n",
"A: 00:00:17 / 00:00:28 (62%) Cache: 10s/395KB\n",
"A: 00:00:17 / 00:00:28 (62%) Cache: 10s/393KB\n",
"A: 00:00:17 / 00:00:28 (62%) Cache: 10s/390KB\n",
"[ffmpeg/audio] mp3float: Header missing\n",
"A: 00:00:17 / 00:00:28 (62%) Cache: 10s/390KB\n",
"Error decoding audio.\n",
"A: 00:00:17 / 00:00:28 (62%) Cache: 10s/390KB\n",
"A: 00:00:17 / 00:00:28 (62%) Cache: 10s/387KB\n",
"A: 00:00:17 / 00:00:28 (63%) Cache: 10s/385KB\n",
"A: 00:00:17 / 00:00:28 (63%) Cache: 10s/383KB\n",
"A: 00:00:17 / 00:00:28 (63%) Cache: 10s/381KB\n",
"A: 00:00:18 / 00:00:28 (63%) Cache: 10s/378KB\n",
"A: 00:00:18 / 00:00:28 (64%) Cache: 10s/375KB\n",
"A: 00:00:18 / 00:00:28 (64%) Cache: 9.9s/372KB\n",
"A: 00:00:18 / 00:00:28 (64%) Cache: 9.9s/371KB\n",
"[ffmpeg/audio] mp3float: Header missing\n",
"A: 00:00:18 / 00:00:28 (64%) Cache: 9.9s/371KB\n",
"Error decoding audio.\n",
"A: 00:00:18 / 00:00:28 (64%) Cache: 9.9s/371KB\n",
"A: 00:00:18 / 00:00:28 (64%) Cache: 9.8s/367KB\n",
"A: 00:00:18 / 00:00:28 (65%) Cache: 9.7s/364KB\n",
"A: 00:00:18 / 00:00:28 (65%) Cache: 9.7s/363KB\n",
"A: 00:00:18 / 00:00:28 (65%) Cache: 9.6s/360KB\n",
"A: 00:00:18 / 00:00:28 (65%) Cache: 9.5s/357KB\n",
"A: 00:00:18 / 00:00:28 (65%) Cache: 9.5s/355KB\n",
"A: 00:00:18 / 00:00:28 (66%) Cache: 9.4s/353KB\n",
"A: 00:00:18 / 00:00:28 (66%) Cache: 9.3s/350KB\n",
"A: 00:00:18 / 00:00:28 (66%) Cache: 9.3s/348KB\n",
"[ffmpeg/audio] mp3float: Header missing\n",
"A: 00:00:18 / 00:00:28 (66%) Cache: 9.3s/348KB\n",
"Error decoding audio.\n",
"A: 00:00:18 / 00:00:28 (66%) Cache: 9.3s/348KB\n",
"A: 00:00:18 / 00:00:28 (66%) Cache: 9.2s/346KB\n",
"A: 00:00:18 / 00:00:28 (67%) Cache: 9.1s/343KB\n",
"A: 00:00:19 / 00:00:28 (67%) Cache: 9.1s/340KB\n",
"A: 00:00:19 / 00:00:28 (67%) Cache: 9.0s/337KB\n",
"A: 00:00:19 / 00:00:28 (67%) Cache: 9.0s/336KB\n",
"A: 00:00:19 / 00:00:28 (68%) Cache: 8.9s/333KB\n",
"A: 00:00:19 / 00:00:28 (68%) Cache: 8.8s/330KB\n",
"A: 00:00:19 / 00:00:28 (68%) Cache: 8.7s/327KB\n",
"[ffmpeg/audio] mp3float: Header missing\n",
"A: 00:00:19 / 00:00:28 (68%) Cache: 8.7s/327KB\n",
"Error decoding audio.\n",
"A: 00:00:19 / 00:00:28 (68%) Cache: 8.7s/327KB\n",
"A: 00:00:19 / 00:00:28 (68%) Cache: 8.7s/325KB\n",
"A: 00:00:19 / 00:00:28 (69%) Cache: 8.6s/322KB\n",
"A: 00:00:19 / 00:00:28 (69%) Cache: 8.5s/319KB\n",
"A: 00:00:19 / 00:00:28 (69%) Cache: 8.5s/318KB\n",
"A: 00:00:19 / 00:00:28 (69%) Cache: 8.4s/315KB\n",
"A: 00:00:19 / 00:00:28 (69%) Cache: 8.3s/312KB\n",
"A: 00:00:19 / 00:00:28 (70%) Cache: 8.3s/310KB\n",
"A: 00:00:19 / 00:00:28 (70%) Cache: 8.2s/308KB\n",
"[ffmpeg/audio] mp3float: Header missing\n",
"A: 00:00:19 / 00:00:28 (70%) Cache: 8.2s/308KB\n",
"Error decoding audio.\n",
"A: 00:00:19 / 00:00:28 (70%) Cache: 8.2s/308KB\n",
"A: 00:00:20 / 00:00:28 (70%) Cache: 8.1s/304KB\n",
"A: 00:00:20 / 00:00:28 (70%) Cache: 8.1s/302KB\n",
"A: 00:00:20 / 00:00:28 (71%) Cache: 8.0s/300KB\n",
"A: 00:00:20 / 00:00:28 (71%) Cache: 7.9s/298KB\n",
"A: 00:00:20 / 00:00:28 (71%) Cache: 7.9s/295KB\n",
"A: 00:00:20 / 00:00:28 (71%) Cache: 7.8s/292KB\n",
"A: 00:00:20 / 00:00:28 (72%) Cache: 7.7s/290KB\n",
"A: 00:00:20 / 00:00:28 (72%) Cache: 7.7s/288KB\n",
"[ffmpeg/audio] mp3float: Header missing\n",
"A: 00:00:20 / 00:00:28 (72%) Cache: 7.7s/288KB\n",
"Error decoding audio.\n",
"A: 00:00:20 / 00:00:28 (72%) Cache: 7.7s/288KB\n",
"A: 00:00:20 / 00:00:28 (72%) Cache: 7.6s/284KB\n",
"A: 00:00:20 / 00:00:28 (72%) Cache: 7.5s/282KB\n",
"A: 00:00:20 / 00:00:28 (72%) Cache: 7.5s/280KB\n",
"A: 00:00:20 / 00:00:28 (73%) Cache: 7.4s/277KB\n",
"A: 00:00:20 / 00:00:28 (73%) Cache: 7.3s/274KB\n",
"A: 00:00:20 / 00:00:28 (73%) Cache: 7.3s/273KB\n",
"A: 00:00:20 / 00:00:28 (73%) Cache: 7.2s/270KB\n",
"A: 00:00:21 / 00:00:28 (74%) Cache: 7.1s/267KB\n",
"A: 00:00:21 / 00:00:28 (74%) Cache: 7.1s/265KB\n",
"[ffmpeg/audio] mp3float: Header missing\n",
"A: 00:00:21 / 00:00:28 (74%) Cache: 7.1s/265KB\n",
"Error decoding audio.\n",
"A: 00:00:21 / 00:00:28 (74%) Cache: 7.1s/265KB\n",
"A: 00:00:21 / 00:00:28 (74%) Cache: 7.0s/262KB\n",
"A: 00:00:21 / 00:00:28 (74%) Cache: 6.9s/259KB\n",
"A: 00:00:21 / 00:00:28 (75%) Cache: 6.9s/257KB\n",
"A: 00:00:21 / 00:00:28 (75%) Cache: 6.8s/255KB\n",
"A: 00:00:21 / 00:00:28 (75%) Cache: 6.7s/253KB\n",
"A: 00:00:21 / 00:00:28 (75%) Cache: 6.7s/250KB\n",
"A: 00:00:21 / 00:00:28 (75%) Cache: 6.6s/247KB\n",
"A: 00:00:21 / 00:00:28 (76%) Cache: 6.5s/245KB\n",
"[ffmpeg/audio] mp3float: Header missing\n",
"A: 00:00:21 / 00:00:28 (76%) Cache: 6.5s/245KB\n",
"Error decoding audio.\n",
"A: 00:00:21 / 00:00:28 (76%) Cache: 6.5s/245KB\n",
"A: 00:00:21 / 00:00:28 (76%) Cache: 6.5s/242KB\n",
"A: 00:00:21 / 00:00:28 (76%) Cache: 6.4s/239KB\n",
"A: 00:00:21 / 00:00:28 (76%) Cache: 6.3s/237KB\n",
"A: 00:00:21 / 00:00:28 (77%) Cache: 6.3s/235KB\n",
"A: 00:00:21 / 00:00:28 (77%) Cache: 6.2s/232KB\n",
"A: 00:00:22 / 00:00:28 (77%) Cache: 6.1s/229KB\n",
"A: 00:00:22 / 00:00:28 (77%) Cache: 6.1s/228KB\n",
"A: 00:00:22 / 00:00:28 (78%) Cache: 6.0s/225KB\n",
"[ffmpeg/audio] mp3float: Header missing\n",
"A: 00:00:22 / 00:00:28 (78%) Cache: 6.0s/225KB\n",
"Error decoding audio.\n",
"A: 00:00:22 / 00:00:28 (78%) Cache: 6.0s/225KB\n",
"A: 00:00:22 / 00:00:28 (78%) Cache: 5.9s/221KB\n",
"A: 00:00:22 / 00:00:28 (78%) Cache: 5.9s/220KB\n",
"A: 00:00:22 / 00:00:28 (78%) Cache: 5.8s/217KB\n",
"A: 00:00:22 / 00:00:28 (79%) Cache: 5.7s/214KB\n",
"A: 00:00:22 / 00:00:28 (79%) Cache: 5.7s/212KB\n",
"A: 00:00:22 / 00:00:28 (79%) Cache: 5.6s/210KB\n",
"A: 00:00:22 / 00:00:28 (79%) Cache: 5.5s/207KB\n",
"A: 00:00:22 / 00:00:28 (79%) Cache: 5.5s/205KB\n",
"[ffmpeg/audio] mp3float: Header missing\n",
"A: 00:00:22 / 00:00:28 (79%) Cache: 5.5s/205KB\n",
"Error decoding audio.\n",
"A: 00:00:22 / 00:00:28 (79%) Cache: 5.5s/205KB\n",
"A: 00:00:22 / 00:00:28 (80%) Cache: 5.4s/202KB\n",
"A: 00:00:22 / 00:00:28 (80%) Cache: 5.3s/199KB\n",
"A: 00:00:22 / 00:00:28 (80%) Cache: 5.3s/197KB\n",
"A: 00:00:22 / 00:00:28 (80%) Cache: 5.2s/195KB\n",
"A: 00:00:23 / 00:00:28 (81%) Cache: 5.1s/192KB\n",
"A: 00:00:23 / 00:00:28 (81%) Cache: 5.1s/190KB\n",
"A: 00:00:23 / 00:00:28 (81%) Cache: 5.0s/187KB\n",
"A: 00:00:23 / 00:00:28 (81%) Cache: 4.9s/184KB\n",
"A: 00:00:23 / 00:00:28 (82%) Cache: 4.9s/182KB\n",
"[ffmpeg/audio] mp3float: Header missing\n",
"A: 00:00:23 / 00:00:28 (82%) Cache: 4.9s/182KB\n",
"Error decoding audio.\n",
"A: 00:00:23 / 00:00:28 (82%) Cache: 4.9s/182KB\n",
"A: 00:00:23 / 00:00:28 (82%) Cache: 4.8s/179KB\n",
"A: 00:00:23 / 00:00:28 (82%) Cache: 4.7s/176KB\n",
"A: 00:00:23 / 00:00:28 (82%) Cache: 4.7s/174KB\n",
"A: 00:00:23 / 00:00:28 (83%) Cache: 4.6s/172KB\n",
"A: 00:00:23 / 00:00:28 (83%) Cache: 4.5s/169KB\n",
"A: 00:00:23 / 00:00:28 (83%) Cache: 4.5s/167KB\n",
"A: 00:00:23 / 00:00:28 (83%) Cache: 4.4s/165KB\n",
"A: 00:00:23 / 00:00:28 (83%) Cache: 4.3s/162KB\n",
"[ffmpeg/audio] mp3float: Header missing\n",
"A: 00:00:23 / 00:00:28 (83%) Cache: 4.3s/162KB\n",
"Error decoding audio.\n",
"A: 00:00:23 / 00:00:28 (83%) Cache: 4.3s/162KB\n",
"A: 00:00:23 / 00:00:28 (84%) Cache: 4.2s/159KB\n",
"A: 00:00:23 / 00:00:28 (84%) Cache: 4.2s/157KB\n",
"A: 00:00:24 / 00:00:28 (84%) Cache: 4.1s/155KB\n",
"A: 00:00:24 / 00:00:28 (84%) Cache: 4.1s/152KB\n",
"A: 00:00:24 / 00:00:28 (85%) Cache: 4.0s/149KB\n",
"A: 00:00:24 / 00:00:28 (85%) Cache: 3.9s/147KB\n",
"A: 00:00:24 / 00:00:28 (85%) Cache: 3.9s/145KB\n",
"A: 00:00:24 / 00:00:28 (85%) Cache: 3.8s/142KB\n",
"[ffmpeg/audio] mp3float: Header missing\n",
"A: 00:00:24 / 00:00:28 (85%) Cache: 3.8s/142KB\n",
"Error decoding audio.\n",
"A: 00:00:24 / 00:00:28 (85%) Cache: 3.8s/142KB\n",
"A: 00:00:24 / 00:00:28 (86%) Cache: 3.7s/139KB\n",
"A: 00:00:24 / 00:00:28 (86%) Cache: 3.6s/137KB\n",
"A: 00:00:24 / 00:00:28 (86%) Cache: 3.6s/134KB\n",
"A: 00:00:24 / 00:00:28 (86%) Cache: 3.5s/131KB\n",
"A: 00:00:24 / 00:00:28 (87%) Cache: 3.5s/129KB\n",
"A: 00:00:24 / 00:00:28 (87%) Cache: 3.4s/127KB\n",
"A: 00:00:24 / 00:00:28 (87%) Cache: 3.3s/124KB\n",
"A: 00:00:24 / 00:00:28 (87%) Cache: 3.3s/122KB\n",
"[ffmpeg/audio] mp3float: Header missing\n",
"A: 00:00:24 / 00:00:28 (87%) Cache: 3.3s/122KB\n",
"Error decoding audio.\n",
"A: 00:00:24 / 00:00:28 (87%) Cache: 3.3s/122KB\n",
"A: 00:00:24 / 00:00:28 (88%) Cache: 3.2s/119KB\n",
"A: 00:00:25 / 00:00:28 (88%) Cache: 3.1s/116KB\n",
"A: 00:00:25 / 00:00:28 (88%) Cache: 3.0s/114KB\n",
"A: 00:00:25 / 00:00:28 (88%) Cache: 3.0s/111KB\n",
"A: 00:00:25 / 00:00:28 (88%) Cache: 2.9s/110KB\n",
"A: 00:00:25 / 00:00:28 (89%) Cache: 2.9s/107KB\n",
"A: 00:00:25 / 00:00:28 (89%) Cache: 2.8s/104KB\n",
"A: 00:00:25 / 00:00:28 (89%) Cache: 2.7s/101KB\n",
"A: 00:00:25 / 00:00:28 (89%) Cache: 2.7s/100KB\n",
"[ffmpeg/audio] mp3float: Header missing\n",
"A: 00:00:25 / 00:00:28 (89%) Cache: 2.7s/100KB\n",
"Error decoding audio.\n",
"A: 00:00:25 / 00:00:28 (89%) Cache: 2.7s/100KB\n",
"A: 00:00:25 / 00:00:28 (90%) Cache: 2.6s/96KB\n",
"A: 00:00:25 / 00:00:28 (90%) Cache: 2.5s/93KB\n",
"A: 00:00:25 / 00:00:28 (90%) Cache: 2.4s/92KB\n",
"A: 00:00:25 / 00:00:28 (90%) Cache: 2.4s/89KB\n",
"A: 00:00:25 / 00:00:28 (91%) Cache: 2.3s/86KB\n",
"A: 00:00:25 / 00:00:28 (91%) Cache: 2.3s/84KB\n",
"A: 00:00:25 / 00:00:28 (91%) Cache: 2.2s/82KB\n",
"A: 00:00:26 / 00:00:28 (91%) Cache: 2.1s/79KB\n",
"[ffmpeg/audio] mp3float: Header missing\n",
"A: 00:00:26 / 00:00:28 (91%) Cache: 2.1s/79KB\n",
"Error decoding audio.\n",
"A: 00:00:26 / 00:00:28 (91%) Cache: 2.1s/79KB\n",
"A: 00:00:26 / 00:00:28 (91%) Cache: 2.0s/76KB\n",
"A: 00:00:26 / 00:00:28 (92%) Cache: 2.0s/74KB\n",
"A: 00:00:26 / 00:00:28 (92%) Cache: 1.9s/71KB\n",
"A: 00:00:26 / 00:00:28 (92%) Cache: 1.8s/69KB\n",
"A: 00:00:26 / 00:00:28 (92%) Cache: 1.8s/66KB\n",
"A: 00:00:26 / 00:00:28 (93%) Cache: 1.7s/65KB\n",
"A: 00:00:26 / 00:00:28 (93%) Cache: 1.7s/62KB\n",
"A: 00:00:26 / 00:00:28 (93%) Cache: 1.6s/59KB\n",
"[ffmpeg/audio] mp3float: Header missing\n",
"A: 00:00:26 / 00:00:28 (93%) Cache: 1.6s/59KB\n",
"Error decoding audio.\n",
"A: 00:00:26 / 00:00:28 (93%) Cache: 1.6s/59KB\n",
"A: 00:00:26 / 00:00:28 (93%) Cache: 1.5s/56KB\n",
"A: 00:00:26 / 00:00:28 (94%) Cache: 1.4s/54KB\n",
"A: 00:00:26 / 00:00:28 (94%) Cache: 1.4s/51KB\n",
"A: 00:00:26 / 00:00:28 (94%) Cache: 1.3s/48KB\n",
"A: 00:00:26 / 00:00:28 (94%) Cache: 1.2s/47KB\n",
"A: 00:00:26 / 00:00:28 (94%) Cache: 1.2s/44KB\n",
"A: 00:00:27 / 00:00:28 (95%) Cache: 1.1s/41KB\n",
"A: 00:00:27 / 00:00:28 (95%) Cache: 1.1s/39KB\n",
"A: 00:00:27 / 00:00:28 (95%) Cache: 1.0s/37KB\n",
"A: 00:00:27 / 00:00:28 (95%) Cache: 0.9s/34KB\n",
"A: 00:00:27 / 00:00:28 (96%) Cache: 0.9s/32KB\n",
"A: 00:00:27 / 00:00:28 (96%) Cache: 0.8s/29KB\n",
"A: 00:00:27 / 00:00:28 (96%) Cache: 0.7s/27KB\n",
"A: 00:00:27 / 00:00:28 (96%) Cache: 0.7s/25KB\n",
"A: 00:00:27 / 00:00:28 (97%) Cache: 0.6s/22KB\n",
"A: 00:00:27 / 00:00:28 (97%) Cache: 0.5s/19KB\n",
"A: 00:00:27 / 00:00:28 (97%) Cache: 0.5s/18KB\n",
"A: 00:00:27 / 00:00:28 (97%) Cache: 0.4s/16KB\n",
"A: 00:00:27 / 00:00:28 (97%) Cache: 0.4s/13KB\n",
"A: 00:00:27 / 00:00:28 (98%) Cache: 0.3s/10KB\n",
"A: 00:00:27 / 00:00:28 (98%) Cache: 0.2s/8KB\n",
"A: 00:00:27 / 00:00:28 (98%) Cache: 0.1s/5KB\n",
"A: 00:00:28 / 00:00:28 (98%) Cache: 0.1s/3KB\n",
"A: 00:00:28 / 00:00:28 (99%) Cache: 0.0s/0KB\n",
"Exiting... (End of file)\n"
]
},
{
"data": {
"text/plain": [
"CompletedProcess(args='curl -X POST \"http://localhost:8000/v1/audio/speech\" -H \"Content-Type: application/json\" -d \\'{\"model\": \"tts-1\", \"input\": \"以下是一些中英文对照的话语。 1. 早上好!希望你有美好的一天。Good morning! Wish you a wonderful day. 2. 你好呀,最近怎么样?Hello there, how have you been recently? 3. 别放弃,你能做到的!Dont give up, you can do it! 4. 继续努力,你的付出会有回报的。Keep up the good work, your efforts will pay off.\", \"voice\": \"echo\", \"response_format\": \"mp3\", \"stream\": true}\\' -s | mpv --no-video -', returncode=0)"
]
},
"execution_count": 39,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"import subprocess\n",
"\n",
"# Use pipeline to implement streaming playback, MP3 format\n",
"cmd = (\n",
" 'curl -X POST \"http://localhost:8000/v1/audio/speech\" '\n",
" '-H \"Content-Type: application/json\" '\n",
" '-d \\'{\"model\": \"tts-1\", \"input\": \"以下是一些中英文对照的话语。 1. 早上好!希望你有美好的一天。Good morning! Wish you a wonderful day. 2. 你好呀,最近怎么样?Hello there, how have you been recently? 3. 别放弃,你能做到的!Dont give up, you can do it! 4. 继续努力,你的付出会有回报的。Keep up the good work, your efforts will pay off.\", \"voice\": \"echo\", \"response_format\": \"mp3\", \"stream\": true}\\' '\n",
" \"-s | mpv --no-video -\"\n",
")\n",
"subprocess.run(cmd, shell=True, check=True)"
]
},
{
"cell_type": "code",
"execution_count": 40,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"[file] Reading from stdin...\n",
"● Audio --aid=1 (vorbis 2ch 48000 Hz 112 kbps)\n",
"[lavf] Linearizing discontinuity: 0.000000 -> 0.486667\n",
"[lavf] Linearizing discontinuity: 0.486667 -> 0.973333\n",
"[lavf] Linearizing discontinuity: 0.973333 -> 1.457333\n",
"[lavf] Linearizing discontinuity: 1.457333 -> 1.944000\n",
"[lavf] Linearizing discontinuity: 1.944000 -> 2.441333\n",
"[lavf] Linearizing discontinuity: 2.441333 -> 2.922667\n",
"[lavf] Linearizing discontinuity: 2.922667 -> 3.409333\n",
"AO: [pipewire] 48000Hz stereo 2ch floatp\n",
"A: 00:00:00 / 00:00:03 (0%) Cache: 3.2s/175KB\n",
"A: 00:00:00 / 00:00:03 (0%) Cache: 3.1s/174KB\n",
"A: 00:00:00 / 00:00:03 (0%) Cache: 3.1s/172KB\n",
"A: 00:00:00 / 00:00:03 (0%) Cache: 3.0s/171KB\n",
"A: 00:00:00 / 00:00:03 (1%) Cache: 2.9s/168KB\n",
"A: 00:00:00 / 00:00:03 (2%) Cache: 2.9s/160KB\n",
"A: 00:00:00 / 00:00:03 (4%) Cache: 2.9s/159KB\n",
"A: 00:00:00 / 00:00:03 (6%) Cache: 2.8s/156KB\n",
"A: 00:00:00 / 00:00:03 (8%) Cache: 2.8s/154KB\n",
"A: 00:00:00 / 00:00:03 (9%) Cache: 2.7s/152KB\n",
"A: 00:00:00 / 00:00:03 (11%) Cache: 2.6s/151KB\n",
"A: 00:00:00 / 00:00:03 (13%) Cache: 2.6s/149KB\n",
"A: 00:00:00 / 00:00:03 (15%) Cache: 2.5s/147KB\n",
"A: 00:00:00 / 00:00:03 (16%) Cache: 2.5s/145KB\n",
"A: 00:00:00 / 00:00:03 (17%) Cache: 2.4s/136KB\n",
"A: 00:00:00 / 00:00:03 (19%) Cache: 2.4s/134KB\n",
"A: 00:00:00 / 00:00:03 (21%) Cache: 2.3s/132KB\n",
"A: 00:00:00 / 00:00:03 (23%) Cache: 2.2s/127KB\n",
"A: 00:00:00 / 00:00:03 (24%) Cache: 2.2s/125KB\n",
"A: 00:00:00 / 00:00:03 (26%) Cache: 2.1s/122KB\n",
"A: 00:00:00 / 00:00:03 (28%) Cache: 2.1s/120KB\n",
"A: 00:00:01 / 00:00:03 (29%) Cache: 2.0s/118KB\n",
"A: 00:00:01 / 00:00:03 (31%) Cache: 2.0s/117KB\n",
"A: 00:00:01 / 00:00:03 (33%) Cache: 1.9s/108KB\n",
"A: 00:00:01 / 00:00:03 (34%) Cache: 1.8s/106KB\n",
"A: 00:00:01 / 00:00:03 (36%) Cache: 1.8s/104KB\n",
"A: 00:00:01 / 00:00:03 (38%) Cache: 1.7s/102KB\n",
"A: 00:00:01 / 00:00:03 (39%) Cache: 1.7s/98KB\n",
"A: 00:00:01 / 00:00:03 (41%) Cache: 1.6s/96KB\n",
"[lavf] Linearizing discontinuity: 3.409333 -> 3.910667\n",
"A: 00:00:01 / 00:00:03 (41%) Cache: 1.6s/96KB\n",
"[lavf] Linearizing discontinuity: 3.910667 -> 4.397333\n",
"A: 00:00:01 / 00:00:03 (41%) Cache: 1.6s/96KB\n",
"[lavf] Linearizing discontinuity: 4.397333 -> 4.898667\n",
"A: 00:00:01 / 00:00:03 (41%) Cache: 1.6s/96KB\n",
"[lavf] Linearizing discontinuity: 4.898667 -> 5.396000\n",
"A: 00:00:01 / 00:00:03 (41%) Cache: 1.6s/96KB\n",
"[lavf] Linearizing discontinuity: 5.396000 -> 5.890667\n",
"A: 00:00:01 / 00:00:03 (41%) Cache: 1.6s/96KB\n",
"[lavf] Linearizing discontinuity: 5.890667 -> 6.369333\n",
"A: 00:00:01 / 00:00:03 (41%) Cache: 1.6s/96KB\n",
"[lavf] Linearizing discontinuity: 6.369333 -> 6.870667\n",
"A: 00:00:01 / 00:00:03 (41%) Cache: 1.6s/96KB\n",
"[lavf] Linearizing discontinuity: 6.870667 -> 7.362667\n",
"A: 00:00:01 / 00:00:03 (41%) Cache: 1.6s/96KB\n",
"A: 00:00:01 / 00:00:07 (20%) Cache: 5.5s/330KB\n",
"A: 00:00:01 / 00:00:07 (20%) Cache: 5.5s/323KB\n",
"A: 00:00:01 / 00:00:07 (21%) Cache: 5.4s/313KB\n",
"A: 00:00:01 / 00:00:07 (22%) Cache: 5.3s/311KB\n",
"A: 00:00:01 / 00:00:07 (23%) Cache: 5.3s/309KB\n",
"A: 00:00:01 / 00:00:07 (24%) Cache: 5.2s/305KB\n",
"A: 00:00:01 / 00:00:07 (24%) Cache: 5.2s/304KB\n",
"A: 00:00:01 / 00:00:07 (25%) Cache: 5.1s/301KB\n",
"A: 00:00:01 / 00:00:07 (26%) Cache: 5.0s/299KB\n",
"A: 00:00:01 / 00:00:07 (27%) Cache: 5.0s/297KB\n",
"A: 00:00:02 / 00:00:07 (28%) Cache: 4.9s/288KB\n",
"A: 00:00:02 / 00:00:07 (28%) Cache: 4.9s/283KB\n",
"A: 00:00:02 / 00:00:07 (29%) Cache: 4.8s/281KB\n",
"A: 00:00:02 / 00:00:07 (30%) Cache: 4.7s/279KB\n",
"A: 00:00:02 / 00:00:07 (31%) Cache: 4.7s/274KB\n",
"A: 00:00:02 / 00:00:07 (32%) Cache: 4.6s/271KB\n",
"A: 00:00:02 / 00:00:07 (33%) Cache: 4.6s/269KB\n",
"A: 00:00:02 / 00:00:07 (33%) Cache: 4.5s/267KB\n",
"A: 00:00:02 / 00:00:07 (34%) Cache: 4.4s/265KB\n",
"A: 00:00:02 / 00:00:07 (35%) Cache: 4.4s/257KB\n",
"A: 00:00:02 / 00:00:07 (35%) Cache: 4.4s/254KB\n",
"A: 00:00:02 / 00:00:07 (36%) Cache: 4.3s/252KB\n",
"A: 00:00:02 / 00:00:07 (37%) Cache: 4.2s/250KB\n",
"A: 00:00:02 / 00:00:07 (38%) Cache: 4.2s/249KB\n",
"A: 00:00:02 / 00:00:07 (39%) Cache: 4.1s/247KB\n",
"A: 00:00:02 / 00:00:07 (40%) Cache: 4.1s/245KB\n",
"A: 00:00:02 / 00:00:07 (40%) Cache: 4.0s/242KB\n",
"A: 00:00:03 / 00:00:07 (41%) Cache: 4.0s/241KB\n",
"A: 00:00:03 / 00:00:07 (42%) Cache: 3.9s/232KB\n",
"A: 00:00:03 / 00:00:07 (43%) Cache: 3.9s/230KB\n",
"A: 00:00:03 / 00:00:07 (43%) Cache: 3.8s/228KB\n",
"A: 00:00:03 / 00:00:07 (44%) Cache: 3.7s/224KB\n",
"[lavf] Linearizing discontinuity: 7.362667 -> 7.854667\n",
"A: 00:00:03 / 00:00:07 (44%) Cache: 3.7s/224KB\n",
"[lavf] Linearizing discontinuity: 7.854667 -> 8.349333\n",
"A: 00:00:03 / 00:00:07 (44%) Cache: 3.7s/224KB\n",
"[lavf] Linearizing discontinuity: 8.349333 -> 8.828000\n",
"A: 00:00:03 / 00:00:07 (44%) Cache: 3.7s/224KB\n",
"[lavf] Linearizing discontinuity: 8.828000 -> 9.312000\n",
"A: 00:00:03 / 00:00:07 (44%) Cache: 3.7s/224KB\n",
"[lavf] Linearizing discontinuity: 9.312000 -> 9.798667\n",
"A: 00:00:03 / 00:00:07 (44%) Cache: 3.7s/224KB\n",
"[lavf] Linearizing discontinuity: 9.798667 -> 10.280000\n",
"A: 00:00:03 / 00:00:07 (44%) Cache: 3.7s/224KB\n",
"[lavf] Linearizing discontinuity: 10.280000 -> 10.781333\n",
"A: 00:00:03 / 00:00:07 (44%) Cache: 3.7s/224KB\n",
"[lavf] Linearizing discontinuity: 10.781333 -> 11.268000\n",
"A: 00:00:03 / 00:00:07 (44%) Cache: 3.7s/224KB\n",
"A: 00:00:03 / 00:00:11 (29%) Cache: 7.6s/441KB\n",
"A: 00:00:03 / 00:00:11 (30%) Cache: 7.5s/438KB\n",
"A: 00:00:03 / 00:00:11 (30%) Cache: 7.4s/436KB\n",
"A: 00:00:03 / 00:00:11 (31%) Cache: 7.4s/434KB\n",
"A: 00:00:03 / 00:00:11 (31%) Cache: 7.3s/422KB\n",
"A: 00:00:03 / 00:00:11 (32%) Cache: 7.3s/420KB\n",
"A: 00:00:03 / 00:00:11 (33%) Cache: 7.2s/418KB\n",
"A: 00:00:03 / 00:00:11 (33%) Cache: 7.1s/416KB\n",
"A: 00:00:03 / 00:00:11 (33%) Cache: 7.1s/414KB\n",
"A: 00:00:03 / 00:00:11 (34%) Cache: 7.0s/412KB\n",
"A: 00:00:03 / 00:00:11 (35%) Cache: 7.0s/410KB\n",
"A: 00:00:03 / 00:00:11 (35%) Cache: 6.9s/408KB\n",
"A: 00:00:04 / 00:00:11 (36%) Cache: 6.9s/407KB\n",
"A: 00:00:04 / 00:00:11 (36%) Cache: 6.8s/388KB\n",
"A: 00:00:04 / 00:00:11 (37%) Cache: 6.8s/381KB\n",
"A: 00:00:04 / 00:00:11 (37%) Cache: 6.7s/379KB\n",
"A: 00:00:04 / 00:00:11 (38%) Cache: 6.6s/377KB\n",
"A: 00:00:04 / 00:00:11 (38%) Cache: 6.6s/375KB\n",
"A: 00:00:04 / 00:00:11 (39%) Cache: 6.5s/373KB\n",
"A: 00:00:04 / 00:00:11 (39%) Cache: 6.5s/371KB\n",
"A: 00:00:04 / 00:00:11 (40%) Cache: 6.4s/370KB\n",
"A: 00:00:04 / 00:00:11 (40%) Cache: 6.4s/358KB\n",
"A: 00:00:04 / 00:00:11 (41%) Cache: 6.3s/356KB\n",
"A: 00:00:04 / 00:00:11 (41%) Cache: 6.2s/354KB\n",
"A: 00:00:04 / 00:00:11 (42%) Cache: 6.2s/352KB\n",
"A: 00:00:04 / 00:00:11 (42%) Cache: 6.1s/350KB\n",
"A: 00:00:04 / 00:00:11 (43%) Cache: 6.1s/348KB\n",
"A: 00:00:04 / 00:00:11 (43%) Cache: 6.0s/344KB\n",
"A: 00:00:04 / 00:00:11 (44%) Cache: 5.9s/341KB\n",
"A: 00:00:04 / 00:00:11 (44%) Cache: 5.9s/337KB\n",
"A: 00:00:05 / 00:00:11 (45%) Cache: 5.8s/327KB\n",
"A: 00:00:05 / 00:00:11 (45%) Cache: 5.7s/324KB\n",
"A: 00:00:05 / 00:00:11 (46%) Cache: 5.7s/322KB\n",
"A: 00:00:05 / 00:00:11 (46%) Cache: 5.6s/320KB\n",
"A: 00:00:05 / 00:00:11 (47%) Cache: 5.6s/317KB\n",
"A: 00:00:05 / 00:00:11 (48%) Cache: 5.5s/315KB\n",
"A: 00:00:05 / 00:00:11 (48%) Cache: 5.5s/309KB\n",
"[lavf] Linearizing discontinuity: 11.268000 -> 11.760000\n",
"A: 00:00:05 / 00:00:11 (48%) Cache: 5.5s/309KB\n",
"[lavf] Linearizing discontinuity: 11.760000 -> 12.257333\n",
"A: 00:00:05 / 00:00:11 (48%) Cache: 5.5s/309KB\n",
"[lavf] Linearizing discontinuity: 12.257333 -> 12.741333\n",
"A: 00:00:05 / 00:00:11 (48%) Cache: 5.5s/309KB\n",
"[lavf] Linearizing discontinuity: 12.741333 -> 13.222667\n",
"A: 00:00:05 / 00:00:11 (48%) Cache: 5.5s/309KB\n",
"[lavf] Linearizing discontinuity: 13.222667 -> 13.701333\n",
"A: 00:00:05 / 00:00:11 (48%) Cache: 5.5s/309KB\n",
"[lavf] Linearizing discontinuity: 13.701333 -> 14.188000\n",
"A: 00:00:05 / 00:00:11 (48%) Cache: 5.5s/309KB\n",
"[lavf] Linearizing discontinuity: 14.188000 -> 14.674667\n",
"A: 00:00:05 / 00:00:11 (48%) Cache: 5.5s/309KB\n",
"[lavf] Linearizing discontinuity: 14.674667 -> 15.158667\n",
"A: 00:00:05 / 00:00:11 (48%) Cache: 5.5s/309KB\n",
"A: 00:00:05 / 00:00:15 (36%) Cache: 9.3s/529KB\n",
"A: 00:00:05 / 00:00:15 (36%) Cache: 9.3s/520KB\n",
"A: 00:00:05 / 00:00:15 (37%) Cache: 9.2s/518KB\n",
"A: 00:00:05 / 00:00:15 (37%) Cache: 9.1s/515KB\n",
"A: 00:00:05 / 00:00:15 (38%) Cache: 9.0s/513KB\n",
"A: 00:00:05 / 00:00:15 (38%) Cache: 9.0s/511KB\n",
"A: 00:00:05 / 00:00:15 (38%) Cache: 8.9s/507KB\n",
"A: 00:00:05 / 00:00:15 (39%) Cache: 8.9s/504KB\n",
"A: 00:00:05 / 00:00:15 (39%) Cache: 8.8s/502KB\n",
"A: 00:00:05 / 00:00:15 (39%) Cache: 8.8s/494KB\n",
"A: 00:00:06 / 00:00:15 (40%) Cache: 8.7s/492KB\n",
"A: 00:00:06 / 00:00:15 (40%) Cache: 8.7s/490KB\n",
"A: 00:00:06 / 00:00:15 (41%) Cache: 8.6s/488KB\n",
"A: 00:00:06 / 00:00:15 (41%) Cache: 8.5s/486KB\n",
"A: 00:00:06 / 00:00:15 (41%) Cache: 8.5s/484KB\n",
"A: 00:00:06 / 00:00:15 (42%) Cache: 8.4s/482KB\n",
"A: 00:00:06 / 00:00:15 (42%) Cache: 8.4s/479KB\n",
"A: 00:00:06 / 00:00:15 (42%) Cache: 8.3s/478KB\n",
"A: 00:00:06 / 00:00:15 (43%) Cache: 8.3s/464KB\n",
"A: 00:00:06 / 00:00:15 (43%) Cache: 8.2s/462KB\n",
"A: 00:00:06 / 00:00:15 (44%) Cache: 8.1s/459KB\n",
"A: 00:00:06 / 00:00:15 (44%) Cache: 8.1s/457KB\n",
"A: 00:00:06 / 00:00:15 (44%) Cache: 8.0s/456KB\n",
"A: 00:00:06 / 00:00:15 (45%) Cache: 8.0s/454KB\n",
"A: 00:00:06 / 00:00:15 (45%) Cache: 7.9s/446KB\n",
"A: 00:00:06 / 00:00:15 (46%) Cache: 7.8s/444KB\n",
"A: 00:00:06 / 00:00:15 (46%) Cache: 7.8s/436KB\n",
"A: 00:00:07 / 00:00:15 (46%) Cache: 7.7s/435KB\n",
"A: 00:00:07 / 00:00:15 (47%) Cache: 7.7s/433KB\n",
"A: 00:00:07 / 00:00:15 (47%) Cache: 7.6s/431KB\n",
"A: 00:00:07 / 00:00:15 (48%) Cache: 7.5s/428KB\n",
"A: 00:00:07 / 00:00:15 (48%) Cache: 7.5s/427KB\n",
"A: 00:00:07 / 00:00:15 (48%) Cache: 7.4s/425KB\n",
"A: 00:00:07 / 00:00:15 (49%) Cache: 7.4s/422KB\n",
"A: 00:00:07 / 00:00:15 (49%) Cache: 7.3s/420KB\n",
"A: 00:00:07 / 00:00:15 (49%) Cache: 7.3s/411KB\n",
"A: 00:00:07 / 00:00:15 (50%) Cache: 7.2s/408KB\n",
"A: 00:00:07 / 00:00:15 (50%) Cache: 7.1s/406KB\n",
"A: 00:00:07 / 00:00:15 (51%) Cache: 7.1s/404KB\n",
"A: 00:00:07 / 00:00:15 (51%) Cache: 7.0s/402KB\n",
"[lavf] Linearizing discontinuity: 15.158667 -> 15.649333\n",
"A: 00:00:07 / 00:00:15 (51%) Cache: 7.0s/402KB\n",
"[lavf] Linearizing discontinuity: 15.649333 -> 16.133333\n",
"A: 00:00:07 / 00:00:15 (51%) Cache: 7.0s/402KB\n",
"[lavf] Linearizing discontinuity: 16.133333 -> 16.617333\n",
"A: 00:00:07 / 00:00:15 (51%) Cache: 7.0s/402KB\n",
"[lavf] Linearizing discontinuity: 16.617333 -> 17.098667\n",
"A: 00:00:07 / 00:00:15 (51%) Cache: 7.0s/402KB\n",
"[lavf] Linearizing discontinuity: 17.098667 -> 17.596000\n",
"A: 00:00:07 / 00:00:15 (51%) Cache: 7.0s/402KB\n",
"[lavf] Linearizing discontinuity: 17.596000 -> 18.097333\n",
"A: 00:00:07 / 00:00:15 (51%) Cache: 7.0s/402KB\n",
"[lavf] Linearizing discontinuity: 18.097333 -> 18.598667\n",
"A: 00:00:07 / 00:00:15 (51%) Cache: 7.0s/402KB\n",
"[lavf] Linearizing discontinuity: 18.598667 -> 19.085333\n",
"A: 00:00:07 / 00:00:15 (51%) Cache: 7.0s/402KB\n",
"A: 00:00:07 / 00:00:19 (41%) Cache: 10s/642KB\n",
"A: 00:00:07 / 00:00:19 (41%) Cache: 10s/640KB\n",
"A: 00:00:07 / 00:00:19 (41%) Cache: 10s/636KB\n",
"A: 00:00:07 / 00:00:19 (42%) Cache: 10s/626KB\n",
"A: 00:00:08 / 00:00:19 (42%) Cache: 10s/620KB\n",
"A: 00:00:08 / 00:00:19 (42%) Cache: 10s/618KB\n",
"A: 00:00:08 / 00:00:19 (43%) Cache: 10s/616KB\n",
"A: 00:00:08 / 00:00:19 (43%) Cache: 10s/606KB\n",
"A: 00:00:08 / 00:00:19 (43%) Cache: 10s/602KB\n",
"A: 00:00:08 / 00:00:19 (44%) Cache: 10s/600KB\n",
"A: 00:00:08 / 00:00:19 (44%) Cache: 10s/599KB\n",
"A: 00:00:08 / 00:00:19 (44%) Cache: 10s/590KB\n",
"A: 00:00:08 / 00:00:19 (44%) Cache: 10s/588KB\n",
"A: 00:00:08 / 00:00:19 (45%) Cache: 10s/586KB\n",
"A: 00:00:08 / 00:00:19 (45%) Cache: 10s/583KB\n",
"A: 00:00:08 / 00:00:19 (45%) Cache: 10s/581KB\n",
"A: 00:00:08 / 00:00:19 (46%) Cache: 10.0s/580KB\n",
"A: 00:00:08 / 00:00:19 (46%) Cache: 9.9s/578KB\n",
"A: 00:00:08 / 00:00:19 (46%) Cache: 9.8s/576KB\n",
"A: 00:00:08 / 00:00:19 (47%) Cache: 9.8s/574KB\n",
"A: 00:00:08 / 00:00:19 (47%) Cache: 9.8s/565KB\n",
"A: 00:00:09 / 00:00:19 (47%) Cache: 9.7s/563KB\n",
"A: 00:00:09 / 00:00:19 (48%) Cache: 9.6s/561KB\n",
"A: 00:00:09 / 00:00:19 (48%) Cache: 9.6s/559KB\n",
"A: 00:00:09 / 00:00:19 (48%) Cache: 9.5s/558KB\n",
"A: 00:00:09 / 00:00:19 (48%) Cache: 9.5s/556KB\n",
"A: 00:00:09 / 00:00:19 (49%) Cache: 9.4s/552KB\n",
"A: 00:00:09 / 00:00:19 (49%) Cache: 9.3s/548KB\n",
"A: 00:00:09 / 00:00:19 (49%) Cache: 9.3s/546KB\n",
"A: 00:00:09 / 00:00:19 (50%) Cache: 9.2s/537KB\n",
"A: 00:00:09 / 00:00:19 (50%) Cache: 9.2s/534KB\n",
"A: 00:00:09 / 00:00:19 (50%) Cache: 9.1s/533KB\n",
"A: 00:00:09 / 00:00:19 (51%) Cache: 9.0s/530KB\n",
"A: 00:00:09 / 00:00:19 (51%) Cache: 9.0s/529KB\n",
"A: 00:00:09 / 00:00:19 (51%) Cache: 8.9s/527KB\n",
"A: 00:00:09 / 00:00:19 (51%) Cache: 8.9s/522KB\n",
"A: 00:00:09 / 00:00:19 (52%) Cache: 8.8s/520KB\n",
"A: 00:00:09 / 00:00:19 (52%) Cache: 8.8s/511KB\n",
"A: 00:00:09 / 00:00:19 (52%) Cache: 8.7s/509KB\n",
"A: 00:00:10 / 00:00:19 (53%) Cache: 8.7s/507KB\n",
"A: 00:00:10 / 00:00:19 (53%) Cache: 8.6s/504KB\n",
"A: 00:00:10 / 00:00:19 (53%) Cache: 8.5s/503KB\n",
"[lavf] Linearizing discontinuity: 19.085333 -> 19.572000\n",
"A: 00:00:10 / 00:00:19 (53%) Cache: 8.5s/503KB\n",
"[lavf] Linearizing discontinuity: 19.572000 -> 20.073333\n",
"A: 00:00:10 / 00:00:19 (53%) Cache: 8.5s/503KB\n",
"[lavf] Linearizing discontinuity: 20.073333 -> 20.560000\n",
"A: 00:00:10 / 00:00:19 (53%) Cache: 8.5s/503KB\n",
"[lavf] Linearizing discontinuity: 20.560000 -> 21.061333\n",
"A: 00:00:10 / 00:00:19 (53%) Cache: 8.5s/503KB\n",
"[lavf] Linearizing discontinuity: 21.061333 -> 21.548000\n",
"A: 00:00:10 / 00:00:19 (53%) Cache: 8.5s/503KB\n",
"[lavf] Linearizing discontinuity: 21.548000 -> 22.032000\n",
"A: 00:00:10 / 00:00:19 (53%) Cache: 8.5s/503KB\n",
"[lavf] Linearizing discontinuity: 22.032000 -> 22.524000\n",
"A: 00:00:10 / 00:00:19 (53%) Cache: 8.5s/503KB\n",
"[lavf] Linearizing discontinuity: 22.524000 -> 23.008000\n",
"A: 00:00:10 / 00:00:19 (53%) Cache: 8.5s/503KB\n",
"A: 00:00:10 / 00:00:23 (44%) Cache: 12s/761KB\n",
"A: 00:00:10 / 00:00:23 (45%) Cache: 12s/759KB\n",
"A: 00:00:10 / 00:00:23 (45%) Cache: 12s/753KB\n",
"A: 00:00:10 / 00:00:23 (45%) Cache: 12s/743KB\n",
"A: 00:00:10 / 00:00:23 (45%) Cache: 12s/741KB\n",
"[lavf] Linearizing discontinuity: 23.008000 -> 23.502667\n",
"A: 00:00:10 / 00:00:23 (45%) Cache: 12s/741KB\n",
"[lavf] Linearizing discontinuity: 23.502667 -> 23.986667\n",
"A: 00:00:10 / 00:00:23 (45%) Cache: 12s/741KB\n",
"[lavf] Linearizing discontinuity: 23.984000 -> 23.986667\n",
"A: 00:00:10 / 00:00:23 (45%) Cache: 12s/741KB\n",
"A: 00:00:10 / 00:00:25 (41%) Cache: 14s/859KB\n",
"A: 00:00:10 / 00:00:25 (42%) Cache: 14s/857KB\n",
"A: 00:00:10 / 00:00:25 (42%) Cache: 14s/854KB\n",
"A: 00:00:10 / 00:00:25 (42%) Cache: 14s/853KB\n",
"A: 00:00:10 / 00:00:25 (42%) Cache: 14s/851KB\n",
"A: 00:00:10 / 00:00:25 (42%) Cache: 14s/849KB\n",
"A: 00:00:10 / 00:00:25 (43%) Cache: 14s/847KB\n",
"A: 00:00:10 / 00:00:25 (43%) Cache: 14s/838KB\n",
"A: 00:00:10 / 00:00:25 (43%) Cache: 14s/836KB\n",
"A: 00:00:11 / 00:00:25 (43%) Cache: 14s/834KB\n",
"A: 00:00:11 / 00:00:25 (44%) Cache: 13s/826KB\n",
"A: 00:00:11 / 00:00:25 (44%) Cache: 13s/824KB\n",
"A: 00:00:11 / 00:00:25 (44%) Cache: 13s/822KB\n",
"A: 00:00:11 / 00:00:25 (44%) Cache: 13s/821KB\n",
"A: 00:00:11 / 00:00:25 (45%) Cache: 13s/819KB\n",
"A: 00:00:11 / 00:00:25 (45%) Cache: 13s/811KB\n",
"A: 00:00:11 / 00:00:25 (45%) Cache: 13s/806KB\n",
"A: 00:00:11 / 00:00:25 (45%) Cache: 13s/804KB\n",
"A: 00:00:11 / 00:00:25 (45%) Cache: 13s/802KB\n",
"A: 00:00:11 / 00:00:25 (46%) Cache: 13s/799KB\n",
"A: 00:00:11 / 00:00:25 (46%) Cache: 13s/798KB\n",
"A: 00:00:11 / 00:00:25 (46%) Cache: 13s/795KB\n",
"A: 00:00:11 / 00:00:25 (46%) Cache: 13s/793KB\n",
"A: 00:00:11 / 00:00:25 (47%) Cache: 13s/785KB\n",
"A: 00:00:11 / 00:00:25 (47%) Cache: 13s/781KB\n",
"A: 00:00:11 / 00:00:25 (47%) Cache: 13s/779KB\n",
"A: 00:00:12 / 00:00:25 (47%) Cache: 13s/777KB\n",
"A: 00:00:12 / 00:00:25 (48%) Cache: 12s/773KB\n",
"A: 00:00:12 / 00:00:25 (48%) Cache: 12s/770KB\n",
"A: 00:00:12 / 00:00:25 (48%) Cache: 12s/768KB\n",
"A: 00:00:12 / 00:00:25 (48%) Cache: 12s/766KB\n",
"A: 00:00:12 / 00:00:25 (48%) Cache: 12s/765KB\n",
"A: 00:00:12 / 00:00:25 (49%) Cache: 12s/756KB\n",
"A: 00:00:12 / 00:00:25 (49%) Cache: 12s/754KB\n",
"A: 00:00:12 / 00:00:25 (49%) Cache: 12s/752KB\n",
"A: 00:00:12 / 00:00:25 (49%) Cache: 12s/750KB\n",
"A: 00:00:12 / 00:00:25 (50%) Cache: 12s/748KB\n",
"A: 00:00:12 / 00:00:25 (50%) Cache: 12s/746KB\n",
"A: 00:00:12 / 00:00:25 (50%) Cache: 12s/741KB\n",
"A: 00:00:12 / 00:00:25 (50%) Cache: 12s/739KB\n",
"A: 00:00:12 / 00:00:25 (50%) Cache: 12s/729KB\n",
"A: 00:00:12 / 00:00:25 (51%) Cache: 12s/728KB\n",
"A: 00:00:12 / 00:00:25 (51%) Cache: 12s/725KB\n",
"A: 00:00:13 / 00:00:25 (51%) Cache: 12s/723KB\n",
"A: 00:00:13 / 00:00:25 (51%) Cache: 11s/721KB\n",
"A: 00:00:13 / 00:00:25 (52%) Cache: 11s/719KB\n",
"A: 00:00:13 / 00:00:25 (52%) Cache: 11s/717KB\n",
"A: 00:00:13 / 00:00:25 (52%) Cache: 11s/714KB\n",
"A: 00:00:13 / 00:00:25 (52%) Cache: 11s/713KB\n",
"A: 00:00:13 / 00:00:25 (52%) Cache: 11s/702KB\n",
"A: 00:00:13 / 00:00:25 (53%) Cache: 11s/701KB\n",
"A: 00:00:13 / 00:00:25 (53%) Cache: 11s/699KB\n",
"A: 00:00:13 / 00:00:25 (53%) Cache: 11s/688KB\n",
"A: 00:00:13 / 00:00:25 (53%) Cache: 11s/686KB\n",
"A: 00:00:13 / 00:00:25 (54%) Cache: 11s/684KB\n",
"A: 00:00:13 / 00:00:25 (54%) Cache: 11s/683KB\n",
"A: 00:00:13 / 00:00:25 (54%) Cache: 11s/680KB\n",
"A: 00:00:13 / 00:00:25 (54%) Cache: 11s/670KB\n",
"A: 00:00:13 / 00:00:25 (55%) Cache: 11s/668KB\n",
"A: 00:00:13 / 00:00:25 (55%) Cache: 11s/666KB\n",
"A: 00:00:14 / 00:00:25 (55%) Cache: 11s/661KB\n",
"A: 00:00:14 / 00:00:25 (55%) Cache: 10s/659KB\n",
"A: 00:00:14 / 00:00:25 (55%) Cache: 10s/658KB\n",
"A: 00:00:14 / 00:00:25 (56%) Cache: 10s/656KB\n",
"A: 00:00:14 / 00:00:25 (56%) Cache: 10s/654KB\n",
"A: 00:00:14 / 00:00:25 (56%) Cache: 10s/645KB\n",
"A: 00:00:14 / 00:00:25 (56%) Cache: 10s/643KB\n",
"A: 00:00:14 / 00:00:25 (57%) Cache: 10s/641KB\n",
"A: 00:00:14 / 00:00:25 (57%) Cache: 10s/640KB\n",
"A: 00:00:14 / 00:00:25 (57%) Cache: 10s/634KB\n",
"A: 00:00:14 / 00:00:25 (57%) Cache: 10s/631KB\n",
"A: 00:00:14 / 00:00:25 (58%) Cache: 10s/629KB\n",
"A: 00:00:14 / 00:00:25 (58%) Cache: 10s/627KB\n",
"A: 00:00:14 / 00:00:25 (58%) Cache: 10s/618KB\n",
"A: 00:00:14 / 00:00:25 (58%) Cache: 10s/614KB\n",
"A: 00:00:14 / 00:00:25 (58%) Cache: 10s/612KB\n",
"A: 00:00:14 / 00:00:25 (59%) Cache: 10s/610KB\n",
"A: 00:00:15 / 00:00:25 (59%) Cache: 10s/604KB\n",
"A: 00:00:15 / 00:00:25 (59%) Cache: 10.0s/600KB\n",
"A: 00:00:15 / 00:00:25 (59%) Cache: 9.9s/598KB\n",
"A: 00:00:15 / 00:00:25 (60%) Cache: 9.9s/597KB\n",
"A: 00:00:15 / 00:00:25 (60%) Cache: 9.8s/592KB\n",
"A: 00:00:15 / 00:00:25 (60%) Cache: 9.8s/576KB\n",
"A: 00:00:15 / 00:00:25 (60%) Cache: 9.7s/574KB\n",
"A: 00:00:15 / 00:00:25 (61%) Cache: 9.7s/572KB\n",
"A: 00:00:15 / 00:00:25 (61%) Cache: 9.6s/570KB\n",
"A: 00:00:15 / 00:00:25 (61%) Cache: 9.5s/563KB\n",
"A: 00:00:15 / 00:00:25 (61%) Cache: 9.5s/561KB\n",
"A: 00:00:15 / 00:00:25 (61%) Cache: 9.4s/559KB\n",
"A: 00:00:15 / 00:00:25 (62%) Cache: 9.4s/558KB\n",
"A: 00:00:15 / 00:00:25 (62%) Cache: 9.3s/549KB\n",
"A: 00:00:15 / 00:00:25 (62%) Cache: 9.3s/547KB\n",
"A: 00:00:15 / 00:00:25 (62%) Cache: 9.2s/545KB\n",
"A: 00:00:15 / 00:00:25 (63%) Cache: 9.1s/542KB\n",
"A: 00:00:16 / 00:00:25 (63%) Cache: 9.1s/537KB\n",
"A: 00:00:16 / 00:00:25 (63%) Cache: 9.0s/535KB\n",
"A: 00:00:16 / 00:00:25 (63%) Cache: 8.9s/533KB\n",
"A: 00:00:16 / 00:00:25 (64%) Cache: 8.9s/531KB\n",
"A: 00:00:16 / 00:00:25 (64%) Cache: 8.8s/521KB\n",
"A: 00:00:16 / 00:00:25 (64%) Cache: 8.8s/517KB\n",
"A: 00:00:16 / 00:00:25 (64%) Cache: 8.7s/515KB\n",
"A: 00:00:16 / 00:00:25 (64%) Cache: 8.7s/513KB\n",
"A: 00:00:16 / 00:00:25 (65%) Cache: 8.6s/511KB\n",
"A: 00:00:16 / 00:00:25 (65%) Cache: 8.5s/504KB\n",
"A: 00:00:16 / 00:00:25 (65%) Cache: 8.5s/503KB\n",
"A: 00:00:16 / 00:00:25 (65%) Cache: 8.4s/501KB\n",
"A: 00:00:16 / 00:00:25 (66%) Cache: 8.4s/499KB\n",
"A: 00:00:16 / 00:00:25 (66%) Cache: 8.3s/491KB\n",
"A: 00:00:16 / 00:00:25 (66%) Cache: 8.3s/486KB\n",
"A: 00:00:16 / 00:00:25 (66%) Cache: 8.2s/484KB\n",
"A: 00:00:16 / 00:00:25 (66%) Cache: 8.2s/482KB\n",
"A: 00:00:16 / 00:00:25 (67%) Cache: 8.1s/480KB\n",
"A: 00:00:17 / 00:00:25 (67%) Cache: 8.0s/478KB\n",
"A: 00:00:17 / 00:00:25 (67%) Cache: 8.0s/468KB\n",
"A: 00:00:17 / 00:00:25 (67%) Cache: 7.9s/466KB\n",
"A: 00:00:17 / 00:00:25 (68%) Cache: 7.9s/456KB\n",
"A: 00:00:17 / 00:00:25 (68%) Cache: 7.8s/454KB\n",
"A: 00:00:17 / 00:00:25 (68%) Cache: 7.7s/451KB\n",
"A: 00:00:17 / 00:00:25 (68%) Cache: 7.7s/450KB\n",
"A: 00:00:17 / 00:00:25 (69%) Cache: 7.6s/447KB\n",
"A: 00:00:17 / 00:00:25 (69%) Cache: 7.5s/445KB\n",
"A: 00:00:17 / 00:00:25 (69%) Cache: 7.5s/443KB\n",
"A: 00:00:17 / 00:00:25 (69%) Cache: 7.4s/441KB\n",
"A: 00:00:17 / 00:00:25 (70%) Cache: 7.4s/429KB\n",
"A: 00:00:17 / 00:00:25 (70%) Cache: 7.3s/427KB\n",
"A: 00:00:17 / 00:00:25 (70%) Cache: 7.3s/425KB\n",
"A: 00:00:17 / 00:00:25 (70%) Cache: 7.2s/424KB\n",
"A: 00:00:17 / 00:00:25 (70%) Cache: 7.1s/421KB\n",
"A: 00:00:18 / 00:00:25 (71%) Cache: 7.1s/419KB\n",
"A: 00:00:18 / 00:00:25 (71%) Cache: 7.0s/417KB\n",
"A: 00:00:18 / 00:00:25 (71%) Cache: 6.9s/415KB\n",
"A: 00:00:18 / 00:00:25 (71%) Cache: 6.9s/410KB\n",
"A: 00:00:18 / 00:00:25 (72%) Cache: 6.8s/399KB\n",
"A: 00:00:18 / 00:00:25 (72%) Cache: 6.8s/397KB\n",
"A: 00:00:18 / 00:00:25 (72%) Cache: 6.7s/395KB\n",
"A: 00:00:18 / 00:00:25 (72%) Cache: 6.6s/393KB\n",
"A: 00:00:18 / 00:00:25 (73%) Cache: 6.6s/391KB\n",
"A: 00:00:18 / 00:00:25 (73%) Cache: 6.5s/389KB\n",
"A: 00:00:18 / 00:00:25 (73%) Cache: 6.5s/387KB\n",
"A: 00:00:18 / 00:00:25 (73%) Cache: 6.4s/385KB\n",
"A: 00:00:18 / 00:00:25 (73%) Cache: 6.4s/376KB\n",
"A: 00:00:18 / 00:00:25 (74%) Cache: 6.3s/374KB\n",
"A: 00:00:18 / 00:00:25 (74%) Cache: 6.2s/368KB\n",
"A: 00:00:18 / 00:00:25 (74%) Cache: 6.2s/365KB\n",
"A: 00:00:18 / 00:00:25 (75%) Cache: 6.1s/363KB\n",
"A: 00:00:19 / 00:00:25 (75%) Cache: 6.0s/361KB\n",
"A: 00:00:19 / 00:00:25 (75%) Cache: 6.0s/360KB\n",
"A: 00:00:19 / 00:00:25 (75%) Cache: 5.9s/358KB\n",
"A: 00:00:19 / 00:00:25 (75%) Cache: 5.9s/350KB\n",
"A: 00:00:19 / 00:00:25 (76%) Cache: 5.8s/338KB\n",
"A: 00:00:19 / 00:00:25 (76%) Cache: 5.8s/333KB\n",
"A: 00:00:19 / 00:00:25 (76%) Cache: 5.7s/332KB\n",
"A: 00:00:19 / 00:00:25 (76%) Cache: 5.7s/330KB\n",
"A: 00:00:19 / 00:00:25 (77%) Cache: 5.6s/327KB\n",
"A: 00:00:19 / 00:00:25 (77%) Cache: 5.5s/325KB\n",
"A: 00:00:19 / 00:00:25 (77%) Cache: 5.5s/323KB\n",
"A: 00:00:19 / 00:00:25 (77%) Cache: 5.4s/319KB\n",
"A: 00:00:19 / 00:00:25 (77%) Cache: 5.4s/307KB\n",
"A: 00:00:19 / 00:00:25 (78%) Cache: 5.3s/305KB\n",
"A: 00:00:19 / 00:00:25 (78%) Cache: 5.2s/303KB\n",
"A: 00:00:19 / 00:00:25 (78%) Cache: 5.1s/300KB\n",
"A: 00:00:19 / 00:00:25 (78%) Cache: 5.1s/298KB\n",
"A: 00:00:20 / 00:00:25 (79%) Cache: 5.0s/296KB\n",
"A: 00:00:20 / 00:00:25 (79%) Cache: 5.0s/294KB\n",
"A: 00:00:20 / 00:00:25 (79%) Cache: 4.9s/292KB\n",
"A: 00:00:20 / 00:00:25 (79%) Cache: 4.9s/280KB\n",
"A: 00:00:20 / 00:00:25 (80%) Cache: 4.8s/277KB\n",
"A: 00:00:20 / 00:00:25 (80%) Cache: 4.8s/276KB\n",
"A: 00:00:20 / 00:00:25 (80%) Cache: 4.7s/274KB\n",
"A: 00:00:20 / 00:00:25 (80%) Cache: 4.6s/272KB\n",
"A: 00:00:20 / 00:00:25 (80%) Cache: 4.6s/270KB\n",
"A: 00:00:20 / 00:00:25 (81%) Cache: 4.5s/268KB\n",
"A: 00:00:20 / 00:00:25 (81%) Cache: 4.5s/266KB\n",
"A: 00:00:20 / 00:00:25 (81%) Cache: 4.4s/261KB\n",
"A: 00:00:20 / 00:00:25 (81%) Cache: 4.4s/250KB\n",
"A: 00:00:20 / 00:00:25 (82%) Cache: 4.3s/247KB\n",
"A: 00:00:20 / 00:00:25 (82%) Cache: 4.2s/245KB\n",
"A: 00:00:20 / 00:00:25 (82%) Cache: 4.1s/235KB\n",
"A: 00:00:20 / 00:00:25 (82%) Cache: 4.1s/222KB\n",
"A: 00:00:21 / 00:00:25 (83%) Cache: 4.0s/219KB\n",
"A: 00:00:21 / 00:00:25 (83%) Cache: 4.0s/218KB\n",
"A: 00:00:21 / 00:00:25 (83%) Cache: 3.9s/217KB\n",
"A: 00:00:21 / 00:00:25 (83%) Cache: 3.9s/206KB\n",
"A: 00:00:21 / 00:00:25 (83%) Cache: 3.8s/201KB\n",
"A: 00:00:21 / 00:00:25 (84%) Cache: 3.7s/199KB\n",
"A: 00:00:21 / 00:00:25 (84%) Cache: 3.7s/197KB\n",
"A: 00:00:21 / 00:00:25 (84%) Cache: 3.6s/191KB\n",
"A: 00:00:21 / 00:00:25 (84%) Cache: 3.5s/188KB\n",
"A: 00:00:21 / 00:00:25 (85%) Cache: 3.5s/187KB\n",
"A: 00:00:21 / 00:00:25 (85%) Cache: 3.5s/185KB\n",
"A: 00:00:21 / 00:00:25 (85%) Cache: 3.4s/177KB\n",
"A: 00:00:21 / 00:00:25 (85%) Cache: 3.4s/171KB\n",
"A: 00:00:21 / 00:00:25 (86%) Cache: 3.3s/168KB\n",
"A: 00:00:21 / 00:00:25 (86%) Cache: 3.2s/166KB\n",
"A: 00:00:21 / 00:00:25 (86%) Cache: 3.2s/164KB\n",
"A: 00:00:21 / 00:00:25 (86%) Cache: 3.1s/159KB\n",
"A: 00:00:22 / 00:00:25 (87%) Cache: 3.0s/155KB\n",
"A: 00:00:22 / 00:00:25 (87%) Cache: 3.0s/152KB\n",
"A: 00:00:22 / 00:00:25 (87%) Cache: 2.9s/145KB\n",
"A: 00:00:22 / 00:00:25 (87%) Cache: 2.9s/138KB\n",
"A: 00:00:22 / 00:00:25 (87%) Cache: 2.8s/136KB\n",
"A: 00:00:22 / 00:00:25 (88%) Cache: 2.8s/135KB\n",
"A: 00:00:22 / 00:00:25 (88%) Cache: 2.7s/132KB\n",
"A: 00:00:22 / 00:00:25 (88%) Cache: 2.6s/130KB\n",
"A: 00:00:22 / 00:00:25 (88%) Cache: 2.6s/128KB\n",
"A: 00:00:22 / 00:00:25 (89%) Cache: 2.5s/125KB\n",
"A: 00:00:22 / 00:00:25 (89%) Cache: 2.5s/118KB\n",
"A: 00:00:22 / 00:00:25 (89%) Cache: 2.4s/113KB\n",
"A: 00:00:22 / 00:00:25 (89%) Cache: 2.3s/111KB\n",
"A: 00:00:22 / 00:00:25 (89%) Cache: 2.3s/110KB\n",
"A: 00:00:22 / 00:00:25 (90%) Cache: 2.2s/108KB\n",
"A: 00:00:22 / 00:00:25 (90%) Cache: 2.2s/105KB\n",
"A: 00:00:22 / 00:00:25 (90%) Cache: 2.1s/103KB\n",
"A: 00:00:23 / 00:00:25 (90%) Cache: 2.1s/102KB\n",
"A: 00:00:23 / 00:00:25 (91%) Cache: 2.0s/100KB\n",
"A: 00:00:23 / 00:00:25 (91%) Cache: 2.0s/92KB\n",
"A: 00:00:23 / 00:00:25 (91%) Cache: 1.9s/89KB\n",
"A: 00:00:23 / 00:00:25 (91%) Cache: 1.8s/80KB\n",
"A: 00:00:23 / 00:00:25 (92%) Cache: 1.8s/78KB\n",
"A: 00:00:23 / 00:00:25 (92%) Cache: 1.7s/75KB\n",
"A: 00:00:23 / 00:00:25 (92%) Cache: 1.7s/74KB\n",
"A: 00:00:23 / 00:00:25 (92%) Cache: 1.6s/71KB\n",
"A: 00:00:23 / 00:00:25 (92%) Cache: 1.5s/69KB\n",
"A: 00:00:23 / 00:00:25 (93%) Cache: 1.5s/60KB\n",
"A: 00:00:23 / 00:00:25 (93%) Cache: 1.4s/58KB\n",
"A: 00:00:23 / 00:00:25 (93%) Cache: 1.4s/56KB\n",
"A: 00:00:23 / 00:00:25 (93%) Cache: 1.3s/54KB\n",
"A: 00:00:23 / 00:00:25 (94%) Cache: 1.2s/52KB\n",
"A: 00:00:23 / 00:00:25 (94%) Cache: 1.2s/50KB\n",
"A: 00:00:23 / 00:00:25 (94%) Cache: 1.1s/48KB\n",
"A: 00:00:24 / 00:00:25 (94%) Cache: 1.1s/46KB\n",
"A: 00:00:24 / 00:00:25 (95%) Cache: 1.0s/44KB\n",
"A: 00:00:24 / 00:00:25 (95%) Cache: 0.9s/42KB\n",
"A: 00:00:24 / 00:00:25 (95%) Cache: 0.9s/40KB\n",
"A: 00:00:24 / 00:00:25 (95%) Cache: 0.8s/39KB\n",
"A: 00:00:24 / 00:00:25 (95%) Cache: 0.8s/36KB\n",
"A: 00:00:24 / 00:00:25 (96%) Cache: 0.7s/33KB\n",
"A: 00:00:24 / 00:00:25 (96%) Cache: 0.7s/31KB\n",
"A: 00:00:24 / 00:00:25 (96%) Cache: 0.6s/24KB\n",
"A: 00:00:24 / 00:00:25 (96%) Cache: 0.5s/22KB\n",
"A: 00:00:24 / 00:00:25 (97%) Cache: 0.4s/19KB\n",
"A: 00:00:24 / 00:00:25 (97%) Cache: 0.4s/12KB\n",
"A: 00:00:24 / 00:00:25 (97%) Cache: 0.3s/10KB\n",
"A: 00:00:24 / 00:00:25 (97%) Cache: 0.3s/8KB\n",
"A: 00:00:24 / 00:00:25 (98%) Cache: 0.2s/6KB\n",
"A: 00:00:24 / 00:00:25 (98%) Cache: 0.1s/4KB\n",
"A: 00:00:25 / 00:00:25 (98%) Cache: 0.1s/2KB\n",
"A: 00:00:25 / 00:00:25 (98%) Cache: 0.0s\n",
"Exiting... (End of file)\n"
]
},
{
"data": {
"text/plain": [
"CompletedProcess(args='curl -X POST \"http://localhost:8000/v1/audio/speech\" -H \"Content-Type: application/json\" -d \\'{\"model\": \"tts-1\", \"input\": \"以下是一些中英文对照的话语。 1. 早上好!希望你有美好的一天。Good morning! Wish you a wonderful day. 2. 你好呀,最近怎么样?Hello there, how have you been recently? 3. 别放弃,你能做到的!Dont give up, you can do it! 4. 继续努力,你的付出会有回报的。Keep up the good work, your efforts will pay off.\", \"voice\": \"echo\", \"response_format\": \"ogg\", \"stream\": true}\\' -s | mpv --no-video -', returncode=0)"
]
},
"execution_count": 40,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"import subprocess\n",
"\n",
"# Use pipeline to implement streaming playback, OGG format\n",
"cmd = (\n",
" 'curl -X POST \"http://localhost:8000/v1/audio/speech\" '\n",
" '-H \"Content-Type: application/json\" '\n",
" '-d \\'{\"model\": \"tts-1\", \"input\": \"以下是一些中英文对照的话语。 1. 早上好!希望你有美好的一天。Good morning! Wish you a wonderful day. 2. 你好呀,最近怎么样?Hello there, how have you been recently? 3. 别放弃,你能做到的!Dont give up, you can do it! 4. 继续努力,你的付出会有回报的。Keep up the good work, your efforts will pay off.\", \"voice\": \"echo\", \"response_format\": \"ogg\", \"stream\": true}\\' '\n",
" \"-s | mpv --no-video -\"\n",
")\n",
"subprocess.run(cmd, shell=True, check=True)"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "venv",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.11.11"
}
},
"nbformat": 4,
"nbformat_minor": 2
}