public SpeakerCluster(SpeakerCluster c) { this.segmentSet = new TreeSet(); this.featureMatrix = new Array2DRowRealMatrix(c.getFeatureMatrix().getData()); Iterator iterator = c.segmentSet.iterator(); while (iterator.hasNext()) { this.addSegment((Segment)iterator.next()); } }
internal virtual double computeDistance(SpeakerCluster speakerCluster, SpeakerCluster speakerCluster2) { int rowDimension = speakerCluster.getFeatureMatrix().getRowDimension() + speakerCluster2.getFeatureMatrix().getRowDimension(); int columnDimension = speakerCluster.getFeatureMatrix().getColumnDimension(); Array2DRowRealMatrix array2DRowRealMatrix = new Array2DRowRealMatrix(rowDimension, columnDimension); array2DRowRealMatrix.setSubMatrix(speakerCluster.getFeatureMatrix().getData(), 0, 0); array2DRowRealMatrix.setSubMatrix(speakerCluster2.getFeatureMatrix().getData(), speakerCluster.getFeatureMatrix().getRowDimension(), 0); double num = SpeakerIdentification.getBICValue(array2DRowRealMatrix); double num2 = 13.0; double num3 = 0.5 * (num2 + 0.5 * num2 * (num2 + (double)1f)) * java.lang.Math.log((double)array2DRowRealMatrix.getRowDimension()) * 2.0; return(num - speakerCluster.getBicValue() - speakerCluster2.getBicValue() - num3); }
public static void printSpeakerIntervals(ArrayList speakers, string fileName) { string text = new StringBuilder().append(java.lang.String.instancehelper_substring(fileName, 0, java.lang.String.instancehelper_indexOf(fileName, 46))).append(".seg").toString(); FileWriter fileWriter = new FileWriter(text); int num = 0; Iterator iterator = speakers.iterator(); while (iterator.hasNext()) { SpeakerCluster speakerCluster = (SpeakerCluster)iterator.next(); num++; ArrayList speakerIntervals = speakerCluster.getSpeakerIntervals(); Iterator iterator2 = speakerIntervals.iterator(); while (iterator2.hasNext()) { Segment segment = (Segment)iterator2.next(); fileWriter.write(new StringBuilder().append(fileName).append(" ").append(1).append(" ").append(segment.getStartTime() / 10).append(" ").append(segment.getLength() / 10).append("U U U Speaker").append(num).append("\n").toString()); } } fileWriter.close(); }
public static void printIntervals(ArrayList speakers) { [email protected](new StringBuilder().append("Detected ").append(speakers.size()).append(" Speakers :").toString()); int num = 0; Iterator iterator = speakers.iterator(); while (iterator.hasNext()) { SpeakerCluster speakerCluster = (SpeakerCluster)iterator.next(); PrintStream @out = java.lang.System.@out; StringBuilder stringBuilder = new StringBuilder().append("Speaker "); num++; @out.print(stringBuilder.append(num).append(": ").toString()); ArrayList speakerIntervals = speakerCluster.getSpeakerIntervals(); Iterator iterator2 = speakerIntervals.iterator(); while (iterator2.hasNext()) { Segment segment = (Segment)iterator2.next(); [email protected](new StringBuilder().append("[").append(Tester.time(segment.getStartTime())).append(" ").append(Tester.time(segment.getLength())).append("]").toString()); } [email protected](); } }
public virtual void mergeWith(SpeakerCluster target) { if (target == null) { throw new NullPointerException(); } Iterator iterator = target.segmentSet.iterator(); while (iterator.hasNext()) { if (!this.addSegment((Segment)iterator.next()).booleanValue()) { [email protected]("Something doesn't work in mergeWith method, Cluster class"); } } int rowDimension = this.featureMatrix.getRowDimension() + target.getFeatureMatrix().getRowDimension(); int columnDimension = this.featureMatrix.getColumnDimension(); Array2DRowRealMatrix array2DRowRealMatrix = new Array2DRowRealMatrix(rowDimension, columnDimension); array2DRowRealMatrix.setSubMatrix(this.featureMatrix.getData(), 0, 0); array2DRowRealMatrix.setSubMatrix(target.getFeatureMatrix().getData(), this.featureMatrix.getRowDimension(), 0); this.bicValue = SpeakerIdentification.getBICValue(array2DRowRealMatrix); this.featureMatrix = new Array2DRowRealMatrix(array2DRowRealMatrix.getData()); }