
尼米解说员
尼米担任旁白的配音演员
查看大图鸣谢 *灵感来源于 Kasada、Wolfdua、Snk4211、Nolesterol、Xiaokuii *
描述
她的频道:Nimi Nightmare
[youtube]IjhGikFqlwY[/youtube]
[youtube]5HmxBm3_s28[/youtube]
此模组让 TTS(文本转语音)AI 朗读旁白者的对话,这些对话由 STT(语音转文本)程序提取 ‧˚₊꒷꒦︶꒷꒦꒷︶꒦꒷₊˚‧
试听对比:▶ılıılıılıılıılıılı
真实母亲的声音 视频使用的是基于女性版本的高精度版本 尽情享受吧,留下你的评论,也许,给我的时间一点小小的捐赠 <3
安装 使用 BG3ModManager 安装(启用它,允许它)或手动安装,它只是一个 .pak 文件
其他 完全不是纯 AI 作业:我该做什么 STT 的脚本(Google Colaboratory):
from google.colab import drive drive.mount('/content/drive') !pip install git+https://github.com/openai/whisper.git !sudo apt update && sudo apt install ffmpeg from google.colab import drive drive.mount('/content/drive') import os import shutil import time import re # Define the directory containing .wav files audio_dir = "/content/drive/MyDrive/audios" # Define the output directory in Google Drive output_dir = "/content/drive/MyDrive/Narrator_Out_Large" # Define the completed directory in Google Drive completed_dir = "/content/drive/MyDrive/Completed/audios" # Counter for processed files counter = 0 # Get the total number of .wav files total_files = len([name for name in os.listdir(audio_dir) if name.endswith(".wav")]) # Function to replace any existing file or folder def replace_existing(path): if os.path.exists(path): if os.path.isfile(path): os.remove(path) else: shutil.rmtree(path) # Create the output and completed directories if they don't exist for dir in [output_dir, completed_dir]: if not os.path.exists(dir): os.makedirs(dir) # Check if there are .txt files in the output directory that have similar names to any .wav files in the audio directory for filename in os.listdir(output_dir): if filename.endswith(".txt"): wav_file = os.path.join(audio_dir, os.path.splitext(filename)[0] + ".wav") if os.path.exists(wav_file): shutil.move(wav_file, completed_dir) # Check if there are .wav files in the completed directory that don't have similar names to any .txt files in the output directory for filename in os.listdir(completed_dir): if filename.endswith(".wav"): txt_file = os.path.join(output_dir, os.path.splitext(filename)[0] + ".txt") if not os.path.exists(txt_file): shutil.move(os.path.join(completed_dir, filename), audio_dir) # Iterate over all files in the directory for filename in os.listdir(audio_dir): if filename.endswith(".wav"): # Full path to the .wav file wav_file = os.path.join(audio_dir, filename) # Attempt to transcribe the file up to 5 times for attempt in range(5): try: # Transcribe the .wav file !whisper "$wav_file" --model large # If transcription is successful, move the .txt file to Google Drive and print a number txt_file = "/content/" + os.path.splitext(filename)[0] + ".txt" # Open the transcribed text file and read its content with open(txt_file, 'r') as file: data = file.read() # Replace multiple "." with a single "." data = re.sub('\.+', '.', data) # Replace newline characters with a space to ensure the transcribed text does not contain more than one line data = data.replace('\n', ' ') # Write the modified content back to the file with open(txt_file, 'w') as file: file.write(data) # Replace any existing file or folder replace_existing(os.path.join(output_dir, os.path.basename(txt_file))) shutil.move(txt_file, output_dir) # Move the .wav file to the completed directory shutil.move(wav_file, completed_dir) # Print the counter for successful transcriptions along with the filename print(f"Successfully transcribed file number {counter + 1} - {filename}") print(f"Transcribed content: \n{data}") # If successful, break the loop and move on to the next file break except Exception as e: print(f"Failed attempt {attempt+1} for {filename}: {e}") # Wait for a bit before trying again time.sleep(5) # Increment the counter for processed files counter += 1 # Print the progress percentage print(f"Progress: {round((counter / total_files) * 100, 2)}%") print("[================ TRANSCRIPTION COMPLETED ================]")
正在加载版本记录…


正在加载评论…
评论在新手盒子客户端中发表,这里同步展示。