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
Ejemplo n.º 2
0
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
Ejemplo n.º 3
0
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
Ejemplo n.º 4
0
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)
Ejemplo n.º 5
0
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
Ejemplo n.º 6
0
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