diff --git a/audio_transcription.log b/audio_transcription.log index d3b5689..cd1f26e 100644 --- a/audio_transcription.log +++ b/audio_transcription.log @@ -90589,3 +90589,577 @@ 2025-04-15 08:52:46,359 - logging_config - INFO - File course/675/2025.04.09.心理按摩还是要做的!.mp3 already exists, skipping download. 2025-04-15 08:52:46,359 - logging_config - INFO - File course/675/2025.04.09.心理按摩还是要做的!.mp3 already exists, skipping download. 2025-04-15 08:52:46,360 - logging_config - INFO - File course/676/mp4/20250413142836-第36期茶话会-视频-1.mp4 already exists, skipping download. +2025-04-15 09:11:55,427 - root - INFO - download models from model hub: ms +2025-04-15 09:11:56,984 - root - INFO - Loading pretrained params from /Users/yuanhui/.cache/modelscope/hub/models/iic/SenseVoiceSmall/model.pt +2025-04-15 09:11:56,986 - root - INFO - ckpt: /Users/yuanhui/.cache/modelscope/hub/models/iic/SenseVoiceSmall/model.pt +2025-04-15 09:11:58,243 - root - INFO - scope_map: ['module.', 'None'] +2025-04-15 09:11:58,243 - root - INFO - excludes: None +2025-04-15 09:11:58,618 - root - INFO - Loading ckpt: /Users/yuanhui/.cache/modelscope/hub/models/iic/SenseVoiceSmall/model.pt, status: +2025-04-15 09:11:58,662 - root - INFO - Building VAD model. +2025-04-15 09:11:58,662 - root - INFO - download models from model hub: ms +2025-04-15 09:11:59,314 - root - INFO - Loading pretrained params from /Users/yuanhui/.cache/modelscope/hub/models/iic/speech_fsmn_vad_zh-cn-16k-common-pytorch/model.pt +2025-04-15 09:11:59,314 - root - INFO - ckpt: /Users/yuanhui/.cache/modelscope/hub/models/iic/speech_fsmn_vad_zh-cn-16k-common-pytorch/model.pt +2025-04-15 09:11:59,320 - root - INFO - scope_map: ['module.', 'None'] +2025-04-15 09:11:59,320 - root - INFO - excludes: None +2025-04-15 09:11:59,321 - root - INFO - Loading ckpt: /Users/yuanhui/.cache/modelscope/hub/models/iic/speech_fsmn_vad_zh-cn-16k-common-pytorch/model.pt, status: +2025-04-15 09:12:00,412 - logging_config - INFO - The maximum course ID is 677 +2025-04-15 09:12:00,412 - logging_config - INFO - Processing course ID: 672 +2025-04-15 09:12:00,413 - logging_config - INFO - Course 672 JSON file already exists, using local file. +2025-04-15 09:12:00,414 - logging_config - INFO - Processing course ID: 673 +2025-04-15 09:12:00,414 - logging_config - INFO - Course 673 JSON file already exists, using local file. +2025-04-15 09:12:00,416 - logging_config - INFO - Processing course ID: 674 +2025-04-15 09:12:00,416 - logging_config - INFO - Course 674 JSON file already exists, using local file. +2025-04-15 09:12:00,417 - logging_config - INFO - Processing course ID: 675 +2025-04-15 09:12:00,417 - logging_config - INFO - Course 675 JSON file already exists, using local file. +2025-04-15 09:12:00,417 - logging_config - INFO - Processing course ID: 676 +2025-04-15 09:12:00,417 - logging_config - INFO - Course 676 JSON file already exists, using local file. +2025-04-15 09:12:00,418 - logging_config - INFO - Processing course ID: 677 +2025-04-15 09:12:00,418 - logging_config - INFO - Course 677 JSON file already exists, using local file. +2025-04-15 09:12:00,420 - logging_config - INFO - 字符串为空 +2025-04-15 09:12:00,420 - logging_config - INFO - File course/672/m3u8/80780c92-0cf9-4ae7-be68-fd0bdaa7b948.m3u8 already exists, skipping download. +2025-04-15 09:12:00,421 - logging_config - INFO - File course/673/【定投故事第167期】富足人生社群,让我的人生方向越来越清晰.mp3 already exists, skipping download. +2025-04-15 09:12:00,421 - logging_config - INFO - File course/673/【定投故事第167期】富足人生社群,让我的人生方向越来越清晰.mp3 already exists, skipping download. +2025-04-15 09:12:00,421 - logging_config - INFO - File course/673/【定投故事第167期】富足人生社群,让我的人生方向越来越清晰.mp3 already exists, skipping download. +2025-04-15 09:12:00,421 - logging_config - INFO - File course/673/【定投故事第167期】富足人生社群,让我的人生方向越来越清晰.mp3 already exists, skipping download. +2025-04-15 09:12:00,421 - logging_config - INFO - File course/673/【定投故事第167期】富足人生社群,让我的人生方向越来越清晰.mp3 already exists, skipping download. +2025-04-15 09:12:00,421 - logging_config - INFO - File course/673/jpg/a251ddaf-6ce1-4dcf-9ef3-dd775caa5ef6.jpg already exists, skipping download. +2025-04-15 09:12:00,421 - logging_config - INFO - File course/673/jpg/113c9037-1b88-4b9c-87a3-936a57a9717a.jpg already exists, skipping download. +2025-04-15 09:12:00,422 - logging_config - INFO - File course/673/jpg/7a20ddbe-8272-4da2-9fa5-2494e8a78107.jpg already exists, skipping download. +2025-04-15 09:12:00,422 - logging_config - INFO - File course/673/【定投故事第167期】富足人生社群,让我的人生方向越来越清晰.mp3 already exists, skipping download. +2025-04-15 09:12:00,422 - logging_config - INFO - File course/673/【定投故事第167期】富足人生社群,让我的人生方向越来越清晰.mp3 already exists, skipping download. +2025-04-15 09:12:00,422 - logging_config - INFO - File course/673/【定投故事第167期】富足人生社群,让我的人生方向越来越清晰.mp3 already exists, skipping download. +2025-04-15 09:12:00,422 - logging_config - INFO - File course/673/【定投故事第167期】富足人生社群,让我的人生方向越来越清晰.mp3 already exists, skipping download. +2025-04-15 09:12:00,422 - logging_config - INFO - File course/673/【定投故事第167期】富足人生社群,让我的人生方向越来越清晰.mp3 already exists, skipping download. +2025-04-15 09:12:00,422 - logging_config - INFO - File course/673/【定投故事第167期】富足人生社群,让我的人生方向越来越清晰.mp3 already exists, skipping download. +2025-04-15 09:12:00,422 - logging_config - INFO - File course/673/【定投故事第167期】富足人生社群,让我的人生方向越来越清晰.mp3 already exists, skipping download. +2025-04-15 09:12:00,422 - logging_config - INFO - File course/673/【定投故事第167期】富足人生社群,让我的人生方向越来越清晰.mp3 already exists, skipping download. +2025-04-15 09:12:00,422 - logging_config - INFO - File course/673/【定投故事第167期】富足人生社群,让我的人生方向越来越清晰.mp3 already exists, skipping download. +2025-04-15 09:12:00,422 - logging_config - INFO - File course/673/【定投故事第167期】富足人生社群,让我的人生方向越来越清晰.mp3 already exists, skipping download. +2025-04-15 09:12:00,422 - logging_config - INFO - File course/673/【定投故事第167期】富足人生社群,让我的人生方向越来越清晰.mp3 already exists, skipping download. +2025-04-15 09:12:00,422 - logging_config - INFO - File course/673/jpg/2d458864-5e9e-4824-8663-3821704c7be8.jpg already exists, skipping download. +2025-04-15 09:12:00,423 - logging_config - INFO - File course/673/jpg/863041b5-4fcb-4b24-a70b-a187432bc75b.jpg already exists, skipping download. +2025-04-15 09:12:00,423 - logging_config - INFO - File course/673/【定投故事第167期】富足人生社群,让我的人生方向越来越清晰.mp3 already exists, skipping download. +2025-04-15 09:12:00,423 - logging_config - INFO - File course/673/jpg/f672bbe9-f3cb-4622-bce5-3b9a8d150308.jpg already exists, skipping download. +2025-04-15 09:12:00,423 - logging_config - INFO - File course/673/【定投故事第167期】富足人生社群,让我的人生方向越来越清晰.mp3 already exists, skipping download. +2025-04-15 09:12:00,423 - logging_config - INFO - File course/673/【定投故事第167期】富足人生社群,让我的人生方向越来越清晰.mp3 already exists, skipping download. +2025-04-15 09:12:00,423 - logging_config - INFO - File course/673/【定投故事第167期】富足人生社群,让我的人生方向越来越清晰.mp3 already exists, skipping download. +2025-04-15 09:12:00,423 - logging_config - INFO - File course/673/【定投故事第167期】富足人生社群,让我的人生方向越来越清晰.mp3 already exists, skipping download. +2025-04-15 09:12:00,423 - logging_config - INFO - File course/673/【定投故事第167期】富足人生社群,让我的人生方向越来越清晰.mp3 already exists, skipping download. +2025-04-15 09:12:00,423 - logging_config - INFO - File course/673/【定投故事第167期】富足人生社群,让我的人生方向越来越清晰.mp3 already exists, skipping download. +2025-04-15 09:12:00,423 - logging_config - INFO - File course/673/【定投故事第167期】富足人生社群,让我的人生方向越来越清晰.mp3 already exists, skipping download. +2025-04-15 09:12:00,423 - logging_config - INFO - File course/673/【定投故事第167期】富足人生社群,让我的人生方向越来越清晰.mp3 already exists, skipping download. +2025-04-15 09:12:00,423 - logging_config - INFO - File course/673/【定投故事第167期】富足人生社群,让我的人生方向越来越清晰.mp3 already exists, skipping download. +2025-04-15 09:12:00,424 - logging_config - INFO - File course/673/【定投故事第167期】富足人生社群,让我的人生方向越来越清晰.mp3 already exists, skipping download. +2025-04-15 09:12:00,424 - logging_config - INFO - File course/673/【定投故事第167期】富足人生社群,让我的人生方向越来越清晰.mp3 already exists, skipping download. +2025-04-15 09:12:00,424 - logging_config - INFO - File course/673/【定投故事第167期】富足人生社群,让我的人生方向越来越清晰.mp3 already exists, skipping download. +2025-04-15 09:12:00,424 - logging_config - INFO - File course/673/【定投故事第167期】富足人生社群,让我的人生方向越来越清晰.mp3 already exists, skipping download. +2025-04-15 09:12:00,424 - logging_config - INFO - File course/673/【定投故事第167期】富足人生社群,让我的人生方向越来越清晰.mp3 already exists, skipping download. +2025-04-15 09:12:00,424 - logging_config - INFO - File course/673/【定投故事第167期】富足人生社群,让我的人生方向越来越清晰.mp3 already exists, skipping download. +2025-04-15 09:12:00,424 - logging_config - INFO - File course/673/jpg/ab4fec97-2ff0-4b1e-aa6f-3f398704ce8a.jpg already exists, skipping download. +2025-04-15 09:12:00,424 - logging_config - INFO - File course/673/jpg/364623da-860d-4f11-a52d-054150a3d2c1.jpg already exists, skipping download. +2025-04-15 09:12:00,424 - logging_config - INFO - File course/673/jpg/842713cc-8b0a-4608-9095-9f810175cbc3.jpg already exists, skipping download. +2025-04-15 09:12:00,424 - logging_config - INFO - File course/673/jpg/c775047c-d77f-4c81-9769-7c9f84f0841d.jpg already exists, skipping download. +2025-04-15 09:12:00,424 - logging_config - INFO - File course/673/【定投故事第167期】富足人生社群,让我的人生方向越来越清晰.mp3 already exists, skipping download. +2025-04-15 09:12:00,424 - logging_config - INFO - File course/673/【定投故事第167期】富足人生社群,让我的人生方向越来越清晰.mp3 already exists, skipping download. +2025-04-15 09:12:00,425 - logging_config - INFO - File course/673/【定投故事第167期】富足人生社群,让我的人生方向越来越清晰.mp3 already exists, skipping download. +2025-04-15 09:12:00,425 - logging_config - INFO - File course/673/【定投故事第167期】富足人生社群,让我的人生方向越来越清晰.mp3 already exists, skipping download. +2025-04-15 09:12:00,425 - logging_config - INFO - File course/673/【定投故事第167期】富足人生社群,让我的人生方向越来越清晰.mp3 already exists, skipping download. +2025-04-15 09:12:00,425 - logging_config - INFO - File course/673/【定投故事第167期】富足人生社群,让我的人生方向越来越清晰.mp3 already exists, skipping download. +2025-04-15 09:12:00,425 - logging_config - INFO - File course/673/【定投故事第167期】富足人生社群,让我的人生方向越来越清晰.mp3 already exists, skipping download. +2025-04-15 09:12:00,425 - logging_config - INFO - File course/673/【定投故事第167期】富足人生社群,让我的人生方向越来越清晰.mp3 already exists, skipping download. +2025-04-15 09:12:00,425 - logging_config - INFO - File course/673/【定投故事第167期】富足人生社群,让我的人生方向越来越清晰.mp3 already exists, skipping download. +2025-04-15 09:12:00,425 - logging_config - INFO - File course/673/jpg/395e871e-bc9c-45a4-87f4-807366014f40.jpg already exists, skipping download. +2025-04-15 09:12:00,425 - logging_config - INFO - File course/673/【定投故事第167期】富足人生社群,让我的人生方向越来越清晰.mp3 already exists, skipping download. +2025-04-15 09:12:00,425 - logging_config - INFO - File course/673/jpg/3c6acd2d-a766-4df6-bf91-9a22f72950d9.jpg already exists, skipping download. +2025-04-15 09:12:00,425 - logging_config - INFO - File course/673/jpg/2d221353-3184-4d0d-9608-1d9f435e3b25.jpg already exists, skipping download. +2025-04-15 09:12:00,425 - logging_config - INFO - File course/673/【定投故事第167期】富足人生社群,让我的人生方向越来越清晰.mp3 already exists, skipping download. +2025-04-15 09:12:00,425 - logging_config - INFO - File course/673/【定投故事第167期】富足人生社群,让我的人生方向越来越清晰.mp3 already exists, skipping download. +2025-04-15 09:12:00,425 - logging_config - INFO - File course/673/【定投故事第167期】富足人生社群,让我的人生方向越来越清晰.mp3 already exists, skipping download. +2025-04-15 09:12:00,426 - logging_config - INFO - File course/673/jpg/a53e2628-17f8-4344-a796-b9cfc8c63f05.jpg already exists, skipping download. +2025-04-15 09:12:00,427 - logging_config - INFO - File course/674/【定投故事第168期】从固守型人格到进取型人格,我的成长蜕变之路.mp3 already exists, skipping download. +2025-04-15 09:12:00,427 - logging_config - INFO - File course/674/png/mmexport1743856033622.png already exists, skipping download. +2025-04-15 09:12:00,427 - logging_config - INFO - File course/674/jpg/e087f32e-3270-4149-92a1-811798829cf5.jpg already exists, skipping download. +2025-04-15 09:12:00,427 - logging_config - INFO - File course/674/jpg/4c759dec-3f5e-4571-84c4-1f1ce659cd25.jpg already exists, skipping download. +2025-04-15 09:12:00,427 - logging_config - INFO - File course/674/【定投故事第168期】从固守型人格到进取型人格,我的成长蜕变之路.mp3 already exists, skipping download. +2025-04-15 09:12:00,427 - logging_config - INFO - File course/674/jpg/b0a77dbc-e34b-463d-b579-feba29ea005e.jpg already exists, skipping download. +2025-04-15 09:12:00,427 - logging_config - INFO - File course/674/【定投故事第168期】从固守型人格到进取型人格,我的成长蜕变之路.mp3 already exists, skipping download. +2025-04-15 09:12:00,427 - logging_config - INFO - File course/674/【定投故事第168期】从固守型人格到进取型人格,我的成长蜕变之路.mp3 already exists, skipping download. +2025-04-15 09:12:00,427 - logging_config - INFO - File course/674/【定投故事第168期】从固守型人格到进取型人格,我的成长蜕变之路.mp3 already exists, skipping download. +2025-04-15 09:12:00,427 - logging_config - INFO - File course/674/【定投故事第168期】从固守型人格到进取型人格,我的成长蜕变之路.mp3 already exists, skipping download. +2025-04-15 09:12:00,427 - logging_config - INFO - File course/674/【定投故事第168期】从固守型人格到进取型人格,我的成长蜕变之路.mp3 already exists, skipping download. +2025-04-15 09:12:00,428 - logging_config - INFO - File course/674/【定投故事第168期】从固守型人格到进取型人格,我的成长蜕变之路.mp3 already exists, skipping download. +2025-04-15 09:12:00,428 - logging_config - INFO - File course/674/【定投故事第168期】从固守型人格到进取型人格,我的成长蜕变之路.mp3 already exists, skipping download. +2025-04-15 09:12:00,428 - logging_config - INFO - File course/674/jpg/14b7ec4f-a91f-4903-8c60-6d91d0980b82.jpg already exists, skipping download. +2025-04-15 09:12:00,428 - logging_config - INFO - File course/674/【定投故事第168期】从固守型人格到进取型人格,我的成长蜕变之路.mp3 already exists, skipping download. +2025-04-15 09:12:00,428 - logging_config - INFO - File course/674/【定投故事第168期】从固守型人格到进取型人格,我的成长蜕变之路.mp3 already exists, skipping download. +2025-04-15 09:12:00,428 - logging_config - INFO - File course/674/【定投故事第168期】从固守型人格到进取型人格,我的成长蜕变之路.mp3 already exists, skipping download. +2025-04-15 09:12:00,428 - logging_config - INFO - File course/674/【定投故事第168期】从固守型人格到进取型人格,我的成长蜕变之路.mp3 already exists, skipping download. +2025-04-15 09:12:00,428 - logging_config - INFO - File course/674/【定投故事第168期】从固守型人格到进取型人格,我的成长蜕变之路.mp3 already exists, skipping download. +2025-04-15 09:12:00,428 - logging_config - INFO - File course/674/【定投故事第168期】从固守型人格到进取型人格,我的成长蜕变之路.mp3 already exists, skipping download. +2025-04-15 09:12:00,428 - logging_config - INFO - File course/674/【定投故事第168期】从固守型人格到进取型人格,我的成长蜕变之路.mp3 already exists, skipping download. +2025-04-15 09:12:00,428 - logging_config - INFO - File course/674/【定投故事第168期】从固守型人格到进取型人格,我的成长蜕变之路.mp3 already exists, skipping download. +2025-04-15 09:12:00,428 - logging_config - INFO - File course/674/【定投故事第168期】从固守型人格到进取型人格,我的成长蜕变之路.mp3 already exists, skipping download. +2025-04-15 09:12:00,428 - logging_config - INFO - File course/674/【定投故事第168期】从固守型人格到进取型人格,我的成长蜕变之路.mp3 already exists, skipping download. +2025-04-15 09:12:00,428 - logging_config - INFO - File course/674/【定投故事第168期】从固守型人格到进取型人格,我的成长蜕变之路.mp3 already exists, skipping download. +2025-04-15 09:12:00,429 - logging_config - INFO - File course/674/【定投故事第168期】从固守型人格到进取型人格,我的成长蜕变之路.mp3 already exists, skipping download. +2025-04-15 09:12:00,429 - logging_config - INFO - File course/674/【定投故事第168期】从固守型人格到进取型人格,我的成长蜕变之路.mp3 already exists, skipping download. +2025-04-15 09:12:00,429 - logging_config - INFO - File course/674/【定投故事第168期】从固守型人格到进取型人格,我的成长蜕变之路.mp3 already exists, skipping download. +2025-04-15 09:12:00,429 - logging_config - INFO - File course/674/jpg/e1926a5a-2809-4f28-9ac1-f3c1c71f15e4.jpg already exists, skipping download. +2025-04-15 09:12:00,429 - logging_config - INFO - File course/674/【定投故事第168期】从固守型人格到进取型人格,我的成长蜕变之路.mp3 already exists, skipping download. +2025-04-15 09:12:00,429 - logging_config - INFO - File course/674/【定投故事第168期】从固守型人格到进取型人格,我的成长蜕变之路.mp3 already exists, skipping download. +2025-04-15 09:12:00,429 - logging_config - INFO - File course/674/【定投故事第168期】从固守型人格到进取型人格,我的成长蜕变之路.mp3 already exists, skipping download. +2025-04-15 09:12:00,429 - logging_config - INFO - File course/674/【定投故事第168期】从固守型人格到进取型人格,我的成长蜕变之路.mp3 already exists, skipping download. +2025-04-15 09:12:00,429 - logging_config - INFO - File course/674/【定投故事第168期】从固守型人格到进取型人格,我的成长蜕变之路.mp3 already exists, skipping download. +2025-04-15 09:12:00,429 - logging_config - INFO - File course/674/【定投故事第168期】从固守型人格到进取型人格,我的成长蜕变之路.mp3 already exists, skipping download. +2025-04-15 09:12:00,429 - logging_config - INFO - File course/674/【定投故事第168期】从固守型人格到进取型人格,我的成长蜕变之路.mp3 already exists, skipping download. +2025-04-15 09:12:00,429 - logging_config - INFO - File course/674/【定投故事第168期】从固守型人格到进取型人格,我的成长蜕变之路.mp3 already exists, skipping download. +2025-04-15 09:12:00,430 - logging_config - INFO - File course/674/【定投故事第168期】从固守型人格到进取型人格,我的成长蜕变之路.mp3 already exists, skipping download. +2025-04-15 09:12:00,430 - logging_config - INFO - File course/674/【定投故事第168期】从固守型人格到进取型人格,我的成长蜕变之路.mp3 already exists, skipping download. +2025-04-15 09:12:00,430 - logging_config - INFO - File course/674/【定投故事第168期】从固守型人格到进取型人格,我的成长蜕变之路.mp3 already exists, skipping download. +2025-04-15 09:12:00,430 - logging_config - INFO - File course/674/【定投故事第168期】从固守型人格到进取型人格,我的成长蜕变之路.mp3 already exists, skipping download. +2025-04-15 09:12:00,430 - logging_config - INFO - File course/674/【定投故事第168期】从固守型人格到进取型人格,我的成长蜕变之路.mp3 already exists, skipping download. +2025-04-15 09:12:00,430 - logging_config - INFO - File course/674/【定投故事第168期】从固守型人格到进取型人格,我的成长蜕变之路.mp3 already exists, skipping download. +2025-04-15 09:12:00,430 - logging_config - INFO - File course/674/jpg/85a85727-82bb-47d8-8f59-194afffbea8d.jpg already exists, skipping download. +2025-04-15 09:12:00,430 - logging_config - INFO - File course/674/【定投故事第168期】从固守型人格到进取型人格,我的成长蜕变之路.mp3 already exists, skipping download. +2025-04-15 09:12:00,431 - logging_config - INFO - File course/675/jpg/d28ec4b2-731c-45f1-903c-2445e5a5f0d3.jpg already exists, skipping download. +2025-04-15 09:12:00,431 - logging_config - INFO - File course/675/2025.04.09.心理按摩还是要做的!.mp3 already exists, skipping download. +2025-04-15 09:12:00,431 - logging_config - INFO - File course/675/2025.04.09.心理按摩还是要做的!.mp3 already exists, skipping download. +2025-04-15 09:12:00,431 - logging_config - INFO - File course/675/2025.04.09.心理按摩还是要做的!.mp3 already exists, skipping download. +2025-04-15 09:12:00,431 - logging_config - INFO - File course/675/2025.04.09.心理按摩还是要做的!.mp3 already exists, skipping download. +2025-04-15 09:12:00,431 - logging_config - INFO - File course/675/2025.04.09.心理按摩还是要做的!.mp3 already exists, skipping download. +2025-04-15 09:12:00,432 - logging_config - INFO - File course/675/2025.04.09.心理按摩还是要做的!.mp3 already exists, skipping download. +2025-04-15 09:12:00,432 - logging_config - INFO - File course/675/2025.04.09.心理按摩还是要做的!.mp3 already exists, skipping download. +2025-04-15 09:12:00,432 - logging_config - INFO - File course/675/2025.04.09.心理按摩还是要做的!.mp3 already exists, skipping download. +2025-04-15 09:12:00,432 - logging_config - INFO - File course/675/2025.04.09.心理按摩还是要做的!.mp3 already exists, skipping download. +2025-04-15 09:12:00,432 - logging_config - INFO - File course/675/2025.04.09.心理按摩还是要做的!.mp3 already exists, skipping download. +2025-04-15 09:12:00,432 - logging_config - INFO - File course/675/2025.04.09.心理按摩还是要做的!.mp3 already exists, skipping download. +2025-04-15 09:12:00,432 - logging_config - INFO - File course/675/2025.04.09.心理按摩还是要做的!.mp3 already exists, skipping download. +2025-04-15 09:12:00,432 - logging_config - INFO - File course/675/2025.04.09.心理按摩还是要做的!.mp3 already exists, skipping download. +2025-04-15 09:12:00,432 - logging_config - INFO - File course/675/2025.04.09.心理按摩还是要做的!.mp3 already exists, skipping download. +2025-04-15 09:12:00,432 - logging_config - INFO - File course/675/2025.04.09.心理按摩还是要做的!.mp3 already exists, skipping download. +2025-04-15 09:12:00,433 - logging_config - INFO - File course/676/mp4/20250413142836-第36期茶话会-视频-1.mp4 already exists, skipping download. +2025-04-15 09:12:32,561 - root - INFO - 成功将 course/676/mp4/20250413142836-第36期茶话会-视频-1.mp4 转换为 course/676/mp4/20250413142836-第36期茶话会-视频-1.mp3 +2025-04-15 09:12:38,953 - root - INFO - 成功将 course/676/mp4/20250413142836-第36期茶话会-视频-1.mp4 转换为 course/676/mp4/20250413142836-第36期茶话会-视频-1.wav +2025-04-15 09:12:38,956 - root - INFO - Starting processing 20250413142836-第36期茶话会-视频-1.wav +2025-04-15 09:18:26,283 - logging_config - INFO - Download Command: aria2c -o "course/677/jpg/cbbe5081-4935-425b-9534-09411c34d1c7.jpg" -x 16 -s 16 https://bandu-resources.songy.info/7000104757/cbbe5081-4935-425b-9534-09411c34d1c7.webp +2025-04-15 09:18:26,328 - logging_config - INFO - Download Command: aria2c -o "course/677/3387069e-dc7c-4934-96c0-861d8f035df2.mp3" -x 16 -s 16 https://bandu-resources.songy.info/7000104757/3387069e-dc7c-4934-96c0-861d8f035df2.mp3 +2025-04-15 09:18:26,364 - logging_config - INFO - Download Command: aria2c -o "course/677/5b57a17f-9414-4be2-a6b4-1adbac155a56.mp3" -x 16 -s 16 https://bandu-resources.songy.info/7000104757/5b57a17f-9414-4be2-a6b4-1adbac155a56.mp3 +2025-04-15 09:18:26,365 - logging_config - INFO - Download Command: aria2c -o "course/677/eb04dc70-4d31-4488-ad90-6ff9f21c899b.mp3" -x 16 -s 16 https://bandu-resources.songy.info/7000104757/eb04dc70-4d31-4488-ad90-6ff9f21c899b.mp3 +2025-04-15 09:18:26,402 - logging_config - INFO - Download Command: aria2c -o "course/677/ad3762fd-18c8-450e-9747-6e4afd84add7.mp3" -x 16 -s 16 https://bandu-resources.songy.info/7000104757/ad3762fd-18c8-450e-9747-6e4afd84add7.mp3 +2025-04-15 09:18:26,596 - logging_config - INFO - Download Command: aria2c -o "course/677/5616e223-de76-4f92-9762-1738665aeb36.mp3" -x 16 -s 16 https://bandu-resources.songy.info/7000104757/5616e223-de76-4f92-9762-1738665aeb36.mp3 +2025-04-15 09:18:26,634 - logging_config - INFO - Download Command: aria2c -o "course/677/fb69517a-1fbd-404f-9d09-ff6f1eaa3e03.mp3" -x 16 -s 16 https://bandu-resources.songy.info/7000104757/fb69517a-1fbd-404f-9d09-ff6f1eaa3e03.mp3 +2025-04-15 09:18:26,662 - logging_config - INFO - Download Command: aria2c -o "course/677/e86a750e-ac7b-4471-b944-ce164970a248.mp3" -x 16 -s 16 https://bandu-resources.songy.info/7000104757/e86a750e-ac7b-4471-b944-ce164970a248.mp3 +2025-04-15 09:18:26,687 - logging_config - INFO - Download Command: aria2c -o "course/677/jpg/30310ebe-43db-4268-b457-d4c0ca862a5f.jpg" -x 16 -s 16 https://bandu-resources.songy.info/7000104757/30310ebe-43db-4268-b457-d4c0ca862a5f.webp +2025-04-15 09:18:26,688 - logging_config - INFO - Download Command: aria2c -o "course/677/9dab4a31-6492-4179-8489-90f5cd137f7c.mp3" -x 16 -s 16 https://bandu-resources.songy.info/7000104757/9dab4a31-6492-4179-8489-90f5cd137f7c.mp3 +2025-04-15 09:18:26,933 - logging_config - INFO - Download Command: aria2c -o "course/677/a1ee973c-9445-496c-a754-e053814d20e2.mp3" -x 16 -s 16 https://bandu-resources.songy.info/7000104757/a1ee973c-9445-496c-a754-e053814d20e2.mp3 +2025-04-15 09:18:26,958 - logging_config - INFO - Download Command: aria2c -o "course/677/jpg/41fdf2b6-8172-4874-9ed9-ba79f94522f3.jpg" -x 16 -s 16 https://bandu-resources.songy.info/7000104757/41fdf2b6-8172-4874-9ed9-ba79f94522f3.webp +2025-04-15 09:18:26,971 - logging_config - INFO - Download Command: aria2c -o "course/677/df136285-9628-48c6-98de-de53784bdb3c.mp3" -x 16 -s 16 https://bandu-resources.songy.info/7000104757/df136285-9628-48c6-98de-de53784bdb3c.mp3 +2025-04-15 09:18:26,972 - logging_config - INFO - Download Command: aria2c -o "course/677/b64c9caf-aa80-4e16-ae65-54e0627c8ae5.mp3" -x 16 -s 16 https://bandu-resources.songy.info/7000104757/b64c9caf-aa80-4e16-ae65-54e0627c8ae5.mp3 +2025-04-15 09:18:26,996 - logging_config - INFO - Download Command: aria2c -o "course/677/9c568612-5063-42df-b2e2-e987f262ba26.mp3" -x 16 -s 16 https://bandu-resources.songy.info/7000104757/9c568612-5063-42df-b2e2-e987f262ba26.mp3 +2025-04-15 09:18:27,207 - logging_config - INFO - Download Command: aria2c -o "course/677/jpg/86449822-c4bb-468b-9d6d-f45fa05dc508.jpg" -x 16 -s 16 https://bandu-resources.songy.info/7000104757/86449822-c4bb-468b-9d6d-f45fa05dc508.webp +2025-04-15 09:18:27,232 - logging_config - INFO - Download Command: aria2c -o "course/677/jpg/c6cb4983-5bbe-491c-9047-e74511886a2d.jpg" -x 16 -s 16 https://bandu-resources.songy.info/7000104757/c6cb4983-5bbe-491c-9047-e74511886a2d.webp +2025-04-15 09:18:27,233 - logging_config - INFO - Download Command: aria2c -o "course/677/a86770f0-a978-4123-b2dd-e44e54ff1996.mp3" -x 16 -s 16 https://bandu-resources.songy.info/7000104757/a86770f0-a978-4123-b2dd-e44e54ff1996.mp3 +2025-04-15 09:18:27,246 - logging_config - INFO - Download Command: aria2c -o "course/677/jpg/46f82a1e-79f4-4572-af18-56c5e70c3970.jpg" -x 16 -s 16 https://bandu-resources.songy.info/7000104757/46f82a1e-79f4-4572-af18-56c5e70c3970.webp +2025-04-15 09:18:27,272 - logging_config - INFO - Download Command: aria2c -o "course/677/e98be94b-b757-4761-966a-137f4e401f59.mp3" -x 16 -s 16 https://bandu-resources.songy.info/7000104757/e98be94b-b757-4761-966a-137f4e401f59.mp3 +2025-04-15 09:18:27,484 - logging_config - INFO - Download Command: aria2c -o "course/677/900ccf9c-3902-49f8-a7a7-d3c57c4ffc53.mp3" -x 16 -s 16 https://bandu-resources.songy.info/7000104757/900ccf9c-3902-49f8-a7a7-d3c57c4ffc53.mp3 +2025-04-15 09:18:27,516 - logging_config - INFO - Download Command: aria2c -o "course/677/17a608a1-022a-4c51-af94-ea720a8db7cc.mp3" -x 16 -s 16 https://bandu-resources.songy.info/7000104757/17a608a1-022a-4c51-af94-ea720a8db7cc.mp3 +2025-04-15 09:18:27,516 - logging_config - INFO - Download Command: aria2c -o "course/677/8abb2ca6-f477-4174-968a-f76f730ce272.mp3" -x 16 -s 16 https://bandu-resources.songy.info/7000104757/8abb2ca6-f477-4174-968a-f76f730ce272.mp3 +2025-04-15 09:18:27,552 - logging_config - INFO - Download Command: aria2c -o "course/677/4ff85034-b4f9-43bf-bc4d-afc2b3c44e0b.mp3" -x 16 -s 16 https://bandu-resources.songy.info/7000104757/4ff85034-b4f9-43bf-bc4d-afc2b3c44e0b.mp3 +2025-04-15 09:18:27,582 - logging_config - INFO - Download Command: aria2c -o "course/677/2b946f80-862d-4adb-9a67-2352dd1b7ce0.mp3" -x 16 -s 16 https://bandu-resources.songy.info/7000104757/2b946f80-862d-4adb-9a67-2352dd1b7ce0.mp3 +2025-04-15 09:18:27,800 - logging_config - INFO - Download Command: aria2c -o "course/677/bc01ceb8-7a26-4940-97cb-9c05ff050946.mp3" -x 16 -s 16 https://bandu-resources.songy.info/7000104757/bc01ceb8-7a26-4940-97cb-9c05ff050946.mp3 +2025-04-15 09:18:27,833 - logging_config - INFO - Download Command: aria2c -o "course/677/f745066e-61a4-47a8-a3f1-358183fb1ad7.mp3" -x 16 -s 16 https://bandu-resources.songy.info/7000104757/f745066e-61a4-47a8-a3f1-358183fb1ad7.mp3 +2025-04-15 09:18:27,833 - logging_config - INFO - Download Command: aria2c -o "course/677/jpg/6e2067f3-7b33-4a01-89e4-5a9b9003101c.jpg" -x 16 -s 16 https://bandu-resources.songy.info/7000104757/6e2067f3-7b33-4a01-89e4-5a9b9003101c.webp +2025-04-15 09:18:27,841 - logging_config - INFO - Download Command: aria2c -o "course/677/433a39ed-ae38-4189-909c-deb6fc781d6f.mp3" -x 16 -s 16 https://bandu-resources.songy.info/7000104757/433a39ed-ae38-4189-909c-deb6fc781d6f.mp3 +2025-04-15 09:18:27,862 - logging_config - INFO - Download Command: aria2c -o "course/677/bfd1b9d2-a5a3-485e-a4f3-6d361323c19b.mp3" -x 16 -s 16 https://bandu-resources.songy.info/7000104757/bfd1b9d2-a5a3-485e-a4f3-6d361323c19b.mp3 +2025-04-15 09:18:28,084 - logging_config - INFO - Download Command: aria2c -o "course/677/jpg/9dc90f6d-b2fb-4010-8ae4-a8e0b9a1c092.jpg" -x 16 -s 16 https://bandu-resources.songy.info/7000104757/9dc90f6d-b2fb-4010-8ae4-a8e0b9a1c092.webp +2025-04-15 09:18:28,127 - logging_config - INFO - Download Command: aria2c -o "course/677/ff71bd8f-04d0-4539-8a87-982dcf0d59d8.mp3" -x 16 -s 16 https://bandu-resources.songy.info/7000104757/ff71bd8f-04d0-4539-8a87-982dcf0d59d8.mp3 +2025-04-15 09:18:28,158 - logging_config - INFO - Download Command: aria2c -o "course/677/d7ceadb5-3093-4cfa-8a8a-d5b0ee6e859f.mp3" -x 16 -s 16 https://bandu-resources.songy.info/7000104757/d7ceadb5-3093-4cfa-8a8a-d5b0ee6e859f.mp3 +2025-04-15 09:18:28,159 - logging_config - INFO - Download Command: aria2c -o "course/677/1ba95394-46ce-488b-b36e-6be3536c9d11.mp3" -x 16 -s 16 https://bandu-resources.songy.info/7000104757/1ba95394-46ce-488b-b36e-6be3536c9d11.mp3 +2025-04-15 09:18:28,159 - logging_config - INFO - Download Command: aria2c -o "course/677/jpg/b248e4ee-5b58-44fd-975b-e7c28ffde70d.jpg" -x 16 -s 16 https://bandu-resources.songy.info/7000104757/b248e4ee-5b58-44fd-975b-e7c28ffde70d.webp +2025-04-15 09:18:28,281 - logging_config - INFO - Download Command: aria2c -o "course/677/f3c6ecc5-12eb-44e3-a5ae-81e4c9e12c99.mp3" -x 16 -s 16 https://bandu-resources.songy.info/7000104757/f3c6ecc5-12eb-44e3-a5ae-81e4c9e12c99.mp3 +2025-04-15 09:18:28,308 - logging_config - INFO - Download Command: aria2c -o "course/677/5d0a8862-0f52-4cfa-acd7-262e0fe42459.mp3" -x 16 -s 16 https://bandu-resources.songy.info/7000104757/5d0a8862-0f52-4cfa-acd7-262e0fe42459.mp3 +2025-04-15 09:18:28,364 - logging_config - INFO - Download Command: aria2c -o "course/677/a7756605-4358-401d-995b-ff0be121ee91.mp3" -x 16 -s 16 https://bandu-resources.songy.info/7000104757/a7756605-4358-401d-995b-ff0be121ee91.mp3 +2025-04-15 09:18:28,449 - logging_config - INFO - Download Command: aria2c -o "course/677/e2188ce0-035d-4b24-9c3f-ed6da4b0bdff.mp3" -x 16 -s 16 https://bandu-resources.songy.info/7000104757/e2188ce0-035d-4b24-9c3f-ed6da4b0bdff.mp3 +2025-04-15 09:18:28,489 - logging_config - INFO - Download Command: aria2c -o "course/677/f213f5ba-0c13-47ef-a0fe-1030898a9249.mp3" -x 16 -s 16 https://bandu-resources.songy.info/7000104757/f213f5ba-0c13-47ef-a0fe-1030898a9249.mp3 +2025-04-15 09:18:28,511 - logging_config - INFO - Download Command: aria2c -o "course/677/2ec70875-41ba-4c6b-a536-9ba165f06f17.mp3" -x 16 -s 16 https://bandu-resources.songy.info/7000104757/2ec70875-41ba-4c6b-a536-9ba165f06f17.mp3 +2025-04-15 09:18:28,520 - logging_config - INFO - Download Command: aria2c -o "course/677/jpg/75c2452c-6629-4e8f-836d-2cb4368a8239.jpg" -x 16 -s 16 https://bandu-resources.songy.info/7000104757/75c2452c-6629-4e8f-836d-2cb4368a8239.webp +2025-04-15 09:18:28,544 - logging_config - INFO - Download Command: aria2c -o "course/677/f3ec80dc-5e1c-40f9-997e-66ec288fd7b9.mp3" -x 16 -s 16 https://bandu-resources.songy.info/7000104757/f3ec80dc-5e1c-40f9-997e-66ec288fd7b9.mp3 +2025-04-15 09:18:28,663 - logging_config - INFO - Download Command: aria2c -o "course/677/0edbbd91-ab05-4b47-a9b5-6f2a24f8081d.mp3" -x 16 -s 16 https://bandu-resources.songy.info/7000104757/0edbbd91-ab05-4b47-a9b5-6f2a24f8081d.mp3 +2025-04-15 09:18:28,723 - logging_config - INFO - Download Command: aria2c -o "course/677/jpg/eedbd220-8012-4ff0-8da4-c5bb3a1cd6b6.jpg" -x 16 -s 16 https://bandu-resources.songy.info/7000104757/eedbd220-8012-4ff0-8da4-c5bb3a1cd6b6.webp +2025-04-15 09:18:28,748 - logging_config - INFO - Download Command: aria2c -o "course/677/jpg/c4d35ecb-bc32-4122-acd6-2c41a3179571.jpg" -x 16 -s 16 https://bandu-resources.songy.info/7000104757/c4d35ecb-bc32-4122-acd6-2c41a3179571.webp +2025-04-15 09:18:28,791 - logging_config - INFO - Download Command: aria2c -o "course/677/jpg/d47fa6eb-07b6-4f64-9776-23b7a44974b8.jpg" -x 16 -s 16 https://bandu-resources.songy.info/7000104757/d47fa6eb-07b6-4f64-9776-23b7a44974b8.webp +2025-04-15 09:18:28,813 - logging_config - INFO - Download Command: aria2c -o "course/677/jpg/3685f1b3-8781-44e2-bbc8-00210cdc7be9.jpg" -x 16 -s 16 https://bandu-resources.songy.info/7000104757/3685f1b3-8781-44e2-bbc8-00210cdc7be9.webp +2025-04-15 09:18:28,831 - logging_config - INFO - Download Command: aria2c -o "course/677/09b955be-b8e7-4575-b34b-fcdc7188a43a.mp3" -x 16 -s 16 https://bandu-resources.songy.info/7000104757/09b955be-b8e7-4575-b34b-fcdc7188a43a.mp3 +2025-04-15 09:18:28,872 - logging_config - INFO - Download Command: aria2c -o "course/677/f2908b08-1213-4adc-b59a-1e167d66ed0a.mp3" -x 16 -s 16 https://bandu-resources.songy.info/7000104757/f2908b08-1213-4adc-b59a-1e167d66ed0a.mp3 +2025-04-15 09:18:28,921 - logging_config - INFO - Download Command: aria2c -o "course/677/46749592-07d9-4fd7-855e-54240dbb60b9.mp3" -x 16 -s 16 https://bandu-resources.songy.info/7000104757/46749592-07d9-4fd7-855e-54240dbb60b9.mp3 +2025-04-15 09:18:28,945 - logging_config - INFO - Download Command: aria2c -o "course/677/3a8bca53-3e3c-40e0-a839-cbb73705f9c3.mp3" -x 16 -s 16 https://bandu-resources.songy.info/7000104757/3a8bca53-3e3c-40e0-a839-cbb73705f9c3.mp3 +2025-04-15 09:18:28,970 - logging_config - INFO - Download Command: aria2c -o "course/677/a9ebfbd7-3663-499e-9824-7c1830e0c15b.mp3" -x 16 -s 16 https://bandu-resources.songy.info/7000104757/a9ebfbd7-3663-499e-9824-7c1830e0c15b.mp3 +2025-04-15 09:18:28,981 - logging_config - INFO - Download Command: aria2c -o "course/677/5bd26651-6be6-4790-985e-b0a221290086.mp3" -x 16 -s 16 https://bandu-resources.songy.info/7000104757/5bd26651-6be6-4790-985e-b0a221290086.mp3 +2025-04-15 09:18:29,067 - logging_config - INFO - Download Command: aria2c -o "course/677/e7700fd7-60bb-4bc8-9d2c-21c20815b4bb.mp3" -x 16 -s 16 https://bandu-resources.songy.info/7000104757/e7700fd7-60bb-4bc8-9d2c-21c20815b4bb.mp3 +2025-04-15 09:18:29,088 - logging_config - INFO - Download Command: aria2c -o "course/677/764b4d24-0cf7-41d3-bcac-426260aca89b.mp3" -x 16 -s 16 https://bandu-resources.songy.info/7000104757/764b4d24-0cf7-41d3-bcac-426260aca89b.mp3 +2025-04-15 09:18:29,116 - logging_config - INFO - Download Command: aria2c -o "course/677/cd20cc66-4d72-4186-9a7b-60759c5539a6.mp3" -x 16 -s 16 https://bandu-resources.songy.info/7000104757/cd20cc66-4d72-4186-9a7b-60759c5539a6.mp3 +2025-04-15 09:18:29,152 - logging_config - INFO - Download Command: aria2c -o "course/677/ca18e1d8-c7ff-4cc4-893b-8a13d8b065f1.mp3" -x 16 -s 16 https://bandu-resources.songy.info/7000104757/ca18e1d8-c7ff-4cc4-893b-8a13d8b065f1.mp3 +2025-04-15 09:18:29,250 - logging_config - INFO - Download Command: aria2c -o "course/677/18962daa-8b27-493d-b03b-bbfb65f0138e.mp3" -x 16 -s 16 https://bandu-resources.songy.info/7000104757/18962daa-8b27-493d-b03b-bbfb65f0138e.mp3 +2025-04-15 09:18:29,278 - logging_config - INFO - Download Command: aria2c -o "course/677/093e162e-79af-48a0-afa1-2e0ab9ce07f1.mp3" -x 16 -s 16 https://bandu-resources.songy.info/7000104757/093e162e-79af-48a0-afa1-2e0ab9ce07f1.mp3 +2025-04-15 09:18:29,309 - logging_config - INFO - Download Command: aria2c -o "course/677/2a86181c-1a3f-4849-8a26-f570b794b839.mp3" -x 16 -s 16 https://bandu-resources.songy.info/7000104757/2a86181c-1a3f-4849-8a26-f570b794b839.mp3 +2025-04-15 09:18:29,333 - logging_config - INFO - Download Command: aria2c -o "course/677/84aebc6e-22e4-405b-877a-00a6e64959f0.mp3" -x 16 -s 16 https://bandu-resources.songy.info/7000104757/84aebc6e-22e4-405b-877a-00a6e64959f0.mp3 +2025-04-15 09:18:29,353 - logging_config - INFO - Download Command: aria2c -o "course/677/jpg/7b342f6e-e815-4f8c-8115-f1d1cd85f4ce.jpg" -x 16 -s 16 https://bandu-resources.songy.info/7000104757/7b342f6e-e815-4f8c-8115-f1d1cd85f4ce.webp +2025-04-15 09:18:29,435 - logging_config - INFO - Download Command: aria2c -o "course/677/7578c605-78bd-4f4b-a2a6-64880b6de1cc.mp3" -x 16 -s 16 https://bandu-resources.songy.info/7000104757/7578c605-78bd-4f4b-a2a6-64880b6de1cc.mp3 +2025-04-15 09:18:29,458 - logging_config - INFO - Download Command: aria2c -o "course/677/6915a1be-a7fd-4003-8595-80d017b766a0.mp3" -x 16 -s 16 https://bandu-resources.songy.info/7000104757/6915a1be-a7fd-4003-8595-80d017b766a0.mp3 +2025-04-15 09:18:29,504 - logging_config - INFO - Download Command: aria2c -o "course/677/cbd8c6d2-6648-48e4-a265-7702aaca15af.mp3" -x 16 -s 16 https://bandu-resources.songy.info/7000104757/cbd8c6d2-6648-48e4-a265-7702aaca15af.mp3 +2025-04-15 09:18:29,606 - logging_config - INFO - Download Command: aria2c -o "course/677/f022fef5-df47-44c6-9472-4903f9829187.mp3" -x 16 -s 16 https://bandu-resources.songy.info/7000104757/f022fef5-df47-44c6-9472-4903f9829187.mp3 +2025-04-15 09:18:29,606 - logging_config - INFO - Download Command: aria2c -o "course/677/b14ae74c-bf5a-46de-82dc-a731ab3cbdc2.mp3" -x 16 -s 16 https://bandu-resources.songy.info/7000104757/b14ae74c-bf5a-46de-82dc-a731ab3cbdc2.mp3 +2025-04-15 09:18:29,607 - logging_config - INFO - Download Command: aria2c -o "course/677/58238cf7-c518-4edb-a38f-f45bf1ab8bba.mp3" -x 16 -s 16 https://bandu-resources.songy.info/7000104757/58238cf7-c518-4edb-a38f-f45bf1ab8bba.mp3 +2025-04-15 09:18:29,636 - logging_config - INFO - Download Command: aria2c -o "course/677/fdfdf5d2-0fbf-4ecf-88fa-bd7718a25735.mp3" -x 16 -s 16 https://bandu-resources.songy.info/7000104757/fdfdf5d2-0fbf-4ecf-88fa-bd7718a25735.mp3 +2025-04-15 09:18:29,773 - logging_config - INFO - Download Command: aria2c -o "course/677/jpg/8e89a031-56e4-4afe-aa01-6cfa4fe7a96c.jpg" -x 16 -s 16 https://bandu-resources.songy.info/7000104757/8e89a031-56e4-4afe-aa01-6cfa4fe7a96c.webp +2025-04-15 09:18:29,893 - logging_config - INFO - Download Command: aria2c -o "course/677/jpg/a8c4b372-7912-4087-ae35-6ebb9bba6fb0.jpg" -x 16 -s 16 https://bandu-resources.songy.info/7000104757/a8c4b372-7912-4087-ae35-6ebb9bba6fb0.webp +2025-04-15 09:18:30,259 - logging_config - INFO - The maximum course ID is 677 +2025-04-15 09:18:30,259 - logging_config - INFO - {672: '20250331 相约七年后直播', 673: '【定投故事第167期】富足人生社群,让我的人生方向越来越清晰', 674: '【定投故事第168期】从固守型人格到进取型人格,我的成长蜕变之路', 675: '2025.04.09.心理按摩还是要做的!', 676: '第36期茶话会 如何通过AI提高场外赚钱能力?', 677: '【定投故事第169期】:全方位定投,让我走上了追逐梦想之路'} +2025-04-15 09:18:30,259 - logging_config - INFO - Processing course ID: 672 +2025-04-15 09:18:30,259 - logging_config - INFO - Course 672 JSON file already exists, using local file. +2025-04-15 09:18:30,260 - logging_config - INFO - Reading JSON file: course/672/json/20250331 相约七年后直播.json +2025-04-15 09:18:30,260 - logging_config - INFO - Writing Markdown file: course/672/20250331 相约七年后直播.md +2025-04-15 09:18:30,261 - logging_config - INFO - Course 672 JSON file already exists, using local file. +2025-04-15 09:18:30,261 - logging_config - INFO - Reading JSON file: course/672/json/20250331 相约七年后直播.json +2025-04-15 09:18:30,261 - logging_config - INFO - Writing Markdown file: course/672/20250331 相约七年后直播_logseq.md +2025-04-15 09:18:30,261 - logging_config - INFO - Processing course ID: 673 +2025-04-15 09:18:30,261 - logging_config - INFO - Course 673 JSON file already exists, using local file. +2025-04-15 09:18:30,263 - logging_config - INFO - Reading JSON file: course/673/json/【定投故事第167期】富足人生社群,让我的人生方向越来越清晰.json +2025-04-15 09:18:30,263 - logging_config - INFO - Writing Markdown file: course/673/【定投故事第167期】富足人生社群,让我的人生方向越来越清晰.md +2025-04-15 09:18:30,264 - logging_config - INFO - Downloading audio file: https://bandu-resources.songy.info/7000104757/c3a874dd-b6f5-4251-98a1-76df3d4e05bb.mp3 +2025-04-15 09:18:30,265 - logging_config - INFO - Downloading audio file: https://bandu-resources.songy.info/7000104757/a8daceb8-6c2d-45cc-bd1f-4231e06ba776.mp3 +2025-04-15 09:18:30,265 - logging_config - INFO - Downloading audio file: https://bandu-resources.songy.info/7000104757/52f83bf7-a898-4e05-835c-4a270f8f1487.mp3 +2025-04-15 09:18:30,266 - logging_config - INFO - Downloading audio file: https://bandu-resources.songy.info/7000104757/39167e1f-ba1c-4cdd-9348-88332aa49cdb.mp3 +2025-04-15 09:18:30,266 - logging_config - INFO - Downloading audio file: https://bandu-resources.songy.info/7000104757/d5755fa6-c813-4f91-b25e-d825799eb7b1.mp3 +2025-04-15 09:18:33,814 - logging_config - INFO - Downloading audio file: https://bandu-resources.songy.info/7000104757/e9f4db38-8c4d-4fc2-aba2-811eb4becbe6.mp3 +2025-04-15 09:18:36,284 - logging_config - INFO - Downloading audio file: https://bandu-resources.songy.info/7000104757/1dad0daa-48c0-4b0c-8408-7fce2ad6bf16.mp3 +2025-04-15 09:18:42,146 - logging_config - INFO - Downloading audio file: https://bandu-resources.songy.info/7000104757/86b6f7e1-d67c-44e4-a56c-b925dec424cc.mp3 +2025-04-15 09:18:44,731 - logging_config - INFO - Downloading audio file: https://bandu-resources.songy.info/7000104757/4a08c2e6-af40-49a7-9a52-b7cabb42d6f9.mp3 +2025-04-15 09:18:46,568 - logging_config - INFO - Downloading audio file: https://bandu-resources.songy.info/7000104757/74ce3b90-d47d-4cba-a36b-bf7ad9f78a9f.mp3 +2025-04-15 09:18:46,650 - logging_config - INFO - Downloading audio file: https://bandu-resources.songy.info/7000104757/dfd41e24-5afa-432d-9049-f49c94e88e2b.mp3 +2025-04-15 09:18:47,514 - logging_config - INFO - Downloading audio file: https://bandu-resources.songy.info/7000104757/b826b730-0330-49db-9058-fe787e38694f.mp3 +2025-04-15 09:18:51,274 - logging_config - INFO - Downloading audio file: https://bandu-resources.songy.info/7000104757/82f1d538-63a4-4170-81a5-cba09ded6d79.mp3 +2025-04-15 09:18:55,515 - logging_config - INFO - Downloading audio file: https://bandu-resources.songy.info/7000104757/667ec28f-e457-4a5c-a59d-6e411626cb16.mp3 +2025-04-15 09:18:55,564 - logging_config - INFO - Downloading audio file: https://bandu-resources.songy.info/7000104757/38216055-4cc8-4339-a5da-dd428fbddde9.mp3 +2025-04-15 09:18:58,354 - logging_config - INFO - Downloading audio file: https://bandu-resources.songy.info/7000104757/94af980e-02fd-4175-acd3-fcaf91b3e118.mp3 +2025-04-15 09:19:02,967 - logging_config - INFO - Downloading audio file: https://bandu-resources.songy.info/7000104757/d9f99925-70a4-4d74-9a47-0e54a4839eb3.mp3 +2025-04-15 09:19:04,053 - logging_config - INFO - Downloading audio file: https://bandu-resources.songy.info/7000104757/200ac8aa-068e-4d79-aeb7-346d19bf0c3a.mp3 +2025-04-15 09:19:05,210 - logging_config - INFO - Downloading audio file: https://bandu-resources.songy.info/7000104757/3f02652a-abb7-4697-8f70-a5c6e1bab585.mp3 +2025-04-15 09:19:06,711 - logging_config - INFO - Downloading audio file: https://bandu-resources.songy.info/7000104757/84ae903f-b706-493b-bc48-af925b2aa0e9.mp3 +2025-04-15 09:19:09,397 - logging_config - INFO - Downloading audio file: https://bandu-resources.songy.info/7000104757/02e40e46-e0db-4494-ad09-6f2c5f23681c.mp3 +2025-04-15 09:19:11,158 - logging_config - INFO - Downloading audio file: https://bandu-resources.songy.info/7000104757/8a0befda-7d9d-41f8-9239-8e8617057e63.mp3 +2025-04-15 09:19:11,841 - logging_config - INFO - Downloading audio file: https://bandu-resources.songy.info/7000104757/8216d093-efc8-4fa6-8412-eda6b5f7389e.mp3 +2025-04-15 09:19:12,312 - logging_config - INFO - Downloading audio file: https://bandu-resources.songy.info/7000104757/9c96b000-f2bc-487e-8a8f-37d9ee66ba42.mp3 +2025-04-15 09:19:13,409 - logging_config - INFO - Downloading audio file: https://bandu-resources.songy.info/7000104757/4406854f-350d-4065-8290-9a1295bed86b.mp3 +2025-04-15 09:19:17,074 - logging_config - INFO - Downloading audio file: https://bandu-resources.songy.info/7000104757/9f30124b-5b64-414a-8552-180b03345170.mp3 +2025-04-15 09:19:21,337 - logging_config - INFO - Downloading audio file: https://bandu-resources.songy.info/7000104757/d8ad04cd-203b-4aff-9f0b-4b7cee771c28.mp3 +2025-04-15 09:19:23,731 - logging_config - INFO - Downloading audio file: https://bandu-resources.songy.info/7000104757/b1de3908-c47b-455f-a8e6-48dcf91ef7a3.mp3 +2025-04-15 09:19:24,508 - logging_config - INFO - Downloading audio file: https://bandu-resources.songy.info/7000104757/9a027d99-e7fc-49ac-aa4b-0d7c2a0e9dc2.mp3 +2025-04-15 09:19:25,596 - logging_config - INFO - Downloading audio file: https://bandu-resources.songy.info/7000104757/7f177862-047b-48d2-b0d7-ffa22b9cee0c.mp3 +2025-04-15 09:19:26,372 - logging_config - INFO - Downloading audio file: https://bandu-resources.songy.info/7000104757/55cc39f0-8689-44d5-bbe5-de4c906991ac.mp3 +2025-04-15 09:19:28,113 - logging_config - INFO - Downloading audio file: https://bandu-resources.songy.info/7000104757/e9b6791c-98bf-4494-b33d-3c201d89bc4d.mp3 +2025-04-15 09:19:32,690 - logging_config - INFO - Downloading audio file: https://bandu-resources.songy.info/7000104757/0d83f121-5ba8-4c49-89c4-cea223e614e6.mp3 +2025-04-15 09:19:32,785 - logging_config - INFO - Downloading audio file: https://bandu-resources.songy.info/7000104757/ffb8af9b-5019-4711-8053-60b9dd0bc74d.mp3 +2025-04-15 09:19:39,704 - logging_config - INFO - Downloading audio file: https://bandu-resources.songy.info/7000104757/0d512d12-cb44-4bac-b193-482d515565c0.mp3 +2025-04-15 09:19:40,769 - logging_config - INFO - Downloading audio file: https://bandu-resources.songy.info/7000104757/36d859ae-f72b-4f61-af44-09e26c111c51.mp3 +2025-04-15 09:19:41,125 - logging_config - INFO - Downloading audio file: https://bandu-resources.songy.info/7000104757/8a3c9638-3bec-4480-beb5-aa8750c53d0c.mp3 +2025-04-15 09:19:41,396 - logging_config - INFO - Downloading audio file: https://bandu-resources.songy.info/7000104757/696dc853-03e3-4f9f-aca5-fbf61878cac3.mp3 +2025-04-15 09:19:44,673 - logging_config - INFO - Downloading audio file: https://bandu-resources.songy.info/7000104757/dfdc767f-758b-45ac-be17-8f79d11e7d00.mp3 +2025-04-15 09:19:45,792 - logging_config - INFO - Downloading audio file: https://bandu-resources.songy.info/7000104757/ef2fd751-dd21-4a11-abca-94a3f4831804.mp3 +2025-04-15 09:19:47,645 - logging_config - INFO - Downloading audio file: https://bandu-resources.songy.info/7000104757/849a03f8-5b9c-4ae7-a241-06b8f87b6310.mp3 +2025-04-15 09:19:51,341 - logging_config - INFO - Downloading audio file: https://bandu-resources.songy.info/7000104757/339421cb-a8e3-45cb-97c4-952af687ab97.mp3 +2025-04-15 09:19:51,492 - logging_config - INFO - Downloading audio file: https://bandu-resources.songy.info/7000104757/64d95060-2c36-4817-bfe0-aff363d3f543.mp3 +2025-04-15 09:19:52,917 - logging_config - INFO - Downloading audio file: https://bandu-resources.songy.info/7000104757/6997c09b-c9d7-4577-b19b-6ed5db8d37d6.mp3 +2025-04-15 09:19:55,470 - logging_config - INFO - Downloading audio file: https://bandu-resources.songy.info/7000104757/18afec44-9f06-46de-ab4b-ef62e901c935.mp3 +2025-04-15 09:19:58,265 - logging_config - INFO - Course 673 JSON file already exists, using local file. +2025-04-15 09:19:58,266 - logging_config - INFO - Reading JSON file: course/673/json/【定投故事第167期】富足人生社群,让我的人生方向越来越清晰.json +2025-04-15 09:19:58,267 - logging_config - INFO - Writing Markdown file: course/673/【定投故事第167期】富足人生社群,让我的人生方向越来越清晰_logseq.md +2025-04-15 09:19:58,268 - logging_config - INFO - 文本已存在,无需重复转换:audio_12973.mp3 +2025-04-15 09:19:58,268 - logging_config - INFO - 文本已存在,无需重复转换:audio_12976.mp3 +2025-04-15 09:19:58,268 - logging_config - INFO - 文本已存在,无需重复转换:audio_12975.mp3 +2025-04-15 09:19:58,268 - logging_config - INFO - 文本已存在,无需重复转换:audio_12974.mp3 +2025-04-15 09:19:58,268 - logging_config - INFO - 文本已存在,无需重复转换:audio_12972.mp3 +2025-04-15 09:19:58,268 - logging_config - INFO - 文本已存在,无需重复转换:audio_12980.mp3 +2025-04-15 09:19:58,269 - logging_config - INFO - 文本已存在,无需重复转换:audio_12981.mp3 +2025-04-15 09:19:58,270 - logging_config - INFO - 文本已存在,无需重复转换:audio_12982.mp3 +2025-04-15 09:19:58,270 - logging_config - INFO - 文本已存在,无需重复转换:audio_12983.mp3 +2025-04-15 09:19:58,271 - logging_config - INFO - 文本已存在,无需重复转换:audio_12984.mp3 +2025-04-15 09:19:58,271 - logging_config - INFO - 文本已存在,无需重复转换:audio_12986.mp3 +2025-04-15 09:19:58,271 - logging_config - INFO - 文本已存在,无需重复转换:audio_12985.mp3 +2025-04-15 09:19:58,271 - logging_config - INFO - 文本已存在,无需重复转换:audio_12989.mp3 +2025-04-15 09:19:58,271 - logging_config - INFO - 文本已存在,无需重复转换:audio_12987.mp3 +2025-04-15 09:19:58,271 - logging_config - INFO - 文本已存在,无需重复转换:audio_12988.mp3 +2025-04-15 09:19:58,271 - logging_config - INFO - 文本已存在,无需重复转换:audio_12990.mp3 +2025-04-15 09:19:58,272 - logging_config - INFO - 文本已存在,无需重复转换:audio_12994.mp3 +2025-04-15 09:19:58,272 - logging_config - INFO - 文本已存在,无需重复转换:audio_12995.mp3 +2025-04-15 09:19:58,272 - logging_config - INFO - 文本已存在,无需重复转换:audio_12997.mp3 +2025-04-15 09:19:58,272 - logging_config - INFO - 文本已存在,无需重复转换:audio_12996.mp3 +2025-04-15 09:19:58,272 - logging_config - INFO - 文本已存在,无需重复转换:audio_12998.mp3 +2025-04-15 09:19:58,272 - logging_config - INFO - 文本已存在,无需重复转换:audio_12999.mp3 +2025-04-15 09:19:58,273 - logging_config - INFO - 文本已存在,无需重复转换:audio_13000.mp3 +2025-04-15 09:19:58,273 - logging_config - INFO - 文本已存在,无需重复转换:audio_13001.mp3 +2025-04-15 09:19:58,273 - logging_config - INFO - 文本已存在,无需重复转换:audio_13002.mp3 +2025-04-15 09:19:58,273 - logging_config - INFO - 文本已存在,无需重复转换:audio_13003.mp3 +2025-04-15 09:19:58,273 - logging_config - INFO - 文本已存在,无需重复转换:audio_13004.mp3 +2025-04-15 09:19:58,274 - logging_config - INFO - 文本已存在,无需重复转换:audio_13005.mp3 +2025-04-15 09:19:58,274 - logging_config - INFO - 文本已存在,无需重复转换:audio_13006.mp3 +2025-04-15 09:19:58,274 - logging_config - INFO - 文本已存在,无需重复转换:audio_13007.mp3 +2025-04-15 09:19:58,274 - logging_config - INFO - 文本已存在,无需重复转换:audio_13008.mp3 +2025-04-15 09:19:58,274 - logging_config - INFO - 文本已存在,无需重复转换:audio_13009.mp3 +2025-04-15 09:19:58,275 - logging_config - INFO - 文本已存在,无需重复转换:audio_13014.mp3 +2025-04-15 09:19:58,275 - logging_config - INFO - 文本已存在,无需重复转换:audio_13015.mp3 +2025-04-15 09:19:58,276 - logging_config - INFO - 文本已存在,无需重复转换:audio_13016.mp3 +2025-04-15 09:19:58,276 - logging_config - INFO - 文本已存在,无需重复转换:audio_13017.mp3 +2025-04-15 09:19:58,276 - logging_config - INFO - 文本已存在,无需重复转换:audio_13018.mp3 +2025-04-15 09:19:58,276 - logging_config - INFO - 文本已存在,无需重复转换:audio_13022.mp3 +2025-04-15 09:19:58,276 - logging_config - INFO - 文本已存在,无需重复转换:audio_13019.mp3 +2025-04-15 09:19:58,276 - logging_config - INFO - 文本已存在,无需重复转换:audio_13020.mp3 +2025-04-15 09:19:58,277 - logging_config - INFO - 文本已存在,无需重复转换:audio_13023.mp3 +2025-04-15 09:19:58,277 - logging_config - INFO - 文本已存在,无需重复转换:audio_13027.mp3 +2025-04-15 09:19:58,277 - logging_config - INFO - 文本已存在,无需重复转换:audio_13028.mp3 +2025-04-15 09:19:58,277 - logging_config - INFO - 文本已存在,无需重复转换:audio_13029.mp3 +2025-04-15 09:19:58,277 - logging_config - INFO - 文本已存在,无需重复转换:audio_13024.mp3 +2025-04-15 09:19:58,278 - logging_config - INFO - Processing course ID: 674 +2025-04-15 09:19:58,278 - logging_config - INFO - Course 674 JSON file already exists, using local file. +2025-04-15 09:19:58,278 - logging_config - INFO - Reading JSON file: course/674/json/【定投故事第168期】从固守型人格到进取型人格,我的成长蜕变之路.json +2025-04-15 09:19:58,278 - logging_config - INFO - Writing Markdown file: course/674/【定投故事第168期】从固守型人格到进取型人格,我的成长蜕变之路.md +2025-04-15 09:19:58,279 - logging_config - INFO - Downloading audio file: https://bandu-resources.songy.info/7000104757/1c9f92d7-8860-498c-8809-c5b864c5c241.mp3 +2025-04-15 09:19:58,280 - logging_config - INFO - Downloading audio file: https://bandu-resources.songy.info/7000104757/dc74d410-fe8a-4bc5-a9a1-dc1b50760e85.mp3 +2025-04-15 09:19:58,280 - logging_config - INFO - Downloading audio file: https://bandu-resources.songy.info/7000104757/f8da1934-ae9d-4aa9-977e-941bd9e275bf.mp3 +2025-04-15 09:19:58,280 - logging_config - INFO - Downloading audio file: https://bandu-resources.songy.info/7000104757/86cfa2d5-33b1-4d8c-91c2-e3b5d0adf4d9.mp3 +2025-04-15 09:19:58,280 - logging_config - INFO - Downloading audio file: https://bandu-resources.songy.info/7000104757/72e25b35-7bae-4fc3-baf9-5172031504a8.mp3 +2025-04-15 09:20:00,638 - logging_config - INFO - Downloading audio file: https://bandu-resources.songy.info/7000104757/12a030a8-131b-4cff-9d29-2c5542b14f9d.mp3 +2025-04-15 09:20:03,451 - logging_config - INFO - Downloading audio file: https://bandu-resources.songy.info/7000104757/25c6f004-84b1-41aa-ad1f-13e868889328.mp3 +2025-04-15 09:20:03,802 - logging_config - INFO - Downloading audio file: https://bandu-resources.songy.info/7000104757/0b8056d3-47e8-40fe-b0df-c9a36e55d6ee.mp3 +2025-04-15 09:20:12,068 - logging_config - INFO - Downloading audio file: https://bandu-resources.songy.info/7000104757/0ba8ee99-8848-4b70-b2c0-714c6babe981.mp3 +2025-04-15 09:20:12,120 - logging_config - INFO - Downloading audio file: https://bandu-resources.songy.info/7000104757/d8d9bc33-bf3e-4b4f-9257-fedf46574107.mp3 +2025-04-15 09:20:12,659 - logging_config - INFO - Downloading audio file: https://bandu-resources.songy.info/7000104757/37565444-39d2-4651-ad06-444e9a265fc5.mp3 +2025-04-15 09:20:14,772 - logging_config - INFO - Downloading audio file: https://bandu-resources.songy.info/7000104757/2446ac15-f69e-42fa-b9e8-454ce1200cbe.mp3 +2025-04-15 09:20:14,819 - logging_config - INFO - Downloading audio file: https://bandu-resources.songy.info/7000104757/f9fdb1c3-1849-4823-b4fe-61a2e6bf336a.mp3 +2025-04-15 09:20:17,390 - logging_config - INFO - Downloading audio file: https://bandu-resources.songy.info/7000104757/33562b06-426d-44dc-8068-0e564393830d.mp3 +2025-04-15 09:20:19,563 - logging_config - INFO - Downloading audio file: https://bandu-resources.songy.info/7000104757/b6d63403-a16a-4a4a-ab26-8666f5eb3a1d.mp3 +2025-04-15 09:20:19,756 - logging_config - INFO - Downloading audio file: https://bandu-resources.songy.info/7000104757/39ce51ba-8eb8-4b2a-aee2-81edfed1b8bd.mp3 +2025-04-15 09:20:20,530 - logging_config - INFO - Downloading audio file: https://bandu-resources.songy.info/7000104757/4c66e41c-c03d-49fb-80c2-0b5c095e4b6e.mp3 +2025-04-15 09:20:22,596 - logging_config - INFO - Downloading audio file: https://bandu-resources.songy.info/7000104757/3ca659aa-80d2-4a04-8e44-1a95a43c49c9.mp3 +2025-04-15 09:20:25,872 - logging_config - INFO - Downloading audio file: https://bandu-resources.songy.info/7000104757/a0bce9f0-a130-4c3c-ab67-97e437ffd6b1.mp3 +2025-04-15 09:20:28,365 - logging_config - INFO - Downloading audio file: https://bandu-resources.songy.info/7000104757/bc15b181-9e29-4e2c-8b56-77766c556608.mp3 +2025-04-15 09:20:28,590 - logging_config - INFO - Downloading audio file: https://bandu-resources.songy.info/7000104757/97368108-5682-4124-93cc-6ed3d082c404.mp3 +2025-04-15 09:20:30,308 - logging_config - INFO - Downloading audio file: https://bandu-resources.songy.info/7000104757/56fb08d1-32fb-4025-92d3-0253a8d8a49d.mp3 +2025-04-15 09:20:30,399 - logging_config - INFO - Downloading audio file: https://bandu-resources.songy.info/7000104757/496975a0-ddaa-4488-a1d5-13b324012518.mp3 +2025-04-15 09:20:33,627 - logging_config - INFO - Downloading audio file: https://bandu-resources.songy.info/7000104757/4a5a5ec1-5abb-4561-9abb-7e0e4dadcc5b.mp3 +2025-04-15 09:20:35,891 - logging_config - INFO - Downloading audio file: https://bandu-resources.songy.info/7000104757/8b2c736b-fae7-44fa-bfeb-3b33ca1784e8.mp3 +2025-04-15 09:20:35,943 - logging_config - INFO - Downloading audio file: https://bandu-resources.songy.info/7000104757/49615f84-77d9-4ccb-adea-b681201e4b94.mp3 +2025-04-15 09:20:38,661 - logging_config - INFO - Downloading audio file: https://bandu-resources.songy.info/7000104757/aa3984dc-17af-48c1-b3f7-baa400c664a7.mp3 +2025-04-15 09:20:41,469 - logging_config - INFO - Downloading audio file: https://bandu-resources.songy.info/7000104757/815c1d6c-6928-4882-9d51-98cb91d18434.mp3 +2025-04-15 09:20:44,664 - logging_config - INFO - Downloading audio file: https://bandu-resources.songy.info/7000104757/c7469554-0dd7-482b-b64b-9c282caa99c0.mp3 +2025-04-15 09:20:44,915 - logging_config - INFO - Downloading audio file: https://bandu-resources.songy.info/7000104757/08c6e6c0-6901-473c-b488-2270a47cf0e2.mp3 +2025-04-15 09:20:47,154 - logging_config - INFO - Downloading audio file: https://bandu-resources.songy.info/7000104757/6f8cb93c-2138-405b-bab3-aa9176450d89.mp3 +2025-04-15 09:20:50,053 - logging_config - INFO - Downloading audio file: https://bandu-resources.songy.info/7000104757/e0b36698-cbfe-42ab-8ca4-593185d4896c.mp3 +2025-04-15 09:20:52,695 - logging_config - INFO - Downloading audio file: https://bandu-resources.songy.info/7000104757/cba83ec1-7367-4e17-beee-6287a18f1d4d.mp3 +2025-04-15 09:20:56,895 - logging_config - INFO - Downloading audio file: https://bandu-resources.songy.info/7000104757/0ab32043-9f1c-4cb4-8a07-8d9521a2ad16.mp3 +2025-04-15 09:20:56,986 - logging_config - INFO - Downloading audio file: https://bandu-resources.songy.info/7000104757/834a34ab-3f5e-49c9-b801-28597feb9027.mp3 +2025-04-15 09:20:57,068 - logging_config - INFO - Downloading audio file: https://bandu-resources.songy.info/7000104757/9009c174-512a-4d32-ab00-bc232f7b17d7.mp3 +2025-04-15 09:20:59,411 - logging_config - INFO - Downloading audio file: https://bandu-resources.songy.info/7000104757/72b63142-3aa4-41e0-8c2d-2c0ee08ea682.mp3 +2025-04-15 09:21:03,305 - logging_config - INFO - Downloading audio file: https://bandu-resources.songy.info/7000104757/a8e11a08-f0d1-418d-990a-70d6bdfd23b5.mp3 +2025-04-15 09:21:07,486 - logging_config - INFO - Course 674 JSON file already exists, using local file. +2025-04-15 09:21:07,487 - logging_config - INFO - Reading JSON file: course/674/json/【定投故事第168期】从固守型人格到进取型人格,我的成长蜕变之路.json +2025-04-15 09:21:07,487 - logging_config - INFO - Writing Markdown file: course/674/【定投故事第168期】从固守型人格到进取型人格,我的成长蜕变之路_logseq.md +2025-04-15 09:21:07,489 - logging_config - INFO - 文本已存在,无需重复转换:audio_13032.mp3 +2025-04-15 09:21:07,490 - logging_config - INFO - 文本已存在,无需重复转换:audio_13035.mp3 +2025-04-15 09:21:07,490 - logging_config - INFO - 文本已存在,无需重复转换:audio_13038.mp3 +2025-04-15 09:21:07,491 - logging_config - INFO - 文本已存在,无需重复转换:audio_13040.mp3 +2025-04-15 09:21:07,491 - logging_config - INFO - 文本已存在,无需重复转换:audio_13039.mp3 +2025-04-15 09:21:07,491 - logging_config - INFO - 文本已存在,无需重复转换:audio_13042.mp3 +2025-04-15 09:21:07,491 - logging_config - INFO - 文本已存在,无需重复转换:audio_13041.mp3 +2025-04-15 09:21:07,493 - logging_config - INFO - 文本已存在,无需重复转换:audio_13044.mp3 +2025-04-15 09:21:07,493 - logging_config - INFO - 文本已存在,无需重复转换:audio_13046.mp3 +2025-04-15 09:21:07,493 - logging_config - INFO - 文本已存在,无需重复转换:audio_13047.mp3 +2025-04-15 09:21:07,493 - logging_config - INFO - 文本已存在,无需重复转换:audio_13043.mp3 +2025-04-15 09:21:07,493 - logging_config - INFO - 文本已存在,无需重复转换:audio_13048.mp3 +2025-04-15 09:21:07,494 - logging_config - INFO - 文本已存在,无需重复转换:audio_13049.mp3 +2025-04-15 09:21:07,494 - logging_config - INFO - 文本已存在,无需重复转换:audio_13050.mp3 +2025-04-15 09:21:07,494 - logging_config - INFO - 文本已存在,无需重复转换:audio_13053.mp3 +2025-04-15 09:21:07,494 - logging_config - INFO - 文本已存在,无需重复转换:audio_13052.mp3 +2025-04-15 09:21:07,495 - logging_config - INFO - 文本已存在,无需重复转换:audio_13051.mp3 +2025-04-15 09:21:07,495 - logging_config - INFO - 文本已存在,无需重复转换:audio_13055.mp3 +2025-04-15 09:21:07,495 - logging_config - INFO - 文本已存在,无需重复转换:audio_13054.mp3 +2025-04-15 09:21:07,496 - logging_config - INFO - 文本已存在,无需重复转换:audio_13056.mp3 +2025-04-15 09:21:07,496 - logging_config - INFO - 文本已存在,无需重复转换:audio_13059.mp3 +2025-04-15 09:21:07,496 - logging_config - INFO - 文本已存在,无需重复转换:audio_13057.mp3 +2025-04-15 09:21:07,497 - logging_config - INFO - 文本已存在,无需重复转换:audio_13061.mp3 +2025-04-15 09:21:07,497 - logging_config - INFO - 文本已存在,无需重复转换:audio_13058.mp3 +2025-04-15 09:21:07,497 - logging_config - INFO - 文本已存在,无需重复转换:audio_13062.mp3 +2025-04-15 09:21:07,497 - logging_config - INFO - 文本已存在,无需重复转换:audio_13063.mp3 +2025-04-15 09:21:07,497 - logging_config - INFO - 文本已存在,无需重复转换:audio_13064.mp3 +2025-04-15 09:21:07,498 - logging_config - INFO - 文本已存在,无需重复转换:audio_13065.mp3 +2025-04-15 09:21:07,498 - logging_config - INFO - 文本已存在,无需重复转换:audio_13069.mp3 +2025-04-15 09:21:07,499 - logging_config - INFO - 文本已存在,无需重复转换:audio_13067.mp3 +2025-04-15 09:21:07,499 - logging_config - INFO - 文本已存在,无需重复转换:audio_13066.mp3 +2025-04-15 09:21:07,499 - logging_config - INFO - 文本已存在,无需重复转换:audio_13068.mp3 +2025-04-15 09:21:07,499 - logging_config - INFO - 文本已存在,无需重复转换:audio_13070.mp3 +2025-04-15 09:21:07,500 - logging_config - INFO - 文本已存在,无需重复转换:audio_13071.mp3 +2025-04-15 09:21:07,500 - logging_config - INFO - 文本已存在,无需重复转换:audio_13072.mp3 +2025-04-15 09:21:07,500 - logging_config - INFO - 文本已存在,无需重复转换:audio_13073.mp3 +2025-04-15 09:21:07,501 - logging_config - INFO - 文本已存在,无需重复转换:audio_13074.mp3 +2025-04-15 09:21:07,501 - logging_config - INFO - 文本已存在,无需重复转换:audio_13076.mp3 +2025-04-15 09:21:07,501 - logging_config - INFO - Processing course ID: 675 +2025-04-15 09:21:07,501 - logging_config - INFO - Course 675 JSON file already exists, using local file. +2025-04-15 09:21:07,502 - logging_config - INFO - Reading JSON file: course/675/json/2025.04.09.心理按摩还是要做的!.json +2025-04-15 09:21:07,502 - logging_config - INFO - Writing Markdown file: course/675/2025.04.09.心理按摩还是要做的!.md +2025-04-15 09:21:07,503 - logging_config - INFO - Downloading audio file: https://bandu-resources.songy.info/7000104757/410e9cef-9a67-4303-882d-724d2a9d36be.mp3 +2025-04-15 09:21:07,504 - logging_config - INFO - Downloading audio file: https://bandu-resources.songy.info/7000104757/b27e4685-e046-4db7-af8f-491d6db59259.mp3 +2025-04-15 09:21:07,504 - logging_config - INFO - Downloading audio file: https://bandu-resources.songy.info/7000104757/0e7dd164-6966-4476-a2a8-95842063e5e1.mp3 +2025-04-15 09:21:07,504 - logging_config - INFO - Downloading audio file: https://bandu-resources.songy.info/7000104757/d9df4ee6-6feb-49e1-998a-b41b3a97dd78.mp3 +2025-04-15 09:21:07,505 - logging_config - INFO - Downloading audio file: https://bandu-resources.songy.info/7000104757/03949276-46f8-4f9c-a548-4cbc70e95055.mp3 +2025-04-15 09:21:12,997 - logging_config - INFO - Downloading audio file: https://bandu-resources.songy.info/7000104757/31e4c32c-7eaf-4eb1-b983-782674b315bb.mp3 +2025-04-15 09:21:15,388 - logging_config - INFO - Downloading audio file: https://bandu-resources.songy.info/7000104757/1704f1e2-4d2d-4456-9fd3-1c7f24dc644e.mp3 +2025-04-15 09:21:16,927 - logging_config - INFO - Downloading audio file: https://bandu-resources.songy.info/7000104757/9f9edc1d-f1ba-45d3-9177-b9b33141551a.mp3 +2025-04-15 09:21:18,364 - logging_config - INFO - Downloading audio file: https://bandu-resources.songy.info/7000104757/807bac7a-8116-4b2c-b07b-b2a2f83a5e53.mp3 +2025-04-15 09:21:18,637 - logging_config - INFO - Downloading audio file: https://bandu-resources.songy.info/7000104757/5eabafe7-c805-4639-9b14-bb6a942ec7a1.mp3 +2025-04-15 09:21:18,870 - logging_config - INFO - Downloading audio file: https://bandu-resources.songy.info/7000104757/ee7fd833-86f9-4411-ba54-581fa32164da.mp3 +2025-04-15 09:21:19,053 - logging_config - INFO - Downloading audio file: https://bandu-resources.songy.info/7000104757/f61ee407-3915-4917-be2e-1802033cbdd0.mp3 +2025-04-15 09:21:22,421 - logging_config - INFO - Downloading audio file: https://bandu-resources.songy.info/7000104757/bd52ccd5-dd76-4095-b936-737bad058862.mp3 +2025-04-15 09:21:26,132 - logging_config - INFO - Downloading audio file: https://bandu-resources.songy.info/7000104757/ff86cf86-4509-438a-9de3-154cea9889cd.mp3 +2025-04-15 09:21:26,855 - logging_config - INFO - Downloading audio file: https://bandu-resources.songy.info/7000104757/1446b810-d08c-4879-8349-66a570aab962.mp3 +2025-04-15 09:21:33,099 - logging_config - INFO - Course 675 JSON file already exists, using local file. +2025-04-15 09:21:33,100 - logging_config - INFO - Reading JSON file: course/675/json/2025.04.09.心理按摩还是要做的!.json +2025-04-15 09:21:33,100 - logging_config - INFO - Writing Markdown file: course/675/2025.04.09.心理按摩还是要做的!_logseq.md +2025-04-15 09:21:33,101 - logging_config - INFO - 文本已存在,无需重复转换:audio_13078.mp3 +2025-04-15 09:21:33,102 - logging_config - INFO - 文本已存在,无需重复转换:audio_13077.mp3 +2025-04-15 09:21:33,102 - logging_config - INFO - 文本已存在,无需重复转换:audio_13081.mp3 +2025-04-15 09:21:33,102 - logging_config - INFO - 文本已存在,无需重复转换:audio_13080.mp3 +2025-04-15 09:21:33,103 - logging_config - INFO - 文本已存在,无需重复转换:audio_13082.mp3 +2025-04-15 09:21:33,103 - logging_config - INFO - 文本已存在,无需重复转换:audio_13084.mp3 +2025-04-15 09:21:33,103 - logging_config - INFO - 文本已存在,无需重复转换:audio_13083.mp3 +2025-04-15 09:21:33,103 - logging_config - INFO - 文本已存在,无需重复转换:audio_13086.mp3 +2025-04-15 09:21:33,104 - logging_config - INFO - 文本已存在,无需重复转换:audio_13085.mp3 +2025-04-15 09:21:33,104 - logging_config - INFO - 文本已存在,无需重复转换:audio_13087.mp3 +2025-04-15 09:21:33,104 - logging_config - INFO - 文本已存在,无需重复转换:audio_13088.mp3 +2025-04-15 09:21:33,104 - logging_config - INFO - 文本已存在,无需重复转换:audio_13090.mp3 +2025-04-15 09:21:33,105 - logging_config - INFO - 文本已存在,无需重复转换:audio_13091.mp3 +2025-04-15 09:21:33,105 - logging_config - INFO - 文本已存在,无需重复转换:audio_13089.mp3 +2025-04-15 09:21:33,105 - logging_config - INFO - 文本已存在,无需重复转换:audio_13092.mp3 +2025-04-15 09:21:33,106 - logging_config - INFO - Processing course ID: 676 +2025-04-15 09:21:33,106 - logging_config - INFO - Course 676 JSON file already exists, using local file. +2025-04-15 09:21:33,106 - logging_config - INFO - Reading JSON file: course/676/json/第36期茶话会 如何通过AI提高场外赚钱能力?.json +2025-04-15 09:21:33,106 - logging_config - INFO - Writing Markdown file: course/676/第36期茶话会 如何通过AI提高场外赚钱能力?.md +2025-04-15 09:21:33,107 - logging_config - INFO - Course 676 JSON file already exists, using local file. +2025-04-15 09:21:33,107 - logging_config - INFO - Reading JSON file: course/676/json/第36期茶话会 如何通过AI提高场外赚钱能力?.json +2025-04-15 09:21:33,107 - logging_config - INFO - Writing Markdown file: course/676/第36期茶话会 如何通过AI提高场外赚钱能力?_logseq.md +2025-04-15 09:21:33,107 - logging_config - INFO - Processing course ID: 677 +2025-04-15 09:21:33,107 - logging_config - INFO - Course 677 JSON file already exists, using local file. +2025-04-15 09:21:33,108 - logging_config - INFO - Reading JSON file: course/677/json/【定投故事第169期】:全方位定投,让我走上了追逐梦想之路.json +2025-04-15 09:21:33,109 - logging_config - INFO - Writing Markdown file: course/677/【定投故事第169期】:全方位定投,让我走上了追逐梦想之路.md +2025-04-15 09:21:33,110 - logging_config - INFO - Downloading audio file: https://bandu-resources.songy.info/7000104757/3387069e-dc7c-4934-96c0-861d8f035df2.mp3 +2025-04-15 09:21:33,110 - logging_config - INFO - Downloading audio file: https://bandu-resources.songy.info/7000104757/5b57a17f-9414-4be2-a6b4-1adbac155a56.mp3 +2025-04-15 09:21:33,111 - logging_config - INFO - Downloading audio file: https://bandu-resources.songy.info/7000104757/ad3762fd-18c8-450e-9747-6e4afd84add7.mp3 +2025-04-15 09:21:33,112 - logging_config - INFO - Downloading audio file: https://bandu-resources.songy.info/7000104757/eb04dc70-4d31-4488-ad90-6ff9f21c899b.mp3 +2025-04-15 09:21:33,112 - logging_config - INFO - Downloading audio file: https://bandu-resources.songy.info/7000104757/5616e223-de76-4f92-9762-1738665aeb36.mp3 +2025-04-15 09:21:39,058 - logging_config - INFO - Downloading audio file: https://bandu-resources.songy.info/7000104757/fb69517a-1fbd-404f-9d09-ff6f1eaa3e03.mp3 +2025-04-15 09:21:39,222 - logging_config - INFO - Downloading audio file: https://bandu-resources.songy.info/7000104757/e86a750e-ac7b-4471-b944-ce164970a248.mp3 +2025-04-15 09:21:39,713 - logging_config - INFO - Downloading audio file: https://bandu-resources.songy.info/7000104757/9dab4a31-6492-4179-8489-90f5cd137f7c.mp3 +2025-04-15 09:21:41,927 - logging_config - INFO - Downloading audio file: https://bandu-resources.songy.info/7000104757/df136285-9628-48c6-98de-de53784bdb3c.mp3 +2025-04-15 09:21:41,998 - logging_config - INFO - Downloading audio file: https://bandu-resources.songy.info/7000104757/b64c9caf-aa80-4e16-ae65-54e0627c8ae5.mp3 +2025-04-15 09:21:42,213 - logging_config - INFO - Downloading audio file: https://bandu-resources.songy.info/7000104757/9c568612-5063-42df-b2e2-e987f262ba26.mp3 +2025-04-15 09:21:44,979 - logging_config - INFO - Downloading audio file: https://bandu-resources.songy.info/7000104757/a1ee973c-9445-496c-a754-e053814d20e2.mp3 +2025-04-15 09:21:47,370 - logging_config - INFO - Downloading audio file: https://bandu-resources.songy.info/7000104757/e98be94b-b757-4761-966a-137f4e401f59.mp3 +2025-04-15 09:21:47,809 - logging_config - INFO - Downloading audio file: https://bandu-resources.songy.info/7000104757/a86770f0-a978-4123-b2dd-e44e54ff1996.mp3 +2025-04-15 09:21:50,115 - logging_config - INFO - Downloading audio file: https://bandu-resources.songy.info/7000104757/2b946f80-862d-4adb-9a67-2352dd1b7ce0.mp3 +2025-04-15 09:21:52,014 - logging_config - INFO - Downloading audio file: https://bandu-resources.songy.info/7000104757/900ccf9c-3902-49f8-a7a7-d3c57c4ffc53.mp3 +2025-04-15 09:21:52,908 - logging_config - INFO - Downloading audio file: https://bandu-resources.songy.info/7000104757/8abb2ca6-f477-4174-968a-f76f730ce272.mp3 +2025-04-15 09:21:53,212 - logging_config - INFO - Downloading audio file: https://bandu-resources.songy.info/7000104757/17a608a1-022a-4c51-af94-ea720a8db7cc.mp3 +2025-04-15 09:21:55,143 - logging_config - INFO - Downloading audio file: https://bandu-resources.songy.info/7000104757/4ff85034-b4f9-43bf-bc4d-afc2b3c44e0b.mp3 +2025-04-15 09:21:55,331 - logging_config - INFO - Downloading audio file: https://bandu-resources.songy.info/7000104757/f745066e-61a4-47a8-a3f1-358183fb1ad7.mp3 +2025-04-15 09:21:56,076 - logging_config - INFO - Downloading audio file: https://bandu-resources.songy.info/7000104757/433a39ed-ae38-4189-909c-deb6fc781d6f.mp3 +2025-04-15 09:21:58,029 - logging_config - INFO - Downloading audio file: https://bandu-resources.songy.info/7000104757/bc01ceb8-7a26-4940-97cb-9c05ff050946.mp3 +2025-04-15 09:21:58,921 - logging_config - INFO - Downloading audio file: https://bandu-resources.songy.info/7000104757/bfd1b9d2-a5a3-485e-a4f3-6d361323c19b.mp3 +2025-04-15 09:21:59,773 - logging_config - INFO - Downloading audio file: https://bandu-resources.songy.info/7000104757/d7ceadb5-3093-4cfa-8a8a-d5b0ee6e859f.mp3 +2025-04-15 09:22:00,639 - logging_config - INFO - Downloading audio file: https://bandu-resources.songy.info/7000104757/ff71bd8f-04d0-4539-8a87-982dcf0d59d8.mp3 +2025-04-15 09:22:00,795 - logging_config - INFO - Downloading audio file: https://bandu-resources.songy.info/7000104757/1ba95394-46ce-488b-b36e-6be3536c9d11.mp3 +2025-04-15 09:22:04,099 - logging_config - INFO - Downloading audio file: https://bandu-resources.songy.info/7000104757/f213f5ba-0c13-47ef-a0fe-1030898a9249.mp3 +2025-04-15 09:22:04,855 - logging_config - INFO - Downloading audio file: https://bandu-resources.songy.info/7000104757/f3c6ecc5-12eb-44e3-a5ae-81e4c9e12c99.mp3 +2025-04-15 09:22:05,757 - logging_config - INFO - Downloading audio file: https://bandu-resources.songy.info/7000104757/5d0a8862-0f52-4cfa-acd7-262e0fe42459.mp3 +2025-04-15 09:22:08,284 - logging_config - INFO - Downloading audio file: https://bandu-resources.songy.info/7000104757/a7756605-4358-401d-995b-ff0be121ee91.mp3 +2025-04-15 09:22:08,357 - logging_config - INFO - Downloading audio file: https://bandu-resources.songy.info/7000104757/e2188ce0-035d-4b24-9c3f-ed6da4b0bdff.mp3 +2025-04-15 09:22:09,446 - logging_config - INFO - Downloading audio file: https://bandu-resources.songy.info/7000104757/2ec70875-41ba-4c6b-a536-9ba165f06f17.mp3 +2025-04-15 09:22:11,157 - logging_config - INFO - Downloading audio file: https://bandu-resources.songy.info/7000104757/f3ec80dc-5e1c-40f9-997e-66ec288fd7b9.mp3 +2025-04-15 09:22:11,399 - logging_config - INFO - Downloading audio file: https://bandu-resources.songy.info/7000104757/0edbbd91-ab05-4b47-a9b5-6f2a24f8081d.mp3 +2025-04-15 09:22:13,969 - logging_config - INFO - Downloading audio file: https://bandu-resources.songy.info/7000104757/09b955be-b8e7-4575-b34b-fcdc7188a43a.mp3 +2025-04-15 09:22:14,558 - logging_config - INFO - Downloading audio file: https://bandu-resources.songy.info/7000104757/f2908b08-1213-4adc-b59a-1e167d66ed0a.mp3 +2025-04-15 09:22:14,989 - logging_config - INFO - Downloading audio file: https://bandu-resources.songy.info/7000104757/46749592-07d9-4fd7-855e-54240dbb60b9.mp3 +2025-04-15 09:22:16,564 - logging_config - INFO - Downloading audio file: https://bandu-resources.songy.info/7000104757/a9ebfbd7-3663-499e-9824-7c1830e0c15b.mp3 +2025-04-15 09:22:16,826 - logging_config - INFO - Downloading audio file: https://bandu-resources.songy.info/7000104757/3a8bca53-3e3c-40e0-a839-cbb73705f9c3.mp3 +2025-04-15 09:22:18,298 - logging_config - INFO - Downloading audio file: https://bandu-resources.songy.info/7000104757/5bd26651-6be6-4790-985e-b0a221290086.mp3 +2025-04-15 09:22:18,938 - logging_config - INFO - Downloading audio file: https://bandu-resources.songy.info/7000104757/e7700fd7-60bb-4bc8-9d2c-21c20815b4bb.mp3 +2025-04-15 09:22:21,957 - logging_config - INFO - Downloading audio file: https://bandu-resources.songy.info/7000104757/764b4d24-0cf7-41d3-bcac-426260aca89b.mp3 +2025-04-15 09:22:22,157 - logging_config - INFO - Downloading audio file: https://bandu-resources.songy.info/7000104757/cd20cc66-4d72-4186-9a7b-60759c5539a6.mp3 +2025-04-15 09:22:23,748 - logging_config - INFO - Downloading audio file: https://bandu-resources.songy.info/7000104757/2a86181c-1a3f-4849-8a26-f570b794b839.mp3 +2025-04-15 09:22:24,962 - logging_config - INFO - Downloading audio file: https://bandu-resources.songy.info/7000104757/ca18e1d8-c7ff-4cc4-893b-8a13d8b065f1.mp3 +2025-04-15 09:22:25,080 - logging_config - INFO - Downloading audio file: https://bandu-resources.songy.info/7000104757/18962daa-8b27-493d-b03b-bbfb65f0138e.mp3 +2025-04-15 09:22:26,722 - logging_config - INFO - Downloading audio file: https://bandu-resources.songy.info/7000104757/093e162e-79af-48a0-afa1-2e0ab9ce07f1.mp3 +2025-04-15 09:22:31,491 - logging_config - INFO - Downloading audio file: https://bandu-resources.songy.info/7000104757/84aebc6e-22e4-405b-877a-00a6e64959f0.mp3 +2025-04-15 09:22:31,803 - logging_config - INFO - Downloading audio file: https://bandu-resources.songy.info/7000104757/7578c605-78bd-4f4b-a2a6-64880b6de1cc.mp3 +2025-04-15 09:22:32,770 - logging_config - INFO - Downloading audio file: https://bandu-resources.songy.info/7000104757/6915a1be-a7fd-4003-8595-80d017b766a0.mp3 +2025-04-15 09:22:34,341 - logging_config - INFO - Downloading audio file: https://bandu-resources.songy.info/7000104757/cbd8c6d2-6648-48e4-a265-7702aaca15af.mp3 +2025-04-15 09:22:34,784 - logging_config - INFO - Downloading audio file: https://bandu-resources.songy.info/7000104757/f022fef5-df47-44c6-9472-4903f9829187.mp3 +2025-04-15 09:22:35,426 - logging_config - INFO - Downloading audio file: https://bandu-resources.songy.info/7000104757/58238cf7-c518-4edb-a38f-f45bf1ab8bba.mp3 +2025-04-15 09:22:37,179 - logging_config - INFO - Downloading audio file: https://bandu-resources.songy.info/7000104757/b14ae74c-bf5a-46de-82dc-a731ab3cbdc2.mp3 +2025-04-15 09:22:37,745 - logging_config - INFO - Downloading audio file: https://bandu-resources.songy.info/7000104757/fdfdf5d2-0fbf-4ecf-88fa-bd7718a25735.mp3 +2025-04-15 09:22:41,619 - logging_config - INFO - Course 677 JSON file already exists, using local file. +2025-04-15 09:22:41,620 - logging_config - INFO - Reading JSON file: course/677/json/【定投故事第169期】:全方位定投,让我走上了追逐梦想之路.json +2025-04-15 09:22:41,621 - logging_config - INFO - Writing Markdown file: course/677/【定投故事第169期】:全方位定投,让我走上了追逐梦想之路_logseq.md +2025-04-15 09:22:41,622 - logging_config - INFO - 文本已存在,无需重复转换:audio_13097.mp3 +2025-04-15 09:22:41,622 - logging_config - INFO - 文本已存在,无需重复转换:audio_13099.mp3 +2025-04-15 09:22:41,623 - logging_config - INFO - 文本已存在,无需重复转换:audio_13101.mp3 +2025-04-15 09:22:41,623 - logging_config - INFO - 文本已存在,无需重复转换:audio_13096.mp3 +2025-04-15 09:22:41,623 - logging_config - INFO - 文本已存在,无需重复转换:audio_13100.mp3 +2025-04-15 09:22:41,623 - logging_config - INFO - 文本已存在,无需重复转换:audio_13103.mp3 +2025-04-15 09:22:41,623 - logging_config - INFO - 文本已存在,无需重复转换:audio_13104.mp3 +2025-04-15 09:22:41,624 - logging_config - INFO - 文本已存在,无需重复转换:audio_13106.mp3 +2025-04-15 09:22:41,624 - logging_config - INFO - 文本已存在,无需重复转换:audio_13107.mp3 +2025-04-15 09:22:41,624 - logging_config - INFO - 文本已存在,无需重复转换:audio_13108.mp3 +2025-04-15 09:22:41,625 - logging_config - INFO - 文本已存在,无需重复转换:audio_13119.mp3 +2025-04-15 09:22:41,625 - logging_config - INFO - 文本已存在,无需重复转换:audio_13112.mp3 +2025-04-15 09:22:41,625 - logging_config - INFO - 文本已存在,无需重复转换:audio_13120.mp3 +2025-04-15 09:22:41,625 - logging_config - INFO - 文本已存在,无需重复转换:audio_13124.mp3 +2025-04-15 09:22:41,625 - logging_config - INFO - 文本已存在,无需重复转换:audio_13111.mp3 +2025-04-15 09:22:41,625 - logging_config - INFO - 文本已存在,无需重复转换:audio_13123.mp3 +2025-04-15 09:22:41,626 - logging_config - INFO - 文本已存在,无需重复转换:audio_13126.mp3 +2025-04-15 09:22:41,626 - logging_config - INFO - 文本已存在,无需重复转换:audio_13128.mp3 +2025-04-15 09:22:41,626 - logging_config - INFO - 文本已存在,无需重复转换:audio_13130.mp3 +2025-04-15 09:22:41,627 - logging_config - INFO - 文本已存在,无需重复转换:audio_13131.mp3 +2025-04-15 09:22:41,627 - logging_config - INFO - 文本已存在,无需重复转换:audio_13132.mp3 +2025-04-15 09:22:41,627 - logging_config - INFO - 文本已存在,无需重复转换:audio_13133.mp3 +2025-04-15 09:22:41,627 - logging_config - INFO - 文本已存在,无需重复转换:audio_13134.mp3 +2025-04-15 09:22:41,627 - logging_config - INFO - 文本已存在,无需重复转换:audio_13136.mp3 +2025-04-15 09:22:41,628 - logging_config - INFO - 文本已存在,无需重复转换:audio_13138.mp3 +2025-04-15 09:22:41,628 - logging_config - INFO - 文本已存在,无需重复转换:audio_13141.mp3 +2025-04-15 09:22:41,628 - logging_config - INFO - 文本已存在,无需重复转换:audio_13144.mp3 +2025-04-15 09:22:41,628 - logging_config - INFO - 文本已存在,无需重复转换:audio_13145.mp3 +2025-04-15 09:22:41,628 - logging_config - INFO - 文本已存在,无需重复转换:audio_13148.mp3 +2025-04-15 09:22:41,628 - logging_config - INFO - 文本已存在,无需重复转换:audio_13147.mp3 +2025-04-15 09:22:41,629 - logging_config - INFO - 文本已存在,无需重复转换:audio_13151.mp3 +2025-04-15 09:22:41,629 - logging_config - INFO - 文本已存在,无需重复转换:audio_13152.mp3 +2025-04-15 09:22:41,629 - logging_config - INFO - 文本已存在,无需重复转换:audio_13153.mp3 +2025-04-15 09:22:41,630 - logging_config - INFO - 文本已存在,无需重复转换:audio_13160.mp3 +2025-04-15 09:22:41,630 - logging_config - INFO - 文本已存在,无需重复转换:audio_13161.mp3 +2025-04-15 09:22:41,630 - logging_config - INFO - 文本已存在,无需重复转换:audio_13162.mp3 +2025-04-15 09:22:41,630 - logging_config - INFO - 文本已存在,无需重复转换:audio_13159.mp3 +2025-04-15 09:22:41,630 - logging_config - INFO - 文本已存在,无需重复转换:audio_13163.mp3 +2025-04-15 09:22:41,631 - logging_config - INFO - 文本已存在,无需重复转换:audio_13164.mp3 +2025-04-15 09:22:41,631 - logging_config - INFO - 文本已存在,无需重复转换:audio_13167.mp3 +2025-04-15 09:22:41,631 - logging_config - INFO - 文本已存在,无需重复转换:audio_13165.mp3 +2025-04-15 09:22:41,631 - logging_config - INFO - 文本已存在,无需重复转换:audio_13168.mp3 +2025-04-15 09:22:41,632 - logging_config - INFO - 文本已存在,无需重复转换:audio_13169.mp3 +2025-04-15 09:22:41,632 - logging_config - INFO - 文本已存在,无需重复转换:audio_13171.mp3 +2025-04-15 09:22:41,632 - logging_config - INFO - 文本已存在,无需重复转换:audio_13170.mp3 +2025-04-15 09:22:41,632 - logging_config - INFO - 文本已存在,无需重复转换:audio_13173.mp3 +2025-04-15 09:22:41,632 - logging_config - INFO - 文本已存在,无需重复转换:audio_13174.mp3 +2025-04-15 09:22:41,632 - logging_config - INFO - 文本已存在,无需重复转换:audio_13177.mp3 +2025-04-15 09:22:41,633 - logging_config - INFO - 文本已存在,无需重复转换:audio_13181.mp3 +2025-04-15 09:22:41,633 - logging_config - INFO - 文本已存在,无需重复转换:audio_13179.mp3 +2025-04-15 09:22:41,633 - logging_config - INFO - 文本已存在,无需重复转换:audio_13183.mp3 +2025-04-15 09:22:41,633 - logging_config - INFO - 文本已存在,无需重复转换:audio_13182.mp3 +2025-04-15 09:22:41,633 - logging_config - INFO - 文本已存在,无需重复转换:audio_13184.mp3 +2025-04-15 09:22:41,633 - logging_config - INFO - 文本已存在,无需重复转换:audio_13185.mp3 +2025-04-15 09:22:41,633 - logging_config - INFO - 文本已存在,无需重复转换:audio_13187.mp3 diff --git a/course.py b/course_content_parser.py similarity index 99% rename from course.py rename to course_content_parser.py index 787f0a5..a51a44a 100755 --- a/course.py +++ b/course_content_parser.py @@ -1,6 +1,5 @@ # -*- coding: utf-8 -*- import configparser -import json import os import shutil import sqlite3 @@ -10,8 +9,8 @@ from threading import Thread import requests +import json from headers import headers - from logging_config import setup_logging from transcribe_media import convert_media @@ -126,7 +125,6 @@ def fetch_course(): return course_ids, course_ids_dict - def download_course_contents(course_ids, course_ids_dict): if not os.path.exists('json'): os.makedirs('json') @@ -232,4 +230,4 @@ def get_course(): if __name__ == '__main__': - get_course() \ No newline at end of file + get_course() diff --git a/course_list.py b/course_list_info_parser.py similarity index 94% rename from course_list.py rename to course_list_info_parser.py index 52f389f..8d41ef8 100755 --- a/course_list.py +++ b/course_list_info_parser.py @@ -4,8 +4,12 @@ import sqlite3 import psycopg2 import requests + import json from headers import headers +from logging_config import setup_logging + +logger = setup_logging() # 读取配置文件 config = configparser.ConfigParser() @@ -15,7 +19,6 @@ limit = config['DEFAULT']['limit'] offset = config['DEFAULT']['offset'] sort = config['DEFAULT']['sort'] - # PostgreSQL 数据库配置 dbname = config['POSTGRES']['dbname'] user = config['POSTGRES']['user'] @@ -43,18 +46,17 @@ def get_list(): # 假设response的内容就是你提供的course_list.json course_list_json = response.text - print(course_list_json) + logger.info(course_list_json) json_data = json.loads(course_list_json) course_item = json_data['data']['items'] for item in course_item[:10]: - print(item['id'], item['title'], item['description']) + logger.info(item['id'], item['title'], item['description']) # 解析JSON数据 return json.loads(course_list_json) - def insert_sqlit(course_list_data): # 连接到SQLite数据库 # 如果文件不存在,会自动在当前目录创建: @@ -124,6 +126,7 @@ def insert_pgsql(course_list_data): cursor.close() conn.close() + def insert_data(): course_list_data = get_list() insert_sqlit(course_list_data) @@ -131,4 +134,4 @@ def insert_data(): if __name__ == '__main__': - insert_data() \ No newline at end of file + insert_data() diff --git a/fileconvert.py b/fileconvert.py index 60fdbec..670758a 100644 --- a/fileconvert.py +++ b/fileconvert.py @@ -8,9 +8,10 @@ logging.basicConfig(level=logging.INFO, format='%(asctime)s - %(levelname)s - %(message)s', handlers=[ logging.StreamHandler(), # 控制台日志 - RotatingFileHandler('app.log', maxBytes=1024*1024*5, backupCount=3) # 日志文件 + RotatingFileHandler('app.log', maxBytes=1024 * 1024 * 5, backupCount=3) # 日志文件 ]) + def mp4_to_wav(mp4_file): try: mp4_dir = os.path.dirname(mp4_file) @@ -38,6 +39,7 @@ def mp4_to_wav(mp4_file): logging.error("未找到 FFmpeg,请确保已安装并配置好 FFmpeg 环境。") return None + def mp4_to_mp3(mp4_file): try: mp4_dir = os.path.dirname(mp4_file) @@ -61,4 +63,4 @@ def mp4_to_mp3(mp4_file): return None except FileNotFoundError: logging.error("未找到 FFmpeg,请确保已安装并配置好 FFmpeg 环境。") - return None \ No newline at end of file + return None diff --git a/main.py b/main.py index a49cf62..77dd84d 100644 --- a/main.py +++ b/main.py @@ -1,7 +1,7 @@ # -*- coding: utf-8 -*- -from course import get_course -from course_list import insert_data -from markdown_generator import get_content +from course_content_parser import get_course +from course_list_info_parser import insert_data +from markdown_transcribe import get_content if __name__ == '__main__': insert_data() diff --git a/markdown_generator.py b/markdown_transcribe.py similarity index 96% rename from markdown_generator.py rename to markdown_transcribe.py index c62a3dd..3e9637b 100644 --- a/markdown_generator.py +++ b/markdown_transcribe.py @@ -7,11 +7,9 @@ from concurrent.futures import ThreadPoolExecutor from os import makedirs import requests -from gradio_client import Client, handle_file import json from logging_config import setup_logging -from sense_voice_process import short_audio_process from transcribe_media import convert_media # 读取配置文件 @@ -77,14 +75,6 @@ def download_file(url, local_path): # 调用api将语音转换为文本 def voice2txt(voice_path): - - # client = Client("http://192.168.31.3:7860/") - # text = client.predict( - # input_wav=handle_file(voice_path), - # language="zh", - # api_name="/model_inference" - # ) - # logger.info(text) text = convert_media(voice_path) return text diff --git a/model.py b/model.py index 7191d2b..7a390f7 100644 --- a/model.py +++ b/model.py @@ -1,17 +1,17 @@ import time -import torch -from torch import nn -import torch.nn.functional as F -from typing import Iterable, Optional +from typing import Optional -from funasr.register import tables -from funasr.models.ctc.ctc import CTC -from funasr.utils.datadir_writer import DatadirWriter -from funasr.models.paraformer.search import Hypothesis -from funasr.train_utils.device_funcs import force_gatherable +import torch +import torch.nn.functional as F from funasr.losses.label_smoothing_loss import LabelSmoothingLoss -from funasr.metrics.compute_acc import compute_accuracy, th_accuracy +from funasr.metrics.compute_acc import th_accuracy +from funasr.models.ctc.ctc import CTC +from funasr.register import tables +from funasr.train_utils.device_funcs import force_gatherable +from funasr.utils.datadir_writer import DatadirWriter from funasr.utils.load_utils import load_audio_text_image_video, extract_fbank +from torch import nn + from utils.ctc_alignment import ctc_forced_align @@ -926,4 +926,4 @@ class SenseVoiceSmall(nn.Module): if "max_seq_len" not in kwargs: kwargs["max_seq_len"] = 512 models = export_rebuild_model(model=self, **kwargs) - return models \ No newline at end of file + return models diff --git a/mongo_manager.py b/mongo_manager.py index b58527a..a2d7bb3 100644 --- a/mongo_manager.py +++ b/mongo_manager.py @@ -1,8 +1,9 @@ -import json import os from pymongo import MongoClient +import json + # 连接到 MongoDB client = MongoClient('mongodb://root:lostecho@192.168.31.3:27017/') # 选择数据库 @@ -32,6 +33,7 @@ def insert_course_content(file_path): except Exception as e: print(f"错误:处理文件 {file_path} 时出现未知错误:{e}") + def get_course_content(id_to_query): try: @@ -53,4 +55,4 @@ def get_course_content(id_to_query): else: print(f"未找到 _id 为 {id_to_query} 的文档。") except Exception as e: - print(f"错误:查询或处理数据时出现未知错误:{e}") \ No newline at end of file + print(f"错误:查询或处理数据时出现未知错误:{e}") diff --git a/pyproject.toml b/pyproject.toml index db76842..92b2f82 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -15,6 +15,7 @@ dependencies = [ "numpy<=1.26.4", "psycopg2-binary~=2.9.10", "pydub~=0.25.1", + "pymongo>=4.12.0", "requests~=2.32.3", "torch<=2.3", "torchaudio", diff --git a/requirements.txt b/requirements.txt index ed04d0f..c4a8d1a 100644 --- a/requirements.txt +++ b/requirements.txt @@ -10,4 +10,5 @@ huggingface_hub funasr>=1.1.3 numpy<=1.26.4 gradio -fastapi>=0.111.1 \ No newline at end of file +fastapi>=0.111.1 +pymongo~=4.12.0 \ No newline at end of file diff --git a/sense_voice_process.py b/sense_voice_process.py deleted file mode 100644 index 35000ff..0000000 --- a/sense_voice_process.py +++ /dev/null @@ -1,148 +0,0 @@ -import os -import shutil -from concurrent.futures.thread import ThreadPoolExecutor -import logging -from funasr import AutoModel -from funasr.utils.postprocess_utils import rich_transcription_postprocess -from mpmath import convert - - -def configure_logging(): - logger = logging.getLogger() - logger.setLevel(logging.INFO) - - # 文件日志处理器 - file_handler = logging.FileHandler('audio_transcription.log') - file_formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s') - file_handler.setFormatter(file_formatter) - logger.addHandler(file_handler) - - # 控制台日志处理器 - console_handler = logging.StreamHandler() - console_formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s') - console_handler.setFormatter(console_formatter) - logger.addHandler(console_handler) - - -configure_logging() - -use_remote_api = False -process_workers = 5 if use_remote_api else 1 - -conerted = False - -model_dir = "iic/SenseVoiceSmall" - -model = AutoModel( - model=model_dir, - trust_remote_code=True, - remote_code="./model.py", - vad_model="fsmn-vad", - vad_kwargs={"max_single_segment_time": 30000}, - device="cuda:0", -) - -import os -from pydub import AudioSegment - - -def mp3_to_wav(mp3_path): - """ - 将 MP3 文件转换为 WAV 格式,保存到同一目录下,返回 WAV 文件路径。 - - 参数: - mp3_path (str): 原始 MP3 文件的路径。 - - 返回: - str: 转换后的 WAV 文件路径。 - """ - # 检查文件是否存在 - if not os.path.isfile(mp3_path): - raise FileNotFoundError(f"文件未找到: {mp3_path}") - - # 获取文件所在目录和文件名(不含扩展名) - folder = os.path.dirname(mp3_path) - filename_wo_ext = os.path.splitext(os.path.basename(mp3_path))[0] - - # 构造 WAV 文件路径 - wav_path = os.path.join(folder, f"{filename_wo_ext}.wav") - - # 读取 MP3 并导出为 WAV - sound = AudioSegment.from_mp3(mp3_path) - sound.export(wav_path, format="wav") - - return wav_path - -def short_audio_process(audio_file_path): - print("logging file name:", audio_file_path) - if audio_file_path.endswith(".mp3"): - wav_path = mp3_to_wav(audio_file_path) - conerted = True - else: - wav_path = audio_file_path - res = model.generate( - input=wav_path, - cache={}, - language="auto", # "zh", "en", "yue", "ja", "ko", "nospeech" - use_itn=True, - batch_size_s=60, - merge_vad=True, # - merge_length_s=15, - ) - text = rich_transcription_postprocess(res[0]["text"]) - if conerted: - os.remove(wav_path) - return text - - -def process_audio_file(audio_file_path): - file_name_with_extension = os.path.basename(audio_file_path) - file_name_without_extension = os.path.splitext(file_name_with_extension)[0] - logging.info(f"Starting processing {file_name_with_extension}") - # 获取 WAV 文件所在的目录 - wav_dir = os.path.dirname(audio_file_path) - # 获取 MP4 文件的文件名(不包含扩展名) - wav_filename = os.path.splitext(os.path.basename(audio_file_path))[0] - # 生成对应的 WAV 文件路径 - md_file = os.path.join(wav_dir, f"{wav_filename}.md") - - # en - res = model.generate( - input=audio_file_path, - cache={}, - language="auto", # "zh", "en", "yue", "ja", "ko", "nospeech" - use_itn=True, - batch_size_s=60, - merge_vad=True, # - merge_length_s=15, - ) - text = rich_transcription_postprocess(res[0]["text"]) - print(text) - # 按照音频的顺序写入Markdown文件 - markdown_content = "" - markdown_content = text - - # with file_write_lock: # 确保文件写入操作的线程安全 - # md_file_path = os.path.join('media', file_name_without_extension + '.md') - with open(md_file, "w", encoding="utf-8") as f: - f.write(markdown_content) - - -def main(): - # all_files = os.listdir('media') - # audio_files = [file for file in all_files if file.endswith('.wav')] - audio_files = [] - for root, dirs, files in os.walk('media'): - for file in files: - if file.endswith('.wav'): - audio_files.append(os.path.join(root, file)) - print(audio_files) - - with ThreadPoolExecutor(max_workers=process_workers) as executor: - for audio_file in audio_files: - audio_file_path = os.path.join(audio_file) - executor.submit(process_audio_file, audio_file_path) - - -if __name__ == "__main__": - main() \ No newline at end of file diff --git a/vocal_getter.py b/silent_remover.py similarity index 100% rename from vocal_getter.py rename to silent_remover.py diff --git a/transcribe_media.py b/transcribe_media.py index 8737506..1c733fa 100644 --- a/transcribe_media.py +++ b/transcribe_media.py @@ -1,19 +1,24 @@ import os -from moviepy.video.io.VideoFileClip import VideoFileClip -from pydub import AudioSegment + from funasr import AutoModel from funasr.utils.postprocess_utils import rich_transcription_postprocess +from moviepy.video.io.VideoFileClip import VideoFileClip +from pydub import AudioSegment + +from logging_config import setup_logging + +logger = setup_logging() def extract_or_convert_audio(file_path, output_audio_path="processed_audio.wav"): ext = os.path.splitext(file_path)[1].lower() if ext in [".mp4", ".mov", ".avi", ".mkv"]: - print("🎬 Extracting audio from video...") + logger.info("🎬 Extracting audio from video...") video = VideoFileClip(file_path) video.audio.write_audiofile(output_audio_path) elif ext in [".mp3", ".wav", ".flac", ".m4a", ".aac"]: - print("🎧 Converting audio format...") + logger.info("🎧 Converting audio format...") sound = AudioSegment.from_file(file_path) sound.export(output_audio_path, format="wav") else: @@ -23,7 +28,7 @@ def extract_or_convert_audio(file_path, output_audio_path="processed_audio.wav") def transcribe_audio_funasr(audio_path, device="cuda:0"): - print("🧠 Loading FunASR model...") + logger.info("🧠 Loading FunASR model...") model = AutoModel( model="iic/SenseVoiceSmall", trust_remote_code=True, @@ -33,7 +38,7 @@ def transcribe_audio_funasr(audio_path, device="cuda:0"): device=device ) - print("📤 Transcribing with FunASR...") + logger.info("📤 Transcribing with FunASR...") res = model.generate( input=audio_path, cache={}, @@ -52,19 +57,32 @@ def convert_media(file_path): try: audio_file = extract_or_convert_audio(file_path) transcript = transcribe_audio_funasr(audio_file) - print("\n📜 Transcript:") - print(transcript) + logger.info("\n📜 Transcript:") + logger.info(transcript) # ✅ Save transcript to disk output_path = os.path.splitext(file_path)[0] + "_transcript.md" with open(output_path, "w", encoding="utf-8") as f: f.write(transcript) - print(f"✅ Transcript saved to: {output_path}") + logger.info(f"✅ Transcript saved to: {output_path}") return transcript finally: if os.path.exists("processed_audio.wav"): os.remove("processed_audio.wav") + +def main(): + audio_files = [] + for root, dirs, files in os.walk('media'): + for file in files: + audio_files.append(os.path.join(root, file)) + logger.info("scan files: " + audio_files) + + for audio_file in audio_files: + audio_file_path = os.path.join(audio_file) + convert_media(audio_file_path) + + if __name__ == '__main__': - convert_media("./course/676/mp4/20250413142836-第36期茶话会-视频-1.mp4") + main() diff --git a/uv.lock b/uv.lock index fe28507..36afbdb 100644 --- a/uv.lock +++ b/uv.lock @@ -263,6 +263,15 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/4e/8c/f3147f5c4b73e7550fe5f9352eaa956ae838d5c51eb58e7a25b9f3e2643b/decorator-5.2.1-py3-none-any.whl", hash = "sha256:d316bb415a2d9e2d2b3abcc4084c6502fc09240e292cd76a76afc106a1c8e04a", size = 9190 }, ] +[[package]] +name = "dnspython" +version = "2.7.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/b5/4a/263763cb2ba3816dd94b08ad3a33d5fdae34ecb856678773cc40a3605829/dnspython-2.7.0.tar.gz", hash = "sha256:ce9c432eda0dc91cf618a5cedf1a4e142651196bbcd2c80e89ed5a907e5cfaf1", size = 345197 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/68/1b/e0a87d256e40e8c888847551b20a017a6b98139178505dc7ffb96f04e954/dnspython-2.7.0-py3-none-any.whl", hash = "sha256:b4c34b7d10b51bcc3a5071e7b8dee77939f1e878477eeecc965e9835f63c6c86", size = 313632 }, +] + [[package]] name = "editdistance" version = "0.8.1" @@ -1276,6 +1285,44 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/8a/0b/9fcc47d19c48b59121088dd6da2488a49d5f72dacf8262e2790a1d2c7d15/pygments-2.19.1-py3-none-any.whl", hash = "sha256:9ea1544ad55cecf4b8242fab6dd35a93bbce657034b0611ee383099054ab6d8c", size = 1225293 }, ] +[[package]] +name = "pymongo" +version = "4.12.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "dnspython" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/f4/2c/6f26578242b10ba075be5dca5886e0a594e806a0a317d79634f6d3c1d193/pymongo-4.12.0.tar.gz", hash = "sha256:d9f74a5cf3fccdb72211e33e07a6c05ac09cd0d7c99d21db5c2473fcfdd03152", size = 2161377 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/4f/3c/36abdf6830b382213f7e33ca86968717d8b89752f4999e5d3bc5f4c0c174/pymongo-4.12.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:7bd4358da17705c37f29594b799c9ca65b4b1eb17cb0c6696c591809cdd973f2", size = 909765 }, + { url = "https://files.pythonhosted.org/packages/2a/ff/5e36500d4ddbc091558b3998fce16b611123be133812824cbed389ab63bb/pymongo-4.12.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:14aade4429997c3060e0df945344fc3bf7fb517253a2445017d9c86b100f4dbc", size = 909464 }, + { url = "https://files.pythonhosted.org/packages/97/ba/73c166297287ce45665e4cd1157490a4270f83edafad5a87d94944cead1a/pymongo-4.12.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8f8222022357cbba9c024535816200abfd74fb0b7356afc13ce1533515b625af", size = 1688107 }, + { url = "https://files.pythonhosted.org/packages/4e/e1/08f5dec281fd1fca334de4ed058ebf8eaeec9a0c738bdc9f1cbca3b10fe9/pymongo-4.12.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:77455951881e438b6ffdf449b31c3af4b3ed6c6af208de3b9a719d5d444785b3", size = 1752332 }, + { url = "https://files.pythonhosted.org/packages/5a/22/3ac91f2484620cd003db65e6bf1552bdb29fc9cec739af248b1dddf6b04c/pymongo-4.12.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c906365c12375f3b4eb03b8dda71711cfe0670272d98a47c15eb8d311b03351d", size = 1721367 }, + { url = "https://files.pythonhosted.org/packages/7f/ac/48db9f7b1a003837280818f5a640d182328e28c9dc8e02870abca0c27016/pymongo-4.12.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ba90eb88e604778b767d82ff5165de4ac5135b93c32a6931c77ee17bba6a8daf", size = 1691332 }, + { url = "https://files.pythonhosted.org/packages/48/da/6d45ce95288c723d70dd12a7b3832038c0e4a182ed1463227fa7f4d745e5/pymongo-4.12.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7e5cd2c837a2ee21e6f0a2da44eba44be1718b7db0893c0148caa309b0388790", size = 1650461 }, + { url = "https://files.pythonhosted.org/packages/d9/94/b0f8a415dd6226b6ee6ef54c63d6fdb2f15e404a41db33fbb743dc8e79c2/pymongo-4.12.0-cp312-cp312-win32.whl", hash = "sha256:e1015c5689b3013c69802d80ef661c8c094d83d0342a68d45ced52c53f412f29", size = 878466 }, + { url = "https://files.pythonhosted.org/packages/f0/12/9e278f5d392905980097600ef425816413a8a205c68a5b1583d38ee918b1/pymongo-4.12.0-cp312-cp312-win_amd64.whl", hash = "sha256:ab1a1b82b28d9ddeff93351f2e9e803ca78258e447c13c500294780eb2665a03", size = 896720 }, + { url = "https://files.pythonhosted.org/packages/8d/fb/93b664688f7cbdddeb936d8475ce0dd650a2aaae0e3eb235c7f65c5421c8/pymongo-4.12.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:5c44f44b48bdf793b30a83232b5abad2cda1d7c7dc3bbe9e4a952a8b3b4faad1", size = 964026 }, + { url = "https://files.pythonhosted.org/packages/41/2b/c00c21b4319fb9e51d0e4c32ff3d9f3cd29e9890375607755ab258d54a46/pymongo-4.12.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:df72eeef20c9246eeda9adfa90b4a0e3208be5b840850e22da599f95fc8048f6", size = 963703 }, + { url = "https://files.pythonhosted.org/packages/29/20/6f755f91440d11bf71f239b10ab24618b6b79ebfcceb458cfdc18c9f29b0/pymongo-4.12.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3e5328254fbe0aacdb9191ee76e5df1fa36778770f1fe8b99d8d9f51ce12a8c7", size = 1952005 }, + { url = "https://files.pythonhosted.org/packages/37/45/9cd03ee2e22d2a41288ca3bdc731e7d49defedb34fc2f51a98865fca9f3a/pymongo-4.12.0-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:dc86d4a127a43d27bef9be4f1e501847ecf8e0d530c58c34967dcbf3bf1a9fff", size = 2029425 }, + { url = "https://files.pythonhosted.org/packages/5e/56/3220dddd9098114218caec7289b598100a0831a199bd3ad91834766a87eb/pymongo-4.12.0-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:32863d54beae2b7d60bd33659c56e6b7a81e7d9082e1cd7cce62e8451a164ab8", size = 1993102 }, + { url = "https://files.pythonhosted.org/packages/2d/51/587137e37e581776019f37cd7d118e5909a8f4d5520efc9aec57c9d0319b/pymongo-4.12.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0be2192be8e6aebe5b0500a6e69d914cecea7567e895edee2d3069c0a2b171b7", size = 1953906 }, + { url = "https://files.pythonhosted.org/packages/56/51/e0089920c57a26e1ed36da21b6234b9200792203ef2877eeb83637896913/pymongo-4.12.0-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ab5a3c39bb6a84bf38149a4f9db51e55686827236af96cab17c65f8346b3c1e3", size = 1903343 }, + { url = "https://files.pythonhosted.org/packages/21/fb/6e0f673f242107b0795a05ce1ba6f759c1dd50258004e93d563295df1163/pymongo-4.12.0-cp313-cp313-win32.whl", hash = "sha256:a0bc2a32763b6fb76ce701b270d88a3939994d76e64088822e7dc2a8d6a69926", size = 924811 }, + { url = "https://files.pythonhosted.org/packages/7a/01/7d21f80c0a354c4521058ed22837627f34a619022e1cac0dd8bbe1febb92/pymongo-4.12.0-cp313-cp313-win_amd64.whl", hash = "sha256:926bc4792396b6c4da40fd7874921564e69b75c2028833318271bed808f4493a", size = 947361 }, + { url = "https://files.pythonhosted.org/packages/4d/bc/c3cd3cdfd638306e1afb60d300328c416f825ba7bd098f49086d91b47572/pymongo-4.12.0-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:992549d1022ea2d8e7f93ece8191ab1f84dfe157dcfa043b259d9743ee3188ad", size = 1020533 }, + { url = "https://files.pythonhosted.org/packages/df/a1/2735ce11cc2c299893cf401c2589f5e6c7f043cd1e595b96a4c9d8d02e46/pymongo-4.12.0-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:6d6cb42c18ce1eee3577a6604a53d5e4e2e8c24b05e00c0749e5bc9220977431", size = 1020527 }, + { url = "https://files.pythonhosted.org/packages/01/51/6571686ebe88dc6f8b2b0edb1156b27e06b99b68e7957798e831343d38fe/pymongo-4.12.0-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ff17fcb5184f9511cf49b8a62f8f038555c3a07406f4944a8afd614a3d23bbfa", size = 2280704 }, + { url = "https://files.pythonhosted.org/packages/f4/68/21bbdca5f79d482ba2ca85aab98322d49ce0a00035333428459cdff01ea7/pymongo-4.12.0-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:00c918c5f17360ea02da4ef268f2573967ef453c5ccec0caac2545be95ef478e", size = 2367926 }, + { url = "https://files.pythonhosted.org/packages/91/4d/68853df5bcbfc949cfde77b5d8658127e168e62209a567eb96ab0114a961/pymongo-4.12.0-cp313-cp313t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b65cc36d8ef2dfb567a00a81ad16b7ef1989d3092367aff24fab027be7168cc8", size = 2326795 }, + { url = "https://files.pythonhosted.org/packages/fe/e4/4584106df5cddf331ef75b52b345a1b0b68bda0a3823b35143d446795efe/pymongo-4.12.0-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:805b18b615ccf23b6fb2ca815f5580085b53acb8700c017bd873e781e90caf89", size = 2278089 }, + { url = "https://files.pythonhosted.org/packages/f0/6e/900e89ba6d79a3c602cac9f7489f0a391d75836c472811bc717c0712fc05/pymongo-4.12.0-cp313-cp313t-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:5f0654f4eab9c72ddb912b0c393dcb6d66936d9e2141f057bb272477bbc8cf8e", size = 2217108 }, + { url = "https://files.pythonhosted.org/packages/01/06/48fe2df62e28a510d171a511d6db20e5e56c77b4d48edb42f1d07c65795a/pymongo-4.12.0-cp313-cp313t-win32.whl", hash = "sha256:2e39fecf539d77a3a4fbd332d5e3f375a1ec9a7b2401d6f27aaf8af5a1fd23e2", size = 973698 }, + { url = "https://files.pythonhosted.org/packages/67/3b/6d39ac15e907cffc4c4a7219f6a808ee53060a1dd524f89bde19db304e64/pymongo-4.12.0-cp313-cp313t-win_amd64.whl", hash = "sha256:053e43722c0d76e5798abeb04f3a3ca69f8bdd10c3b56c6705fd72bf815dcbb8", size = 1002291 }, +] + [[package]] name = "pynndescent" version = "0.5.13" @@ -1568,6 +1615,7 @@ dependencies = [ { name = "numpy" }, { name = "psycopg2-binary" }, { name = "pydub" }, + { name = "pymongo" }, { name = "requests" }, { name = "torch" }, { name = "torchaudio" }, @@ -1586,6 +1634,7 @@ requires-dist = [ { name = "numpy", specifier = "<=1.26.4" }, { name = "psycopg2-binary", specifier = "~=2.9.10" }, { name = "pydub", specifier = "~=0.25.1" }, + { name = "pymongo", specifier = ">=4.12.0" }, { name = "requests", specifier = "~=2.32.3" }, { name = "torch", specifier = "<=2.3" }, { name = "torchaudio" }, diff --git a/video_voice_process.py b/video_voice_process.py deleted file mode 100644 index 7111ad8..0000000 --- a/video_voice_process.py +++ /dev/null @@ -1,157 +0,0 @@ -# -*- coding: utf-8 -*- -import configparser -import logging -import os -import shutil -import threading -from concurrent.futures import ThreadPoolExecutor, as_completed - -import requests -from gradio_client import Client, handle_file -from pydub import AudioSegment -from pydub.silence import split_on_silence - -use_remote_api = False -process_workers = 5 if use_remote_api else 1 - -config = configparser.ConfigParser() -config.read('config.ini') -token = config['DEFAULT']['voice_token'] -url = config['DEFAULT']['voice2txt_url'] -headers = { - "Authorization": f'Bearer {token}' -} - - -# 配置日志 -def configure_logging(): - logger = logging.getLogger() - logger.setLevel(logging.INFO) - - # 文件日志处理器 - file_handler = logging.FileHandler('audio_transcription.log') - file_formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s') - file_handler.setFormatter(file_formatter) - logger.addHandler(file_handler) - - # 控制台日志处理器 - console_handler = logging.StreamHandler() - console_formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s') - console_handler.setFormatter(console_formatter) - logger.addHandler(console_handler) - - -configure_logging() - - -def process_audio_file(audio_file_path): - file_name_with_extension = os.path.basename(audio_file_path) - file_name_without_extension = os.path.splitext(file_name_with_extension)[0] - logging.info(f"Starting processing {file_name_with_extension}") - # 获取 WAV 文件所在的目录 - wav_dir = os.path.dirname(audio_file_path) - # 获取 MP4 文件的文件名(不包含扩展名) - wav_filename = os.path.splitext(os.path.basename(audio_file_path))[0] - # 生成对应的 WAV 文件路径 - md_file = os.path.join(wav_dir, f"{wav_filename}.md") - - try: - audio_file = AudioSegment.from_wav(audio_file_path) - audio_chunks = split_on_silence(audio_file, min_silence_len=500, silence_thresh=-40) - - # 处理超过30秒的音频片段 - new_audio_chunks = [] - for chunk in audio_chunks: - if len(chunk) > 60000: # 60秒转换为毫秒 - new_audio_chunks.extend(split_on_silence(chunk, min_silence_len=250, silence_thresh=-40)) - else: - new_audio_chunks.append(chunk) - - sentences = [] # 用于存储所有句子的列表 - - with ThreadPoolExecutor(max_workers=process_workers) as executor: - futures = {executor.submit(send_request, chunk, i, file_name_without_extension): i for i, chunk in - enumerate(new_audio_chunks)} - - for future in as_completed(futures): - index = futures[future] - try: - result = future.result() - sentences.append(result) # 存储索引和文本 - except Exception as exc: - logging.error(f'Request {index} for {file_name_with_extension} generated an exception: {str(exc)}') - - # 按照音频的顺序写入Markdown文件 - markdown_content = "" - for sentence in sorted(sentences, key=lambda x: x[0]): # 根据索引排序 - markdown_content += f"{sentence[1]}\n\n" - - # with file_write_lock: # 确保文件写入操作的线程安全 - # md_file_path = os.path.join('media', file_name_without_extension + '.md') - with open(md_file, "w", encoding="utf-8") as f: - f.write(markdown_content) - - logging.info(f"Finished processing {file_name_with_extension}") - except Exception as e: - logging.error(f"Failed to process {file_name_with_extension}: {str(e)}") - - -def send_request(chunk, index, file_name_without_extension): - audio_part_path = os.path.join('media', f"{file_name_without_extension}_chunk_{index}.wav") - chunk.export(audio_part_path, format="wav") - # logging.info(f'Exported chunk file {audio_part_path} for {file_name_without_extension}') - try: - if use_remote_api: - multipart_form_data = { - 'file': (os.path.basename(audio_part_path), open(audio_part_path, 'rb')), - 'model': (None, 'FunAudioLLM/SenseVoiceSmall') - } - - response = requests.post(url, files=multipart_form_data, headers=headers) - result = response.json() - text = result["text"] - print(text) - - else: - client = Client("http://192.168.31.3:7860/") - text = client.predict( - input_wav=handle_file(audio_part_path), - language="zh", - api_name="/model_inference" - ) - print(text) - - return index, text # 返回索引和文本 - except Exception as e: - logging.error(f'Error processing {file_name_without_extension}, chunk {index}: {str(e)}') - # 将出错的音频片段复制到error文件夹 - error_dir = os.path.join(os.getcwd(), 'media', 'error') - if not os.path.exists(error_dir): - os.makedirs(error_dir) - error_path = os.path.join(error_dir, f"{file_name_without_extension}_chunk_{index}.wav") - shutil.copy(audio_part_path, error_path) - logging.error(f'Copied request failed chunk file {file_name_without_extension} to {error_path}') - return index, "" # 返回空文本 - finally: - if os.path.exists(audio_part_path): - os.remove(audio_part_path) - - -def main(): - # all_files = os.listdir('media') - # audio_files = [file for file in all_files if file.endswith('.wav')] - audio_files = [] - for root, dirs, files in os.walk('media'): - for file in files: - if file.endswith('.wav'): - audio_files.append(os.path.join(root, file)) - print(audio_files) - - with ThreadPoolExecutor(max_workers=process_workers) as executor: - for audio_file in audio_files: - audio_file_path = os.path.join(audio_file) - executor.submit(process_audio_file, audio_file_path) - - -if __name__ == "__main__": - main()