/** * Access the code from within the our own code so that a subclass can override it. Use this rather than the public static * method in local code. * * @param segmentsAndBoundaries * segmentsAndBoundaries * @param pauseSymbol * pauseSymbol * @return TargetFeatureLister */ protected List<Target> overridableCreateTargetsWithPauses(List<Element> segmentsAndBoundaries, String pauseSymbol) { return TargetFeatureLister.createTargetsWithPauses(segmentsAndBoundaries, pauseSymbol); }
public void startup() throws Exception { super.startup(); try { targetFeatureLister = (TargetFeatureLister) ModuleRegistry.getModule(TargetFeatureLister.class); } catch (NullPointerException npe) { targetFeatureLister = null; } if (targetFeatureLister == null) { logger.info("Starting my own TargetFeatureLister"); targetFeatureLister = new TargetFeatureLister(); targetFeatureLister.startup(); } else if (targetFeatureLister.getState() == MaryModule.MODULE_OFFLINE) { targetFeatureLister.startup(); } }
/** * For the given elements and using the given feature computer, create a string representation of the target features. * * @param featureComputer * featureComputer * @param segmentsAndBoundaries * segmentsAndBoundaries * @return a multi-line string. */ public String listTargetFeatures(TargetFeatureComputer featureComputer, List<Element> segmentsAndBoundaries) { String pauseSymbol = featureComputer.getPauseSymbol(); List<Target> targets = overridableCreateTargetsWithPauses(segmentsAndBoundaries, pauseSymbol); // Third, compute the feature vectors and convert them to text String header = featureComputer.getAllFeatureProcessorNamesAndValues(); StringBuilder text = new StringBuilder(); StringBuilder bin = new StringBuilder(); for (Target target : targets) { FeatureVector features = featureComputer.computeFeatureVector(target); text.append(featureComputer.toStringValues(features)).append("\n"); bin.append(features.toString()).append("\n"); } // Leave an empty line between sections: String out = header + "\n" + text + "\n" + bin; return out; }
public MaryData process(MaryData d) throws Exception { Voice voice = d.getDefaultVoice(); String features = d.getOutputParams(); TargetFeatureComputer featureComputer; if (voice != null) { featureComputer = FeatureRegistry.getTargetFeatureComputer(voice, features); } else { Locale locale = d.getLocale(); assert locale != null; featureComputer = FeatureRegistry.getTargetFeatureComputer(locale, features); } assert featureComputer != null : "Cannot get a feature computer!"; Document doc = d.getDocument(); // First, get the list of segments and boundaries in the current document TreeWalker tw = MaryDomUtils.createTreeWalker(doc, doc, MaryXML.PHONE, MaryXML.BOUNDARY); List<Element> segmentsAndBoundaries = new ArrayList<Element>(); Element e; while ((e = (Element) tw.nextNode()) != null) { segmentsAndBoundaries.add(e); } // Second, construct targets String out = listTargetFeatures(featureComputer, segmentsAndBoundaries); MaryData result = new MaryData(outputType(), d.getLocale()); result.setPlainText(out); return result; }
MaryData d = new MaryData(targetFeatureLister.outputType(), voice.getLocale()); List<Target> targetFeaturesList = targetFeatureLister.getListTargetFeatures(comp, segmentsAndBoundaries);
List<Target> targetFeaturesList = targetFeatureLister.getListTargetFeatures(comp, segmentsAndBoundaries);
String targetFeatureString = targetFeatureLister.listTargetFeatures(comp, segmentsAndBoundaries);
public MaryData process(MaryData d) throws Exception { Voice voice = d.getDefaultVoice(); String features = d.getOutputParams(); TargetFeatureComputer featureComputer; if (voice != null) { featureComputer = FeatureRegistry.getTargetFeatureComputer(voice, features); } else { Locale locale = d.getLocale(); assert locale != null; featureComputer = FeatureRegistry.getTargetFeatureComputer(locale, features); } assert featureComputer != null : "Cannot get a feature computer!"; Document doc = d.getDocument(); // First, get the list of segments and boundaries in the current document TreeWalker tw = MaryDomUtils.createTreeWalker(doc, doc, MaryXML.PHONE, MaryXML.BOUNDARY); List<Element> segmentsAndBoundaries = new ArrayList<Element>(); Element e; while ((e = (Element) tw.nextNode()) != null) { segmentsAndBoundaries.add(e); } // Second, construct targets String out = listTargetFeatures(featureComputer, segmentsAndBoundaries); MaryData result = new MaryData(outputType(), d.getLocale()); result.setPlainText(out); return result; }
MaryData d = new MaryData(targetFeatureLister.outputType(), voice.getLocale()); List<Target> targetFeaturesList = targetFeatureLister.getListTargetFeatures(comp, segmentsAndBoundaries);
List<Target> targetFeaturesList = targetFeatureLister.getListTargetFeatures(comp, segmentsAndBoundaries);
String targetFeatureString = targetFeatureLister.listTargetFeatures(comp, segmentsAndBoundaries);
public void startup() throws Exception { super.startup(); try { targetFeatureLister = (TargetFeatureLister) ModuleRegistry.getModule(TargetFeatureLister.class); } catch (NullPointerException npe) { targetFeatureLister = null; } if (targetFeatureLister == null) { logger.info("Starting my own TargetFeatureLister"); targetFeatureLister = new TargetFeatureLister(); targetFeatureLister.startup(); } else if (targetFeatureLister.getState() == MaryModule.MODULE_OFFLINE) { targetFeatureLister.startup(); } }
public MaryData process(MaryData d) throws Exception { Voice voice = d.getDefaultVoice(); String features = d.getOutputParams(); TargetFeatureComputer featureComputer; if (voice != null) { featureComputer = FeatureRegistry.getTargetFeatureComputer(voice, features); } else { Locale locale = d.getLocale(); assert locale != null; featureComputer = FeatureRegistry.getTargetFeatureComputer(locale, features); } assert featureComputer != null : "Cannot get a feature computer!"; Document doc = d.getDocument(); // First, get the list of segments and boundaries in the current document TreeWalker tw = MaryDomUtils.createTreeWalker(doc, doc, MaryXML.PHONE, MaryXML.BOUNDARY); List<Element> segmentsAndBoundaries = new ArrayList<Element>(); Element e; while ((e = (Element) tw.nextNode()) != null) { segmentsAndBoundaries.add(e); } // Second, construct targets String out = listTargetFeatures(featureComputer, segmentsAndBoundaries); MaryData result = new MaryData(outputType(), d.getLocale()); result.setPlainText(out); return result; }
MaryData d = new MaryData(targetFeatureLister.outputType(), voice.getLocale()); List<Target> targetFeaturesList = targetFeatureLister.getListTargetFeatures(comp, segmentsAndBoundaries);
/** * Access the code from within the our own code so that a subclass can override it. Use this rather than the public static * method in local code. * * @param segmentsAndBoundaries * segmentsAndBoundaries * @param pauseSymbol * pauseSymbol * @return TargetFeatureLister */ protected List<Target> overridableCreateTargetsWithPauses(List<Element> segmentsAndBoundaries, String pauseSymbol) { return TargetFeatureLister.createTargetsWithPauses(segmentsAndBoundaries, pauseSymbol); }
/** * For the given elements and using the given feature computer, create a string representation of the target features. * * @param featureComputer * featureComputer * @param segmentsAndBoundaries * segmentsAndBoundaries * @return a multi-line string. */ public String listTargetFeatures(TargetFeatureComputer featureComputer, List<Element> segmentsAndBoundaries) { String pauseSymbol = featureComputer.getPauseSymbol(); List<Target> targets = overridableCreateTargetsWithPauses(segmentsAndBoundaries, pauseSymbol); // Third, compute the feature vectors and convert them to text String header = featureComputer.getAllFeatureProcessorNamesAndValues(); StringBuilder text = new StringBuilder(); StringBuilder bin = new StringBuilder(); for (Target target : targets) { FeatureVector features = featureComputer.computeFeatureVector(target); text.append(featureComputer.toStringValues(features)).append("\n"); bin.append(features.toString()).append("\n"); } // Leave an empty line between sections: String out = header + "\n" + text + "\n" + bin; return out; }
List<Target> targetFeaturesList = targetFeatureLister.getListTargetFeatures(comp, segmentsAndBoundaries);
String targetFeatureString = targetFeatureLister.listTargetFeatures(comp, segmentsAndBoundaries);
targetFeatureLister = new TargetFeatureLister(); targetFeatureLister.startup(); } else if (targetFeatureLister.getState() == MaryModule.MODULE_OFFLINE) { targetFeatureLister.startup();
/** * Access the code from within the our own code so that a subclass can override it. Use this rather than the public static * method in local code. * * @param segmentsAndBoundaries * segmentsAndBoundaries * @param pauseSymbol * pauseSymbol * @return TargetFeatureLister */ protected List<Target> overridableCreateTargetsWithPauses(List<Element> segmentsAndBoundaries, String pauseSymbol) { return TargetFeatureLister.createTargetsWithPauses(segmentsAndBoundaries, pauseSymbol); }