Comfy-Org / Comfy-Org/ComfyUI

Audio runs at 1/3 speed

Open
#15,816 0 comments 0 reactions 0 assignees View on GitHub
Potential Bug
Dominant language
Python
Stars
133k
Forks
15.7k
Avg merge
1d 7h
Merged PRs (30d)
158

Description

### Custom Node Testing

- [x] I have tried disabling custom nodes and the issue persists (see [how to disable custom nodes](https://docs.comfy.org/troubleshooting/custom-node-issues#step-1%3A-test-with-all-custom-nodes-disabled) if you need help)

### Expected Behavior

Connect a Load Audio node to a Preview Audio node. Both play the audio correctly, at the same speed and the same duration.

### Actual Behavior

The Load Audio node plays the audio correctly, but the Preview Audio node plays at about 1/3 speed, for 3 times the duration.

### Steps to Reproduce

Run this workflow with the attached audio

[Star Trek Enterprise S01E12 Silent Enemy (1080p x265 10bit Joy)-part1.aac.gz](https://github.com/user-attachments/files/31342050/Star.Trek.Enterprise.S01E12.Silent.Enemy.1080p.x265.10bit.Joy.-part1.aac.gz)

:
```
{
"id": "d7feaf2e-63c6-461f-a1cb-499e03456110",
"revision": 0,
"last_node_id": 8,
"last_link_id": 10,
"nodes": [
{
"id": 6,
"type": "PreviewAudio",
"pos": [
-4320,
5050
],
"size": [
370,
120
],
"flags": {},
"order": 1,
"mode": 0,
"inputs": [
{
"name": "audio",
"type": "AUDIO",
"link": 10
}
],
"outputs": [
{
"name": "audio",
"type": "AUDIO",
"links": null
}
],
"properties": {
"Node name for S&R": "PreviewAudio",
"cnr_id": "comfy-core",
"ver": "0.33.3"
},
"widgets_values": [],
"widgets_values_named": {}
},
{
"id": 8,
"type": "LoadAudio",
"pos": [
-4830,
5080
],
"size": [
490,
140
],
"flags": {},
"order": 0,
"mode": 0,
"inputs": [],
"outputs": [
{
"name": "AUDIO",
"type": "AUDIO",
"links": [
10
]
}
],
"properties": {
"Node name for S&R": "LoadAudio"
},
"widgets_values": [
"Star Trek Enterprise S01E12 Silent Enemy (1080p x265 10bit Joy)-part1.aac",
null,
null
],
"widgets_values_named": {
"audio": "Star Trek Enterprise S01E12 Silent Enemy (1080p x265 10bit Joy)-part1.aac",
"upload": null
}
}
],
"links": [
[
10,
8,
0,
6,
0,
"AUDIO"
]
],
"groups": [],
"config": {},
"extra": {
"ds": {
"scale": 0.7870463080688501,
"offset": [
5473.514807765925,
-4603.572291264197
]
},
"frontendVersion": "1.49.6"
},
"version": 0.4
}
```

### Debug Logs

```powershell
[INFO] Adding extra search path checkpoints /userfiles/ken/ai/stable-diffusion-webui/models/Stable-diffusion
[INFO] Adding extra search path configs /userfiles/ken/ai/stable-diffusion-webui/models/Stable-diffusion
[INFO] Adding extra search path vae /userfiles/ken/ai/stable-diffusion-webui/models/VAE
[INFO] Adding extra search path loras /userfiles/ken/ai/stable-diffusion-webui/models/Lora
[INFO] Adding extra search path loras /userfiles/ken/ai/stable-diffusion-webui/models/LyCORIS
[INFO] Adding extra search path upscale_models /userfiles/ken/ai/stable-diffusion-webui/models/ESRGAN
[INFO] Adding extra search path upscale_models /userfiles/ken/ai/stable-diffusion-webui/models/RealESRGAN
[INFO] Adding extra search path upscale_models /userfiles/ken/ai/stable-diffusion-webui/models/SwinIR
[INFO] Adding extra search path embeddings /userfiles/ken/ai/stable-diffusion-webui/embeddings
[INFO] Adding extra search path hypernetworks /userfiles/ken/ai/stable-diffusion-webui/models/hypernetworks
[INFO] Adding extra search path controlnet /userfiles/ken/ai/stable-diffusion-webui/models/ControlNet
[INFO] Found comfy_kitchen backend eager: {'available': True, 'disabled': False, 'unavailable_reason': None, 'capabilities': ['adaln', 'apply_rope', 'apply_rope1', 'apply_rope1_', 'apply_rope_', 'apply_rope_split_half', 'apply_rope_split_half1', 'apply_rope_split_half1_', 'apply_rope_split_half_', 'convrot_w4a4_linear', 'dequantize_convrot_w4a4_weight', 'dequantize_int8_convrot_weight', 'dequantize_int8_convrot_weight_dtype', 'dequantize_int8_embedding', 'dequantize_int8_simple', 'dequantize_int8_simple_dtype', 'dequantize_mxfp8', 'dequantize_nvfp4', 'dequantize_per_tensor_fp8', 'dequantize_w4a8_int8_weight', 'gemv_awq_w4a16', 'int8_linear', 'na3d', 'prepare_int4_weight_for_int8_linear', 'quantize_and_rotate_rowwise', 'quantize_convrot_w4a4_weight', 'quantize_int8_convrot_weight', 'quantize_int8_rowwise', 'quantize_int8_tensorwise', 'quantize_mxfp8', 'quantize_nvfp4', 'quantize_per_tensor_fp8', 'quantize_svdquant_w4a4', 'quantize_w4a8_int8_weight', 'rms_adaln', 'rms_rope', 'rms_rope1', 'rms_rope1_', 'rms_rope_', 'rms_rope_split_half', 'rms_rope_split_half1', 'rms_rope_split_half1_', 'rms_rope_split_half_', 'rotate_int8_convrot_weight', 'scaled_mm_mxfp8', 'scaled_mm_nvfp4', 'scaled_mm_svdquant_w4a4', 'stochastic_rounding_fp8', 'w4a8_int8_linear']}
[INFO] Found comfy_kitchen backend hip: {'available': False, 'disabled': False, 'unavailable_reason': 'PyTorch ROCm/HIP runtime not available', 'capabilities': []}
[INFO] Found comfy_kitchen backend cuda: {'available': True, 'disabled': False, 'unavailable_reason': None, 'capabilities': ['adaln', 'apply_rope', 'apply_rope1', 'apply_rope1_', 'apply_rope_', 'apply_rope_split_half', 'apply_rope_split_half1', 'apply_rope_split_half1_', 'apply_rope_split_half_', 'convrot_w4a4_linear', 'dequantize_convrot_w4a4_weight', 'dequantize_int8_convrot_weight', 'dequantize_int8_convrot_weight_dtype', 'dequantize_int8_simple', 'dequantize_int8_simple_dtype', 'dequantize_nvfp4', 'dequantize_per_tensor_fp8', 'dequantize_w4a8_int8_weight', 'gemv_awq_w4a16', 'int8_linear', 'na3d', 'prepare_int4_weight_for_int8_linear', 'quantize_and_rotate_rowwise', 'quantize_convrot_w4a4_weight', 'quantize_int8_convrot_weight', 'quantize_int8_rowwise', 'quantize_int8_tensorwise', 'quantize_mxfp8', 'quantize_nvfp4', 'quantize_per_tensor_fp8', 'quantize_svdquant_w4a4', 'quantize_w4a8_int8_weight', 'rms_adaln', 'rms_rope', 'rms_rope1', 'rms_rope1_', 'rms_rope_', 'rms_rope_split_half', 'rms_rope_split_half1', 'rms_rope_split_half1_', 'rms_rope_split_half_', 'rotate_int8_convrot_weight', 'scaled_mm_nvfp4', 'scaled_mm_svdquant_w4a4', 'stochastic_rounding_fp8', 'w4a8_int8_linear']}
[INFO] Found comfy_kitchen backend triton: {'available': True, 'disabled': True, 'unavailable_reason': None, 'capabilities': ['adaln', 'apply_rope', 'apply_rope1', 'apply_rope1_', 'apply_rope_', 'apply_rope_split_half', 'apply_rope_split_half1', 'apply_rope_split_half1_', 'apply_rope_split_half_', 'dequantize_nvfp4', 'dequantize_per_tensor_fp8', 'int8_linear', 'na3d', 'quantize_and_rotate_rowwise', 'quantize_int8_rowwise', 'quantize_mxfp8', 'quantize_nvfp4', 'quantize_per_tensor_fp8', 'rms_adaln', 'rms_rope', 'rms_rope1', 'rms_rope1_', 'rms_rope_', 'rms_rope_split_half', 'rms_rope_split_half1', 'rms_rope_split_half1_', 'rms_rope_split_half_', 'w4a8_int8_linear']}
[INFO] Checkpoint files will always be loaded safely.
[INFO] Total VRAM 11864 MB, total RAM 64011 MB
[INFO] pytorch version: 2.11.0+cu130
[INFO] xformers version: 0.0.35
[INFO] Set vram state to: NORMAL_VRAM
[INFO] Disabling smart memory management
[INFO] Device: cuda:0 NVIDIA GeForce RTX 4070 : cudaMallocAsync
[INFO] Using async weight offloading with 2 streams
[INFO] Enabled pinned memory 57610.0
[INFO] Using xformers attention
[INFO] aimdo: /project/src/control.c:276:INFO:comfy-aimdo inited for GPU: NVIDIA GeForce RTX 4070 (VRAM: 11864 MB)
[INFO] DynamicVRAM support detected and enabled
[INFO] Python version: 3.12.3 (main, Jun 19 2026, 12:46:00) [GCC 13.3.0]
[INFO] ComfyUI version: 0.33.3
[INFO] comfy-aimdo version: 0.4.13
[INFO] comfy-kitchen version: 0.2.31
[INFO] comfyui-frontend-package version: 1.49.6
[INFO] comfyui-workflow-templates version: 0.11.44
[INFO] comfyui-embedded-docs version: 0.5.9
[INFO] comfy-kitchen version: 0.2.31
[INFO] comfy-aimdo version: 0.4.13
[INFO] [Prompt Server] web root: /userfiles/ken/ai/ComfyUI/.venv/lib/python3.12/site-packages/comfyui_frontend_package/static
[INFO] Asset seeder disabled
[INFO] No OpenGL_accelerate module loaded: No module named 'OpenGL_accelerate'
[INFO] Skipping loading of custom nodes
[INFO] Context impl SQLiteImpl.
[INFO] Will assume non-transactional DDL.
[INFO] Using RAM pressure cache.
[INFO] Starting server

[INFO] To see the GUI go to: http://127.0.0.1:8188
[INFO] got prompt
[INFO] Prompt executed in 0.15 seconds
```

### Other

The same bad audio happened after loading from video, trimming it, and when trying to save to another video. But this was the cleanest example of the problem.

Contributor guide

Open the contributing guide

Research direction

Reproduce the supplied workflow with LoadAudio connected to PreviewAudio and the attached AAC file, then trace the audio playback path for those nodes. Done means PreviewAudio plays at the same speed and duration as LoadAudio, including audio loaded from video and the reported save-to-video case.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
audio-video-rtc
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
48/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.