move dep
This commit is contained in:
		
							parent
							
								
									f30bee2409
								
							
						
					
					
						commit
						d8540d42a6
					
				@ -606,40 +606,3 @@ def get_files_from_everything(txt, type): # type='.md'
 | 
				
			|||||||
        success = False
 | 
					        success = False
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    return success, file_manifest, project_folder
 | 
					    return success, file_manifest, project_folder
 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
def split_audio_file(filename, split_duration=1000):
 | 
					 | 
				
			||||||
    """
 | 
					 | 
				
			||||||
    根据给定的切割时长将音频文件切割成多个片段。
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    Args:
 | 
					 | 
				
			||||||
        filename (str): 需要被切割的音频文件名。
 | 
					 | 
				
			||||||
        split_duration (int, optional): 每个切割音频片段的时长(以秒为单位)。默认值为1000。
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    Returns:
 | 
					 | 
				
			||||||
        filelist (list): 一个包含所有切割音频片段文件路径的列表。
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    """
 | 
					 | 
				
			||||||
    from moviepy.editor import AudioFileClip
 | 
					 | 
				
			||||||
    import os
 | 
					 | 
				
			||||||
    os.makedirs('gpt_log/mp3/cut/', exist_ok=True)  # 创建存储切割音频的文件夹
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    # 读取音频文件
 | 
					 | 
				
			||||||
    audio = AudioFileClip(filename)
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    # 计算文件总时长和切割点
 | 
					 | 
				
			||||||
    total_duration = audio.duration
 | 
					 | 
				
			||||||
    split_points = list(range(0, int(total_duration), split_duration))
 | 
					 | 
				
			||||||
    split_points.append(int(total_duration))
 | 
					 | 
				
			||||||
    filelist = []
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    # 切割音频文件
 | 
					 | 
				
			||||||
    for i in range(len(split_points) - 1):
 | 
					 | 
				
			||||||
        start_time = split_points[i]
 | 
					 | 
				
			||||||
        end_time = split_points[i + 1]
 | 
					 | 
				
			||||||
        split_audio = audio.subclip(start_time, end_time)
 | 
					 | 
				
			||||||
        split_audio.write_audiofile(f"gpt_log/mp3/cut/{filename[0]}_{i}.mp3")
 | 
					 | 
				
			||||||
        filelist.append(f"gpt_log/mp3/cut/{filename[0]}_{i}.mp3")
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    audio.close()
 | 
					 | 
				
			||||||
    return filelist
 | 
					 | 
				
			||||||
@ -1,6 +1,41 @@
 | 
				
			|||||||
from toolbox import CatchException, report_execption, select_api_key, update_ui, write_results_to_file
 | 
					from toolbox import CatchException, report_execption, select_api_key, update_ui, write_results_to_file
 | 
				
			||||||
from .crazy_utils import request_gpt_model_in_new_thread_with_ui_alive, split_audio_file
 | 
					from .crazy_utils import request_gpt_model_in_new_thread_with_ui_alive
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					def split_audio_file(filename, split_duration=1000):
 | 
				
			||||||
 | 
					    """
 | 
				
			||||||
 | 
					    根据给定的切割时长将音频文件切割成多个片段。
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    Args:
 | 
				
			||||||
 | 
					        filename (str): 需要被切割的音频文件名。
 | 
				
			||||||
 | 
					        split_duration (int, optional): 每个切割音频片段的时长(以秒为单位)。默认值为1000。
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    Returns:
 | 
				
			||||||
 | 
					        filelist (list): 一个包含所有切割音频片段文件路径的列表。
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    """
 | 
				
			||||||
 | 
					    from moviepy.editor import AudioFileClip
 | 
				
			||||||
 | 
					    import os
 | 
				
			||||||
 | 
					    os.makedirs('gpt_log/mp3/cut/', exist_ok=True)  # 创建存储切割音频的文件夹
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    # 读取音频文件
 | 
				
			||||||
 | 
					    audio = AudioFileClip(filename)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    # 计算文件总时长和切割点
 | 
				
			||||||
 | 
					    total_duration = audio.duration
 | 
				
			||||||
 | 
					    split_points = list(range(0, int(total_duration), split_duration))
 | 
				
			||||||
 | 
					    split_points.append(int(total_duration))
 | 
				
			||||||
 | 
					    filelist = []
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    # 切割音频文件
 | 
				
			||||||
 | 
					    for i in range(len(split_points) - 1):
 | 
				
			||||||
 | 
					        start_time = split_points[i]
 | 
				
			||||||
 | 
					        end_time = split_points[i + 1]
 | 
				
			||||||
 | 
					        split_audio = audio.subclip(start_time, end_time)
 | 
				
			||||||
 | 
					        split_audio.write_audiofile(f"gpt_log/mp3/cut/{filename[0]}_{i}.mp3")
 | 
				
			||||||
 | 
					        filelist.append(f"gpt_log/mp3/cut/{filename[0]}_{i}.mp3")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    audio.close()
 | 
				
			||||||
 | 
					    return filelist
 | 
				
			||||||
 | 
					
 | 
				
			||||||
def AnalyAudio(file_manifest, llm_kwargs, chatbot, history):
 | 
					def AnalyAudio(file_manifest, llm_kwargs, chatbot, history):
 | 
				
			||||||
    import os, requests
 | 
					    import os, requests
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user