Blame view

volia/skyrim.py 1.59 KB
acad79ac3   quillotm   Generate wav file...
1
2
3
4
5
6
7
8
9
10
11
12
13
14
  
  import argparse
  from utils import SubCommandRunner
  from core.data import read_lst
  import os
  
  
  
  def lst2wav(lst: str, root: str, outfile: str):
      lst_ = read_lst(lst)
  
      with open(outfile, "w") as f:
          for id_ in lst_:
              # Split id
66e4279a7   quillotm   Little error solved
15
16
              splited = id_.replace("
  ", "").split(",")
acad79ac3   quillotm   Generate wav file...
17
18
19
20
21
22
23
  
              # Get language
              language = None
              if splited[0] == "en-us":
                  language = "english"
              elif splited[0] == "":
                  language = "french"
66e4279a7   quillotm   Little error solved
24
25
              print(splited[0])
              print(language)
acad79ac3   quillotm   Generate wav file...
26
27
  
              # Create wav filename
83e2994d0   quillotm   Little error solved
28
              splited3 = splited[3].split(".")
acad79ac3   quillotm   Generate wav file...
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
              wav = "-".join(splited3) + ".wav"
  
              # Create full path
              full_path = os.path.join(language, "wave-audio", wav)
  
              f.write(f"{id_} {full_path}
  ")
          pass
      pass
  
  
  if __name__ == '__main__':
      # Main parser
      parser = argparse.ArgumentParser(description="Skyrim data-management commands")
      subparsers = parser.add_subparsers(title="action")
  
      parser_lst2wav = subparsers.add_parser("lst2wav", help="Generate wav file from lst")
      parser_lst2wav.add_argument("--lst", type=str, help="list file .lst")
      parser_lst2wav.add_argument("--root", type=str, help="root directory with audio files")
      parser_lst2wav.add_argument("--outfile", type=str, help="output wav.scp-like file")
      parser_lst2wav.set_defaults(which="lst2wav")
  
      # Parse
      args = parser.parse_args()
  
      # Run commands
      runner = SubCommandRunner({
          "lst2wav" : lst2wav
      })
  
      runner.run(args.which, args.__dict__, remove="which")