About this mod
OK as Narrator's voice actor
Requirements
Permissions and credits
File credits
Kasada, Wolfdua, Snk4211, Nolester, Xiaokuii
Donation Points system
Please log in to find out whether this mod is receiving Donation Points
Donations
Straight donations accepted
CREDIT Inspired by Kasada , Wolfdua , Snk4211 , Nolester , Xiaokuii DESCRIPTION OK is perfect The video using High accurary version, base on Female version Do enjoy, give your comments and maybe, a little donation for my time <3INSTALLATION Install with
BG3ModManager (enable it, allow it) or manually, it's just a single .pak file
OTHER STT's script ( 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 ================]") ▂ ▃ ▄ ▅ ▆ ▇ █ hire Me for any Voice request █ ▇ ▆ ▅ ▄ ▃ ▂