// ivectorbin/agglomerative-cluster.cc // Copyright 2016-2018 David Snyder // 2017-2018 Matthew Maciejewski // 2019 Dogan Can // See ../../COPYING for clarification regarding multiple authors // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // THIS CODE IS PROVIDED *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY // KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED // WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE, // MERCHANTABLITY OR NON-INFRINGEMENT. // See the Apache 2 License for the specific language governing permissions and // limitations under the License. #include "base/kaldi-common.h" #include "util/common-utils.h" #include "util/stl-utils.h" #include "ivector/agglomerative-clustering.h" int main(int argc, char *argv[]) { using namespace kaldi; typedef kaldi::int32 int32; try { const char *usage = "Cluster utterances by similarity score, used in diarization.\n" "Takes a table of score matrices indexed by recording, with the\n" "rows/columns corresponding to the utterances of that recording in\n" "sorted order and a reco2utt file that contains the mapping from\n" "recordings to utterances, and outputs a list of labels in the form\n" "