[mary-users] Voice-Import F0PolynomialFeatureFileWriter Errors

Margot Mieskes Margot.Mieskes at gmx.net
Tue Oct 5 16:43:59 CEST 2010


Dear all,

I managed to continue in the Mary-Voice-Import-Pipeline and now I am stuck again. I continued following the instructions on 

http://mary.opendfki.de/wiki/VoiceImportComponents.

In "8. Unit Selection" it lists the following steps (up to that point all the steps run ok):

HalfPhoneUnitfileWriter
HalfPhoneFeatureFileWriter
JoinCostFileMaker
AcousticFeatureFileMaker.

The HalfPhoneXY-Steps run ok.

If I run the JoinCostFileMaker I get the following error:

---- Making the join cost file
java.lang.Exception: The component JoinCostFileMaker produced the following exception: 
	at marytts.tools.voiceimport.DatabaseImportMain$8.run(DatabaseImportMain.java:294)
Caused by: java.nio.BufferUnderflowException
	at java.nio.Buffer.nextGetIndex(Buffer.java:480)
	at java.nio.DirectByteBuffer.getInt(DirectByteBuffer.java:622)
	at marytts.util.data.MaryHeader.load(MaryHeader.java:193)
	at marytts.util.data.MaryHeader.<init>(MaryHeader.java:138)
	at marytts.unitselection.data.FeatureFileReader.loadFromByteBuffer(FeatureFileReader.java:103)
	at marytts.unitselection.data.FeatureFileReader.load(FeatureFileReader.java:67)
	at marytts.unitselection.data.FeatureFileReader.<init>(FeatureFileReader.java:62)
	at marytts.tools.voiceimport.JoinCostFileMaker.compute(JoinCostFileMaker.java:195)
	at marytts.tools.voiceimport.DatabaseImportMain$8.run(DatabaseImportMain.java:291)

I had a look at the JoinCostFileMaker.java and it apparently requires a file, created by the AcousticFeatureFileWriter. If I run that, I get the following error:

Acoustic feature file writer started.
java.lang.Exception: The component AcousticFeatureFileWriter produced the following exception: 
	at marytts.tools.voiceimport.DatabaseImportMain$8.run(DatabaseImportMain.java:294)
Caused by: java.nio.BufferUnderflowException
	at java.nio.Buffer.nextGetIndex(Buffer.java:480)
	at java.nio.DirectByteBuffer.getFloat(DirectByteBuffer.java:804)
	at marytts.features.FeatureDefinition.readFeatureVector(FeatureDefinition.java:1400)
	at marytts.unitselection.data.FeatureFileReader.loadFromByteBuffer(FeatureFileReader.java:115)
	at marytts.unitselection.data.FeatureFileReader.load(FeatureFileReader.java:67)
	at marytts.unitselection.data.FeatureFileReader.<init>(FeatureFileReader.java:62)
	at marytts.tools.voiceimport.AcousticFeatureFileWriter.compute(AcousticFeatureFileWriter.java:119)
	at marytts.tools.voiceimport.DatabaseImportMain$8.run(DatabaseImportMain.java:291)

I looked again at the source as I had found out in previous steps that that very often helped to overcome errors. And this required a file created by the F0PolynomialFeatureFileWriter, so I started that. And I get the following error:

java.lang.Exception: The component F0PolynomialFeatureFileWriter produced the following exception: 
	at marytts.tools.voiceimport.DatabaseImportMain$8.run(DatabaseImportMain.java:294)
Caused by: java.lang.NullPointerException
	at marytts.tools.voiceimport.F0PolynomialFeatureFileWriter.getInterpolatedLogF0Contour(F0PolynomialFeatureFileWriter.java:344)
	at marytts.tools.voiceimport.F0PolynomialFeatureFileWriter.writeUnitFeaturesTo(F0PolynomialFeatureFileWriter.java:511)
	at marytts.tools.voiceimport.F0PolynomialFeatureFileWriter.compute(F0PolynomialFeatureFileWriter.java:208)
	at marytts.tools.voiceimport.DatabaseImportMain$8.run(DatabaseImportMain.java:291)

I also tried using the hnm-Timeline to "true", but then I got the error:

3059896 [RunSelectedComponentsThread] INFO marytts.F0PolynomialFeatureFileWriter  - F0 polynomial feature file writer started.

java.lang.Exception: The component F0PolynomialFeatureFileWriter produced the following exception: 
	at marytts.tools.voiceimport.DatabaseImportMain$8.run(DatabaseImportMain.java:294)
Caused by: java.io.IOException: Processing header does not contain required field 'hnm.noiseModel'
	at marytts.unitselection.data.HnmTimelineReader.ensurePresent(HnmTimelineReader.java:112)
	at marytts.unitselection.data.HnmTimelineReader.load(HnmTimelineReader.java:82)
	at marytts.unitselection.data.TimelineReader.<init>(TimelineReader.java:103)
	at marytts.unitselection.data.HnmTimelineReader.<init>(HnmTimelineReader.java:72)
	at marytts.tools.voiceimport.F0PolynomialFeatureFileWriter.compute(F0PolynomialFeatureFileWriter.java:179)
	at marytts.tools.voiceimport.DatabaseImportMain$8.run(DatabaseImportMain.java:291)

although the header of timeline_hnm.mry contains the line 

hnm.noiseModel=1.

Does anyone have an idea where this comes from and how to overcome it? If necessary, I can provide more information, but I think this message is already very long ;)

Many thanks,
Margot.


-- 
GRATIS: Spider-Man 1-3 sowie 300 weitere Videos!
Jetzt freischalten! http://portal.gmx.net/de/go/maxdome


More information about the Mary-users mailing list