marytts / gradle-marytts-voicebuilding-plugin

A replacement for the legacy VoiceImportTools in MaryTTS
http://mary.dfki.de/
GNU General Public License v3.0
16 stars 12 forks source link

missing lab/text file throws exception #104

Closed psibre closed 6 years ago

psibre commented 6 years ago

Absent any voicebuilding dataset validation, a missing lab or text file throws an exception when wrapping the legacy TranscriptionAligner component. E.g., if a file unused.wav exists, but no unused.txt or unused.lab, this happens:

    unused
    Exception in thread "main" java.io.FileNotFoundException: /private/var/folders/dl/7sd4gtkj27ndnk_50zh2t6480000gn/T/groovy-generated-7542332252635065457-tmpdir/build/prompt_allophones/unused.xml (No such file or directory)
        at java.io.FileInputStream.open0(Native Method)
        at java.io.FileInputStream.open(FileInputStream.java:195)
        at java.io.FileInputStream.<init>(FileInputStream.java:138)
        at java.io.FileInputStream.<init>(FileInputStream.java:93)
        at sun.net.www.protocol.file.FileURLConnection.connect(FileURLConnection.java:90)
        at sun.net.www.protocol.file.FileURLConnection.getInputStream(FileURLConnection.java:188)
        at com.sun.org.apache.xerces.internal.impl.XMLEntityManager.setupCurrentEntity(XMLEntityManager.java:623)
        at com.sun.org.apache.xerces.internal.impl.XMLVersionDetector.determineDocVersion(XMLVersionDetector.java:148)
        at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:806)
        at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:771)
        at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:141)
        at com.sun.org.apache.xerces.internal.parsers.DOMParser.parse(DOMParser.java:243)
        at com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderImpl.parse(DocumentBuilderImpl.java:339)
        at javax.xml.parsers.DocumentBuilder.parse(DocumentBuilder.java:205)
        at marytts.tools.voiceimport.TranscriptionAligner.alignTranscription(TranscriptionAligner.java:132)
        at marytts.tools.voiceimport.TranscriptionAligner.compute(TranscriptionAligner.java:122)
        at marytts.tools.voiceimport.DatabaseImportMain.main(DatabaseImportMain.java:428)

    FAILURE: Build failed with an exception.

    * What went wrong:
    Execution failed for task ':legacyTranscriptionAligner'.

The plugin should gracefully handle such missing files, perhaps with warnings logged, but without failing the build.