Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import os
- from fifteen_api import FifteenAPI
- import csv
- import re
- tts_api = FifteenAPI()
- mwhscharacters = [['c','Twilight Sparkle'],['i','Rise Kujikawa'],['a','Adagio Dazzle'],['h','Lyra'],['n','Maud Pie']]
- previous_character = ''
- def ChooseCharacter(char):
- global previous_character
- if char == 'extend':
- return previous_character
- else:
- for character in mwhscharacters:
- if char[0] == character[0]:
- current_character = character[1]
- previous_character = current_character
- break
- return current_character
- def TextCorrector(txt):
- result = txt.replace("{w}","...")
- result = result.replace("{i}","")
- result = result.replace("[player]","Player")
- result = result.replace("[pronoun[1]]","them")
- result = result.replace("[pronoun[2]]","their")
- result = result.replace("[pronoun[4]]","they're")
- result = result.replace("[pronoun[5]]","they're")
- result = result.replace("[pronoun[0]]","they")
- result = result.replace("[is_conj]","are")
- result = result.replace("[s_conj]","") #I don't like to force pronouns like this, but the empty gaps are too much
- result = re.sub(r"\s*{.*}\s*", " ", result)
- result = re.sub(r"\s*\[.*\]\s*", " ", result)
- print(result)
- return result
- with open('dialogue.tab', newline='') as dialogue:
- dialogue_reader = csv.reader(dialogue, delimiter='\t')
- firstline = True
- i = 0
- for line in dialogue_reader:
- if firstline:
- firstline = False
- continue
- #If Its from the promo material, skip. Those dont happen in the game.
- if line[0].find('trailer') != -1 or line[0].find('screenshots') != -1 or line[0].find('letsplayers') != -1:
- continue
- #Get the character
- if line[1] != 'centered' and line[1] != '':
- final_character = ChooseCharacter(line[1])
- else:
- continue
- #Correct the text
- if re.search('[a-zA-Z]',line[2]):
- final_text = TextCorrector(line[2])
- else:
- continue
- tts_api.save_to_file(final_character,"Neutral",final_text,line[0] + '.wav')
- '''
- os.system("ffmpeg -i " + line[0] + ".wav " + line[0] + ".ogg")
- os.remove(line[0] + ".wav")
- '''
- i = i + 1
- print(str(i) + '/' + str(3252))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement