def doitForTestPiece(compositionName, recordingDir, withSynthesis=0): ####### prepare composition! ############ pathToComposition = os.path.join(PATH_TEST_DATASET, compositionName) makamScore = loadLyrics(pathToComposition, whichSection=1) # TODO: issue 14 ########### ----- align one recording pathToRecording = os.path.join(pathToComposition, recordingDir) os.chdir(pathToRecording) # pathToSectionAnnotations = os.path.join(pathToRecording, glob.glob('*.sectionAnno.txt')[0]) # pathToAudio = os.path.join(pathToRecording, glob.glob('*.wav')[0]) listExtensions = ["sectionAnno.json", "sectionAnno.txt", "sectionAnno.tsv"] sectionAnnoFiles = findFileByExtensions(pathToRecording, listExtensions) pathToSectionAnnotations = os.path.join(pathToRecording, sectionAnnoFiles[0]) pathToAudio = os.path.join(pathToRecording, recordingDir) + '.wav' # TODO: issue 14 recordingSegmenter = RecordingSegmenter() makamRecording = recordingSegmenter.segment(makamScore, pathToAudio, pathToSectionAnnotations) alignmentErrors = [] # alignmentErrors = recordingSegmenter.alignOneRecording(MODEL_URI, makamRecording, OUTPUT_PATH, withSynthesis) return alignmentErrors
def loadMakamScore(pathToComposition): ''' same as loadLyrics, but return MakamScore, so that all lyrics can be shown if needed ''' Phonetizer.initLookupTable(False) os.chdir(pathToComposition) pathTotxt = os.path.join(pathToComposition, glob.glob("*.txt")[0]) listExtensions = ["sections.json", "sections.tsv", "sections.txt"] sectionFiles = findFileByExtensions(pathToComposition, listExtensions) sectionFile = sectionFiles[0] pathToSectionTsv = os.path.join(pathToComposition, sectionFile) makamScore = MakamScore(pathTotxt, pathToSectionTsv) return makamScore
def loadMakamScore(pathToComposition): ''' same as loadLyrics, but return MakamScore, so that all lyrics can be shown if needed ''' Phonetizer.initLookupTable(False) os.chdir(pathToComposition) pathTotxt = os.path.join(pathToComposition, glob.glob("*.txt")[0]) listExtensions = [ "sections.json", "sections.tsv", "sections.txt"] sectionFiles = findFileByExtensions(pathToComposition, listExtensions) sectionFile = sectionFiles[0] pathToSectionTsv = os.path.join(pathToComposition, sectionFile) makamScore = MakamScore(pathTotxt, pathToSectionTsv ) return makamScore
def doit(argv): if len(argv) != 4 : sys.exit ("usage: {} <recordingURI.wav> <sectionAnnoPath> <scorePath>".format(argv[0]) ) recordingURI = argv[1] sectionAnnoPath = argv[2] scorePath = argv[3] makamScore = loadLyrics(scorePath, whichSection=1) os.chdir(sectionAnnoPath) listExtensions = ["sectionAnno.json", "sectionAnno.txt", "sectionAnno.tsv"] sectionAnnoFiles = findFileByExtensions(sectionAnnoPath, listExtensions) pathToSectionAnnotations = os.path.join(sectionAnnoPath, sectionAnnoFiles[0]) recordingSegmenter = RecordingSegmenter() makamRecording= recordingSegmenter.segment(makamScore, recordingURI, pathToSectionAnnotations)
def loadLyrics(pathToComposition, whichSection): Phonetizer.initLookupTable(False) os.chdir(pathToComposition) pathTotxt = os.path.join(pathToComposition, glob.glob("*.txt")[0]) listExtensions = ["sections.json", "sections.tsv", "sections.txt"] sectionFiles = findFileByExtensions(pathToComposition, listExtensions) sectionFile = sectionFiles[0] pathToSectionTsv = os.path.join(pathToComposition, sectionFile) makamScore = MakamScore(pathTotxt, pathToSectionTsv) # phoneme IDs lyrics = makamScore.getLyricsForSection(whichSection) return lyrics
def loadLyrics(pathToComposition, whichSection): Phonetizer.initLookupTable(False) os.chdir(pathToComposition) pathTotxt = os.path.join(pathToComposition, glob.glob("*.txt")[0]) listExtensions = [ "sections.json", "sections.tsv", "sections.txt"] sectionFiles = findFileByExtensions(pathToComposition, listExtensions) sectionFile = sectionFiles[0] pathToSectionTsv = os.path.join(pathToComposition, sectionFile) makamScore = MakamScore(pathTotxt, pathToSectionTsv ) # phoneme IDs lyrics = makamScore.getLyricsForSection(whichSection) return lyrics