From 31a847c0a238e7f2fac06bba3adfa1901a3374bc Mon Sep 17 00:00:00 2001
From: 雾聪 <wucong.lyb@alibaba-inc.com>
Date: 星期三, 28 六月 2023 15:21:08 +0800
Subject: [PATCH] Merge branch 'main' of https://github.com/alibaba-damo-academy/FunASR into main

---
 docs/m2met2/_build/html/Track_setting_and_evaluation.html |    1 
 docs/m2met2_cn/_build/html/index.html                     |    2 
 docs/m2met2_cn/_build/html/组委会.html                       |    9 
 docs/m2met2_cn/_build/html/search.html                    |    1 
 docs/m2met2/_build/html/_sources/index.rst.txt            |    1 
 docs/m2met2/_build/html/search.html                       |    1 
 docs/m2met2/_build/html/Rules.html                        |    9 
 docs/m2met2_cn/index.rst                                  |    1 
 docs/m2met2_cn/_build/html/比赛结果.html                      |  248 ++++++++++++++++++++++
 docs/m2met2_cn/_build/doctrees/index.doctree              |    0 
 docs/m2met2/_build/html/Contact.html                      |    1 
 docs/m2met2/_build/html/searchindex.js                    |    2 
 docs/m2met2_cn/_build/html/赛道设置与评估.html                   |    1 
 docs/m2met2_cn/_build/doctrees/environment.pickle         |    0 
 docs/m2met2_cn/_build/html/_sources/比赛结果.md.txt           |   14 +
 docs/m2met2_cn/_build/html/联系方式.html                      |    1 
 docs/m2met2_cn/_build/html/规则.html                        |    9 
 docs/m2met2/_build/html/Introduction.html                 |    1 
 docs/m2met2_cn/_build/html/数据集.html                       |    1 
 docs/m2met2/_build/doctrees/environment.pickle            |    0 
 docs/m2met2/_build/doctrees/index.doctree                 |    0 
 docs/m2met2/index.rst                                     |    1 
 docs/m2met2/_build/html/_sources/Challenge_result.md.txt  |   14 +
 docs/m2met2/_build/html/genindex.html                     |    1 
 docs/m2met2/_build/html/index.html                        |    2 
 docs/m2met2_cn/_build/html/searchindex.js                 |    2 
 docs/m2met2_cn/_build/html/genindex.html                  |    1 
 docs/m2met2_cn/_build/html/objects.inv                    |    0 
 docs/m2met2/Challenge_result.md                           |   14 +
 /dev/null                                                 |    1 
 docs/m2met2/_build/html/Organizers.html                   |    9 
 docs/m2met2_cn/_build/html/_sources/index.rst.txt         |    1 
 docs/m2met2_cn/_build/html/简介.html                        |    1 
 docs/m2met2/_build/html/Baseline.html                     |    1 
 docs/m2met2/_build/html/objects.inv                       |    0 
 docs/m2met2_cn/_build/doctrees/比赛结果.doctree               |    0 
 docs/m2met2_cn/_build/html/基线.html                        |    1 
 docs/m2met2_cn/比赛结果.md                                    |   14 +
 docs/m2met2/_build/html/Challenge_result.html             |  247 ++++++++++++++++++++++
 docs/m2met2/_build/html/Dataset.html                      |    1 
 docs/m2met2/_build/doctrees/Challenge_result.doctree      |    0 
 41 files changed, 595 insertions(+), 19 deletions(-)

diff --git a/docs/m2met2/Challenge_result.md b/docs/m2met2/Challenge_result.md
new file mode 100644
index 0000000..52bbedd
--- /dev/null
+++ b/docs/m2met2/Challenge_result.md
@@ -0,0 +1,14 @@
+# Challenge Result
+The following table shows the final results of the competition, where Sub-track1 represents the sub-track under fixed training condition and Sub-track 2 represents the sub-track under the open training condition. All result in this table is cp-CER (%). The rankings in the table are the combined rankings of the two sub-tracks as all teams' submissions met the requirements of the sub-track under fixed training condition.
+| Rank &nbsp; &nbsp; | Team Name &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;  | Sub-track1 &nbsp; &nbsp; | Sub-track2 &nbsp; &nbsp; | paper |
+|------|----------------------|------------|------------|------------------------|
+| 1    | Ximalaya Speech Team | 11.27      | 11.27      |                        |
+| 2    | 灏忛┈杈�                | 18.64      | 18.64      |                        |
+| 3    | AIzyzx               | 22.83      | 22.83      |                        |
+| 4    | AsrSpeeder           | /          | 23.51      |                        |
+| 5    | zyxlhz               | 24.82      | 24.82      |                        |
+| 6    | CMCAI                | 26.11      | /          |                        |
+| 7    | Volcspeech           | 34.21      | 34.21      |                        |
+| 8    | 閴村線鐭ユ潵              | 40.14      | 40.14      |                        |
+| 9    | baseline             | 41.55      | 41.55      |                        |
+| 10   | DAICT                | 41.64      |            |                        |
diff --git a/docs/m2met2/_build/doctrees/Challenge_result.doctree b/docs/m2met2/_build/doctrees/Challenge_result.doctree
new file mode 100644
index 0000000..03c4e24
--- /dev/null
+++ b/docs/m2met2/_build/doctrees/Challenge_result.doctree
Binary files differ
diff --git a/docs/m2met2/_build/doctrees/environment.pickle b/docs/m2met2/_build/doctrees/environment.pickle
index 3002d02..44a2ec5 100644
--- a/docs/m2met2/_build/doctrees/environment.pickle
+++ b/docs/m2met2/_build/doctrees/environment.pickle
Binary files differ
diff --git a/docs/m2met2/_build/doctrees/index.doctree b/docs/m2met2/_build/doctrees/index.doctree
index 9469f3c..a6c54f4 100644
--- a/docs/m2met2/_build/doctrees/index.doctree
+++ b/docs/m2met2/_build/doctrees/index.doctree
Binary files differ
diff --git a/docs/m2met2/_build/html/Baseline.html b/docs/m2met2/_build/html/Baseline.html
index c578602..4426a41 100644
--- a/docs/m2met2/_build/html/Baseline.html
+++ b/docs/m2met2/_build/html/Baseline.html
@@ -100,6 +100,7 @@
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="Rules.html">Rules</a></li>
+<li class="toctree-l1"><a class="reference internal" href="Challenge_result.html">Challenge Result</a></li>
 <li class="toctree-l1"><a class="reference internal" href="Organizers.html">Organizers</a></li>
 <li class="toctree-l1"><a class="reference internal" href="Contact.html">Contact</a></li>
 </ul>
diff --git a/docs/m2met2/_build/html/Challenge_result.html b/docs/m2met2/_build/html/Challenge_result.html
new file mode 100644
index 0000000..226e671
--- /dev/null
+++ b/docs/m2met2/_build/html/Challenge_result.html
@@ -0,0 +1,247 @@
+
+<!DOCTYPE html>
+
+<html lang="en">
+  <head>
+    <meta charset="utf-8" />
+    <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.18.1: http://docutils.sourceforge.net/" />
+
+  
+  <!-- Licensed under the Apache 2.0 License -->
+  <link rel="stylesheet" type="text/css" href="_static/fonts/open-sans/stylesheet.css" />
+  <!-- Licensed under the SIL Open Font License -->
+  <link rel="stylesheet" type="text/css" href="_static/fonts/source-serif-pro/source-serif-pro.css" />
+  <link rel="stylesheet" type="text/css" href="_static/css/bootstrap.min.css" />
+  <link rel="stylesheet" type="text/css" href="_static/css/bootstrap-theme.min.css" />
+  <meta name="viewport" content="width=device-width, initial-scale=1.0">
+  
+    <title>Challenge Result &#8212; MULTI-PARTY MEETING TRANSCRIPTION CHALLENGE 2.0</title>
+    <link rel="stylesheet" type="text/css" href="_static/pygments.css" />
+    <link rel="stylesheet" type="text/css" href="_static/guzzle.css" />
+    <script data-url_root="./" id="documentation_options" src="_static/documentation_options.js"></script>
+    <script src="_static/jquery.js"></script>
+    <script src="_static/underscore.js"></script>
+    <script src="_static/_sphinx_javascript_frameworks_compat.js"></script>
+    <script src="_static/doctools.js"></script>
+    <script src="_static/sphinx_highlight.js"></script>
+    <link rel="index" title="Index" href="genindex.html" />
+    <link rel="search" title="Search" href="search.html" />
+    <link rel="next" title="Organizers" href="Organizers.html" />
+    <link rel="prev" title="Rules" href="Rules.html" />
+  
+   
+
+  </head><body>
+    <div class="related" role="navigation" aria-label="related navigation">
+      <h3>Navigation</h3>
+      <ul>
+        <li class="right" style="margin-right: 10px">
+          <a href="genindex.html" title="General Index"
+             accesskey="I">index</a></li>
+        <li class="right" >
+          <a href="Organizers.html" title="Organizers"
+             accesskey="N">next</a> |</li>
+        <li class="right" >
+          <a href="Rules.html" title="Rules"
+             accesskey="P">previous</a> |</li>
+        <li class="nav-item nav-item-0"><a href="index.html">MULTI-PARTY MEETING TRANSCRIPTION CHALLENGE 2.0</a> &#187;</li>
+        <li class="nav-item nav-item-this"><a href="">Challenge Result</a></li> 
+      </ul>
+    </div>
+    <div class="container-wrapper">
+
+      <div id="mobile-toggle">
+        <a href="#"><span class="glyphicon glyphicon-align-justify" aria-hidden="true"></span></a>
+      </div>
+  <div id="left-column">
+    <div class="sphinxsidebar"><a href="
+    index.html" class="text-logo">MULTI-PARTY MEETING TRANSCRIPTION CHALLENGE 2.0</a>
+<div class="sidebar-block">
+  <div class="sidebar-wrapper">
+    <div id="main-search">
+      <form class="form-inline" action="search.html" method="GET" role="form">
+        <div class="input-group">
+          <input name="q" type="text" class="form-control" placeholder="Search...">
+        </div>
+        <input type="hidden" name="check_keywords" value="yes" />
+        <input type="hidden" name="area" value="default" />
+      </form>
+    </div>
+  </div>
+</div>
+<div class="sidebar-block">
+  <div class="sidebar-toc">
+    
+    
+      <p class="caption" role="heading"><span class="caption-text">Contents:</span></p>
+<ul class="current">
+<li class="toctree-l1"><a class="reference internal" href="Introduction.html">Introduction</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="Introduction.html#call-for-participation">Call for participation</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Introduction.html#timeline-aoe-time">Timeline(AOE Time)</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Introduction.html#guidelines">Guidelines</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="Dataset.html">Datasets</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="Dataset.html#overview-of-training-data">Overview of training data</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Dataset.html#detail-of-alimeeting-corpus">Detail of AliMeeting corpus</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Dataset.html#get-the-data">Get the data</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="Track_setting_and_evaluation.html">Track &amp; Evaluation</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="Track_setting_and_evaluation.html#speaker-attributed-asr">Speaker-Attributed ASR</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Track_setting_and_evaluation.html#evaluation-metric">Evaluation metric</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Track_setting_and_evaluation.html#sub-track-arrangement">Sub-track arrangement</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="Baseline.html">Baseline</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="Baseline.html#overview">Overview</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Baseline.html#quick-start">Quick start</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Baseline.html#baseline-results">Baseline results</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="Rules.html">Rules</a></li>
+<li class="toctree-l1 current"><a class="current reference internal" href="#">Challenge Result</a></li>
+<li class="toctree-l1"><a class="reference internal" href="Organizers.html">Organizers</a></li>
+<li class="toctree-l1"><a class="reference internal" href="Contact.html">Contact</a></li>
+</ul>
+
+    
+  </div>
+</div>
+      
+    </div>
+  </div>
+        <div id="right-column">
+          
+          <div role="navigation" aria-label="breadcrumbs navigation">
+            <ol class="breadcrumb">
+              <li><a href="index.html">Docs</a></li>
+              
+              <li>Challenge Result</li>
+            </ol>
+          </div>
+          
+          <div class="document clearer body">
+            
+  <section id="challenge-result">
+<h1>Challenge Result<a class="headerlink" href="#challenge-result" title="Permalink to this heading">露</a></h1>
+<p>The following table shows the final results of the competition, where Sub-track1 represents the sub-track under fixed training condition and Sub-track 2 represents the sub-track under the open training condition. All result in this table is cp-CER (%). The rankings in the table are the combined rankings of the two sub-tracks as all teams鈥� submissions met the requirements of the sub-track under fixed training condition.</p>
+<table class="docutils align-default">
+<thead>
+<tr class="row-odd"><th class="head"><p>Rank 聽 聽</p></th>
+<th class="head"><p>Team Name 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽</p></th>
+<th class="head"><p>Sub-track1 聽 聽</p></th>
+<th class="head"><p>Sub-track2 聽 聽</p></th>
+<th class="head"><p>paper</p></th>
+</tr>
+</thead>
+<tbody>
+<tr class="row-even"><td><p>1</p></td>
+<td><p>Ximalaya Speech Team</p></td>
+<td><p>11.27</p></td>
+<td><p>11.27</p></td>
+<td><p></p></td>
+</tr>
+<tr class="row-odd"><td><p>2</p></td>
+<td><p>灏忛┈杈�</p></td>
+<td><p>18.64</p></td>
+<td><p>18.64</p></td>
+<td><p></p></td>
+</tr>
+<tr class="row-even"><td><p>3</p></td>
+<td><p>AIzyzx</p></td>
+<td><p>22.83</p></td>
+<td><p>22.83</p></td>
+<td><p></p></td>
+</tr>
+<tr class="row-odd"><td><p>4</p></td>
+<td><p>AsrSpeeder</p></td>
+<td><p>/</p></td>
+<td><p>23.51</p></td>
+<td><p></p></td>
+</tr>
+<tr class="row-even"><td><p>5</p></td>
+<td><p>zyxlhz</p></td>
+<td><p>24.82</p></td>
+<td><p>24.82</p></td>
+<td><p></p></td>
+</tr>
+<tr class="row-odd"><td><p>6</p></td>
+<td><p>CMCAI</p></td>
+<td><p>26.11</p></td>
+<td><p>/</p></td>
+<td><p></p></td>
+</tr>
+<tr class="row-even"><td><p>7</p></td>
+<td><p>Volcspeech</p></td>
+<td><p>34.21</p></td>
+<td><p>34.21</p></td>
+<td><p></p></td>
+</tr>
+<tr class="row-odd"><td><p>8</p></td>
+<td><p>閴村線鐭ユ潵</p></td>
+<td><p>40.14</p></td>
+<td><p>40.14</p></td>
+<td><p></p></td>
+</tr>
+<tr class="row-even"><td><p>9</p></td>
+<td><p>baseline</p></td>
+<td><p>41.55</p></td>
+<td><p>41.55</p></td>
+<td><p></p></td>
+</tr>
+<tr class="row-odd"><td><p>10</p></td>
+<td><p>DAICT</p></td>
+<td><p>41.64</p></td>
+<td><p></p></td>
+<td><p></p></td>
+</tr>
+</tbody>
+</table>
+</section>
+
+
+          </div>
+            
+  <div class="footer-relations">
+    
+      <div class="pull-left">
+        <a class="btn btn-default" href="Rules.html" title="previous chapter (use the left arrow)">Rules</a>
+      </div>
+    
+      <div class="pull-right">
+        <a class="btn btn-default" href="Organizers.html" title="next chapter (use the right arrow)">Organizers</a>
+      </div>
+    </div>
+    <div class="clearer"></div>
+  
+        </div>
+        <div class="clearfix"></div>
+    </div>
+    <div class="related" role="navigation" aria-label="related navigation">
+      <h3>Navigation</h3>
+      <ul>
+        <li class="right" style="margin-right: 10px">
+          <a href="genindex.html" title="General Index"
+             >index</a></li>
+        <li class="right" >
+          <a href="Organizers.html" title="Organizers"
+             >next</a> |</li>
+        <li class="right" >
+          <a href="Rules.html" title="Rules"
+             >previous</a> |</li>
+        <li class="nav-item nav-item-0"><a href="index.html">MULTI-PARTY MEETING TRANSCRIPTION CHALLENGE 2.0</a> &#187;</li>
+        <li class="nav-item nav-item-this"><a href="">Challenge Result</a></li> 
+      </ul>
+    </div>
+<script type="text/javascript">
+  $("#mobile-toggle a").click(function () {
+    $("#left-column").toggle();
+  });
+</script>
+<script type="text/javascript" src="_static/js/bootstrap.js"></script>
+  <div class="footer">
+    &copy; Copyright 2023, Speech Lab, Alibaba Group; ASLP Group, Northwestern Polytechnical University. Created using <a href="http://sphinx.pocoo.org/">Sphinx</a>.
+  </div>
+  </body>
+</html>
\ No newline at end of file
diff --git a/docs/m2met2/_build/html/Contact.html b/docs/m2met2/_build/html/Contact.html
index f268ef4..6596b3e 100644
--- a/docs/m2met2/_build/html/Contact.html
+++ b/docs/m2met2/_build/html/Contact.html
@@ -96,6 +96,7 @@
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="Rules.html">Rules</a></li>
+<li class="toctree-l1"><a class="reference internal" href="Challenge_result.html">Challenge Result</a></li>
 <li class="toctree-l1"><a class="reference internal" href="Organizers.html">Organizers</a></li>
 <li class="toctree-l1 current"><a class="current reference internal" href="#">Contact</a></li>
 </ul>
diff --git a/docs/m2met2/_build/html/Dataset.html b/docs/m2met2/_build/html/Dataset.html
index f6b2a04..9eb62a5 100644
--- a/docs/m2met2/_build/html/Dataset.html
+++ b/docs/m2met2/_build/html/Dataset.html
@@ -101,6 +101,7 @@
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="Rules.html">Rules</a></li>
+<li class="toctree-l1"><a class="reference internal" href="Challenge_result.html">Challenge Result</a></li>
 <li class="toctree-l1"><a class="reference internal" href="Organizers.html">Organizers</a></li>
 <li class="toctree-l1"><a class="reference internal" href="Contact.html">Contact</a></li>
 </ul>
diff --git a/docs/m2met2/_build/html/Introduction.html b/docs/m2met2/_build/html/Introduction.html
index 82394fc..1e541f2 100644
--- a/docs/m2met2/_build/html/Introduction.html
+++ b/docs/m2met2/_build/html/Introduction.html
@@ -101,6 +101,7 @@
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="Rules.html">Rules</a></li>
+<li class="toctree-l1"><a class="reference internal" href="Challenge_result.html">Challenge Result</a></li>
 <li class="toctree-l1"><a class="reference internal" href="Organizers.html">Organizers</a></li>
 <li class="toctree-l1"><a class="reference internal" href="Contact.html">Contact</a></li>
 </ul>
diff --git a/docs/m2met2/_build/html/Organizers.html b/docs/m2met2/_build/html/Organizers.html
index e500019..6d89513 100644
--- a/docs/m2met2/_build/html/Organizers.html
+++ b/docs/m2met2/_build/html/Organizers.html
@@ -27,7 +27,7 @@
     <link rel="index" title="Index" href="genindex.html" />
     <link rel="search" title="Search" href="search.html" />
     <link rel="next" title="Contact" href="Contact.html" />
-    <link rel="prev" title="Rules" href="Rules.html" />
+    <link rel="prev" title="Challenge Result" href="Challenge_result.html" />
   
    
 
@@ -42,7 +42,7 @@
           <a href="Contact.html" title="Contact"
              accesskey="N">next</a> |</li>
         <li class="right" >
-          <a href="Rules.html" title="Rules"
+          <a href="Challenge_result.html" title="Challenge Result"
              accesskey="P">previous</a> |</li>
         <li class="nav-item nav-item-0"><a href="index.html">MULTI-PARTY MEETING TRANSCRIPTION CHALLENGE 2.0</a> &#187;</li>
         <li class="nav-item nav-item-this"><a href="">Organizers</a></li> 
@@ -100,6 +100,7 @@
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="Rules.html">Rules</a></li>
+<li class="toctree-l1"><a class="reference internal" href="Challenge_result.html">Challenge Result</a></li>
 <li class="toctree-l1 current"><a class="current reference internal" href="#">Organizers</a></li>
 <li class="toctree-l1"><a class="reference internal" href="Contact.html">Contact</a></li>
 </ul>
@@ -156,7 +157,7 @@
   <div class="footer-relations">
     
       <div class="pull-left">
-        <a class="btn btn-default" href="Rules.html" title="previous chapter (use the left arrow)">Rules</a>
+        <a class="btn btn-default" href="Challenge_result.html" title="previous chapter (use the left arrow)">Challenge Result</a>
       </div>
     
       <div class="pull-right">
@@ -178,7 +179,7 @@
           <a href="Contact.html" title="Contact"
              >next</a> |</li>
         <li class="right" >
-          <a href="Rules.html" title="Rules"
+          <a href="Challenge_result.html" title="Challenge Result"
              >previous</a> |</li>
         <li class="nav-item nav-item-0"><a href="index.html">MULTI-PARTY MEETING TRANSCRIPTION CHALLENGE 2.0</a> &#187;</li>
         <li class="nav-item nav-item-this"><a href="">Organizers</a></li> 
diff --git a/docs/m2met2/_build/html/Rules.html b/docs/m2met2/_build/html/Rules.html
index 01f79cb..29b58e6 100644
--- a/docs/m2met2/_build/html/Rules.html
+++ b/docs/m2met2/_build/html/Rules.html
@@ -26,7 +26,7 @@
     <script src="_static/sphinx_highlight.js"></script>
     <link rel="index" title="Index" href="genindex.html" />
     <link rel="search" title="Search" href="search.html" />
-    <link rel="next" title="Organizers" href="Organizers.html" />
+    <link rel="next" title="Challenge Result" href="Challenge_result.html" />
     <link rel="prev" title="Baseline" href="Baseline.html" />
   
    
@@ -39,7 +39,7 @@
           <a href="genindex.html" title="General Index"
              accesskey="I">index</a></li>
         <li class="right" >
-          <a href="Organizers.html" title="Organizers"
+          <a href="Challenge_result.html" title="Challenge Result"
              accesskey="N">next</a> |</li>
         <li class="right" >
           <a href="Baseline.html" title="Baseline"
@@ -100,6 +100,7 @@
 </ul>
 </li>
 <li class="toctree-l1 current"><a class="current reference internal" href="#">Rules</a></li>
+<li class="toctree-l1"><a class="reference internal" href="Challenge_result.html">Challenge Result</a></li>
 <li class="toctree-l1"><a class="reference internal" href="Organizers.html">Organizers</a></li>
 <li class="toctree-l1"><a class="reference internal" href="Contact.html">Contact</a></li>
 </ul>
@@ -145,7 +146,7 @@
       </div>
     
       <div class="pull-right">
-        <a class="btn btn-default" href="Organizers.html" title="next chapter (use the right arrow)">Organizers</a>
+        <a class="btn btn-default" href="Challenge_result.html" title="next chapter (use the right arrow)">Challenge Result</a>
       </div>
     </div>
     <div class="clearer"></div>
@@ -160,7 +161,7 @@
           <a href="genindex.html" title="General Index"
              >index</a></li>
         <li class="right" >
-          <a href="Organizers.html" title="Organizers"
+          <a href="Challenge_result.html" title="Challenge Result"
              >next</a> |</li>
         <li class="right" >
           <a href="Baseline.html" title="Baseline"
diff --git a/docs/m2met2/_build/html/Track_setting_and_evaluation.html b/docs/m2met2/_build/html/Track_setting_and_evaluation.html
index 1cd72d9..49af652 100644
--- a/docs/m2met2/_build/html/Track_setting_and_evaluation.html
+++ b/docs/m2met2/_build/html/Track_setting_and_evaluation.html
@@ -101,6 +101,7 @@
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="Rules.html">Rules</a></li>
+<li class="toctree-l1"><a class="reference internal" href="Challenge_result.html">Challenge Result</a></li>
 <li class="toctree-l1"><a class="reference internal" href="Organizers.html">Organizers</a></li>
 <li class="toctree-l1"><a class="reference internal" href="Contact.html">Contact</a></li>
 </ul>
diff --git a/docs/m2met2/_build/html/_sources/Challenge_result.md.txt b/docs/m2met2/_build/html/_sources/Challenge_result.md.txt
new file mode 100644
index 0000000..52bbedd
--- /dev/null
+++ b/docs/m2met2/_build/html/_sources/Challenge_result.md.txt
@@ -0,0 +1,14 @@
+# Challenge Result
+The following table shows the final results of the competition, where Sub-track1 represents the sub-track under fixed training condition and Sub-track 2 represents the sub-track under the open training condition. All result in this table is cp-CER (%). The rankings in the table are the combined rankings of the two sub-tracks as all teams' submissions met the requirements of the sub-track under fixed training condition.
+| Rank &nbsp; &nbsp; | Team Name &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;  | Sub-track1 &nbsp; &nbsp; | Sub-track2 &nbsp; &nbsp; | paper |
+|------|----------------------|------------|------------|------------------------|
+| 1    | Ximalaya Speech Team | 11.27      | 11.27      |                        |
+| 2    | 灏忛┈杈�                | 18.64      | 18.64      |                        |
+| 3    | AIzyzx               | 22.83      | 22.83      |                        |
+| 4    | AsrSpeeder           | /          | 23.51      |                        |
+| 5    | zyxlhz               | 24.82      | 24.82      |                        |
+| 6    | CMCAI                | 26.11      | /          |                        |
+| 7    | Volcspeech           | 34.21      | 34.21      |                        |
+| 8    | 閴村線鐭ユ潵              | 40.14      | 40.14      |                        |
+| 9    | baseline             | 41.55      | 41.55      |                        |
+| 10   | DAICT                | 41.64      |            |                        |
diff --git a/docs/m2met2/_build/html/_sources/index.rst.txt b/docs/m2met2/_build/html/_sources/index.rst.txt
index e0e7562..672cb91 100644
--- a/docs/m2met2/_build/html/_sources/index.rst.txt
+++ b/docs/m2met2/_build/html/_sources/index.rst.txt
@@ -18,5 +18,6 @@
    ./Track_setting_and_evaluation
    ./Baseline
    ./Rules
+   ./Challenge_result
    ./Organizers
    ./Contact
diff --git a/docs/m2met2/_build/html/genindex.html b/docs/m2met2/_build/html/genindex.html
index b331f6f..57e01f5 100644
--- a/docs/m2met2/_build/html/genindex.html
+++ b/docs/m2met2/_build/html/genindex.html
@@ -91,6 +91,7 @@
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="Rules.html">Rules</a></li>
+<li class="toctree-l1"><a class="reference internal" href="Challenge_result.html">Challenge Result</a></li>
 <li class="toctree-l1"><a class="reference internal" href="Organizers.html">Organizers</a></li>
 <li class="toctree-l1"><a class="reference internal" href="Contact.html">Contact</a></li>
 </ul>
diff --git a/docs/m2met2/_build/html/index.html b/docs/m2met2/_build/html/index.html
index dd2a9cc..ef4d627 100644
--- a/docs/m2met2/_build/html/index.html
+++ b/docs/m2met2/_build/html/index.html
@@ -96,6 +96,7 @@
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="Rules.html">Rules</a></li>
+<li class="toctree-l1"><a class="reference internal" href="Challenge_result.html">Challenge Result</a></li>
 <li class="toctree-l1"><a class="reference internal" href="Organizers.html">Organizers</a></li>
 <li class="toctree-l1"><a class="reference internal" href="Contact.html">Contact</a></li>
 </ul>
@@ -131,6 +132,7 @@
 <li class="toctree-l1"><a class="reference internal" href="Track_setting_and_evaluation.html">Track &amp; Evaluation</a></li>
 <li class="toctree-l1"><a class="reference internal" href="Baseline.html">Baseline</a></li>
 <li class="toctree-l1"><a class="reference internal" href="Rules.html">Rules</a></li>
+<li class="toctree-l1"><a class="reference internal" href="Challenge_result.html">Challenge Result</a></li>
 <li class="toctree-l1"><a class="reference internal" href="Organizers.html">Organizers</a></li>
 <li class="toctree-l1"><a class="reference internal" href="Contact.html">Contact</a></li>
 </ul>
diff --git a/docs/m2met2/_build/html/objects.inv b/docs/m2met2/_build/html/objects.inv
index d8a5ea5..549117e 100644
--- a/docs/m2met2/_build/html/objects.inv
+++ b/docs/m2met2/_build/html/objects.inv
Binary files differ
diff --git a/docs/m2met2/_build/html/search.html b/docs/m2met2/_build/html/search.html
index f91b51a..b6ad6be 100644
--- a/docs/m2met2/_build/html/search.html
+++ b/docs/m2met2/_build/html/search.html
@@ -84,6 +84,7 @@
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="Rules.html">Rules</a></li>
+<li class="toctree-l1"><a class="reference internal" href="Challenge_result.html">Challenge Result</a></li>
 <li class="toctree-l1"><a class="reference internal" href="Organizers.html">Organizers</a></li>
 <li class="toctree-l1"><a class="reference internal" href="Contact.html">Contact</a></li>
 </ul>
diff --git a/docs/m2met2/_build/html/searchindex.js b/docs/m2met2/_build/html/searchindex.js
index 3387db5..5e65c9d 100644
--- a/docs/m2met2/_build/html/searchindex.js
+++ b/docs/m2met2/_build/html/searchindex.js
@@ -1 +1 @@
-Search.setIndex({"docnames": ["Baseline", "Contact", "Dataset", "Introduction", "Organizers", "Rules", "Track_setting_and_evaluation", "index"], "filenames": ["Baseline.md", "Contact.md", "Dataset.md", "Introduction.md", "Organizers.md", "Rules.md", "Track_setting_and_evaluation.md", "index.rst"], "titles": ["Baseline", "Contact", "Datasets", "Introduction", "Organizers", "Rules", "Track &amp; Evaluation", "ASRU 2023 MULTI-CHANNEL MULTI-PARTY MEETING TRANSCRIPTION CHALLENGE 2.0 (M2MeT2.0)"], "terms": {"we": [0, 2, 3, 7], "releas": [0, 2, 3, 6], "an": [0, 2, 3, 6], "e2": 0, "sa": 0, "asr": [0, 3, 7], "conduct": [0, 2], "funasr": 0, "time": [0, 6], "accord": [0, 3], "timelin": [0, 2], "The": [0, 2, 3, 5, 6], "model": [0, 2, 3, 5, 6], "architectur": 0, "i": [0, 2, 3, 5], "shown": [0, 2], "figur": [0, 6], "3": [0, 2, 3], "speakerencod": 0, "initi": 0, "pre": [0, 6], "train": [0, 3, 5, 7], "speaker": [0, 2, 3, 7], "verif": 0, "from": [0, 2, 3, 5, 6], "modelscop": [0, 6], "thi": [0, 3, 5, 6], "also": [0, 2, 3, 6], "us": [0, 2, 5, 6], "extract": 0, "embed": 0, "profil": 0, "To": [0, 2, 3, 7], "run": 0, "first": 0, "you": [0, 1], "need": 0, "instal": 0, "There": [0, 2], "ar": [0, 2, 3, 5, 6, 7], "two": [0, 3, 5, 7], "startup": 0, "script": [0, 2], "sh": 0, "evalu": [0, 2, 3, 7], "old": 0, "eval": [0, 2, 5, 6], "test": [0, 2, 3, 5, 6], "set": [0, 2, 3, 5, 6], "run_m2met_2023_inf": 0, "infer": 0, "new": [0, 2, 3, 6], "multi": [0, 3, 6], "channel": [0, 3], "parti": [0, 3, 6], "meet": [0, 2, 3, 6], "transcript": [0, 2, 3, 5, 6], "2": [0, 2, 6], "0": [0, 1, 2, 3], "m2met2": [0, 1, 3], "challeng": [0, 1, 3, 5, 6], "befor": 0, "must": [0, 3, 5, 6], "manual": [0, 6], "download": [0, 2], "unpack": 0, "alimeet": [0, 1, 6], "corpu": [0, 6], "place": [0, 2], "dataset": [0, 3, 5, 6, 7], "directori": 0, "eval_ali_far": 0, "eval_ali_near": 0, "test_ali_far": 0, "test_ali_near": 0, "train_ali_far": 0, "train_ali_near": 0, "test_2023_ali_far": 0, "after": 0, "which": [0, 2, 3, 6], "contain": [0, 2, 6], "onli": [0, 2, 5, 6], "raw": 0, "audio": [0, 2, 3, 6], "Then": 0, "put": 0, "given": 0, "wav": 0, "scp": 0, "wav_raw": 0, "segment": [0, 2, 6], "utt2spk": 0, "spk2utt": 0, "data": [0, 3, 5, 6], "For": [0, 2], "more": [0, 2], "detail": [0, 3, 6], "can": [0, 2, 3, 5, 6], "see": 0, "here": 0, "system": [0, 3, 5, 6, 7], "tabl": [0, 2], "adopt": 0, "oracl": [0, 6], "dure": [0, 2, 6], "howev": [0, 3, 6], "due": [0, 3], "lack": 0, "label": [0, 5, 6], "provid": [0, 2, 6, 7], "addit": [0, 6], "spectral": 0, "cluster": 0, "meanwhil": 0, "show": 0, "impact": 0, "accuraci": [0, 6], "If": [1, 5, 6], "have": [1, 3], "ani": [1, 5, 6], "question": 1, "about": [1, 3], "pleas": 1, "u": [1, 2], "email": [1, 3, 4], "m2met": [1, 3, 6, 7], "gmail": 1, "com": [1, 4], "wechat": [1, 3], "group": [1, 2, 3], "In": [2, 3, 5], "fix": [2, 3, 7], "condit": [2, 3, 7], "restrict": 2, "three": [2, 3, 6], "publicli": [2, 6], "avail": [2, 6], "corpora": 2, "name": 2, "aishel": [2, 4, 6], "4": [2, 6], "cn": [2, 4, 6], "celeb": [2, 6], "perform": [2, 3], "call": 2, "2023": [2, 3, 5, 6], "score": [2, 6], "rank": [2, 3, 6], "describ": 2, "118": 2, "75": 2, "hour": [2, 3, 6], "speech": [2, 3, 6, 7], "total": [2, 6], "divid": [2, 6], "104": 2, "10": [2, 3, 6], "specif": [2, 6], "212": 2, "8": 2, "20": [2, 3], "session": [2, 3, 6, 7], "respect": 2, "each": [2, 3, 6], "consist": [2, 6], "15": 2, "30": 2, "minut": 2, "discuss": 2, "particip": [2, 5, 6], "number": [2, 3, 6], "456": 2, "25": 2, "60": 2, "balanc": 2, "gender": 2, "coverag": 2, "collect": 2, "13": 2, "venu": 2, "categor": 2, "type": 2, "small": 2, "medium": 2, "larg": [2, 3], "room": [2, 3], "size": 2, "rang": 2, "m": 2, "55": 2, "differ": [2, 3, 6], "give": 2, "varieti": 2, "acoust": [2, 3, 6], "properti": 2, "layout": 2, "paramet": [2, 5], "togeth": 2, "wall": 2, "materi": 2, "cover": 2, "cement": 2, "glass": 2, "etc": 2, "other": 2, "furnish": 2, "includ": [2, 3, 5, 6], "sofa": 2, "tv": 2, "blackboard": 2, "fan": 2, "air": 2, "condition": 2, "plant": 2, "record": [2, 6], "sit": 2, "around": 2, "microphon": [2, 3], "arrai": [2, 3], "natur": 2, "convers": 2, "distanc": 2, "5": 2, "all": [2, 3, 5, 6], "nativ": 2, "chines": 2, "speak": [2, 3], "mandarin": [2, 3], "without": 2, "strong": 2, "accent": 2, "variou": [2, 3], "kind": 2, "indoor": 2, "nois": [2, 3, 5], "limit": [2, 3, 5], "click": 2, "keyboard": 2, "door": 2, "open": [2, 3, 7], "close": [2, 3], "bubbl": 2, "made": [2, 3], "both": [2, 6], "requir": [2, 3, 6], "remain": [2, 3], "same": [2, 5], "posit": 2, "overlap": [2, 3], "between": [2, 6], "exampl": 2, "fig": 2, "1": 2, "within": [2, 3], "one": [2, 5], "ensur": 2, "ratio": 2, "select": [2, 3, 5, 6], "topic": 2, "medic": 2, "treatment": 2, "educ": 2, "busi": 2, "organ": [2, 3, 5, 6, 7], "manag": 2, "industri": [2, 3], "product": 2, "daili": 2, "routin": 2, "averag": 2, "42": 2, "27": 2, "34": 2, "76": 2, "A": [2, 4], "distribut": 2, "were": 2, "ident": [2, 6], "compris": [2, 3, 7], "therebi": 2, "share": 2, "similar": 2, "configur": 2, "field": [2, 3, 6], "signal": [2, 3], "headset": 2, "": [2, 6], "own": 2, "transcrib": [2, 3, 6], "It": [2, 6], "worth": [2, 6], "note": [2, 6], "far": [2, 3], "synchron": 2, "common": 2, "prepar": 2, "textgrid": 2, "format": 2, "inform": [2, 3], "durat": 2, "id": 2, "timestamp": [2, 6], "mention": 2, "abov": 2, "openslr": 2, "via": 2, "follow": [2, 5], "link": 2, "particularli": 2, "baselin": [2, 3, 7], "conveni": 2, "automat": [3, 7], "recognit": [3, 7], "diariz": 3, "signific": 3, "stride": 3, "recent": 3, "year": 3, "result": 3, "surg": 3, "technologi": 3, "applic": 3, "across": 3, "domain": 3, "present": 3, "uniqu": [3, 6], "complex": [3, 5], "divers": 3, "style": 3, "variabl": 3, "confer": 3, "environment": 3, "reverber": [3, 5], "over": 3, "sever": 3, "been": 3, "advanc": [3, 7], "develop": [3, 6], "rich": 3, "comput": [3, 5], "hear": 3, "multisourc": 3, "environ": 3, "chime": 3, "latest": 3, "iter": 3, "ha": 3, "particular": 3, "focu": 3, "distant": 3, "gener": 3, "topologi": 3, "scenario": 3, "while": 3, "progress": 3, "english": 3, "languag": [3, 5], "barrier": 3, "achiev": 3, "compar": 3, "non": 3, "multimod": 3, "base": 3, "process": [3, 6], "misp": 3, "instrument": 3, "seek": 3, "address": 3, "problem": 3, "visual": 3, "everydai": 3, "home": 3, "focus": 3, "tackl": 3, "issu": 3, "offlin": 3, "icassp2022": 3, "main": 3, "task": [3, 6, 7], "former": 3, "involv": [3, 6], "identifi": 3, "who": 3, "spoke": 3, "when": 3, "latter": 3, "aim": 3, "multipl": [3, 6], "simultan": 3, "pose": [3, 6], "technic": 3, "difficulti": 3, "interfer": 3, "build": [3, 6, 7], "success": [3, 7], "previou": 3, "excit": 3, "propos": [3, 7], "asru": 3, "special": [3, 5, 7], "origin": [3, 5], "metric": [3, 7], "wa": [3, 6], "independ": 3, "meant": 3, "could": 3, "determin": 3, "correspond": [3, 5], "further": 3, "current": [3, 7], "talker": [3, 7], "toward": 3, "practic": 3, "attribut": [3, 7], "sub": [3, 5, 7], "track": [3, 5, 7], "what": 3, "facilit": [3, 7], "reproduc": [3, 7], "research": [3, 4, 7], "offer": 3, "comprehens": [3, 7], "overview": [3, 7], "rule": [3, 7], "furthermor": 3, "carefulli": 3, "curat": 3, "approxim": [3, 6], "design": 3, "enabl": 3, "valid": 3, "state": [3, 6, 7], "art": [3, 7], "area": 3, "april": 3, "29": 3, "registr": 3, "mai": 3, "11": 3, "22": 3, "deadlin": 3, "date": 3, "join": 3, "june": 3, "16": 3, "leaderboard": 3, "final": [3, 5, 6], "submiss": 3, "leaderboar": 3, "26": 3, "juli": 3, "paper": [3, 6], "decemb": 3, "12": 3, "workshop": 3, "interest": 3, "whether": 3, "academia": 3, "regist": 3, "complet": 3, "googl": 3, "form": 3, "below": 3, "welcom": 3, "keep": 3, "up": 3, "updat": 3, "work": 3, "dai": 3, "send": 3, "invit": 3, "elig": [3, 5], "team": 3, "qualifi": 3, "adher": [3, 5], "publish": 3, "page": 3, "prior": 3, "submit": 3, "descript": [3, 6], "document": 3, "approach": [3, 5], "method": 3, "top": 3, "asru2023": [3, 7], "proceed": 3, "lei": 4, "xie": 4, "professor": 4, "foundat": 4, "china": 4, "lxie": 4, "nwpu": 4, "edu": 4, "kong": 4, "aik": 4, "lee": 4, "senior": 4, "scientist": 4, "institut": 4, "infocomm": 4, "star": 4, "singapor": 4, "kongaik": 4, "ieee": 4, "org": 4, "zhiji": 4, "yan": 4, "princip": 4, "engin": 4, "alibaba": 4, "yzj": 4, "inc": 4, "shiliang": 4, "zhang": 4, "sly": 4, "zsl": 4, "yanmin": 4, "qian": 4, "shanghai": 4, "jiao": 4, "tong": 4, "univers": 4, "yanminqian": 4, "sjtu": 4, "zhuo": 4, "chen": 4, "appli": 4, "microsoft": 4, "usa": 4, "zhuc": 4, "jian": 4, "wu": 4, "wujian": 4, "hui": 4, "bu": 4, "ceo": 4, "buhui": 4, "aishelldata": 4, "should": 5, "augment": 5, "allow": [5, 6], "ad": 5, "speed": 5, "perturb": 5, "tone": 5, "chang": 5, "permit": 5, "purpos": 5, "instead": [5, 6], "util": [5, 6], "tune": 5, "violat": 5, "strictli": [5, 6], "prohibit": [5, 6], "fine": 5, "cpcer": [5, 6], "lower": 5, "judg": 5, "superior": 5, "forc": 5, "align": 5, "obtain": [5, 6], "frame": 5, "level": 5, "classif": 5, "basi": 5, "shallow": 5, "fusion": 5, "end": 5, "e": [5, 6], "g": 5, "la": 5, "rnnt": 5, "transform": [5, 6], "come": 5, "right": 5, "interpret": 5, "belong": 5, "case": 5, "circumst": 5, "coordin": 5, "assign": 6, "illustr": 6, "aishell4": 6, "constrain": 6, "sourc": 6, "addition": 6, "soon": 6, "simpl": 6, "voic": 6, "activ": 6, "detect": 6, "vad": 6, "concaten": 6, "minimum": 6, "permut": 6, "charact": 6, "error": 6, "rate": 6, "calcul": 6, "step": 6, "firstli": 6, "refer": 6, "hypothesi": 6, "chronolog": 6, "order": 6, "secondli": 6, "cer": 6, "repeat": 6, "possibl": 6, "lowest": 6, "tthe": 6, "insert": 6, "Ins": 6, "substitut": 6, "delet": 6, "del": 6, "output": 6, "text": 6, "frac": 6, "mathcal": 6, "n_": 6, "100": 6, "where": 6, "usag": 6, "third": 6, "hug": 6, "face": 6, "list": 6, "clearli": 6, "privat": 6, "simul": 6, "thei": 6, "mandatori": 6, "clear": 6, "scheme": 6, "delight": 7, "introduct": 7, "contact": 7}, "objects": {}, "objtypes": {}, "objnames": {}, "titleterms": {"baselin": 0, "overview": [0, 2], "quick": 0, "start": 0, "result": 0, "contact": 1, "dataset": 2, "train": [2, 6], "data": 2, "detail": 2, "alimeet": 2, "corpu": 2, "get": 2, "introduct": 3, "call": 3, "particip": 3, "timelin": 3, "aoe": 3, "time": 3, "guidelin": 3, "organ": 4, "rule": 5, "track": 6, "evalu": 6, "speaker": 6, "attribut": 6, "asr": 6, "metric": 6, "sub": 6, "arrang": 6, "i": 6, "fix": 6, "condit": 6, "ii": 6, "open": 6, "asru": 7, "2023": 7, "multi": 7, "channel": 7, "parti": 7, "meet": 7, "transcript": 7, "challeng": 7, "2": 7, "0": 7, "m2met2": 7, "content": 7}, "envversion": {"sphinx.domains.c": 2, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 8, "sphinx.domains.index": 1, "sphinx.domains.javascript": 2, "sphinx.domains.math": 2, "sphinx.domains.python": 3, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx": 57}, "alltitles": {"Baseline": [[0, "baseline"]], "Overview": [[0, "overview"]], "Quick start": [[0, "quick-start"]], "Baseline results": [[0, "baseline-results"]], "Contact": [[1, "contact"]], "Datasets": [[2, "datasets"]], "Overview of training data": [[2, "overview-of-training-data"]], "Detail of AliMeeting corpus": [[2, "detail-of-alimeeting-corpus"]], "Get the data": [[2, "get-the-data"]], "Introduction": [[3, "introduction"]], "Call for participation": [[3, "call-for-participation"]], "Timeline(AOE Time)": [[3, "timeline-aoe-time"]], "Guidelines": [[3, "guidelines"]], "Organizers": [[4, "organizers"]], "Rules": [[5, "rules"]], "Track & Evaluation": [[6, "track-evaluation"]], "Speaker-Attributed ASR": [[6, "speaker-attributed-asr"]], "Evaluation metric": [[6, "evaluation-metric"]], "Sub-track arrangement": [[6, "sub-track-arrangement"]], "Sub-track I (Fixed Training Condition):": [[6, "sub-track-i-fixed-training-condition"]], "Sub-track II (Open Training Condition):": [[6, "sub-track-ii-open-training-condition"]], "ASRU 2023 MULTI-CHANNEL MULTI-PARTY MEETING TRANSCRIPTION CHALLENGE 2.0 (M2MeT2.0)": [[7, "asru-2023-multi-channel-multi-party-meeting-transcription-challenge-2-0-m2met2-0"]], "Contents:": [[7, null]]}, "indexentries": {}})
\ No newline at end of file
+Search.setIndex({"docnames": ["Baseline", "Challenge_result", "Contact", "Dataset", "Introduction", "Organizers", "Rules", "Track_setting_and_evaluation", "index"], "filenames": ["Baseline.md", "Challenge_result.md", "Contact.md", "Dataset.md", "Introduction.md", "Organizers.md", "Rules.md", "Track_setting_and_evaluation.md", "index.rst"], "titles": ["Baseline", "Challenge Result", "Contact", "Datasets", "Introduction", "Organizers", "Rules", "Track &amp; Evaluation", "ASRU 2023 MULTI-CHANNEL MULTI-PARTY MEETING TRANSCRIPTION CHALLENGE 2.0 (M2MeT2.0)"], "terms": {"we": [0, 3, 4, 8], "releas": [0, 3, 4, 7], "an": [0, 3, 4, 7], "e2": 0, "sa": 0, "asr": [0, 4, 8], "conduct": [0, 3], "funasr": 0, "time": [0, 7], "accord": [0, 4], "timelin": [0, 3], "The": [0, 1, 3, 4, 6, 7], "model": [0, 3, 4, 6, 7], "architectur": 0, "i": [0, 1, 3, 4, 6], "shown": [0, 3], "figur": [0, 7], "3": [0, 1, 3, 4], "speakerencod": 0, "initi": 0, "pre": [0, 7], "train": [0, 1, 4, 6, 8], "speaker": [0, 3, 4, 8], "verif": 0, "from": [0, 3, 4, 6, 7], "modelscop": [0, 7], "thi": [0, 1, 4, 6, 7], "also": [0, 3, 4, 7], "us": [0, 3, 6, 7], "extract": 0, "embed": 0, "profil": 0, "To": [0, 3, 4, 8], "run": 0, "first": 0, "you": [0, 2], "need": 0, "instal": 0, "There": [0, 3], "ar": [0, 1, 3, 4, 6, 7, 8], "two": [0, 1, 4, 6, 8], "startup": 0, "script": [0, 3], "sh": 0, "evalu": [0, 3, 4, 8], "old": 0, "eval": [0, 3, 6, 7], "test": [0, 3, 4, 6, 7], "set": [0, 3, 4, 6, 7], "run_m2met_2023_inf": 0, "infer": 0, "new": [0, 3, 4, 7], "multi": [0, 4, 7], "channel": [0, 4], "parti": [0, 4, 7], "meet": [0, 3, 4, 7], "transcript": [0, 3, 4, 6, 7], "2": [0, 1, 3, 7], "0": [0, 2, 3, 4], "m2met2": [0, 2, 4], "challeng": [0, 2, 4, 6, 7], "befor": 0, "must": [0, 4, 6, 7], "manual": [0, 7], "download": [0, 3], "unpack": 0, "alimeet": [0, 2, 7], "corpu": [0, 7], "place": [0, 3], "dataset": [0, 4, 6, 7, 8], "directori": 0, "eval_ali_far": 0, "eval_ali_near": 0, "test_ali_far": 0, "test_ali_near": 0, "train_ali_far": 0, "train_ali_near": 0, "test_2023_ali_far": 0, "after": 0, "which": [0, 3, 4, 7], "contain": [0, 3, 7], "onli": [0, 3, 6, 7], "raw": 0, "audio": [0, 3, 4, 7], "Then": 0, "put": 0, "given": 0, "wav": 0, "scp": 0, "wav_raw": 0, "segment": [0, 3, 7], "utt2spk": 0, "spk2utt": 0, "data": [0, 4, 6, 7], "For": [0, 3], "more": [0, 3], "detail": [0, 4, 7], "can": [0, 3, 4, 6, 7], "see": 0, "here": 0, "system": [0, 4, 6, 7, 8], "tabl": [0, 1, 3], "adopt": 0, "oracl": [0, 7], "dure": [0, 3, 7], "howev": [0, 4, 7], "due": [0, 4], "lack": 0, "label": [0, 6, 7], "provid": [0, 3, 7, 8], "addit": [0, 7], "spectral": 0, "cluster": 0, "meanwhil": 0, "show": [0, 1], "impact": 0, "accuraci": [0, 7], "follow": [1, 3, 6], "final": [1, 4, 6, 7], "competit": 1, "where": [1, 7], "sub": [1, 4, 6, 8], "track1": 1, "repres": 1, "track": [1, 4, 6, 8], "under": 1, "fix": [1, 3, 4, 8], "condit": [1, 3, 4, 8], "open": [1, 3, 4, 8], "all": [1, 3, 4, 6, 7], "cp": 1, "cer": [1, 7], "rank": [1, 3, 4, 7], "combin": 1, "team": [1, 4], "submiss": [1, 4], "met": 1, "requir": [1, 3, 4, 7], "name": [1, 3], "track2": 1, "paper": [1, 4, 7], "1": [1, 3], "ximalaya": 1, "speech": [1, 3, 4, 7, 8], "11": [1, 4], "27": [1, 3], "\u5c0f\u9a6c\u8fbe": 1, "18": 1, "64": 1, "aizyzx": 1, "22": [1, 4], "83": 1, "4": [1, 3, 7], "asrspeed": 1, "23": 1, "51": 1, "5": [1, 3], "zyxlhz": 1, "24": 1, "82": 1, "6": 1, "cmcai": 1, "26": [1, 4], "7": 1, "volcspeech": 1, "34": [1, 3], "21": 1, "8": [1, 3], "\u9274\u5f80\u77e5\u6765": 1, "40": 1, "14": 1, "9": 1, "baselin": [1, 3, 4, 8], "41": 1, "55": [1, 3], "10": [1, 3, 4, 7], "daict": 1, "If": [2, 6, 7], "have": [2, 4], "ani": [2, 6, 7], "question": 2, "about": [2, 4], "pleas": 2, "u": [2, 3], "email": [2, 4, 5], "m2met": [2, 4, 7, 8], "gmail": 2, "com": [2, 5], "wechat": [2, 4], "group": [2, 3, 4], "In": [3, 4, 6], "restrict": 3, "three": [3, 4, 7], "publicli": [3, 7], "avail": [3, 7], "corpora": 3, "aishel": [3, 5, 7], "cn": [3, 5, 7], "celeb": [3, 7], "perform": [3, 4], "call": 3, "2023": [3, 4, 6, 7], "score": [3, 7], "describ": 3, "118": 3, "75": 3, "hour": [3, 4, 7], "total": [3, 7], "divid": [3, 7], "104": 3, "specif": [3, 7], "212": 3, "20": [3, 4], "session": [3, 4, 7, 8], "respect": 3, "each": [3, 4, 7], "consist": [3, 7], "15": 3, "30": 3, "minut": 3, "discuss": 3, "particip": [3, 6, 7], "number": [3, 4, 7], "456": 3, "25": 3, "60": 3, "balanc": 3, "gender": 3, "coverag": 3, "collect": 3, "13": 3, "venu": 3, "categor": 3, "type": 3, "small": 3, "medium": 3, "larg": [3, 4], "room": [3, 4], "size": 3, "rang": 3, "m": 3, "differ": [3, 4, 7], "give": 3, "varieti": 3, "acoust": [3, 4, 7], "properti": 3, "layout": 3, "paramet": [3, 6], "togeth": 3, "wall": 3, "materi": 3, "cover": 3, "cement": 3, "glass": 3, "etc": 3, "other": 3, "furnish": 3, "includ": [3, 4, 6, 7], "sofa": 3, "tv": 3, "blackboard": 3, "fan": 3, "air": 3, "condition": 3, "plant": 3, "record": [3, 7], "sit": 3, "around": 3, "microphon": [3, 4], "arrai": [3, 4], "natur": 3, "convers": 3, "distanc": 3, "nativ": 3, "chines": 3, "speak": [3, 4], "mandarin": [3, 4], "without": 3, "strong": 3, "accent": 3, "variou": [3, 4], "kind": 3, "indoor": 3, "nois": [3, 4, 6], "limit": [3, 4, 6], "click": 3, "keyboard": 3, "door": 3, "close": [3, 4], "bubbl": 3, "made": [3, 4], "both": [3, 7], "remain": [3, 4], "same": [3, 6], "posit": 3, "overlap": [3, 4], "between": [3, 7], "exampl": 3, "fig": 3, "within": [3, 4], "one": [3, 6], "ensur": 3, "ratio": 3, "select": [3, 4, 6, 7], "topic": 3, "medic": 3, "treatment": 3, "educ": 3, "busi": 3, "organ": [3, 4, 6, 7, 8], "manag": 3, "industri": [3, 4], "product": 3, "daili": 3, "routin": 3, "averag": 3, "42": 3, "76": 3, "A": [3, 5], "distribut": 3, "were": 3, "ident": [3, 7], "compris": [3, 4, 8], "therebi": 3, "share": 3, "similar": 3, "configur": 3, "field": [3, 4, 7], "signal": [3, 4], "headset": 3, "": [3, 7], "own": 3, "transcrib": [3, 4, 7], "It": [3, 7], "worth": [3, 7], "note": [3, 7], "far": [3, 4], "synchron": 3, "common": 3, "prepar": 3, "textgrid": 3, "format": 3, "inform": [3, 4], "durat": 3, "id": 3, "timestamp": [3, 7], "mention": 3, "abov": 3, "openslr": 3, "via": 3, "link": 3, "particularli": 3, "conveni": 3, "automat": [4, 8], "recognit": [4, 8], "diariz": 4, "signific": 4, "stride": 4, "recent": 4, "year": 4, "result": [4, 8], "surg": 4, "technologi": 4, "applic": 4, "across": 4, "domain": 4, "present": 4, "uniqu": [4, 7], "complex": [4, 6], "divers": 4, "style": 4, "variabl": 4, "confer": 4, "environment": 4, "reverber": [4, 6], "over": 4, "sever": 4, "been": 4, "advanc": [4, 8], "develop": [4, 7], "rich": 4, "comput": [4, 6], "hear": 4, "multisourc": 4, "environ": 4, "chime": 4, "latest": 4, "iter": 4, "ha": 4, "particular": 4, "focu": 4, "distant": 4, "gener": 4, "topologi": 4, "scenario": 4, "while": 4, "progress": 4, "english": 4, "languag": [4, 6], "barrier": 4, "achiev": 4, "compar": 4, "non": 4, "multimod": 4, "base": 4, "process": [4, 7], "misp": 4, "instrument": 4, "seek": 4, "address": 4, "problem": 4, "visual": 4, "everydai": 4, "home": 4, "focus": 4, "tackl": 4, "issu": 4, "offlin": 4, "icassp2022": 4, "main": 4, "task": [4, 7, 8], "former": 4, "involv": [4, 7], "identifi": 4, "who": 4, "spoke": 4, "when": 4, "latter": 4, "aim": 4, "multipl": [4, 7], "simultan": 4, "pose": [4, 7], "technic": 4, "difficulti": 4, "interfer": 4, "build": [4, 7, 8], "success": [4, 8], "previou": 4, "excit": 4, "propos": [4, 8], "asru": 4, "special": [4, 6, 8], "origin": [4, 6], "metric": [4, 8], "wa": [4, 7], "independ": 4, "meant": 4, "could": 4, "determin": 4, "correspond": [4, 6], "further": 4, "current": [4, 8], "talker": [4, 8], "toward": 4, "practic": 4, "attribut": [4, 8], "what": 4, "facilit": [4, 8], "reproduc": [4, 8], "research": [4, 5, 8], "offer": 4, "comprehens": [4, 8], "overview": [4, 8], "rule": [4, 8], "furthermor": 4, "carefulli": 4, "curat": 4, "approxim": [4, 7], "design": 4, "enabl": 4, "valid": 4, "state": [4, 7, 8], "art": [4, 8], "area": 4, "april": 4, "29": 4, "registr": 4, "mai": 4, "deadlin": 4, "date": 4, "join": 4, "june": 4, "16": 4, "leaderboard": 4, "leaderboar": 4, "juli": 4, "decemb": 4, "12": 4, "workshop": 4, "interest": 4, "whether": 4, "academia": 4, "regist": 4, "complet": 4, "googl": 4, "form": 4, "below": 4, "welcom": 4, "keep": 4, "up": 4, "updat": 4, "work": 4, "dai": 4, "send": 4, "invit": 4, "elig": [4, 6], "qualifi": 4, "adher": [4, 6], "publish": 4, "page": 4, "prior": 4, "submit": 4, "descript": [4, 7], "document": 4, "approach": [4, 6], "method": 4, "top": 4, "asru2023": [4, 8], "proceed": 4, "lei": 5, "xie": 5, "professor": 5, "foundat": 5, "china": 5, "lxie": 5, "nwpu": 5, "edu": 5, "kong": 5, "aik": 5, "lee": 5, "senior": 5, "scientist": 5, "institut": 5, "infocomm": 5, "star": 5, "singapor": 5, "kongaik": 5, "ieee": 5, "org": 5, "zhiji": 5, "yan": 5, "princip": 5, "engin": 5, "alibaba": 5, "yzj": 5, "inc": 5, "shiliang": 5, "zhang": 5, "sly": 5, "zsl": 5, "yanmin": 5, "qian": 5, "shanghai": 5, "jiao": 5, "tong": 5, "univers": 5, "yanminqian": 5, "sjtu": 5, "zhuo": 5, "chen": 5, "appli": 5, "microsoft": 5, "usa": 5, "zhuc": 5, "jian": 5, "wu": 5, "wujian": 5, "hui": 5, "bu": 5, "ceo": 5, "buhui": 5, "aishelldata": 5, "should": 6, "augment": 6, "allow": [6, 7], "ad": 6, "speed": 6, "perturb": 6, "tone": 6, "chang": 6, "permit": 6, "purpos": 6, "instead": [6, 7], "util": [6, 7], "tune": 6, "violat": 6, "strictli": [6, 7], "prohibit": [6, 7], "fine": 6, "cpcer": [6, 7], "lower": 6, "judg": 6, "superior": 6, "forc": 6, "align": 6, "obtain": [6, 7], "frame": 6, "level": 6, "classif": 6, "basi": 6, "shallow": 6, "fusion": 6, "end": 6, "e": [6, 7], "g": 6, "la": 6, "rnnt": 6, "transform": [6, 7], "come": 6, "right": 6, "interpret": 6, "belong": 6, "case": 6, "circumst": 6, "coordin": 6, "assign": 7, "illustr": 7, "aishell4": 7, "constrain": 7, "sourc": 7, "addition": 7, "soon": 7, "simpl": 7, "voic": 7, "activ": 7, "detect": 7, "vad": 7, "concaten": 7, "minimum": 7, "permut": 7, "charact": 7, "error": 7, "rate": 7, "calcul": 7, "step": 7, "firstli": 7, "refer": 7, "hypothesi": 7, "chronolog": 7, "order": 7, "secondli": 7, "repeat": 7, "possibl": 7, "lowest": 7, "tthe": 7, "insert": 7, "Ins": 7, "substitut": 7, "delet": 7, "del": 7, "output": 7, "text": 7, "frac": 7, "mathcal": 7, "n_": 7, "100": 7, "usag": 7, "third": 7, "hug": 7, "face": 7, "list": 7, "clearli": 7, "privat": 7, "simul": 7, "thei": 7, "mandatori": 7, "clear": 7, "scheme": 7, "delight": 8, "introduct": 8, "contact": 8}, "objects": {}, "objtypes": {}, "objnames": {}, "titleterms": {"baselin": 0, "overview": [0, 3], "quick": 0, "start": 0, "result": [0, 1], "challeng": [1, 8], "contact": 2, "dataset": 3, "train": [3, 7], "data": 3, "detail": 3, "alimeet": 3, "corpu": 3, "get": 3, "introduct": 4, "call": 4, "particip": 4, "timelin": 4, "aoe": 4, "time": 4, "guidelin": 4, "organ": 5, "rule": 6, "track": 7, "evalu": 7, "speaker": 7, "attribut": 7, "asr": 7, "metric": 7, "sub": 7, "arrang": 7, "i": 7, "fix": 7, "condit": 7, "ii": 7, "open": 7, "asru": 8, "2023": 8, "multi": 8, "channel": 8, "parti": 8, "meet": 8, "transcript": 8, "2": 8, "0": 8, "m2met2": 8, "content": 8}, "envversion": {"sphinx.domains.c": 2, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 8, "sphinx.domains.index": 1, "sphinx.domains.javascript": 2, "sphinx.domains.math": 2, "sphinx.domains.python": 3, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx": 57}, "alltitles": {"Baseline": [[0, "baseline"]], "Overview": [[0, "overview"]], "Quick start": [[0, "quick-start"]], "Baseline results": [[0, "baseline-results"]], "Contact": [[2, "contact"]], "Datasets": [[3, "datasets"]], "Overview of training data": [[3, "overview-of-training-data"]], "Detail of AliMeeting corpus": [[3, "detail-of-alimeeting-corpus"]], "Get the data": [[3, "get-the-data"]], "Introduction": [[4, "introduction"]], "Call for participation": [[4, "call-for-participation"]], "Timeline(AOE Time)": [[4, "timeline-aoe-time"]], "Guidelines": [[4, "guidelines"]], "Organizers": [[5, "organizers"]], "Rules": [[6, "rules"]], "Track & Evaluation": [[7, "track-evaluation"]], "Speaker-Attributed ASR": [[7, "speaker-attributed-asr"]], "Evaluation metric": [[7, "evaluation-metric"]], "Sub-track arrangement": [[7, "sub-track-arrangement"]], "Sub-track I (Fixed Training Condition):": [[7, "sub-track-i-fixed-training-condition"]], "Sub-track II (Open Training Condition):": [[7, "sub-track-ii-open-training-condition"]], "ASRU 2023 MULTI-CHANNEL MULTI-PARTY MEETING TRANSCRIPTION CHALLENGE 2.0 (M2MeT2.0)": [[8, "asru-2023-multi-channel-multi-party-meeting-transcription-challenge-2-0-m2met2-0"]], "Contents:": [[8, null]], "Challenge Result": [[1, "challenge-result"]]}, "indexentries": {}})
\ No newline at end of file
diff --git a/docs/m2met2/index.rst b/docs/m2met2/index.rst
index e0e7562..672cb91 100644
--- a/docs/m2met2/index.rst
+++ b/docs/m2met2/index.rst
@@ -18,5 +18,6 @@
    ./Track_setting_and_evaluation
    ./Baseline
    ./Rules
+   ./Challenge_result
    ./Organizers
    ./Contact
diff --git a/docs/m2met2_cn/_build/doctrees/environment.pickle b/docs/m2met2_cn/_build/doctrees/environment.pickle
index a65d613..3e1d79d 100644
--- a/docs/m2met2_cn/_build/doctrees/environment.pickle
+++ b/docs/m2met2_cn/_build/doctrees/environment.pickle
Binary files differ
diff --git a/docs/m2met2_cn/_build/doctrees/index.doctree b/docs/m2met2_cn/_build/doctrees/index.doctree
index 43e1b34..abdde10 100644
--- a/docs/m2met2_cn/_build/doctrees/index.doctree
+++ b/docs/m2met2_cn/_build/doctrees/index.doctree
Binary files differ
diff --git "a/docs/m2met2_cn/_build/doctrees/\346\257\224\350\265\233\347\273\223\346\236\234.doctree" "b/docs/m2met2_cn/_build/doctrees/\346\257\224\350\265\233\347\273\223\346\236\234.doctree"
new file mode 100644
index 0000000..bed03e6
--- /dev/null
+++ "b/docs/m2met2_cn/_build/doctrees/\346\257\224\350\265\233\347\273\223\346\236\234.doctree"
Binary files differ
diff --git a/docs/m2met2_cn/_build/html/_sources/index.rst.txt b/docs/m2met2_cn/_build/html/_sources/index.rst.txt
index 3d9f241..15dee0b 100644
--- a/docs/m2met2_cn/_build/html/_sources/index.rst.txt
+++ b/docs/m2met2_cn/_build/html/_sources/index.rst.txt
@@ -18,5 +18,6 @@
    ./璧涢亾璁剧疆涓庤瘎浼�
    ./鍩虹嚎
    ./瑙勫垯
+   ./姣旇禌缁撴灉
    ./缁勫浼�
    ./鑱旂郴鏂瑰紡
diff --git "a/docs/m2met2_cn/_build/html/_sources/\346\257\224\350\265\233\347\273\223\346\236\234.md.txt" "b/docs/m2met2_cn/_build/html/_sources/\346\257\224\350\265\233\347\273\223\346\236\234.md.txt"
new file mode 100644
index 0000000..c577718
--- /dev/null
+++ "b/docs/m2met2_cn/_build/html/_sources/\346\257\224\350\265\233\347\273\223\346\236\234.md.txt"
@@ -0,0 +1,14 @@
+# 姣旇禌缁撴灉
+琛ㄤ腑涓烘湰娆$珵璧涚殑鏈�缁堢粨鏋滐紝鍏朵腑Sub-track1浠h〃闄愬畾鏁版嵁瀛愯禌閬擄紝Sub-track2浠h〃闈為檺瀹氭暟鎹瓙璧涢亾銆傝〃涓暟鎹潎涓篶p-CER锛�%锛夈�傜敱浜庢墍鏈夐槦浼嶇殑鎻愪氦鍧囩鍚堥檺瀹氭暟鎹瓙璧涢亾鐨勮姹傦紝琛ㄤ腑鐨勬帓鍚嶄负涓や釜瀛楄禌閬撳悎骞跺悗鐨勬帓鍚嶃��
+| 鎺掑悕 &nbsp; &nbsp; |闃熶紞鍚嶇О  &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; | 瀛愯禌閬撲竴 &nbsp; &nbsp; | 瀛愯禌閬撲簩 &nbsp; &nbsp; | 璁烘枃 &nbsp; &nbsp; |
+|------|----------------------|------------|------------|------------------------|
+| 1    | Ximalaya Speech Team | 11.27      | 11.27      |                        |
+| 2    | 灏忛┈杈�                | 18.64      | 18.64      |                        |
+| 3    | AIzyzx               | 22.83      | 22.83      |                        |
+| 4    | AsrSpeeder           | /          | 23.51      |                        |
+| 5    | zyxlhz               | 24.82      | 24.82      |                        |
+| 6    | CMCAI                | 26.11      | /          |                        |
+| 7    | Volcspeech           | 34.21      | 34.21      |                        |
+| 8    | 閴村線鐭ユ潵              | 40.14      | 40.14      |                        |
+| 9    | baseline             | 41.55      | 41.55      |                        |
+| 10   | DAICT                | 41.64      |            |                        |
\ No newline at end of file
diff --git a/docs/m2met2_cn/_build/html/genindex.html b/docs/m2met2_cn/_build/html/genindex.html
index 1eee622..ddb6232 100644
--- a/docs/m2met2_cn/_build/html/genindex.html
+++ b/docs/m2met2_cn/_build/html/genindex.html
@@ -92,6 +92,7 @@
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="%E8%A7%84%E5%88%99.html">绔炶禌瑙勫垯</a></li>
+<li class="toctree-l1"><a class="reference internal" href="%E6%AF%94%E8%B5%9B%E7%BB%93%E6%9E%9C.html">姣旇禌缁撴灉</a></li>
 <li class="toctree-l1"><a class="reference internal" href="%E7%BB%84%E5%A7%94%E4%BC%9A.html">缁勫浼�</a></li>
 <li class="toctree-l1"><a class="reference internal" href="%E8%81%94%E7%B3%BB%E6%96%B9%E5%BC%8F.html">鑱旂郴鏂瑰紡</a></li>
 </ul>
diff --git a/docs/m2met2_cn/_build/html/index.html b/docs/m2met2_cn/_build/html/index.html
index b7672cf..5df85ab 100644
--- a/docs/m2met2_cn/_build/html/index.html
+++ b/docs/m2met2_cn/_build/html/index.html
@@ -97,6 +97,7 @@
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="%E8%A7%84%E5%88%99.html">绔炶禌瑙勫垯</a></li>
+<li class="toctree-l1"><a class="reference internal" href="%E6%AF%94%E8%B5%9B%E7%BB%93%E6%9E%9C.html">姣旇禌缁撴灉</a></li>
 <li class="toctree-l1"><a class="reference internal" href="%E7%BB%84%E5%A7%94%E4%BC%9A.html">缁勫浼�</a></li>
 <li class="toctree-l1"><a class="reference internal" href="%E8%81%94%E7%B3%BB%E6%96%B9%E5%BC%8F.html">鑱旂郴鏂瑰紡</a></li>
 </ul>
@@ -132,6 +133,7 @@
 <li class="toctree-l1"><a class="reference internal" href="%E8%B5%9B%E9%81%93%E8%AE%BE%E7%BD%AE%E4%B8%8E%E8%AF%84%E4%BC%B0.html">璧涢亾璁剧疆涓庤瘎浼�</a></li>
 <li class="toctree-l1"><a class="reference internal" href="%E5%9F%BA%E7%BA%BF.html">鍩虹嚎</a></li>
 <li class="toctree-l1"><a class="reference internal" href="%E8%A7%84%E5%88%99.html">绔炶禌瑙勫垯</a></li>
+<li class="toctree-l1"><a class="reference internal" href="%E6%AF%94%E8%B5%9B%E7%BB%93%E6%9E%9C.html">姣旇禌缁撴灉</a></li>
 <li class="toctree-l1"><a class="reference internal" href="%E7%BB%84%E5%A7%94%E4%BC%9A.html">缁勫浼�</a></li>
 <li class="toctree-l1"><a class="reference internal" href="%E8%81%94%E7%B3%BB%E6%96%B9%E5%BC%8F.html">鑱旂郴鏂瑰紡</a></li>
 </ul>
diff --git a/docs/m2met2_cn/_build/html/objects.inv b/docs/m2met2_cn/_build/html/objects.inv
index d846652..8466fe7 100644
--- a/docs/m2met2_cn/_build/html/objects.inv
+++ b/docs/m2met2_cn/_build/html/objects.inv
Binary files differ
diff --git a/docs/m2met2_cn/_build/html/search.html b/docs/m2met2_cn/_build/html/search.html
index ca234a0..1020749 100644
--- a/docs/m2met2_cn/_build/html/search.html
+++ b/docs/m2met2_cn/_build/html/search.html
@@ -85,6 +85,7 @@
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="%E8%A7%84%E5%88%99.html">绔炶禌瑙勫垯</a></li>
+<li class="toctree-l1"><a class="reference internal" href="%E6%AF%94%E8%B5%9B%E7%BB%93%E6%9E%9C.html">姣旇禌缁撴灉</a></li>
 <li class="toctree-l1"><a class="reference internal" href="%E7%BB%84%E5%A7%94%E4%BC%9A.html">缁勫浼�</a></li>
 <li class="toctree-l1"><a class="reference internal" href="%E8%81%94%E7%B3%BB%E6%96%B9%E5%BC%8F.html">鑱旂郴鏂瑰紡</a></li>
 </ul>
diff --git a/docs/m2met2_cn/_build/html/searchindex.js b/docs/m2met2_cn/_build/html/searchindex.js
index 0976d1d..65f0147 100644
--- a/docs/m2met2_cn/_build/html/searchindex.js
+++ b/docs/m2met2_cn/_build/html/searchindex.js
@@ -1 +1 @@
-Search.setIndex({"docnames": ["index", "\u57fa\u7ebf", "\u6570\u636e\u96c6", "\u7b80\u4ecb", "\u7ec4\u59d4\u4f1a", "\u8054\u7cfb\u65b9\u5f0f", "\u89c4\u5219", "\u8d5b\u9053\u8bbe\u7f6e\u4e0e\u8bc4\u4f30"], "filenames": ["index.rst", "\u57fa\u7ebf.md", "\u6570\u636e\u96c6.md", "\u7b80\u4ecb.md", "\u7ec4\u59d4\u4f1a.md", "\u8054\u7cfb\u65b9\u5f0f.md", "\u89c4\u5219.md", "\u8d5b\u9053\u8bbe\u7f6e\u4e0e\u8bc4\u4f30.md"], "titles": ["ASRU 2023 \u591a\u901a\u9053\u591a\u65b9\u4f1a\u8bae\u8f6c\u5f55\u6311\u6218 2.0", "\u57fa\u7ebf", "\u6570\u636e\u96c6", "\u7b80\u4ecb", "\u7ec4\u59d4\u4f1a", "\u8054\u7cfb\u65b9\u5f0f", "\u7ade\u8d5b\u89c4\u5219", "\u8d5b\u9053\u8bbe\u7f6e\u4e0e\u8bc4\u4f30"], "terms": {"m2met": [0, 1, 3, 5, 7], "asru2023": [0, 3], "m2met2": [0, 3, 5, 7], "funasr": 1, "sa": 1, "asr": [1, 3, 7], "speakerencod": 1, "modelscop": [1, 7], "instal": 1, "run": 1, "sh": 1, "run_m2met_2023_inf": 1, "alimeet": [1, 3, 5, 7], "dataset": 1, "eval_ali_far": 1, "eval_ali_near": 1, "test_ali_far": 1, "test_ali_near": 1, "train_ali_far": 1, "train_ali_near": 1, "test_2023_ali_far": 1, "16": [1, 3], "wav": 1, "scp": 1, "wav_raw": 1, "segment": 1, "utt2spk": 1, "spk2utt": 1, "data": 1, "aishel": [2, 7], "cn": [2, 4, 7], "celeb": [2, 7], "test": [2, 6, 7], "2023": [2, 3, 6, 7], "118": 2, "75": 2, "104": 2, "train": 2, "eval": [2, 6], "10": [2, 3, 7], "212": 2, "15": 2, "30": 2, "456": 2, "25": 2, "13": 2, "55": 2, "42": 2, "27": 2, "34": 2, "76": 2, "20": [2, 3], "textgrid": 2, "id": 2, "openslr": 2, "baselin": 2, "automat": 3, "speech": 3, "recognit": 3, "speaker": 3, "diariz": 3, "rich": 3, "transcript": 3, "evalu": 3, "chime": 3, "comput": 3, "hear": 3, "in": 3, "multisourc": 3, "environ": 3, "misp": 3, "multimod": 3, "inform": 3, "base": 3, "process": 3, "multi": 3, "channel": 3, "parti": 3, "meet": 3, "iassp2022": 3, "asru": 3, "29": 3, "11": 3, "22": 3, "26": 3, "session": 3, "12": 3, "workshop": 3, "challeng": 3, "gmail": [3, 5], "com": [3, 4, 5], "lxie": 4, "nwpu": 4, "edu": 4, "kong": 4, "aik": 4, "lee": 4, "star": 4, "kongaik": 4, "ieee": 4, "org": 4, "zhiji": 4, "yzj": 4, "alibaba": 4, "inc": 4, "sli": 4, "zsl": 4, "yanminqian": 4, "sjtu": 4, "zhuc": 4, "microsoft": 4, "wujian": 4, "ceo": 4, "buhui": 4, "aishelldata": 4, "cpcer": [6, 7], "las": 6, "rnnt": 6, "transform": 6, "aishell4": 7, "vad": 7, "cer": 7, "ins": 7, "sub": 7, "del": 7, "text": 7, "frac": 7, "mathcal": 7, "n_": 7, "total": 7, "time": 7, "100": 7, "hug": 7, "face": 7}, "objects": {}, "objtypes": {}, "objnames": {}, "titleterms": {"asru": 0, "2023": 0, "alimeet": 2, "aoe": 3}, "envversion": {"sphinx.domains.c": 2, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 8, "sphinx.domains.index": 1, "sphinx.domains.javascript": 2, "sphinx.domains.math": 2, "sphinx.domains.python": 3, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx": 57}, "alltitles": {"ASRU 2023 \u591a\u901a\u9053\u591a\u65b9\u4f1a\u8bae\u8f6c\u5f55\u6311\u6218 2.0": [[0, "asru-2023-2-0"]], "\u76ee\u5f55:": [[0, null]], "\u57fa\u7ebf": [[1, "id1"]], "\u57fa\u7ebf\u6982\u8ff0": [[1, "id2"]], "\u5feb\u901f\u5f00\u59cb": [[1, "id3"]], "\u57fa\u7ebf\u7ed3\u679c": [[1, "id4"]], "\u6570\u636e\u96c6": [[2, "id1"]], "\u6570\u636e\u96c6\u6982\u8ff0": [[2, "id2"]], "Alimeeting\u6570\u636e\u96c6\u4ecb\u7ecd": [[2, "alimeeting"]], "\u83b7\u53d6\u6570\u636e": [[2, "id3"]], "\u7b80\u4ecb": [[3, "id1"]], "\u7ade\u8d5b\u4ecb\u7ecd": [[3, "id2"]], "\u65f6\u95f4\u5b89\u6392(AOE\u65f6\u95f4)": [[3, "aoe"]], "\u7ade\u8d5b\u62a5\u540d": [[3, "id3"]], "\u7ec4\u59d4\u4f1a": [[4, "id1"]], "\u8054\u7cfb\u65b9\u5f0f": [[5, "id1"]], "\u7ade\u8d5b\u89c4\u5219": [[6, "id1"]], "\u8d5b\u9053\u8bbe\u7f6e\u4e0e\u8bc4\u4f30": [[7, "id1"]], "\u8bf4\u8bdd\u4eba\u76f8\u5173\u7684\u8bed\u97f3\u8bc6\u522b": [[7, "id2"]], "\u8bc4\u4f30\u65b9\u6cd5": [[7, "id3"]], "\u5b50\u8d5b\u9053\u8bbe\u7f6e": [[7, "id4"]], "\u5b50\u8d5b\u9053\u4e00 (\u9650\u5b9a\u8bad\u7ec3\u6570\u636e):": [[7, "id5"]], "\u5b50\u8d5b\u9053\u4e8c (\u5f00\u653e\u8bad\u7ec3\u6570\u636e):": [[7, "id6"]]}, "indexentries": {}})
\ No newline at end of file
+Search.setIndex({"docnames": ["index", "\u57fa\u7ebf", "\u6570\u636e\u96c6", "\u6bd4\u8d5b\u7ed3\u679c", "\u7b80\u4ecb", "\u7ec4\u59d4\u4f1a", "\u8054\u7cfb\u65b9\u5f0f", "\u89c4\u5219", "\u8d5b\u9053\u8bbe\u7f6e\u4e0e\u8bc4\u4f30"], "filenames": ["index.rst", "\u57fa\u7ebf.md", "\u6570\u636e\u96c6.md", "\u6bd4\u8d5b\u7ed3\u679c.md", "\u7b80\u4ecb.md", "\u7ec4\u59d4\u4f1a.md", "\u8054\u7cfb\u65b9\u5f0f.md", "\u89c4\u5219.md", "\u8d5b\u9053\u8bbe\u7f6e\u4e0e\u8bc4\u4f30.md"], "titles": ["ASRU 2023 \u591a\u901a\u9053\u591a\u65b9\u4f1a\u8bae\u8f6c\u5f55\u6311\u6218 2.0", "\u57fa\u7ebf", "\u6570\u636e\u96c6", "\u6bd4\u8d5b\u7ed3\u679c", "\u7b80\u4ecb", "\u7ec4\u59d4\u4f1a", "\u8054\u7cfb\u65b9\u5f0f", "\u7ade\u8d5b\u89c4\u5219", "\u8d5b\u9053\u8bbe\u7f6e\u4e0e\u8bc4\u4f30"], "terms": {"m2met": [0, 1, 4, 6, 8], "asru2023": [0, 4], "m2met2": [0, 4, 6, 8], "funasr": 1, "sa": 1, "asr": [1, 4, 8], "speakerencod": 1, "modelscop": [1, 8], "instal": 1, "run": 1, "sh": 1, "run_m2met_2023_inf": 1, "alimeet": [1, 4, 6, 8], "dataset": 1, "eval_ali_far": 1, "eval_ali_near": 1, "test_ali_far": 1, "test_ali_near": 1, "train_ali_far": 1, "train_ali_near": 1, "test_2023_ali_far": 1, "16": [1, 4], "wav": 1, "scp": 1, "wav_raw": 1, "segment": 1, "utt2spk": 1, "spk2utt": 1, "data": 1, "aishel": [2, 8], "cn": [2, 5, 8], "celeb": [2, 8], "test": [2, 7, 8], "2023": [2, 4, 7, 8], "118": 2, "75": 2, "104": 2, "train": 2, "eval": [2, 7], "10": [2, 3, 4, 8], "212": 2, "15": 2, "30": 2, "456": 2, "25": 2, "13": 2, "55": [2, 3], "42": 2, "27": [2, 3], "34": [2, 3], "76": 2, "20": [2, 4], "textgrid": 2, "id": 2, "openslr": 2, "baselin": [2, 3], "sub": [3, 8], "track1": 3, "track2": 3, "cp": 3, "cer": [3, 8], "ximalaya": 3, "speech": [3, 4], "team": 3, "11": [3, 4], "18": 3, "64": 3, "aizyzx": 3, "22": [3, 4], "83": 3, "asrspeed": 3, "23": 3, "51": 3, "zyxlhz": 3, "24": 3, "82": 3, "cmcai": 3, "26": [3, 4], "volcspeech": 3, "21": 3, "40": 3, "14": 3, "41": 3, "daict": 3, "automat": 4, "recognit": 4, "speaker": 4, "diariz": 4, "rich": 4, "transcript": 4, "evalu": 4, "chime": 4, "comput": 4, "hear": 4, "in": 4, "multisourc": 4, "environ": 4, "misp": 4, "multimod": 4, "inform": 4, "base": 4, "process": 4, "multi": 4, "channel": 4, "parti": 4, "meet": 4, "iassp2022": 4, "asru": 4, "29": 4, "session": 4, "12": 4, "workshop": 4, "challeng": 4, "gmail": [4, 6], "com": [4, 5, 6], "lxie": 5, "nwpu": 5, "edu": 5, "kong": 5, "aik": 5, "lee": 5, "star": 5, "kongaik": 5, "ieee": 5, "org": 5, "zhiji": 5, "yzj": 5, "alibaba": 5, "inc": 5, "sli": 5, "zsl": 5, "yanminqian": 5, "sjtu": 5, "zhuc": 5, "microsoft": 5, "wujian": 5, "ceo": 5, "buhui": 5, "aishelldata": 5, "cpcer": [7, 8], "las": 7, "rnnt": 7, "transform": 7, "aishell4": 8, "vad": 8, "ins": 8, "del": 8, "text": 8, "frac": 8, "mathcal": 8, "n_": 8, "total": 8, "time": 8, "100": 8, "hug": 8, "face": 8}, "objects": {}, "objtypes": {}, "objnames": {}, "titleterms": {"asru": 0, "2023": 0, "alimeet": 2, "aoe": 4}, "envversion": {"sphinx.domains.c": 2, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 8, "sphinx.domains.index": 1, "sphinx.domains.javascript": 2, "sphinx.domains.math": 2, "sphinx.domains.python": 3, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx": 57}, "alltitles": {"ASRU 2023 \u591a\u901a\u9053\u591a\u65b9\u4f1a\u8bae\u8f6c\u5f55\u6311\u6218 2.0": [[0, "asru-2023-2-0"]], "\u76ee\u5f55:": [[0, null]], "\u57fa\u7ebf": [[1, "id1"]], "\u57fa\u7ebf\u6982\u8ff0": [[1, "id2"]], "\u5feb\u901f\u5f00\u59cb": [[1, "id3"]], "\u57fa\u7ebf\u7ed3\u679c": [[1, "id4"]], "\u6570\u636e\u96c6": [[2, "id1"]], "\u6570\u636e\u96c6\u6982\u8ff0": [[2, "id2"]], "Alimeeting\u6570\u636e\u96c6\u4ecb\u7ecd": [[2, "alimeeting"]], "\u83b7\u53d6\u6570\u636e": [[2, "id3"]], "\u6bd4\u8d5b\u7ed3\u679c": [[3, "id1"]], "\u7b80\u4ecb": [[4, "id1"]], "\u7ade\u8d5b\u4ecb\u7ecd": [[4, "id2"]], "\u65f6\u95f4\u5b89\u6392(AOE\u65f6\u95f4)": [[4, "aoe"]], "\u7ade\u8d5b\u62a5\u540d": [[4, "id3"]], "\u7ec4\u59d4\u4f1a": [[5, "id1"]], "\u8054\u7cfb\u65b9\u5f0f": [[6, "id1"]], "\u7ade\u8d5b\u89c4\u5219": [[7, "id1"]], "\u8d5b\u9053\u8bbe\u7f6e\u4e0e\u8bc4\u4f30": [[8, "id1"]], "\u8bf4\u8bdd\u4eba\u76f8\u5173\u7684\u8bed\u97f3\u8bc6\u522b": [[8, "id2"]], "\u8bc4\u4f30\u65b9\u6cd5": [[8, "id3"]], "\u5b50\u8d5b\u9053\u8bbe\u7f6e": [[8, "id4"]], "\u5b50\u8d5b\u9053\u4e00 (\u9650\u5b9a\u8bad\u7ec3\u6570\u636e):": [[8, "id5"]], "\u5b50\u8d5b\u9053\u4e8c (\u5f00\u653e\u8bad\u7ec3\u6570\u636e):": [[8, "id6"]]}, "indexentries": {}})
\ No newline at end of file
diff --git "a/docs/m2met2_cn/_build/html/\345\237\272\347\272\277.html" "b/docs/m2met2_cn/_build/html/\345\237\272\347\272\277.html"
index 9161a64..5cb3797 100644
--- "a/docs/m2met2_cn/_build/html/\345\237\272\347\272\277.html"
+++ "b/docs/m2met2_cn/_build/html/\345\237\272\347\272\277.html"
@@ -101,6 +101,7 @@
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="%E8%A7%84%E5%88%99.html">绔炶禌瑙勫垯</a></li>
+<li class="toctree-l1"><a class="reference internal" href="%E6%AF%94%E8%B5%9B%E7%BB%93%E6%9E%9C.html">姣旇禌缁撴灉</a></li>
 <li class="toctree-l1"><a class="reference internal" href="%E7%BB%84%E5%A7%94%E4%BC%9A.html">缁勫浼�</a></li>
 <li class="toctree-l1"><a class="reference internal" href="%E8%81%94%E7%B3%BB%E6%96%B9%E5%BC%8F.html">鑱旂郴鏂瑰紡</a></li>
 </ul>
diff --git "a/docs/m2met2_cn/_build/html/\346\225\260\346\215\256\351\233\206.html" "b/docs/m2met2_cn/_build/html/\346\225\260\346\215\256\351\233\206.html"
index 016c58f..4198b5a 100644
--- "a/docs/m2met2_cn/_build/html/\346\225\260\346\215\256\351\233\206.html"
+++ "b/docs/m2met2_cn/_build/html/\346\225\260\346\215\256\351\233\206.html"
@@ -101,6 +101,7 @@
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="%E8%A7%84%E5%88%99.html">绔炶禌瑙勫垯</a></li>
+<li class="toctree-l1"><a class="reference internal" href="%E6%AF%94%E8%B5%9B%E7%BB%93%E6%9E%9C.html">姣旇禌缁撴灉</a></li>
 <li class="toctree-l1"><a class="reference internal" href="%E7%BB%84%E5%A7%94%E4%BC%9A.html">缁勫浼�</a></li>
 <li class="toctree-l1"><a class="reference internal" href="%E8%81%94%E7%B3%BB%E6%96%B9%E5%BC%8F.html">鑱旂郴鏂瑰紡</a></li>
 </ul>
diff --git "a/docs/m2met2_cn/_build/html/\346\257\224\350\265\233\347\273\223\346\236\234.html" "b/docs/m2met2_cn/_build/html/\346\257\224\350\265\233\347\273\223\346\236\234.html"
new file mode 100644
index 0000000..d22579c
--- /dev/null
+++ "b/docs/m2met2_cn/_build/html/\346\257\224\350\265\233\347\273\223\346\236\234.html"
@@ -0,0 +1,248 @@
+
+<!DOCTYPE html>
+
+<html lang="zh-CN">
+  <head>
+    <meta charset="utf-8" />
+    <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.18.1: http://docutils.sourceforge.net/" />
+
+  
+  <!-- Licensed under the Apache 2.0 License -->
+  <link rel="stylesheet" type="text/css" href="_static/fonts/open-sans/stylesheet.css" />
+  <!-- Licensed under the SIL Open Font License -->
+  <link rel="stylesheet" type="text/css" href="_static/fonts/source-serif-pro/source-serif-pro.css" />
+  <link rel="stylesheet" type="text/css" href="_static/css/bootstrap.min.css" />
+  <link rel="stylesheet" type="text/css" href="_static/css/bootstrap-theme.min.css" />
+  <meta name="viewport" content="width=device-width, initial-scale=1.0">
+  
+    <title>姣旇禌缁撴灉 &#8212; 澶氶�氶亾澶氭柟浼氳杞綍鎸戞垬2.0</title>
+    <link rel="stylesheet" type="text/css" href="_static/pygments.css" />
+    <link rel="stylesheet" type="text/css" href="_static/guzzle.css" />
+    <script data-url_root="./" id="documentation_options" src="_static/documentation_options.js"></script>
+    <script src="_static/jquery.js"></script>
+    <script src="_static/underscore.js"></script>
+    <script src="_static/_sphinx_javascript_frameworks_compat.js"></script>
+    <script src="_static/doctools.js"></script>
+    <script src="_static/sphinx_highlight.js"></script>
+    <script src="_static/translations.js"></script>
+    <link rel="index" title="绱㈠紩" href="genindex.html" />
+    <link rel="search" title="鎼滅储" href="search.html" />
+    <link rel="next" title="缁勫浼�" href="%E7%BB%84%E5%A7%94%E4%BC%9A.html" />
+    <link rel="prev" title="绔炶禌瑙勫垯" href="%E8%A7%84%E5%88%99.html" />
+  
+   
+
+  </head><body>
+    <div class="related" role="navigation" aria-label="related navigation">
+      <h3>瀵艰埅</h3>
+      <ul>
+        <li class="right" style="margin-right: 10px">
+          <a href="genindex.html" title="鎬荤储寮�"
+             accesskey="I">绱㈠紩</a></li>
+        <li class="right" >
+          <a href="%E7%BB%84%E5%A7%94%E4%BC%9A.html" title="缁勫浼�"
+             accesskey="N">涓嬩竴椤�</a> |</li>
+        <li class="right" >
+          <a href="%E8%A7%84%E5%88%99.html" title="绔炶禌瑙勫垯"
+             accesskey="P">涓婁竴椤�</a> |</li>
+        <li class="nav-item nav-item-0"><a href="index.html">澶氶�氶亾澶氭柟浼氳杞綍鎸戞垬2.0</a> &#187;</li>
+        <li class="nav-item nav-item-this"><a href="">姣旇禌缁撴灉</a></li> 
+      </ul>
+    </div>
+    <div class="container-wrapper">
+
+      <div id="mobile-toggle">
+        <a href="#"><span class="glyphicon glyphicon-align-justify" aria-hidden="true"></span></a>
+      </div>
+  <div id="left-column">
+    <div class="sphinxsidebar"><a href="
+    index.html" class="text-logo">澶氶�氶亾澶氭柟浼氳杞綍鎸戞垬2.0</a>
+<div class="sidebar-block">
+  <div class="sidebar-wrapper">
+    <div id="main-search">
+      <form class="form-inline" action="search.html" method="GET" role="form">
+        <div class="input-group">
+          <input name="q" type="text" class="form-control" placeholder="Search...">
+        </div>
+        <input type="hidden" name="check_keywords" value="yes" />
+        <input type="hidden" name="area" value="default" />
+      </form>
+    </div>
+  </div>
+</div>
+<div class="sidebar-block">
+  <div class="sidebar-toc">
+    
+    
+      <p class="caption" role="heading"><span class="caption-text">鐩綍:</span></p>
+<ul class="current">
+<li class="toctree-l1"><a class="reference internal" href="%E7%AE%80%E4%BB%8B.html">绠�浠�</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="%E7%AE%80%E4%BB%8B.html#id2">绔炶禌浠嬬粛</a></li>
+<li class="toctree-l2"><a class="reference internal" href="%E7%AE%80%E4%BB%8B.html#aoe">鏃堕棿瀹夋帓(AOE鏃堕棿)</a></li>
+<li class="toctree-l2"><a class="reference internal" href="%E7%AE%80%E4%BB%8B.html#id3">绔炶禌鎶ュ悕</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="%E6%95%B0%E6%8D%AE%E9%9B%86.html">鏁版嵁闆�</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="%E6%95%B0%E6%8D%AE%E9%9B%86.html#id2">鏁版嵁闆嗘杩�</a></li>
+<li class="toctree-l2"><a class="reference internal" href="%E6%95%B0%E6%8D%AE%E9%9B%86.html#alimeeting">Alimeeting鏁版嵁闆嗕粙缁�</a></li>
+<li class="toctree-l2"><a class="reference internal" href="%E6%95%B0%E6%8D%AE%E9%9B%86.html#id3">鑾峰彇鏁版嵁</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="%E8%B5%9B%E9%81%93%E8%AE%BE%E7%BD%AE%E4%B8%8E%E8%AF%84%E4%BC%B0.html">璧涢亾璁剧疆涓庤瘎浼�</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="%E8%B5%9B%E9%81%93%E8%AE%BE%E7%BD%AE%E4%B8%8E%E8%AF%84%E4%BC%B0.html#id2">璇磋瘽浜虹浉鍏崇殑璇煶璇嗗埆</a></li>
+<li class="toctree-l2"><a class="reference internal" href="%E8%B5%9B%E9%81%93%E8%AE%BE%E7%BD%AE%E4%B8%8E%E8%AF%84%E4%BC%B0.html#id3">璇勪及鏂规硶</a></li>
+<li class="toctree-l2"><a class="reference internal" href="%E8%B5%9B%E9%81%93%E8%AE%BE%E7%BD%AE%E4%B8%8E%E8%AF%84%E4%BC%B0.html#id4">瀛愯禌閬撹缃�</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="%E5%9F%BA%E7%BA%BF.html">鍩虹嚎</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="%E5%9F%BA%E7%BA%BF.html#id2">鍩虹嚎姒傝堪</a></li>
+<li class="toctree-l2"><a class="reference internal" href="%E5%9F%BA%E7%BA%BF.html#id3">蹇�熷紑濮�</a></li>
+<li class="toctree-l2"><a class="reference internal" href="%E5%9F%BA%E7%BA%BF.html#id4">鍩虹嚎缁撴灉</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="%E8%A7%84%E5%88%99.html">绔炶禌瑙勫垯</a></li>
+<li class="toctree-l1 current"><a class="current reference internal" href="#">姣旇禌缁撴灉</a></li>
+<li class="toctree-l1"><a class="reference internal" href="%E7%BB%84%E5%A7%94%E4%BC%9A.html">缁勫浼�</a></li>
+<li class="toctree-l1"><a class="reference internal" href="%E8%81%94%E7%B3%BB%E6%96%B9%E5%BC%8F.html">鑱旂郴鏂瑰紡</a></li>
+</ul>
+
+    
+  </div>
+</div>
+      
+    </div>
+  </div>
+        <div id="right-column">
+          
+          <div role="navigation" aria-label="breadcrumbs navigation">
+            <ol class="breadcrumb">
+              <li><a href="index.html">Docs</a></li>
+              
+              <li>姣旇禌缁撴灉</li>
+            </ol>
+          </div>
+          
+          <div class="document clearer body">
+            
+  <section id="id1">
+<h1>姣旇禌缁撴灉<a class="headerlink" href="#id1" title="姝ゆ爣棰樼殑姘镐箙閾炬帴">露</a></h1>
+<p>琛ㄤ腑涓烘湰娆$珵璧涚殑鏈�缁堢粨鏋滐紝鍏朵腑Sub-track1浠h〃闄愬畾鏁版嵁瀛愯禌閬擄紝Sub-track2浠h〃闈為檺瀹氭暟鎹瓙璧涢亾銆傝〃涓暟鎹潎涓篶p-CER锛�%锛夈�傜敱浜庢墍鏈夐槦浼嶇殑鎻愪氦鍧囩鍚堥檺瀹氭暟鎹瓙璧涢亾鐨勮姹傦紝琛ㄤ腑鐨勬帓鍚嶄负涓や釜瀛楄禌閬撳悎骞跺悗鐨勬帓鍚嶃��</p>
+<table class="docutils align-default">
+<thead>
+<tr class="row-odd"><th class="head"><p>鎺掑悕 聽 聽</p></th>
+<th class="head"><p>闃熶紞鍚嶇О  聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽</p></th>
+<th class="head"><p>瀛愯禌閬撲竴 聽 聽</p></th>
+<th class="head"><p>瀛愯禌閬撲簩 聽 聽</p></th>
+<th class="head"><p>璁烘枃 聽 聽</p></th>
+</tr>
+</thead>
+<tbody>
+<tr class="row-even"><td><p>1</p></td>
+<td><p>Ximalaya Speech Team</p></td>
+<td><p>11.27</p></td>
+<td><p>11.27</p></td>
+<td><p></p></td>
+</tr>
+<tr class="row-odd"><td><p>2</p></td>
+<td><p>灏忛┈杈�</p></td>
+<td><p>18.64</p></td>
+<td><p>18.64</p></td>
+<td><p></p></td>
+</tr>
+<tr class="row-even"><td><p>3</p></td>
+<td><p>AIzyzx</p></td>
+<td><p>22.83</p></td>
+<td><p>22.83</p></td>
+<td><p></p></td>
+</tr>
+<tr class="row-odd"><td><p>4</p></td>
+<td><p>AsrSpeeder</p></td>
+<td><p>/</p></td>
+<td><p>23.51</p></td>
+<td><p></p></td>
+</tr>
+<tr class="row-even"><td><p>5</p></td>
+<td><p>zyxlhz</p></td>
+<td><p>24.82</p></td>
+<td><p>24.82</p></td>
+<td><p></p></td>
+</tr>
+<tr class="row-odd"><td><p>6</p></td>
+<td><p>CMCAI</p></td>
+<td><p>26.11</p></td>
+<td><p>/</p></td>
+<td><p></p></td>
+</tr>
+<tr class="row-even"><td><p>7</p></td>
+<td><p>Volcspeech</p></td>
+<td><p>34.21</p></td>
+<td><p>34.21</p></td>
+<td><p></p></td>
+</tr>
+<tr class="row-odd"><td><p>8</p></td>
+<td><p>閴村線鐭ユ潵</p></td>
+<td><p>40.14</p></td>
+<td><p>40.14</p></td>
+<td><p></p></td>
+</tr>
+<tr class="row-even"><td><p>9</p></td>
+<td><p>baseline</p></td>
+<td><p>41.55</p></td>
+<td><p>41.55</p></td>
+<td><p></p></td>
+</tr>
+<tr class="row-odd"><td><p>10</p></td>
+<td><p>DAICT</p></td>
+<td><p>41.64</p></td>
+<td><p></p></td>
+<td><p></p></td>
+</tr>
+</tbody>
+</table>
+</section>
+
+
+          </div>
+            
+  <div class="footer-relations">
+    
+      <div class="pull-left">
+        <a class="btn btn-default" href="%E8%A7%84%E5%88%99.html" title="涓婁竴绔� (use the left arrow)">绔炶禌瑙勫垯</a>
+      </div>
+    
+      <div class="pull-right">
+        <a class="btn btn-default" href="%E7%BB%84%E5%A7%94%E4%BC%9A.html" title="涓嬩竴绔� (use the right arrow)">缁勫浼�</a>
+      </div>
+    </div>
+    <div class="clearer"></div>
+  
+        </div>
+        <div class="clearfix"></div>
+    </div>
+    <div class="related" role="navigation" aria-label="related navigation">
+      <h3>瀵艰埅</h3>
+      <ul>
+        <li class="right" style="margin-right: 10px">
+          <a href="genindex.html" title="鎬荤储寮�"
+             >绱㈠紩</a></li>
+        <li class="right" >
+          <a href="%E7%BB%84%E5%A7%94%E4%BC%9A.html" title="缁勫浼�"
+             >涓嬩竴椤�</a> |</li>
+        <li class="right" >
+          <a href="%E8%A7%84%E5%88%99.html" title="绔炶禌瑙勫垯"
+             >涓婁竴椤�</a> |</li>
+        <li class="nav-item nav-item-0"><a href="index.html">澶氶�氶亾澶氭柟浼氳杞綍鎸戞垬2.0</a> &#187;</li>
+        <li class="nav-item nav-item-this"><a href="">姣旇禌缁撴灉</a></li> 
+      </ul>
+    </div>
+<script type="text/javascript">
+  $("#mobile-toggle a").click(function () {
+    $("#left-column").toggle();
+  });
+</script>
+<script type="text/javascript" src="_static/js/bootstrap.js"></script>
+  <div class="footer">
+    &copy; Copyright 2023, Speech Lab, Alibaba Group; ASLP Group, Northwestern Polytechnical University. Created using <a href="http://sphinx.pocoo.org/">Sphinx</a>.
+  </div>
+  </body>
+</html>
\ No newline at end of file
diff --git "a/docs/m2met2_cn/_build/html/\347\256\200\344\273\213.html" "b/docs/m2met2_cn/_build/html/\347\256\200\344\273\213.html"
index 05f8847..4628a12 100644
--- "a/docs/m2met2_cn/_build/html/\347\256\200\344\273\213.html"
+++ "b/docs/m2met2_cn/_build/html/\347\256\200\344\273\213.html"
@@ -102,6 +102,7 @@
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="%E8%A7%84%E5%88%99.html">绔炶禌瑙勫垯</a></li>
+<li class="toctree-l1"><a class="reference internal" href="%E6%AF%94%E8%B5%9B%E7%BB%93%E6%9E%9C.html">姣旇禌缁撴灉</a></li>
 <li class="toctree-l1"><a class="reference internal" href="%E7%BB%84%E5%A7%94%E4%BC%9A.html">缁勫浼�</a></li>
 <li class="toctree-l1"><a class="reference internal" href="%E8%81%94%E7%B3%BB%E6%96%B9%E5%BC%8F.html">鑱旂郴鏂瑰紡</a></li>
 </ul>
diff --git "a/docs/m2met2_cn/_build/html/\347\273\204\345\247\224\344\274\232.html" "b/docs/m2met2_cn/_build/html/\347\273\204\345\247\224\344\274\232.html"
index e39465f..a280555 100644
--- "a/docs/m2met2_cn/_build/html/\347\273\204\345\247\224\344\274\232.html"
+++ "b/docs/m2met2_cn/_build/html/\347\273\204\345\247\224\344\274\232.html"
@@ -28,7 +28,7 @@
     <link rel="index" title="绱㈠紩" href="genindex.html" />
     <link rel="search" title="鎼滅储" href="search.html" />
     <link rel="next" title="鑱旂郴鏂瑰紡" href="%E8%81%94%E7%B3%BB%E6%96%B9%E5%BC%8F.html" />
-    <link rel="prev" title="绔炶禌瑙勫垯" href="%E8%A7%84%E5%88%99.html" />
+    <link rel="prev" title="姣旇禌缁撴灉" href="%E6%AF%94%E8%B5%9B%E7%BB%93%E6%9E%9C.html" />
   
    
 
@@ -43,7 +43,7 @@
           <a href="%E8%81%94%E7%B3%BB%E6%96%B9%E5%BC%8F.html" title="鑱旂郴鏂瑰紡"
              accesskey="N">涓嬩竴椤�</a> |</li>
         <li class="right" >
-          <a href="%E8%A7%84%E5%88%99.html" title="绔炶禌瑙勫垯"
+          <a href="%E6%AF%94%E8%B5%9B%E7%BB%93%E6%9E%9C.html" title="姣旇禌缁撴灉"
              accesskey="P">涓婁竴椤�</a> |</li>
         <li class="nav-item nav-item-0"><a href="index.html">澶氶�氶亾澶氭柟浼氳杞綍鎸戞垬2.0</a> &#187;</li>
         <li class="nav-item nav-item-this"><a href="">缁勫浼�</a></li> 
@@ -101,6 +101,7 @@
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="%E8%A7%84%E5%88%99.html">绔炶禌瑙勫垯</a></li>
+<li class="toctree-l1"><a class="reference internal" href="%E6%AF%94%E8%B5%9B%E7%BB%93%E6%9E%9C.html">姣旇禌缁撴灉</a></li>
 <li class="toctree-l1 current"><a class="current reference internal" href="#">缁勫浼�</a></li>
 <li class="toctree-l1"><a class="reference internal" href="%E8%81%94%E7%B3%BB%E6%96%B9%E5%BC%8F.html">鑱旂郴鏂瑰紡</a></li>
 </ul>
@@ -164,7 +165,7 @@
   <div class="footer-relations">
     
       <div class="pull-left">
-        <a class="btn btn-default" href="%E8%A7%84%E5%88%99.html" title="涓婁竴绔� (use the left arrow)">绔炶禌瑙勫垯</a>
+        <a class="btn btn-default" href="%E6%AF%94%E8%B5%9B%E7%BB%93%E6%9E%9C.html" title="涓婁竴绔� (use the left arrow)">姣旇禌缁撴灉</a>
       </div>
     
       <div class="pull-right">
@@ -186,7 +187,7 @@
           <a href="%E8%81%94%E7%B3%BB%E6%96%B9%E5%BC%8F.html" title="鑱旂郴鏂瑰紡"
              >涓嬩竴椤�</a> |</li>
         <li class="right" >
-          <a href="%E8%A7%84%E5%88%99.html" title="绔炶禌瑙勫垯"
+          <a href="%E6%AF%94%E8%B5%9B%E7%BB%93%E6%9E%9C.html" title="姣旇禌缁撴灉"
              >涓婁竴椤�</a> |</li>
         <li class="nav-item nav-item-0"><a href="index.html">澶氶�氶亾澶氭柟浼氳杞綍鎸戞垬2.0</a> &#187;</li>
         <li class="nav-item nav-item-this"><a href="">缁勫浼�</a></li> 
diff --git "a/docs/m2met2_cn/_build/html/\350\201\224\347\263\273\346\226\271\345\274\217.html" "b/docs/m2met2_cn/_build/html/\350\201\224\347\263\273\346\226\271\345\274\217.html"
index fc060e8..095df78 100644
--- "a/docs/m2met2_cn/_build/html/\350\201\224\347\263\273\346\226\271\345\274\217.html"
+++ "b/docs/m2met2_cn/_build/html/\350\201\224\347\263\273\346\226\271\345\274\217.html"
@@ -97,6 +97,7 @@
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="%E8%A7%84%E5%88%99.html">绔炶禌瑙勫垯</a></li>
+<li class="toctree-l1"><a class="reference internal" href="%E6%AF%94%E8%B5%9B%E7%BB%93%E6%9E%9C.html">姣旇禌缁撴灉</a></li>
 <li class="toctree-l1"><a class="reference internal" href="%E7%BB%84%E5%A7%94%E4%BC%9A.html">缁勫浼�</a></li>
 <li class="toctree-l1 current"><a class="current reference internal" href="#">鑱旂郴鏂瑰紡</a></li>
 </ul>
diff --git "a/docs/m2met2_cn/_build/html/\350\247\204\345\210\231.html" "b/docs/m2met2_cn/_build/html/\350\247\204\345\210\231.html"
index 7d54533..281cca7 100644
--- "a/docs/m2met2_cn/_build/html/\350\247\204\345\210\231.html"
+++ "b/docs/m2met2_cn/_build/html/\350\247\204\345\210\231.html"
@@ -27,7 +27,7 @@
     <script src="_static/translations.js"></script>
     <link rel="index" title="绱㈠紩" href="genindex.html" />
     <link rel="search" title="鎼滅储" href="search.html" />
-    <link rel="next" title="缁勫浼�" href="%E7%BB%84%E5%A7%94%E4%BC%9A.html" />
+    <link rel="next" title="姣旇禌缁撴灉" href="%E6%AF%94%E8%B5%9B%E7%BB%93%E6%9E%9C.html" />
     <link rel="prev" title="鍩虹嚎" href="%E5%9F%BA%E7%BA%BF.html" />
   
    
@@ -40,7 +40,7 @@
           <a href="genindex.html" title="鎬荤储寮�"
              accesskey="I">绱㈠紩</a></li>
         <li class="right" >
-          <a href="%E7%BB%84%E5%A7%94%E4%BC%9A.html" title="缁勫浼�"
+          <a href="%E6%AF%94%E8%B5%9B%E7%BB%93%E6%9E%9C.html" title="姣旇禌缁撴灉"
              accesskey="N">涓嬩竴椤�</a> |</li>
         <li class="right" >
           <a href="%E5%9F%BA%E7%BA%BF.html" title="鍩虹嚎"
@@ -101,6 +101,7 @@
 </ul>
 </li>
 <li class="toctree-l1 current"><a class="current reference internal" href="#">绔炶禌瑙勫垯</a></li>
+<li class="toctree-l1"><a class="reference internal" href="%E6%AF%94%E8%B5%9B%E7%BB%93%E6%9E%9C.html">姣旇禌缁撴灉</a></li>
 <li class="toctree-l1"><a class="reference internal" href="%E7%BB%84%E5%A7%94%E4%BC%9A.html">缁勫浼�</a></li>
 <li class="toctree-l1"><a class="reference internal" href="%E8%81%94%E7%B3%BB%E6%96%B9%E5%BC%8F.html">鑱旂郴鏂瑰紡</a></li>
 </ul>
@@ -146,7 +147,7 @@
       </div>
     
       <div class="pull-right">
-        <a class="btn btn-default" href="%E7%BB%84%E5%A7%94%E4%BC%9A.html" title="涓嬩竴绔� (use the right arrow)">缁勫浼�</a>
+        <a class="btn btn-default" href="%E6%AF%94%E8%B5%9B%E7%BB%93%E6%9E%9C.html" title="涓嬩竴绔� (use the right arrow)">姣旇禌缁撴灉</a>
       </div>
     </div>
     <div class="clearer"></div>
@@ -161,7 +162,7 @@
           <a href="genindex.html" title="鎬荤储寮�"
              >绱㈠紩</a></li>
         <li class="right" >
-          <a href="%E7%BB%84%E5%A7%94%E4%BC%9A.html" title="缁勫浼�"
+          <a href="%E6%AF%94%E8%B5%9B%E7%BB%93%E6%9E%9C.html" title="姣旇禌缁撴灉"
              >涓嬩竴椤�</a> |</li>
         <li class="right" >
           <a href="%E5%9F%BA%E7%BA%BF.html" title="鍩虹嚎"
diff --git "a/docs/m2met2_cn/_build/html/\350\265\233\351\201\223\350\256\276\347\275\256\344\270\216\350\257\204\344\274\260.html" "b/docs/m2met2_cn/_build/html/\350\265\233\351\201\223\350\256\276\347\275\256\344\270\216\350\257\204\344\274\260.html"
index c9a15f9..ddc419f 100644
--- "a/docs/m2met2_cn/_build/html/\350\265\233\351\201\223\350\256\276\347\275\256\344\270\216\350\257\204\344\274\260.html"
+++ "b/docs/m2met2_cn/_build/html/\350\265\233\351\201\223\350\256\276\347\275\256\344\270\216\350\257\204\344\274\260.html"
@@ -102,6 +102,7 @@
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="%E8%A7%84%E5%88%99.html">绔炶禌瑙勫垯</a></li>
+<li class="toctree-l1"><a class="reference internal" href="%E6%AF%94%E8%B5%9B%E7%BB%93%E6%9E%9C.html">姣旇禌缁撴灉</a></li>
 <li class="toctree-l1"><a class="reference internal" href="%E7%BB%84%E5%A7%94%E4%BC%9A.html">缁勫浼�</a></li>
 <li class="toctree-l1"><a class="reference internal" href="%E8%81%94%E7%B3%BB%E6%96%B9%E5%BC%8F.html">鑱旂郴鏂瑰紡</a></li>
 </ul>
diff --git a/docs/m2met2_cn/index.rst b/docs/m2met2_cn/index.rst
index 3d9f241..15dee0b 100644
--- a/docs/m2met2_cn/index.rst
+++ b/docs/m2met2_cn/index.rst
@@ -18,5 +18,6 @@
    ./璧涢亾璁剧疆涓庤瘎浼�
    ./鍩虹嚎
    ./瑙勫垯
+   ./姣旇禌缁撴灉
    ./缁勫浼�
    ./鑱旂郴鏂瑰紡
diff --git "a/docs/m2met2_cn/\346\257\224\350\265\233\347\273\223\346\236\234.md" "b/docs/m2met2_cn/\346\257\224\350\265\233\347\273\223\346\236\234.md"
new file mode 100644
index 0000000..c577718
--- /dev/null
+++ "b/docs/m2met2_cn/\346\257\224\350\265\233\347\273\223\346\236\234.md"
@@ -0,0 +1,14 @@
+# 姣旇禌缁撴灉
+琛ㄤ腑涓烘湰娆$珵璧涚殑鏈�缁堢粨鏋滐紝鍏朵腑Sub-track1浠h〃闄愬畾鏁版嵁瀛愯禌閬擄紝Sub-track2浠h〃闈為檺瀹氭暟鎹瓙璧涢亾銆傝〃涓暟鎹潎涓篶p-CER锛�%锛夈�傜敱浜庢墍鏈夐槦浼嶇殑鎻愪氦鍧囩鍚堥檺瀹氭暟鎹瓙璧涢亾鐨勮姹傦紝琛ㄤ腑鐨勬帓鍚嶄负涓や釜瀛楄禌閬撳悎骞跺悗鐨勬帓鍚嶃��
+| 鎺掑悕 &nbsp; &nbsp; |闃熶紞鍚嶇О  &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; | 瀛愯禌閬撲竴 &nbsp; &nbsp; | 瀛愯禌閬撲簩 &nbsp; &nbsp; | 璁烘枃 &nbsp; &nbsp; |
+|------|----------------------|------------|------------|------------------------|
+| 1    | Ximalaya Speech Team | 11.27      | 11.27      |                        |
+| 2    | 灏忛┈杈�                | 18.64      | 18.64      |                        |
+| 3    | AIzyzx               | 22.83      | 22.83      |                        |
+| 4    | AsrSpeeder           | /          | 23.51      |                        |
+| 5    | zyxlhz               | 24.82      | 24.82      |                        |
+| 6    | CMCAI                | 26.11      | /          |                        |
+| 7    | Volcspeech           | 34.21      | 34.21      |                        |
+| 8    | 閴村線鐭ユ潵              | 40.14      | 40.14      |                        |
+| 9    | baseline             | 41.55      | 41.55      |                        |
+| 10   | DAICT                | 41.64      |            |                        |
\ No newline at end of file
diff --git a/egs/alimeeting/sa_asr_deprecated/README.md b/egs/alimeeting/sa_asr_deprecated/README.md
deleted file mode 100644
index 2ef6bbe..0000000
--- a/egs/alimeeting/sa_asr_deprecated/README.md
+++ /dev/null
@@ -1,83 +0,0 @@
-# Get Started
-Speaker Attributed Automatic Speech Recognition (SA-ASR) is a task proposed to solve "who spoke what". Specifically, the goal of SA-ASR is not only to obtain multi-speaker transcriptions, but also to identify the corresponding speaker for each utterance. The method used in this example is referenced in the paper: [End-to-End Speaker-Attributed ASR with Transformer](https://www.isca-speech.org/archive/pdfs/interspeech_2021/kanda21b_interspeech.pdf).  
-To run this receipe, first you need to install FunASR and ModelScope. ([installation](https://github.com/alibaba-damo-academy/FunASR#installation))  
-There are two startup scripts, `run.sh` for training and evaluating on the old eval and test sets, and `run_m2met_2023_infer.sh` for inference on the new test set of the Multi-Channel Multi-Party Meeting Transcription 2.0 ([M2MeT2.0](https://alibaba-damo-academy.github.io/FunASR/m2met2/index.html)) Challenge.  
-Before running `run.sh`, you must manually download and unpack the [AliMeeting](http://www.openslr.org/119/) corpus and place it in the `./dataset` directory:
-```shell
-dataset
-|鈥斺�� Eval_Ali_far
-|鈥斺�� Eval_Ali_near
-|鈥斺�� Test_Ali_far
-|鈥斺�� Test_Ali_near
-|鈥斺�� Train_Ali_far
-|鈥斺�� Train_Ali_near
-```
-There are 16 stages in `run.sh`:
-```shell
-stage 1 - 5: Data preparation and processing.
-stage 6: Generate speaker profiles (Stage 6 takes a lot of time).
-stage 7 - 9: Language model training (Optional).
-stage 10 - 11: ASR training (SA-ASR requires loading the pre-trained ASR model).
-stage 12: SA-ASR training.
-stage 13 - 16: Inference and evaluation.
-```
-Before running `run_m2met_2023_infer.sh`, you need to place the new test set `Test_2023_Ali_far` (to be released after the challenge starts) in the `./dataset` directory, which contains only raw audios. Then put the given `wav.scp`, `wav_raw.scp`, `segments`, `utt2spk` and `spk2utt` in the `./data/Test_2023_Ali_far` directory.  
-```shell
-data/Test_2023_Ali_far
-|鈥斺�� wav.scp
-|鈥斺�� wav_raw.scp
-|鈥斺�� segments
-|鈥斺�� utt2spk
-|鈥斺�� spk2utt
-```
-There are 4 stages in `run_m2met_2023_infer.sh`:
-```shell
-stage 1: Data preparation and processing.
-stage 2: Generate speaker profiles for inference.
-stage 3: Inference.
-stage 4: Generation of SA-ASR results required for final submission.
-```
-
-The baseline model is available on [ModelScope](https://www.modelscope.cn/models/damo/speech_saasr_asr-zh-cn-16k-alimeeting/summary).
-After generate stats of AliMeeting corpus(stage 10 in `run.sh`), you can set the `infer_with_pretrained_model=true` in `run.sh` to infer with our official baseline model released on ModelScope without training.
-
-# Format of Final Submission
-Finally, you need to submit a file called `text_spk_merge` with the following format:
-```shell
-Meeting_1 text_spk_1_A$text_spk_1_B$text_spk_1_C ...
-Meeting_2 text_spk_2_A$text_spk_2_B$text_spk_2_C ...
-...
-```
-Here, text_spk_1_A represents the full transcription of speaker_A of Meeting_1 (merged in chronological order), and $ represents the separator symbol. There's no need to worry about the speaker permutation as the optimal permutation will be computed in the end.  For more information, please refer to the results generated after executing the baseline code.
-# Baseline Results
-The results of the baseline system are as follows. The baseline results include speaker independent character error rate (SI-CER) and concatenated minimum permutation character error rate (cpCER), the former is speaker independent and the latter is speaker dependent. The speaker profile adopts the oracle speaker embedding during training. However, due to the lack of oracle speaker label during evaluation, the speaker profile provided by an additional spectral clustering is used. Meanwhile, the results of using the oracle speaker profile on Eval and Test Set are also provided to show the impact of speaker profile accuracy.  
-<table>
-    <tr >
-	    <td rowspan="2"></td>
-        <td colspan="2">SI-CER(%)</td>
-	    <td colspan="2">cpCER(%)</td>
-	</tr>
-    <tr>
-        <td>Eval</td>
-	    <td>Test</td>
-	    <td>Eval</td>
-	    <td>Test</td>
-	</tr>
-    <tr>
-	    <td>oracle profile</td>
-        <td>32.05</td>
-        <td>32.70</td>
-	    <td>47.40</td>
-        <td>52.57</td>
-	</tr>
-    <tr>
-	    <td>cluster profile</td>
-        <td>32.05</td>
-        <td>32.70</td>
-	    <td>53.76</td>
-        <td>55.95</td>
-	</tr>
-</table>
-
-# Reference
-N. Kanda, G. Ye, Y. Gaur, X. Wang, Z. Meng, Z. Chen, and T. Yoshioka, "End-to-end speaker-attributed ASR with transformer," in Interspeech. ISCA, 2021, pp. 4413鈥�4417.
\ No newline at end of file
diff --git a/egs/alimeeting/sa_asr_deprecated/asr_local.sh b/egs/alimeeting/sa_asr_deprecated/asr_local.sh
deleted file mode 100755
index 30401b9..0000000
--- a/egs/alimeeting/sa_asr_deprecated/asr_local.sh
+++ /dev/null
@@ -1,1483 +0,0 @@
-#!/usr/bin/env bash
-
-# Set bash to 'debug' mode, it will exit on :
-# -e 'error', -u 'undefined variable', -o ... 'error in pipeline', -x 'print commands',
-set -e
-set -u
-set -o pipefail
-
-log() {
-    local fname=${BASH_SOURCE[1]##*/}
-    echo -e "$(date '+%Y-%m-%dT%H:%M:%S') (${fname}:${BASH_LINENO[0]}:${FUNCNAME[1]}) $*"
-}
-min() {
-  local a b
-  a=$1
-  for b in "$@"; do
-      if [ "${b}" -le "${a}" ]; then
-          a="${b}"
-      fi
-  done
-  echo "${a}"
-}
-SECONDS=0
-
-# General configuration
-stage=1              # Processes starts from the specified stage.
-stop_stage=10000     # Processes is stopped at the specified stage.
-skip_data_prep=false # Skip data preparation stages.
-skip_train=false     # Skip training stages.
-skip_eval=false      # Skip decoding and evaluation stages.
-skip_upload=true     # Skip packing and uploading stages.
-ngpu=1               # The number of gpus ("0" uses cpu, otherwise use gpu).
-num_nodes=1          # The number of nodes.
-nj=16                # The number of parallel jobs.
-inference_nj=16      # The number of parallel jobs in decoding.
-gpu_inference=false  # Whether to perform gpu decoding.
-njob_infer=4
-dumpdir=dump2         # Directory to dump features.
-expdir=exp           # Directory to save experiments.
-python=python3       # Specify python to execute espnet commands.
-device=0
-
-# Data preparation related
-local_data_opts= # The options given to local/data.sh.
-
-# Speed perturbation related
-speed_perturb_factors=  # perturbation factors, e.g. "0.9 1.0 1.1" (separated by space).
-
-# Feature extraction related
-feats_type=raw       # Feature type (raw or fbank_pitch).
-audio_format=flac    # Audio format: wav, flac, wav.ark, flac.ark  (only in feats_type=raw).
-fs=16000             # Sampling rate.
-min_wav_duration=0.1 # Minimum duration in second.
-max_wav_duration=20  # Maximum duration in second.
-
-# Tokenization related
-token_type=bpe      # Tokenization type (char or bpe).
-nbpe=30             # The number of BPE vocabulary.
-bpemode=unigram     # Mode of BPE (unigram or bpe).
-oov="<unk>"         # Out of vocabulary symbol.
-blank="<blank>"     # CTC blank symbol
-sos_eos="<sos/eos>" # sos and eos symbole
-bpe_input_sentence_size=100000000 # Size of input sentence for BPE.
-bpe_nlsyms=         # non-linguistic symbols list, separated by a comma, for BPE
-bpe_char_cover=1.0  # character coverage when modeling BPE
-
-# Language model related
-use_lm=true       # Use language model for ASR decoding.
-lm_tag=           # Suffix to the result dir for language model training.
-lm_exp=           # Specify the direcotry path for LM experiment.
-                  # If this option is specified, lm_tag is ignored.
-lm_stats_dir=     # Specify the direcotry path for LM statistics.
-lm_config=        # Config for language model training.
-lm_args=          # Arguments for language model training, e.g., "--max_epoch 10".
-                  # Note that it will overwrite args in lm config.
-use_word_lm=false # Whether to use word language model.
-num_splits_lm=1   # Number of splitting for lm corpus.
-# shellcheck disable=SC2034
-word_vocab_size=10000 # Size of word vocabulary.
-
-# ASR model related
-asr_tag=       # Suffix to the result dir for asr model training.
-asr_exp=       # Specify the direcotry path for ASR experiment.
-               # If this option is specified, asr_tag is ignored.
-sa_asr_exp=
-asr_stats_dir= # Specify the direcotry path for ASR statistics.
-asr_config=    # Config for asr model training.
-sa_asr_config=
-asr_args=      # Arguments for asr model training, e.g., "--max_epoch 10".
-               # Note that it will overwrite args in asr config.
-feats_normalize=global_mvn # Normalizaton layer type.
-num_splits_asr=1           # Number of splitting for lm corpus.
-
-# Decoding related
-inference_tag=    # Suffix to the result dir for decoding.
-inference_config= # Config for decoding.
-inference_args=   # Arguments for decoding, e.g., "--lm_weight 0.1".
-                  # Note that it will overwrite args in inference config.
-sa_asr_inference_tag=
-sa_asr_inference_args=
-
-inference_lm=valid.loss.ave.pb        # Language modle path for decoding.
-inference_asr_model=valid.acc.ave.pb  # ASR model path for decoding.
-                                      # e.g.
-                                      # inference_asr_model=train.loss.best.pth
-                                      # inference_asr_model=3epoch.pth
-                                      # inference_asr_model=valid.acc.best.pth
-                                      # inference_asr_model=valid.loss.ave.pth
-inference_sa_asr_model=valid.acc_spk.ave.pb
-infer_with_pretrained_model=false   # Use pretrained model for decoding
-download_sa_asr_model=          # Download the SA-ASR model from ModelScope and use it for decoding.
-# [Task dependent] Set the datadir name created by local/data.sh
-train_set=       # Name of training set.
-valid_set=       # Name of validation set used for monitoring/tuning network training.
-test_sets=       # Names of test sets. Multiple items (e.g., both dev and eval sets) can be specified.
-bpe_train_text=  # Text file path of bpe training set.
-lm_train_text=   # Text file path of language model training set.
-lm_dev_text=     # Text file path of language model development set.
-lm_test_text=    # Text file path of language model evaluation set.
-nlsyms_txt=none  # Non-linguistic symbol list if existing.
-cleaner=none     # Text cleaner.
-g2p=none         # g2p method (needed if token_type=phn).
-lang=zh      # The language type of corpus.
-score_opts=                # The options given to sclite scoring
-local_score_opts=          # The options given to local/score.sh.
-
-
-help_message=$(cat << EOF
-Usage: $0 --train-set "<train_set_name>" --valid-set "<valid_set_name>" --test_sets "<test_set_names>"
-
-Options:
-    # General configuration
-    --stage          # Processes starts from the specified stage (default="${stage}").
-    --stop_stage     # Processes is stopped at the specified stage (default="${stop_stage}").
-    --skip_data_prep # Skip data preparation stages (default="${skip_data_prep}").
-    --skip_train     # Skip training stages (default="${skip_train}").
-    --skip_eval      # Skip decoding and evaluation stages (default="${skip_eval}").
-    --skip_upload    # Skip packing and uploading stages (default="${skip_upload}").
-    --ngpu           # The number of gpus ("0" uses cpu, otherwise use gpu, default="${ngpu}").
-    --num_nodes      # The number of nodes (default="${num_nodes}").
-    --nj             # The number of parallel jobs (default="${nj}").
-    --inference_nj   # The number of parallel jobs in decoding (default="${inference_nj}").
-    --gpu_inference  # Whether to perform gpu decoding (default="${gpu_inference}").
-    --dumpdir        # Directory to dump features (default="${dumpdir}").
-    --expdir         # Directory to save experiments (default="${expdir}").
-    --python         # Specify python to execute espnet commands (default="${python}").
-    --device         # Which GPUs are use for local training (defalut="${device}").
-
-    # Data preparation related
-    --local_data_opts # The options given to local/data.sh (default="${local_data_opts}").
-
-    # Speed perturbation related
-    --speed_perturb_factors # speed perturbation factors, e.g. "0.9 1.0 1.1" (separated by space, default="${speed_perturb_factors}").
-
-    # Feature extraction related
-    --feats_type       # Feature type (raw, fbank_pitch or extracted, default="${feats_type}").
-    --audio_format     # Audio format: wav, flac, wav.ark, flac.ark  (only in feats_type=raw, default="${audio_format}").
-    --fs               # Sampling rate (default="${fs}").
-    --min_wav_duration # Minimum duration in second (default="${min_wav_duration}").
-    --max_wav_duration # Maximum duration in second (default="${max_wav_duration}").
-
-    # Tokenization related
-    --token_type              # Tokenization type (char or bpe, default="${token_type}").
-    --nbpe                    # The number of BPE vocabulary (default="${nbpe}").
-    --bpemode                 # Mode of BPE (unigram or bpe, default="${bpemode}").
-    --oov                     # Out of vocabulary symbol (default="${oov}").
-    --blank                   # CTC blank symbol (default="${blank}").
-    --sos_eos                 # sos and eos symbole (default="${sos_eos}").
-    --bpe_input_sentence_size # Size of input sentence for BPE (default="${bpe_input_sentence_size}").
-    --bpe_nlsyms              # Non-linguistic symbol list for sentencepiece, separated by a comma. (default="${bpe_nlsyms}").
-    --bpe_char_cover          # Character coverage when modeling BPE (default="${bpe_char_cover}").
-
-    # Language model related
-    --lm_tag          # Suffix to the result dir for language model training (default="${lm_tag}").
-    --lm_exp          # Specify the direcotry path for LM experiment.
-                      # If this option is specified, lm_tag is ignored (default="${lm_exp}").
-    --lm_stats_dir    # Specify the direcotry path for LM statistics (default="${lm_stats_dir}").
-    --lm_config       # Config for language model training (default="${lm_config}").
-    --lm_args         # Arguments for language model training (default="${lm_args}").
-                      # e.g., --lm_args "--max_epoch 10"
-                      # Note that it will overwrite args in lm config.
-    --use_word_lm     # Whether to use word language model (default="${use_word_lm}").
-    --word_vocab_size # Size of word vocabulary (default="${word_vocab_size}").
-    --num_splits_lm   # Number of splitting for lm corpus (default="${num_splits_lm}").
-
-    # ASR model related
-    --asr_tag          # Suffix to the result dir for asr model training (default="${asr_tag}").
-    --asr_exp          # Specify the direcotry path for ASR experiment.
-                       # If this option is specified, asr_tag is ignored (default="${asr_exp}").
-    --asr_stats_dir    # Specify the direcotry path for ASR statistics (default="${asr_stats_dir}").
-    --asr_config       # Config for asr model training (default="${asr_config}").
-    --asr_args         # Arguments for asr model training (default="${asr_args}").
-                       # e.g., --asr_args "--max_epoch 10"
-                       # Note that it will overwrite args in asr config.
-    --feats_normalize  # Normalizaton layer type (default="${feats_normalize}").
-    --num_splits_asr   # Number of splitting for lm corpus  (default="${num_splits_asr}").
-
-    # Decoding related
-    --inference_tag       # Suffix to the result dir for decoding (default="${inference_tag}").
-    --inference_config    # Config for decoding (default="${inference_config}").
-    --inference_args      # Arguments for decoding (default="${inference_args}").
-                          # e.g., --inference_args "--lm_weight 0.1"
-                          # Note that it will overwrite args in inference config.
-    --inference_lm        # Language modle path for decoding (default="${inference_lm}").
-    --inference_asr_model # ASR model path for decoding (default="${inference_asr_model}").
-    --infer_with_pretrained_model      # Use pretrained model for decoding (default="${infer_with_pretrained_model}").
-    --download_sa_asr_model=          # Download the SA-ASR model from ModelScope and use it for decoding(default="${download_sa_asr_model}").
-
-    # [Task dependent] Set the datadir name created by local/data.sh
-    --train_set     # Name of training set (required).
-    --valid_set     # Name of validation set used for monitoring/tuning network training (required).
-    --test_sets     # Names of test sets.
-                    # Multiple items (e.g., both dev and eval sets) can be specified (required).
-    --bpe_train_text # Text file path of bpe training set.
-    --lm_train_text  # Text file path of language model training set.
-    --lm_dev_text   # Text file path of language model development set (default="${lm_dev_text}").
-    --lm_test_text  # Text file path of language model evaluation set (default="${lm_test_text}").
-    --nlsyms_txt    # Non-linguistic symbol list if existing (default="${nlsyms_txt}").
-    --cleaner       # Text cleaner (default="${cleaner}").
-    --g2p           # g2p method (default="${g2p}").
-    --lang          # The language type of corpus (default=${lang}).
-    --score_opts             # The options given to sclite scoring (default="{score_opts}").
-    --local_score_opts       # The options given to local/score.sh (default="{local_score_opts}").
-EOF
-)
-
-log "$0 $*"
-# Save command line args for logging (they will be lost after utils/parse_options.sh)
-run_args=$(python -m funasr.utils.cli_utils $0 "$@")
-. utils/parse_options.sh
-
-if [ $# -ne 0 ]; then
-    log "${help_message}"
-    log "Error: No positional arguments are required."
-    exit 2
-fi
-
-. ./path.sh
-
-
-# Check required arguments
-[ -z "${train_set}" ] && { log "${help_message}"; log "Error: --train_set is required"; exit 2; };
-[ -z "${valid_set}" ] && { log "${help_message}"; log "Error: --valid_set is required"; exit 2; };
-[ -z "${test_sets}" ] && { log "${help_message}"; log "Error: --test_sets is required"; exit 2; };
-
-# Check feature type
-if [ "${feats_type}" = raw ]; then
-    data_feats=${dumpdir}/raw
-elif [ "${feats_type}" = fbank_pitch ]; then
-    data_feats=${dumpdir}/fbank_pitch
-elif [ "${feats_type}" = fbank ]; then
-    data_feats=${dumpdir}/fbank
-elif [ "${feats_type}" == extracted ]; then
-    data_feats=${dumpdir}/extracted
-else
-    log "${help_message}"
-    log "Error: not supported: --feats_type ${feats_type}"
-    exit 2
-fi
-
-# Use the same text as ASR for bpe training if not specified.
-[ -z "${bpe_train_text}" ] && bpe_train_text="${data_feats}/${train_set}/text"
-# Use the same text as ASR for lm training if not specified.
-[ -z "${lm_train_text}" ] && lm_train_text="${data_feats}/${train_set}/text"
-# Use the same text as ASR for lm training if not specified.
-[ -z "${lm_dev_text}" ] && lm_dev_text="${data_feats}/${valid_set}/text"
-# Use the text of the 1st evaldir if lm_test is not specified
-[ -z "${lm_test_text}" ] && lm_test_text="${data_feats}/${test_sets%% *}/text"
-
-# Check tokenization type
-if [ "${lang}" != noinfo ]; then
-    token_listdir=data/${lang}_token_list
-else
-    token_listdir=data/token_list
-fi
-bpedir="${token_listdir}/bpe_${bpemode}${nbpe}"
-bpeprefix="${bpedir}"/bpe
-bpemodel="${bpeprefix}".model
-bpetoken_list="${bpedir}"/tokens.txt
-chartoken_list="${token_listdir}"/char/tokens.txt
-# NOTE: keep for future development.
-# shellcheck disable=SC2034
-wordtoken_list="${token_listdir}"/word/tokens.txt
-
-if [ "${token_type}" = bpe ]; then
-    token_list="${bpetoken_list}"
-elif [ "${token_type}" = char ]; then
-    token_list="${chartoken_list}"
-    bpemodel=none
-elif [ "${token_type}" = word ]; then
-    token_list="${wordtoken_list}"
-    bpemodel=none
-else
-    log "Error: not supported --token_type '${token_type}'"
-    exit 2
-fi
-if ${use_word_lm}; then
-    log "Error: Word LM is not supported yet"
-    exit 2
-
-    lm_token_list="${wordtoken_list}"
-    lm_token_type=word
-else
-    lm_token_list="${token_list}"
-    lm_token_type="${token_type}"
-fi
-
-if ${infer_with_pretrained_model}; then
-    skip_train=true
-fi
-
-# Set tag for naming of model directory
-if [ -z "${asr_tag}" ]; then
-    if [ -n "${asr_config}" ]; then
-        asr_tag="$(basename "${asr_config}" .yaml)_${feats_type}"
-    else
-        asr_tag="train_${feats_type}"
-    fi
-    if [ "${lang}" != noinfo ]; then
-        asr_tag+="_${lang}_${token_type}"
-    else
-        asr_tag+="_${token_type}"
-    fi
-    if [ "${token_type}" = bpe ]; then
-        asr_tag+="${nbpe}"
-    fi
-    # Add overwritten arg's info
-    if [ -n "${asr_args}" ]; then
-        asr_tag+="$(echo "${asr_args}" | sed -e "s/--/\_/g" -e "s/[ |=/]//g")"
-    fi
-    if [ -n "${speed_perturb_factors}" ]; then
-        asr_tag+="_sp"
-    fi
-fi
-if [ -z "${lm_tag}" ]; then
-    if [ -n "${lm_config}" ]; then
-        lm_tag="$(basename "${lm_config}" .yaml)"
-    else
-        lm_tag="train"
-    fi
-    if [ "${lang}" != noinfo ]; then
-        lm_tag+="_${lang}_${lm_token_type}"
-    else
-        lm_tag+="_${lm_token_type}"
-    fi
-    if [ "${lm_token_type}" = bpe ]; then
-        lm_tag+="${nbpe}"
-    fi
-    # Add overwritten arg's info
-    if [ -n "${lm_args}" ]; then
-        lm_tag+="$(echo "${lm_args}" | sed -e "s/--/\_/g" -e "s/[ |=/]//g")"
-    fi
-fi
-
-# The directory used for collect-stats mode
-if [ -z "${asr_stats_dir}" ]; then
-    if [ "${lang}" != noinfo ]; then
-        asr_stats_dir="${expdir}/asr_stats_${feats_type}_${lang}_${token_type}"
-    else
-        asr_stats_dir="${expdir}/asr_stats_${feats_type}_${token_type}"
-    fi
-    if [ "${token_type}" = bpe ]; then
-        asr_stats_dir+="${nbpe}"
-    fi
-    if [ -n "${speed_perturb_factors}" ]; then
-        asr_stats_dir+="_sp"
-    fi
-fi
-if [ -z "${lm_stats_dir}" ]; then
-    if [ "${lang}" != noinfo ]; then
-        lm_stats_dir="${expdir}/lm_stats_${lang}_${lm_token_type}"
-    else
-        lm_stats_dir="${expdir}/lm_stats_${lm_token_type}"
-    fi
-    if [ "${lm_token_type}" = bpe ]; then
-        lm_stats_dir+="${nbpe}"
-    fi
-fi
-# The directory used for training commands
-if [ -z "${asr_exp}" ]; then
-    asr_exp="${expdir}/asr_${asr_tag}"
-fi
-if [ -z "${lm_exp}" ]; then
-    lm_exp="${expdir}/lm_${lm_tag}"
-fi
-
-
-if [ -z "${inference_tag}" ]; then
-    if [ -n "${inference_config}" ]; then
-        inference_tag="$(basename "${inference_config}" .yaml)"
-    else
-        inference_tag=inference
-    fi
-    # Add overwritten arg's info
-    if [ -n "${inference_args}" ]; then
-        inference_tag+="$(echo "${inference_args}" | sed -e "s/--/\_/g" -e "s/[ |=]//g")"
-    fi
-    if "${use_lm}"; then
-        inference_tag+="_lm_$(basename "${lm_exp}")_$(echo "${inference_lm}" | sed -e "s/\//_/g" -e "s/\.[^.]*$//g")"
-    fi
-    inference_tag+="_asr_model_$(echo "${inference_asr_model}" | sed -e "s/\//_/g" -e "s/\.[^.]*$//g")"
-fi
-
-if [ -z "${sa_asr_inference_tag}" ]; then
-    if [ -n "${inference_config}" ]; then
-        sa_asr_inference_tag="$(basename "${inference_config}" .yaml)"
-    else
-        sa_asr_inference_tag=sa_asr_inference
-    fi
-    # Add overwritten arg's info
-    if [ -n "${sa_asr_inference_args}" ]; then
-        sa_asr_inference_tag+="$(echo "${sa_asr_inference_args}" | sed -e "s/--/\_/g" -e "s/[ |=]//g")"
-    fi
-    if "${use_lm}"; then
-        sa_asr_inference_tag+="_lm_$(basename "${lm_exp}")_$(echo "${inference_lm}" | sed -e "s/\//_/g" -e "s/\.[^.]*$//g")"
-    fi
-    sa_asr_inference_tag+="_asr_model_$(echo "${inference_sa_asr_model}" | sed -e "s/\//_/g" -e "s/\.[^.]*$//g")"
-fi
-
-train_cmd="run.pl"
-cuda_cmd="run.pl"
-decode_cmd="run.pl"
-
-# ========================== Main stages start from here. ==========================
-
-if ! "${skip_data_prep}"; then
-
-    if [ ${stage} -le 1 ] && [ ${stop_stage} -ge 1 ]; then
-        log "Stage 1: Data preparation for data/${train_set}, data/${valid_set}, etc."
-
-        ./local/alimeeting_data_prep.sh --tgt Test
-        ./local/alimeeting_data_prep.sh --tgt Eval
-        ./local/alimeeting_data_prep.sh --tgt Train
-    fi
-
-    if [ ${stage} -le 2 ] && [ ${stop_stage} -ge 2 ]; then
-        if [ -n "${speed_perturb_factors}" ]; then
-           log "Stage 2: Speed perturbation: data/${train_set} -> data/${train_set}_sp"
-           for factor in ${speed_perturb_factors}; do
-               if [[ $(bc <<<"${factor} != 1.0") == 1 ]]; then
-                   local/perturb_data_dir_speed.sh "${factor}" "data/${train_set}" "data/${train_set}_sp${factor}"
-                   _dirs+="data/${train_set}_sp${factor} "
-               else
-                   # If speed factor is 1, same as the original
-                   _dirs+="data/${train_set} "
-               fi
-           done
-           local/combine_data.sh "data/${train_set}_sp" ${_dirs}
-        else
-           log "Skip stage 2: Speed perturbation"
-        fi
-    fi
-
-    if [ -n "${speed_perturb_factors}" ]; then
-        train_set="${train_set}_sp"
-    fi
-
-    if [ ${stage} -le 3 ] && [ ${stop_stage} -ge 3 ]; then
-        if [ "${feats_type}" = raw ]; then
-            log "Stage 3: Format wav.scp: data/ -> ${data_feats}"
-
-            # ====== Recreating "wav.scp" ======
-            # Kaldi-wav.scp, which can describe the file path with unix-pipe, like "cat /some/path |",
-            # shouldn't be used in training process.
-            # "format_wav_scp.sh" dumps such pipe-style-wav to real audio file
-            # and it can also change the audio-format and sampling rate.
-            # If nothing is need, then format_wav_scp.sh does nothing:
-            # i.e. the input file format and rate is same as the output.
-
-            for dset in "${train_set}" "${valid_set}" "${test_sets}" ; do
-                if [ "${dset}" = "${train_set}" ] || [ "${dset}" = "${valid_set}" ]; then
-                    _suf="/org"
-                else
-                    if [ "${dset}" = "${test_sets}" ] && [ "${test_sets}" = "Test_Ali_far" ]; then
-                        _suf="/org"
-                    else
-                        _suf=""
-                    fi
-                fi
-                local/copy_data_dir.sh --validate_opts --non-print data/"${dset}" "${data_feats}${_suf}/${dset}"
-                
-                if [ "${dset}" = "Train_Ali_far" ] || [ "${dset}" = "Eval_Ali_far" ] || [ "${dset}" = "Test_Ali_far" ]; then
-                    cp data/"${dset}"/utt2spk_all_fifo "${data_feats}${_suf}/${dset}/"
-                fi
-
-                rm -f ${data_feats}${_suf}/${dset}/{segments,wav.scp,reco2file_and_channel,reco2dur}
-                _opts=
-                if [ -e data/"${dset}"/segments ]; then
-                    # "segments" is used for splitting wav files which are written in "wav".scp
-                    # into utterances. The file format of segments:
-                    #   <segment_id> <record_id> <start_time> <end_time>
-                    #   "e.g. call-861225-A-0050-0065 call-861225-A 5.0 6.5"
-                    # Where the time is written in seconds.
-                    _opts+="--segments data/${dset}/segments "
-                fi
-                # shellcheck disable=SC2086
-                local/format_wav_scp.sh --nj "${nj}" --cmd "${train_cmd}" \
-                    --audio-format "${audio_format}" --fs "${fs}" ${_opts} \
-                    "data/${dset}/wav.scp" "${data_feats}${_suf}/${dset}"
-
-                echo "${feats_type}" > "${data_feats}${_suf}/${dset}/feats_type"
-            done
-
-        else
-            log "Error: not supported: --feats_type ${feats_type}"
-            exit 2
-        fi
-    fi
-
-
-    if [ ${stage} -le 4 ] && [ ${stop_stage} -ge 4 ]; then
-        log "Stage 4: Remove long/short data: ${data_feats}/org -> ${data_feats}"
-
-        # NOTE(kamo): Not applying to test_sets to keep original data
-        if [ "${test_sets}" = "Test_Ali_far" ]; then
-            rm_dset="${train_set} ${valid_set} ${test_sets}"
-        else
-            rm_dset="${train_set} ${valid_set}"
-        fi
-
-        for dset in $rm_dset; do
-
-            # Copy data dir
-            local/copy_data_dir.sh --validate_opts --non-print "${data_feats}/org/${dset}" "${data_feats}/${dset}"
-            cp "${data_feats}/org/${dset}/feats_type" "${data_feats}/${dset}/feats_type"
-
-            # Remove short utterances
-            _feats_type="$(<${data_feats}/${dset}/feats_type)"
-            if [ "${_feats_type}" = raw ]; then
-                _fs=$(python3 -c "import humanfriendly as h;print(h.parse_size('${fs}'))")
-                _min_length=$(python3 -c "print(int(${min_wav_duration} * ${_fs}))")
-                _max_length=$(python3 -c "print(int(${max_wav_duration} * ${_fs}))")
-
-                # utt2num_samples is created by format_wav_scp.sh
-                <"${data_feats}/org/${dset}/utt2num_samples" \
-                    awk -v min_length="${_min_length}" -v max_length="${_max_length}" \
-                        '{ if ($2 > min_length && $2 < max_length ) print $0; }' \
-                        >"${data_feats}/${dset}/utt2num_samples"
-                <"${data_feats}/org/${dset}/wav.scp" \
-                    utils/filter_scp.pl "${data_feats}/${dset}/utt2num_samples"  \
-                    >"${data_feats}/${dset}/wav.scp"
-            else
-                # Get frame shift in ms from conf/fbank.conf
-                _frame_shift=
-                if [ -f conf/fbank.conf ] && [ "$(<conf/fbank.conf grep -c frame-shift)" -gt 0 ]; then
-                    # Assume using conf/fbank.conf for feature extraction
-                    _frame_shift="$(<conf/fbank.conf grep frame-shift | sed -e 's/[-a-z =]*\([0-9]*\)/\1/g')"
-                fi
-                if [ -z "${_frame_shift}" ]; then
-                    # If not existing, use the default number in Kaldi (=10ms).
-                    # If you are using different number, you have to change the following value manually.
-                    _frame_shift=10
-                fi
-
-                _min_length=$(python3 -c "print(int(${min_wav_duration} / ${_frame_shift} * 1000))")
-                _max_length=$(python3 -c "print(int(${max_wav_duration} / ${_frame_shift} * 1000))")
-
-                cp "${data_feats}/org/${dset}/feats_dim" "${data_feats}/${dset}/feats_dim"
-                <"${data_feats}/org/${dset}/feats_shape" awk -F, ' { print $1 } ' \
-                    | awk -v min_length="${_min_length}" -v max_length="${_max_length}" \
-                        '{ if ($2 > min_length && $2 < max_length) print $0; }' \
-                        >"${data_feats}/${dset}/feats_shape"
-                <"${data_feats}/org/${dset}/feats.scp" \
-                    utils/filter_scp.pl "${data_feats}/${dset}/feats_shape"  \
-                    >"${data_feats}/${dset}/feats.scp"
-            fi
-
-            # Remove empty text
-            <"${data_feats}/org/${dset}/text" \
-                awk ' { if( NF != 1 ) print $0; } ' >"${data_feats}/${dset}/text"
-
-            # fix_data_dir.sh leaves only utts which exist in all files
-            local/fix_data_dir.sh "${data_feats}/${dset}"
-
-            # generate uttid
-            cut -d ' ' -f 1 "${data_feats}/${dset}/wav.scp" > "${data_feats}/${dset}/uttid"
-            
-            if [ "${dset}" = "Train_Ali_far" ] || [ "${dset}" = "Eval_Ali_far" ] || [ "${dset}" = "Test_Ali_far" ]; then
-                # filter utt2spk_all_fifo
-                python local/filter_utt2spk_all_fifo.py ${data_feats}/${dset}/uttid ${data_feats}/org/${dset} ${data_feats}/${dset}
-            fi
-        done
-
-        # shellcheck disable=SC2002
-        cat ${lm_train_text} | awk ' { if( NF != 1 ) print $0; } ' > "${data_feats}/lm_train.txt"
-    fi
-
-
-    if [ ${stage} -le 5 ] && [ ${stop_stage} -ge 5 ]; then
-        log "Stage 5: Dictionary Preparation"
-        mkdir -p data/${lang}_token_list/char/
-    
-        echo "make a dictionary"
-        echo "<blank>" > ${token_list}
-        echo "<s>" >> ${token_list}
-        echo "</s>" >> ${token_list}
-        utils/text2token.py -s 1 -n 1 --space "" ${data_feats}/lm_train.txt | cut -f 2- -d" " | tr " " "\n" \
-            | sort | uniq | grep -a -v -e '^\s*$' | awk '{print $0}' >> ${token_list}
-        num_token=$(cat ${token_list} | wc -l)
-        echo "<unk>" >> ${token_list}
-        vocab_size=$(cat ${token_list} | wc -l)
-    fi
-
-    if [ ${stage} -le 6 ] && [ ${stop_stage} -ge 6 ]; then
-        log "Stage 6: Generate speaker settings"
-        mkdir -p "profile_log"
-        for dset in "${train_set}" "${valid_set}" "${test_sets}"; do
-            # generate text_id spk2id
-            python local/process_sot_fifo_textchar2spk.py --path ${data_feats}/${dset}
-            log "Successfully generate ${data_feats}/${dset}/text_id ${data_feats}/${dset}/spk2id"
-            # generate text_id_train for sot
-            python local/process_text_id.py ${data_feats}/${dset}
-            log "Successfully generate ${data_feats}/${dset}/text_id_train"
-            # generate oracle_embedding from single-speaker audio segment
-            log "oracle_embedding is being generated in the background, and the log is profile_log/gen_oracle_embedding_${dset}.log"
-            python local/gen_oracle_embedding.py "${data_feats}/${dset}" "data/local/${dset}_correct_single_speaker" &> "profile_log/gen_oracle_embedding_${dset}.log"
-            log "Successfully generate oracle embedding for ${dset} (${data_feats}/${dset}/oracle_embedding.scp)"
-            # generate oracle_profile and cluster_profile from oracle_embedding and cluster_embedding (padding the speaker during training)
-            if [ "${dset}" = "${train_set}" ]; then
-                python local/gen_oracle_profile_padding.py ${data_feats}/${dset}
-                log "Successfully generate oracle profile for ${dset} (${data_feats}/${dset}/oracle_profile_padding.scp)"
-            else
-                python local/gen_oracle_profile_nopadding.py ${data_feats}/${dset}
-                log "Successfully generate oracle profile for ${dset} (${data_feats}/${dset}/oracle_profile_nopadding.scp)"
-            fi
-            # generate cluster_profile with spectral-cluster directly (for infering and without oracle information)
-            if [ "${dset}" = "${valid_set}" ] || [ "${dset}" = "${test_sets}" ]; then
-                log "cluster_profile is being generated in the background, and the log is profile_log/gen_cluster_profile_infer_${dset}.log"
-                python local/gen_cluster_profile_infer.py "${data_feats}/${dset}" "data/local/${dset}" 0.996 0.815 &> "profile_log/gen_cluster_profile_infer_${dset}.log"
-                log "Successfully generate cluster profile for ${dset} (${data_feats}/${dset}/cluster_profile_infer.scp)"
-            fi
-
-            done
-    fi
-
-else
-    log "Skip the stages for data preparation"
-fi
-
-
-# ========================== Data preparation is done here. ==========================
-
-
-if ! "${skip_train}"; then
-    if "${use_lm}"; then
-        if [ ${stage} -le 7 ] && [ ${stop_stage} -ge 7 ]; then
-            log "Stage 7: LM collect stats: train_set=${data_feats}/lm_train.txt, dev_set=${lm_dev_text}"
-
-            _opts=
-            if [ -n "${lm_config}" ]; then
-                # To generate the config file: e.g.
-                #   % python3 -m espnet2.bin.lm_train --print_config --optim adam
-                _opts+="--config ${lm_config} "
-            fi
-
-            # 1. Split the key file
-            _logdir="${lm_stats_dir}/logdir"
-            mkdir -p "${_logdir}"
-            # Get the minimum number among ${nj} and the number lines of input files
-            _nj=$(min "${nj}" "$(<${data_feats}/lm_train.txt wc -l)" "$(<${lm_dev_text} wc -l)")
-
-            key_file="${data_feats}/lm_train.txt"
-            split_scps=""
-            for n in $(seq ${_nj}); do
-                split_scps+=" ${_logdir}/train.${n}.scp"
-            done
-            # shellcheck disable=SC2086
-            utils/split_scp.pl "${key_file}" ${split_scps}
-
-            key_file="${lm_dev_text}"
-            split_scps=""
-            for n in $(seq ${_nj}); do
-                split_scps+=" ${_logdir}/dev.${n}.scp"
-            done
-            # shellcheck disable=SC2086
-            utils/split_scp.pl "${key_file}" ${split_scps}
-
-            # 2. Generate run.sh
-            log "Generate '${lm_stats_dir}/run.sh'. You can resume the process from stage 6 using this script"
-            mkdir -p "${lm_stats_dir}"; echo "${run_args} --stage 6 \"\$@\"; exit \$?" > "${lm_stats_dir}/run.sh"; chmod +x "${lm_stats_dir}/run.sh"
-
-            # 3. Submit jobs
-            log "LM collect-stats started... log: '${_logdir}/stats.*.log'"
-            # NOTE: --*_shape_file doesn't require length information if --batch_type=unsorted,
-            #       but it's used only for deciding the sample ids.
-            # shellcheck disable=SC2086
-            ${train_cmd} JOB=1:"${_nj}" "${_logdir}"/stats.JOB.log \
-                ${python} -m funasr.bin.lm_train \
-                    --collect_stats true \
-                    --use_preprocessor true \
-                    --bpemodel "${bpemodel}" \
-                    --token_type "${lm_token_type}"\
-                    --token_list "${lm_token_list}" \
-                    --non_linguistic_symbols "${nlsyms_txt}" \
-                    --cleaner "${cleaner}" \
-                    --g2p "${g2p}" \
-                    --train_data_path_and_name_and_type "${data_feats}/lm_train.txt,text,text" \
-                    --valid_data_path_and_name_and_type "${lm_dev_text},text,text" \
-                    --train_shape_file "${_logdir}/train.JOB.scp" \
-                    --valid_shape_file "${_logdir}/dev.JOB.scp" \
-                    --output_dir "${_logdir}/stats.JOB" \
-                    ${_opts} ${lm_args} || { cat "${_logdir}"/stats.1.log; exit 1; }
-
-            # 4. Aggregate shape files
-            _opts=
-            for i in $(seq "${_nj}"); do
-                _opts+="--input_dir ${_logdir}/stats.${i} "
-            done
-            # shellcheck disable=SC2086
-            ${python} -m funasr.bin.aggregate_stats_dirs ${_opts} --output_dir "${lm_stats_dir}"
-
-            # Append the num-tokens at the last dimensions. This is used for batch-bins count
-            <"${lm_stats_dir}/train/text_shape" \
-                awk -v N="$(<${lm_token_list} wc -l)" '{ print $0 "," N }' \
-                >"${lm_stats_dir}/train/text_shape.${lm_token_type}"
-
-            <"${lm_stats_dir}/valid/text_shape" \
-                awk -v N="$(<${lm_token_list} wc -l)" '{ print $0 "," N }' \
-                >"${lm_stats_dir}/valid/text_shape.${lm_token_type}"
-        fi
-
-
-        if [ ${stage} -le 8 ] && [ ${stop_stage} -ge 8 ]; then
-            log "Stage 8: LM Training: train_set=${data_feats}/lm_train.txt, dev_set=${lm_dev_text}"
-
-            _opts=
-            if [ -n "${lm_config}" ]; then
-                # To generate the config file: e.g.
-                #   % python3 -m espnet2.bin.lm_train --print_config --optim adam
-                _opts+="--config ${lm_config} "
-            fi
-
-            if [ "${num_splits_lm}" -gt 1 ]; then
-                # If you met a memory error when parsing text files, this option may help you.
-                # The corpus is split into subsets and each subset is used for training one by one in order,
-                # so the memory footprint can be limited to the memory required for each dataset.
-
-                _split_dir="${lm_stats_dir}/splits${num_splits_lm}"
-                if [ ! -f "${_split_dir}/.done" ]; then
-                    rm -f "${_split_dir}/.done"
-                    ${python} -m espnet2.bin.split_scps \
-                      --scps "${data_feats}/lm_train.txt" "${lm_stats_dir}/train/text_shape.${lm_token_type}" \
-                      --num_splits "${num_splits_lm}" \
-                      --output_dir "${_split_dir}"
-                    touch "${_split_dir}/.done"
-                else
-                    log "${_split_dir}/.done exists. Spliting is skipped"
-                fi
-
-                _opts+="--train_data_path_and_name_and_type ${_split_dir}/lm_train.txt,text,text "
-                _opts+="--train_shape_file ${_split_dir}/text_shape.${lm_token_type} "
-                _opts+="--multiple_iterator true "
-
-            else
-                _opts+="--train_data_path_and_name_and_type ${data_feats}/lm_train.txt,text,text "
-                _opts+="--train_shape_file ${lm_stats_dir}/train/text_shape.${lm_token_type} "
-            fi
-
-            # NOTE(kamo): --fold_length is used only if --batch_type=folded and it's ignored in the other case
-
-            log "Generate '${lm_exp}/run.sh'. You can resume the process from stage 8 using this script"
-            mkdir -p "${lm_exp}"; echo "${run_args} --stage 8 \"\$@\"; exit \$?" > "${lm_exp}/run.sh"; chmod +x "${lm_exp}/run.sh"
-
-            log "LM training started... log: '${lm_exp}/train.log'"
-            if echo "${cuda_cmd}" | grep -e queue.pl -e queue-freegpu.pl &> /dev/null; then
-                # SGE can't include "/" in a job name
-                jobname="$(basename ${lm_exp})"
-            else
-                jobname="${lm_exp}/train.log"
-            fi
-
-            mkdir -p ${lm_exp}
-            mkdir -p ${lm_exp}/log
-            INIT_FILE=${lm_exp}/ddp_init
-            if [ -f $INIT_FILE ];then
-                rm -f $INIT_FILE
-            fi 
-            init_method=file://$(readlink -f $INIT_FILE)
-            echo "$0: init method is $init_method"
-            for ((i = 0; i < $ngpu; ++i)); do
-                {
-                    # i=0
-                    rank=$i
-                    local_rank=$i
-                    gpu_id=$(echo $device | cut -d',' -f$[$i+1])
-                    lm_train.py \
-                        --gpu_id $gpu_id \
-                        --use_preprocessor true \
-                        --bpemodel ${bpemodel} \
-                        --token_type ${token_type} \
-                        --token_list ${token_list} \
-                        --non_linguistic_symbols ${nlsyms_txt} \
-                        --cleaner ${cleaner} \
-                        --g2p ${g2p} \
-                        --valid_data_path_and_name_and_type "${lm_dev_text},text,text" \
-                        --valid_shape_file "${lm_stats_dir}/valid/text_shape.${lm_token_type}" \
-                        --resume true \
-                        --output_dir ${lm_exp} \
-                        --config $lm_config \
-                        --ngpu $ngpu \
-                        --num_worker_count 1 \
-                        --multiprocessing_distributed true \
-                        --dist_init_method $init_method \
-                        --dist_world_size $ngpu \
-                        --dist_rank $rank \
-                        --local_rank $local_rank \
-                        ${_opts} 1> ${lm_exp}/log/train.log.$i 2>&1
-                } &
-                done
-                wait
-
-        fi
-
-
-        if [ ${stage} -le 9 ] && [ ${stop_stage} -ge 9 ]; then
-            log "Stage 9: Calc perplexity: ${lm_test_text}"
-            _opts=
-            # TODO(kamo): Parallelize?
-            log "Perplexity calculation started... log: '${lm_exp}/perplexity_test/lm_calc_perplexity.log'"
-            # shellcheck disable=SC2086
-            CUDA_VISIBLE_DEVICES=${device}\
-            ${cuda_cmd} --gpu "${ngpu}" "${lm_exp}"/perplexity_test/lm_calc_perplexity.log \
-                ${python} -m funasr.bin.lm_calc_perplexity \
-                    --ngpu "${ngpu}" \
-                    --data_path_and_name_and_type "${lm_test_text},text,text" \
-                    --train_config "${lm_exp}"/config.yaml \
-                    --model_file "${lm_exp}/${inference_lm}" \
-                    --output_dir "${lm_exp}/perplexity_test" \
-                    ${_opts}
-            log "PPL: ${lm_test_text}: $(cat ${lm_exp}/perplexity_test/ppl)"
-
-        fi
-
-    else
-        log "Stage 7-9: Skip lm-related stages: use_lm=${use_lm}"
-    fi
-
-
-    if [ ${stage} -le 10 ] && [ ${stop_stage} -ge 10 ]; then
-        _asr_train_dir="${data_feats}/${train_set}"
-        _asr_valid_dir="${data_feats}/${valid_set}"
-        log "Stage 10: ASR collect stats: train_set=${_asr_train_dir}, valid_set=${_asr_valid_dir}"
-
-        _opts=
-        if [ -n "${asr_config}" ]; then
-            # To generate the config file: e.g.
-            #   % python3 -m espnet2.bin.asr_train --print_config --optim adam
-            _opts+="--config ${asr_config} "
-        fi
-
-        _feats_type="$(<${_asr_train_dir}/feats_type)"
-        if [ "${_feats_type}" = raw ]; then
-            _scp=wav.scp
-            if [[ "${audio_format}" == *ark* ]]; then
-                _type=kaldi_ark
-            else
-                # "sound" supports "wav", "flac", etc.
-                _type=sound
-            fi
-            _opts+="--frontend_conf fs=${fs} "
-        else
-            _scp=feats.scp
-            _type=kaldi_ark
-            _input_size="$(<${_asr_train_dir}/feats_dim)"
-            _opts+="--input_size=${_input_size} "
-        fi
-
-        # 1. Split the key file
-        _logdir="${asr_stats_dir}/logdir"
-        mkdir -p "${_logdir}"
-
-        # Get the minimum number among ${nj} and the number lines of input files
-        _nj=$(min "${nj}" "$(<${_asr_train_dir}/${_scp} wc -l)" "$(<${_asr_valid_dir}/${_scp} wc -l)")
-
-        key_file="${_asr_train_dir}/${_scp}"
-        split_scps=""
-        for n in $(seq "${_nj}"); do
-            split_scps+=" ${_logdir}/train.${n}.scp"
-        done
-        # shellcheck disable=SC2086
-        utils/split_scp.pl "${key_file}" ${split_scps}
-
-        key_file="${_asr_valid_dir}/${_scp}"
-        split_scps=""
-        for n in $(seq "${_nj}"); do
-            split_scps+=" ${_logdir}/valid.${n}.scp"
-        done
-        # shellcheck disable=SC2086
-        utils/split_scp.pl "${key_file}" ${split_scps}
-
-        # 2. Generate run.sh
-        log "Generate '${asr_stats_dir}/run.sh'. You can resume the process from stage 9 using this script"
-        mkdir -p "${asr_stats_dir}"; echo "${run_args} --stage 9 \"\$@\"; exit \$?" > "${asr_stats_dir}/run.sh"; chmod +x "${asr_stats_dir}/run.sh"
-
-        # 3. Submit jobs
-        log "ASR collect-stats started... log: '${_logdir}/stats.*.log'"
-
-        # NOTE: --*_shape_file doesn't require length information if --batch_type=unsorted,
-        #       but it's used only for deciding the sample ids.
-
-        # shellcheck disable=SC2086
-        ${train_cmd} JOB=1:"${_nj}" "${_logdir}"/stats.JOB.log \
-            ${python} -m funasr.bin.asr_train \
-                --collect_stats true \
-                --mc true   \
-                --use_preprocessor true \
-                --bpemodel "${bpemodel}" \
-                --token_type "${token_type}" \
-                --token_list "${token_list}" \
-                --split_with_space false    \
-                --non_linguistic_symbols "${nlsyms_txt}" \
-                --cleaner "${cleaner}" \
-                --g2p "${g2p}" \
-                --train_data_path_and_name_and_type "${_asr_train_dir}/${_scp},speech,${_type}" \
-                --train_data_path_and_name_and_type "${_asr_train_dir}/text,text,text" \
-                --valid_data_path_and_name_and_type "${_asr_valid_dir}/${_scp},speech,${_type}" \
-                --valid_data_path_and_name_and_type "${_asr_valid_dir}/text,text,text" \
-                --train_shape_file "${_logdir}/train.JOB.scp" \
-                --valid_shape_file "${_logdir}/valid.JOB.scp" \
-                --output_dir "${_logdir}/stats.JOB" \
-                ${_opts} ${asr_args} || { cat "${_logdir}"/stats.1.log; exit 1; }
-
-        # 4. Aggregate shape files
-        _opts=
-        for i in $(seq "${_nj}"); do
-            _opts+="--input_dir ${_logdir}/stats.${i} "
-        done
-        # shellcheck disable=SC2086
-        ${python} -m funasr.bin.aggregate_stats_dirs ${_opts} --output_dir "${asr_stats_dir}"
-
-        # Append the num-tokens at the last dimensions. This is used for batch-bins count
-        <"${asr_stats_dir}/train/text_shape" \
-            awk -v N="$(<${token_list} wc -l)" '{ print $0 "," N }' \
-            >"${asr_stats_dir}/train/text_shape.${token_type}"
-
-        <"${asr_stats_dir}/valid/text_shape" \
-            awk -v N="$(<${token_list} wc -l)" '{ print $0 "," N }' \
-            >"${asr_stats_dir}/valid/text_shape.${token_type}"
-    fi
-
-
-    if [ ${stage} -le 11 ] && [ ${stop_stage} -ge 11 ]; then
-        _asr_train_dir="${data_feats}/${train_set}"
-        _asr_valid_dir="${data_feats}/${valid_set}"
-        log "Stage 11: ASR Training: train_set=${_asr_train_dir}, valid_set=${_asr_valid_dir}"
-
-        _opts=
-        if [ -n "${asr_config}" ]; then
-            # To generate the config file: e.g.
-            #   % python3 -m espnet2.bin.asr_train --print_config --optim adam
-            _opts+="--config ${asr_config} "
-        fi
-
-        _feats_type="$(<${_asr_train_dir}/feats_type)"
-        if [ "${_feats_type}" = raw ]; then
-            _scp=wav.scp
-            # "sound" supports "wav", "flac", etc.
-            if [[ "${audio_format}" == *ark* ]]; then
-                _type=kaldi_ark
-            else
-                _type=sound
-            fi
-            _opts+="--frontend_conf fs=${fs} "
-        else
-            _scp=feats.scp
-            _type=kaldi_ark
-            _input_size="$(<${_asr_train_dir}/feats_dim)"
-            _opts+="--input_size=${_input_size} "
-
-        fi
-        if [ "${feats_normalize}" = global_mvn ]; then
-            # Default normalization is utterance_mvn and changes to global_mvn
-            _opts+="--normalize=global_mvn --normalize_conf stats_file=${asr_stats_dir}/train/feats_stats.npz "
-        fi
-
-        if [ "${num_splits_asr}" -gt 1 ]; then
-            # If you met a memory error when parsing text files, this option may help you.
-            # The corpus is split into subsets and each subset is used for training one by one in order,
-            # so the memory footprint can be limited to the memory required for each dataset.
-
-            _split_dir="${asr_stats_dir}/splits${num_splits_asr}"
-            if [ ! -f "${_split_dir}/.done" ]; then
-                rm -f "${_split_dir}/.done"
-                ${python} -m espnet2.bin.split_scps \
-                  --scps \
-                      "${_asr_train_dir}/${_scp}" \
-                      "${_asr_train_dir}/text" \
-                      "${asr_stats_dir}/train/speech_shape" \
-                      "${asr_stats_dir}/train/text_shape.${token_type}" \
-                  --num_splits "${num_splits_asr}" \
-                  --output_dir "${_split_dir}"
-                touch "${_split_dir}/.done"
-            else
-                log "${_split_dir}/.done exists. Spliting is skipped"
-            fi
-
-            _opts+="--train_data_path_and_name_and_type ${_split_dir}/${_scp},speech,${_type} "
-            _opts+="--train_data_path_and_name_and_type ${_split_dir}/text,text,text "
-            _opts+="--train_shape_file ${_split_dir}/speech_shape "
-            _opts+="--train_shape_file ${_split_dir}/text_shape.${token_type} "
-            _opts+="--multiple_iterator true "
-
-        else
-            _opts+="--train_data_path_and_name_and_type ${_asr_train_dir}/${_scp},speech,${_type} "
-            _opts+="--train_data_path_and_name_and_type ${_asr_train_dir}/text,text,text "
-            _opts+="--train_shape_file ${asr_stats_dir}/train/speech_shape "
-            _opts+="--train_shape_file ${asr_stats_dir}/train/text_shape.${token_type} "
-        fi
-
-        # log "Generate '${asr_exp}/run.sh'. You can resume the process from stage 10 using this script"
-        # mkdir -p "${asr_exp}"; echo "${run_args} --stage 10 \"\$@\"; exit \$?" > "${asr_exp}/run.sh"; chmod +x "${asr_exp}/run.sh"
-
-        # NOTE(kamo): --fold_length is used only if --batch_type=folded and it's ignored in the other case
-        log "ASR training started... log: '${asr_exp}/log/train.log'"
-        # if echo "${cuda_cmd}" | grep -e queue.pl -e queue-freegpu.pl &> /dev/null; then
-        #     # SGE can't include "/" in a job name
-        #     jobname="$(basename ${asr_exp})"
-        # else
-        #     jobname="${asr_exp}/train.log"
-        # fi
-
-        mkdir -p ${asr_exp}
-        mkdir -p ${asr_exp}/log
-        INIT_FILE=${asr_exp}/ddp_init
-        if [ -f $INIT_FILE ];then
-            rm -f $INIT_FILE
-        fi 
-        init_method=file://$(readlink -f $INIT_FILE)
-        echo "$0: init method is $init_method"
-        for ((i = 0; i < $ngpu; ++i)); do
-            {
-                # i=0
-                rank=$i
-                local_rank=$i
-                gpu_id=$(echo $device | cut -d',' -f$[$i+1])
-                asr_train.py \
-                    --mc true   \
-                    --gpu_id $gpu_id \
-                    --use_preprocessor true \
-                    --bpemodel ${bpemodel} \
-                    --token_type ${token_type} \
-                    --token_list ${token_list} \
-                    --split_with_space false    \
-                    --non_linguistic_symbols ${nlsyms_txt} \
-                    --cleaner ${cleaner} \
-                    --g2p ${g2p} \
-                    --valid_data_path_and_name_and_type ${_asr_valid_dir}/${_scp},speech,${_type} \
-                    --valid_data_path_and_name_and_type ${_asr_valid_dir}/text,text,text \
-                    --valid_shape_file ${asr_stats_dir}/valid/speech_shape \
-                    --valid_shape_file ${asr_stats_dir}/valid/text_shape.${token_type} \
-                    --resume true \
-                    --output_dir ${asr_exp} \
-                    --config $asr_config \
-                    --ngpu $ngpu \
-                    --num_worker_count 1 \
-                    --multiprocessing_distributed true \
-                    --dist_init_method $init_method \
-                    --dist_world_size $ngpu \
-                    --dist_rank $rank \
-                    --local_rank $local_rank \
-                    ${_opts} 1> ${asr_exp}/log/train.log.$i 2>&1
-            } &
-            done
-            wait
-
-    fi
-
-    if [ ${stage} -le 12 ] && [ ${stop_stage} -ge 12 ]; then
-        _asr_train_dir="${data_feats}/${train_set}"
-        _asr_valid_dir="${data_feats}/${valid_set}"
-        log "Stage 12: SA-ASR Training: train_set=${_asr_train_dir}, valid_set=${_asr_valid_dir}"
-
-        _opts=
-        if [ -n "${sa_asr_config}" ]; then
-            # To generate the config file: e.g.
-            #   % python3 -m espnet2.bin.asr_train --print_config --optim adam
-            _opts+="--config ${sa_asr_config} "
-        fi
-
-        _feats_type="$(<${_asr_train_dir}/feats_type)"
-        if [ "${_feats_type}" = raw ]; then
-            _scp=wav.scp
-            # "sound" supports "wav", "flac", etc.
-            if [[ "${audio_format}" == *ark* ]]; then
-                _type=kaldi_ark
-            else
-                _type=sound
-            fi
-            _opts+="--frontend_conf fs=${fs} "
-        else
-            _scp=feats.scp
-            _type=kaldi_ark
-            _input_size="$(<${_asr_train_dir}/feats_dim)"
-            _opts+="--input_size=${_input_size} "
-
-        fi
-        if [ "${feats_normalize}" = global_mvn ]; then
-            # Default normalization is utterance_mvn and changes to global_mvn
-            _opts+="--normalize=global_mvn --normalize_conf stats_file=${asr_stats_dir}/train/feats_stats.npz "
-        fi
-
-        if [ "${num_splits_asr}" -gt 1 ]; then
-            # If you met a memory error when parsing text files, this option may help you.
-            # The corpus is split into subsets and each subset is used for training one by one in order,
-            # so the memory footprint can be limited to the memory required for each dataset.
-
-            _split_dir="${asr_stats_dir}/splits${num_splits_asr}"
-            if [ ! -f "${_split_dir}/.done" ]; then
-                rm -f "${_split_dir}/.done"
-                ${python} -m espnet2.bin.split_scps \
-                  --scps \
-                      "${_asr_train_dir}/${_scp}" \
-                      "${_asr_train_dir}/text" \
-                      "${asr_stats_dir}/train/speech_shape" \
-                      "${asr_stats_dir}/train/text_shape.${token_type}" \
-                  --num_splits "${num_splits_asr}" \
-                  --output_dir "${_split_dir}"
-                touch "${_split_dir}/.done"
-            else
-                log "${_split_dir}/.done exists. Spliting is skipped"
-            fi
-
-            _opts+="--train_data_path_and_name_and_type ${_split_dir}/${_scp},speech,${_type} "
-            _opts+="--train_data_path_and_name_and_type ${_split_dir}/text,text,text "
-            _opts+="--train_data_path_and_name_and_type ${_split_dir}/text_id_train,text_id,text_int "
-            _opts+="--train_data_path_and_name_and_type ${_split_dir}/oracle_profile_padding.scp,profile,npy "
-            _opts+="--train_shape_file ${_split_dir}/speech_shape "
-            _opts+="--train_shape_file ${_split_dir}/text_shape.${token_type} "
-            _opts+="--multiple_iterator true "
-
-        else
-            _opts+="--train_data_path_and_name_and_type ${_asr_train_dir}/${_scp},speech,${_type} "
-            _opts+="--train_data_path_and_name_and_type ${_asr_train_dir}/text,text,text "
-            _opts+="--train_data_path_and_name_and_type ${_asr_train_dir}/oracle_profile_padding.scp,profile,npy "
-            _opts+="--train_data_path_and_name_and_type ${_asr_train_dir}/text_id_train,text_id,text_int "
-            _opts+="--train_shape_file ${asr_stats_dir}/train/speech_shape "
-            _opts+="--train_shape_file ${asr_stats_dir}/train/text_shape.${token_type} "
-        fi
-
-        # log "Generate '${asr_exp}/run.sh'. You can resume the process from stage 10 using this script"
-        # mkdir -p "${asr_exp}"; echo "${run_args} --stage 10 \"\$@\"; exit \$?" > "${asr_exp}/run.sh"; chmod +x "${asr_exp}/run.sh"
-
-        # NOTE(kamo): --fold_length is used only if --batch_type=folded and it's ignored in the other case
-        log "SA-ASR training started... log: '${sa_asr_exp}/log/train.log'"
-        # if echo "${cuda_cmd}" | grep -e queue.pl -e queue-freegpu.pl &> /dev/null; then
-        #     # SGE can't include "/" in a job name
-        #     jobname="$(basename ${asr_exp})"
-        # else
-        #     jobname="${asr_exp}/train.log"
-        # fi
-
-        mkdir -p ${sa_asr_exp}
-        mkdir -p ${sa_asr_exp}/log
-        INIT_FILE=${sa_asr_exp}/ddp_init
-        
-        if [ ! -f "exp/damo/speech_xvector_sv-zh-cn-cnceleb-16k-spk3465-pytorch/sv.pth" ]; then
-            # download xvector extractor model file
-            python local/download_xvector_model.py exp
-            log "Successfully download the pretrained xvector extractor to exp/damo/speech_xvector_sv-zh-cn-cnceleb-16k-spk3465-pytorch/sv.pth"
-        fi
-        
-        if [ -f $INIT_FILE ];then
-            rm -f $INIT_FILE
-        fi 
-        init_method=file://$(readlink -f $INIT_FILE)
-        echo "$0: init method is $init_method"
-        for ((i = 0; i < $ngpu; ++i)); do
-            {
-                # i=0
-                rank=$i
-                local_rank=$i
-                gpu_id=$(echo $device | cut -d',' -f$[$i+1])
-                sa_asr_train.py \
-                    --gpu_id $gpu_id \
-                    --use_preprocessor true \
-                    --unused_parameters true \
-                    --bpemodel ${bpemodel} \
-                    --token_type ${token_type} \
-                    --token_list ${token_list} \
-                    --max_spk_num 4 \
-                    --split_with_space false    \
-                    --non_linguistic_symbols ${nlsyms_txt} \
-                    --cleaner ${cleaner} \
-                    --g2p ${g2p} \
-                    --allow_variable_data_keys true \
-                    --init_param "${asr_exp}/valid.acc.ave.pb:encoder:asr_encoder"   \
-                    --init_param "${asr_exp}/valid.acc.ave.pb:ctc:ctc"   \
-                    --init_param "${asr_exp}/valid.acc.ave.pb:decoder.embed:decoder.embed" \
-                    --init_param "${asr_exp}/valid.acc.ave.pb:decoder.output_layer:decoder.asr_output_layer" \
-                    --init_param "${asr_exp}/valid.acc.ave.pb:decoder.decoders.0.self_attn:decoder.decoder1.self_attn" \
-                    --init_param "${asr_exp}/valid.acc.ave.pb:decoder.decoders.0.src_attn:decoder.decoder3.src_attn" \
-                    --init_param "${asr_exp}/valid.acc.ave.pb:decoder.decoders.0.feed_forward:decoder.decoder3.feed_forward" \
-                    --init_param "${asr_exp}/valid.acc.ave.pb:decoder.decoders.1:decoder.decoder4.0" \
-                    --init_param "${asr_exp}/valid.acc.ave.pb:decoder.decoders.2:decoder.decoder4.1" \
-                    --init_param "${asr_exp}/valid.acc.ave.pb:decoder.decoders.3:decoder.decoder4.2" \
-                    --init_param "${asr_exp}/valid.acc.ave.pb:decoder.decoders.4:decoder.decoder4.3" \
-                    --init_param "${asr_exp}/valid.acc.ave.pb:decoder.decoders.5:decoder.decoder4.4" \
-                    --init_param "exp/damo/speech_xvector_sv-zh-cn-cnceleb-16k-spk3465-pytorch/sv.pth:encoder:spk_encoder"   \
-                    --init_param "exp/damo/speech_xvector_sv-zh-cn-cnceleb-16k-spk3465-pytorch/sv.pth:decoder:spk_encoder:decoder.output_dense"   \
-                    --valid_data_path_and_name_and_type "${_asr_valid_dir}/${_scp},speech,${_type}" \
-                    --valid_data_path_and_name_and_type "${_asr_valid_dir}/text,text,text" \
-                    --valid_data_path_and_name_and_type "${_asr_valid_dir}/oracle_profile_nopadding.scp,profile,npy" \
-                    --valid_data_path_and_name_and_type "${_asr_valid_dir}/text_id_train,text_id,text_int" \
-                    --valid_shape_file "${asr_stats_dir}/valid/speech_shape" \
-                    --valid_shape_file "${asr_stats_dir}/valid/text_shape.${token_type}" \
-                    --resume true \
-                    --output_dir ${sa_asr_exp} \
-                    --config $sa_asr_config \
-                    --ngpu $ngpu \
-                    --num_worker_count 1 \
-                    --multiprocessing_distributed true \
-                    --dist_init_method $init_method \
-                    --dist_world_size $ngpu \
-                    --dist_rank $rank \
-                    --local_rank $local_rank \
-                    ${_opts} 1> ${sa_asr_exp}/log/train.log.$i 2>&1
-            } &
-            done
-            wait
-
-    fi
-
-else
-    log "Skip the training stages"
-fi
-
-if ${infer_with_pretrained_model}; then
-    log "Use ${download_sa_asr_model} for decoding and evaluation"
-    sa_asr_exp="${expdir}/${download_sa_asr_model}"
-    mkdir -p "${sa_asr_exp}"
-
-
-    python local/download_pretrained_model_from_modelscope.py $download_sa_asr_model ${expdir}
-    inference_sa_asr_model="model.pb"
-    inference_config=${sa_asr_exp}/decoding.yaml
-fi
-
-if ! "${skip_eval}"; then
-    if [ ${stage} -le 13 ] && [ ${stop_stage} -ge 13 ]; then
-        log "Stage 13: Decoding SA-ASR (oracle profile): training_dir=${sa_asr_exp}"
-
-        if ${gpu_inference}; then
-            _cmd="${cuda_cmd}"
-            inference_nj=$[${ngpu}*${njob_infer}]
-            _ngpu=1
-
-        else
-            _cmd="${decode_cmd}"
-            inference_nj=$inference_nj
-            _ngpu=0
-        fi
-
-        _opts=
-        if [ -n "${inference_config}" ]; then
-            _opts+="--config ${inference_config} "
-        fi
-        if "${use_lm}"; then
-            if "${use_word_lm}"; then
-                _opts+="--word_lm_train_config ${lm_exp}/config.yaml "
-                _opts+="--word_lm_file ${lm_exp}/${inference_lm} "
-            else
-                _opts+="--lm_train_config ${lm_exp}/config.yaml "
-                _opts+="--lm_file ${lm_exp}/${inference_lm} "
-            fi
-        fi
-
-        # 2. Generate run.sh
-        log "Generate '${sa_asr_exp}/${sa_asr_inference_tag}.oracle/run.sh'. You can resume the process from stage 15 using this script"
-        mkdir -p "${sa_asr_exp}/${sa_asr_inference_tag}.oracle"; echo "${run_args} --stage 15 \"\$@\"; exit \$?" > "${sa_asr_exp}/${sa_asr_inference_tag}.oracle/run.sh"; chmod +x "${sa_asr_exp}/${sa_asr_inference_tag}.oracle/run.sh"
-
-        for dset in ${test_sets}; do
-            _data="${data_feats}/${dset}"
-            _dir="${sa_asr_exp}/${sa_asr_inference_tag}.oracle/${dset}"
-            _logdir="${_dir}/logdir"
-            mkdir -p "${_logdir}"
-
-            _feats_type="$(<${_data}/feats_type)"
-            if [ "${_feats_type}" = raw ]; then
-                _scp=wav.scp
-                if [[ "${audio_format}" == *ark* ]]; then
-                    _type=kaldi_ark
-                else
-                    _type=sound
-                fi
-            else
-                _scp=feats.scp
-                _type=kaldi_ark
-            fi
-
-            # 1. Split the key file
-            key_file=${_data}/${_scp}
-            split_scps=""
-            _nj=$(min "${inference_nj}" "$(<${key_file} wc -l)")
-            for n in $(seq "${_nj}"); do
-                split_scps+=" ${_logdir}/keys.${n}.scp"
-            done
-            # shellcheck disable=SC2086
-            utils/split_scp.pl "${key_file}" ${split_scps}
-
-            # 2. Submit decoding jobs
-            log "Decoding started... log: '${_logdir}/sa_asr_inference.*.log'"
-            # shellcheck disable=SC2086
-            ${_cmd} --gpu "${_ngpu}" --max-jobs-run "${_nj}" JOB=1:"${_nj}" "${_logdir}"/asr_inference.JOB.log \
-                python -m funasr.bin.asr_inference_launch \
-                    --batch_size 1 \
-                    --mc True   \
-                    --nbest 1   \
-                    --ngpu "${_ngpu}" \
-                    --njob ${njob_infer} \
-                    --gpuid_list ${device} \
-                    --data_path_and_name_and_type "${_data}/${_scp},speech,${_type}" \
-                    --data_path_and_name_and_type "${_data}/oracle_profile_nopadding.scp,profile,npy" \
-                    --key_file "${_logdir}"/keys.JOB.scp \
-                    --allow_variable_data_keys true \
-                    --asr_train_config "${sa_asr_exp}"/config.yaml \
-                    --asr_model_file "${sa_asr_exp}"/"${inference_sa_asr_model}" \
-                    --output_dir "${_logdir}"/output.JOB \
-                    --mode sa_asr \
-                    ${_opts}
-
-
-            # 3. Concatenates the output files from each jobs
-            for f in token token_int score text text_id; do
-                for i in $(seq "${_nj}"); do
-                    cat "${_logdir}/output.${i}/1best_recog/${f}"
-                done | LC_ALL=C sort -k1 >"${_dir}/${f}"
-            done
-        done
-    fi
-
-    if [ ${stage} -le 14 ] && [ ${stop_stage} -ge 14 ]; then
-        log "Stage 14: Scoring SA-ASR (oracle profile)"
-
-        for dset in ${test_sets}; do
-            _data="${data_feats}/${dset}"
-            _dir="${sa_asr_exp}/${sa_asr_inference_tag}.oracle/${dset}"
-
-            sed 's/\$//g' ${_data}/text > ${_data}/text_nosrc
-            sed 's/\$//g' ${_dir}/text > ${_dir}/text_nosrc
-
-            python utils/proce_text.py ${_data}/text_nosrc ${_data}/text.proc
-            python utils/proce_text.py ${_dir}/text_nosrc ${_dir}/text.proc
-
-            python utils/compute_wer.py ${_data}/text.proc ${_dir}/text.proc ${_dir}/text.cer
-            tail -n 3 ${_dir}/text.cer > ${_dir}/text.cer.txt
-            cat ${_dir}/text.cer.txt
-
-            python local/process_text_spk_merge.py ${_dir}
-            python local/process_text_spk_merge.py ${_data}
-            
-            python local/compute_cpcer.py ${_data}/text_spk_merge ${_dir}/text_spk_merge ${_dir}/text.cpcer
-            tail -n 1 ${_dir}/text.cpcer > ${_dir}/text.cpcer.txt
-            cat ${_dir}/text.cpcer.txt
-            
-        done
-
-    fi
-
-    if [ ${stage} -le 15 ] && [ ${stop_stage} -ge 15 ]; then
-        log "Stage 15: Decoding SA-ASR (cluster profile): training_dir=${sa_asr_exp}"
-
-        if ${gpu_inference}; then
-            _cmd="${cuda_cmd}"
-            inference_nj=$[${ngpu}*${njob_infer}]
-            _ngpu=1
-
-        else
-            _cmd="${decode_cmd}"
-            inference_nj=$inference_nj
-            _ngpu=0
-        fi
-
-        _opts=
-        if [ -n "${inference_config}" ]; then
-            _opts+="--config ${inference_config} "
-        fi
-        if "${use_lm}"; then
-            if "${use_word_lm}"; then
-                _opts+="--word_lm_train_config ${lm_exp}/config.yaml "
-                _opts+="--word_lm_file ${lm_exp}/${inference_lm} "
-            else
-                _opts+="--lm_train_config ${lm_exp}/config.yaml "
-                _opts+="--lm_file ${lm_exp}/${inference_lm} "
-            fi
-        fi
-
-        # 2. Generate run.sh
-        log "Generate '${sa_asr_exp}/${sa_asr_inference_tag}.cluster/run.sh'. You can resume the process from stage 17 using this script"
-        mkdir -p "${sa_asr_exp}/${sa_asr_inference_tag}.cluster"; echo "${run_args} --stage 17 \"\$@\"; exit \$?" > "${sa_asr_exp}/${sa_asr_inference_tag}.cluster/run.sh"; chmod +x "${sa_asr_exp}/${sa_asr_inference_tag}.cluster/run.sh"
-
-        for dset in ${test_sets}; do
-            _data="${data_feats}/${dset}"
-            _dir="${sa_asr_exp}/${sa_asr_inference_tag}.cluster/${dset}"
-            _logdir="${_dir}/logdir"
-            mkdir -p "${_logdir}"
-
-            _feats_type="$(<${_data}/feats_type)"
-            if [ "${_feats_type}" = raw ]; then
-                _scp=wav.scp
-                if [[ "${audio_format}" == *ark* ]]; then
-                    _type=kaldi_ark
-                else
-                    _type=sound
-                fi
-            else
-                _scp=feats.scp
-                _type=kaldi_ark
-            fi
-
-            # 1. Split the key file
-            key_file=${_data}/${_scp}
-            split_scps=""
-            _nj=$(min "${inference_nj}" "$(<${key_file} wc -l)")
-            for n in $(seq "${_nj}"); do
-                split_scps+=" ${_logdir}/keys.${n}.scp"
-            done
-            # shellcheck disable=SC2086
-            utils/split_scp.pl "${key_file}" ${split_scps}
-
-            # 2. Submit decoding jobs
-            log "Decoding started... log: '${_logdir}/sa_asr_inference.*.log'"
-            # shellcheck disable=SC2086
-            ${_cmd} --gpu "${_ngpu}" --max-jobs-run "${_nj}" JOB=1:"${_nj}" "${_logdir}"/asr_inference.JOB.log \
-                python -m funasr.bin.asr_inference_launch \
-                    --batch_size 1 \
-                    --mc True   \
-                    --nbest 1   \
-                    --ngpu "${_ngpu}" \
-                    --njob ${njob_infer} \
-                    --gpuid_list ${device} \
-                    --data_path_and_name_and_type "${_data}/${_scp},speech,${_type}" \
-                    --data_path_and_name_and_type "${_data}/cluster_profile_infer.scp,profile,npy" \
-                    --key_file "${_logdir}"/keys.JOB.scp \
-                    --allow_variable_data_keys true \
-                    --asr_train_config "${sa_asr_exp}"/config.yaml \
-                    --asr_model_file "${sa_asr_exp}"/"${inference_sa_asr_model}" \
-                    --output_dir "${_logdir}"/output.JOB \
-                    --mode sa_asr \
-                    ${_opts}
-
-            # 3. Concatenates the output files from each jobs
-            for f in token token_int score text text_id; do
-                for i in $(seq "${_nj}"); do
-                    cat "${_logdir}/output.${i}/1best_recog/${f}"
-                done | LC_ALL=C sort -k1 >"${_dir}/${f}"
-            done
-        done
-    fi
-
-    if [ ${stage} -le 16 ] && [ ${stop_stage} -ge 16 ]; then
-        log "Stage 16: Scoring SA-ASR (cluster profile)"
-
-        for dset in ${test_sets}; do
-            _data="${data_feats}/${dset}"
-            _dir="${sa_asr_exp}/${sa_asr_inference_tag}.cluster/${dset}"
-
-            sed 's/\$//g' ${_data}/text > ${_data}/text_nosrc
-            sed 's/\$//g' ${_dir}/text > ${_dir}/text_nosrc
-
-            python utils/proce_text.py ${_data}/text_nosrc ${_data}/text.proc
-            python utils/proce_text.py ${_dir}/text_nosrc ${_dir}/text.proc
-
-            python utils/compute_wer.py ${_data}/text.proc ${_dir}/text.proc ${_dir}/text.cer
-            tail -n 3 ${_dir}/text.cer > ${_dir}/text.cer.txt
-            cat ${_dir}/text.cer.txt
-
-            python local/process_text_spk_merge.py ${_dir}
-            python local/process_text_spk_merge.py ${_data}
-            
-            python local/compute_cpcer.py ${_data}/text_spk_merge ${_dir}/text_spk_merge ${_dir}/text.cpcer
-            tail -n 1 ${_dir}/text.cpcer > ${_dir}/text.cpcer.txt
-            cat ${_dir}/text.cpcer.txt
-            
-        done
-
-    fi
-
-else
-    log "Skip the evaluation stages"
-fi
-
-
-log "Successfully finished. [elapsed=${SECONDS}s]"
diff --git a/egs/alimeeting/sa_asr_deprecated/asr_local_m2met_2023_infer.sh b/egs/alimeeting/sa_asr_deprecated/asr_local_m2met_2023_infer.sh
deleted file mode 100755
index a23215c..0000000
--- a/egs/alimeeting/sa_asr_deprecated/asr_local_m2met_2023_infer.sh
+++ /dev/null
@@ -1,591 +0,0 @@
-#!/usr/bin/env bash
-
-# Set bash to 'debug' mode, it will exit on :
-# -e 'error', -u 'undefined variable', -o ... 'error in pipeline', -x 'print commands',
-set -e
-set -u
-set -o pipefail
-
-log() {
-    local fname=${BASH_SOURCE[1]##*/}
-    echo -e "$(date '+%Y-%m-%dT%H:%M:%S') (${fname}:${BASH_LINENO[0]}:${FUNCNAME[1]}) $*"
-}
-min() {
-  local a b
-  a=$1
-  for b in "$@"; do
-      if [ "${b}" -le "${a}" ]; then
-          a="${b}"
-      fi
-  done
-  echo "${a}"
-}
-SECONDS=0
-
-# General configuration
-stage=1              # Processes starts from the specified stage.
-stop_stage=10000     # Processes is stopped at the specified stage.
-skip_data_prep=false # Skip data preparation stages.
-skip_train=false     # Skip training stages.
-skip_eval=false      # Skip decoding and evaluation stages.
-skip_upload=true     # Skip packing and uploading stages.
-ngpu=1               # The number of gpus ("0" uses cpu, otherwise use gpu).
-num_nodes=1          # The number of nodes.
-nj=16                # The number of parallel jobs.
-inference_nj=16      # The number of parallel jobs in decoding.
-gpu_inference=false  # Whether to perform gpu decoding.
-njob_infer=4
-dumpdir=dump2         # Directory to dump features.
-expdir=exp           # Directory to save experiments.
-python=python3       # Specify python to execute espnet commands.
-device=0
-
-# Data preparation related
-local_data_opts= # The options given to local/data.sh.
-
-# Speed perturbation related
-speed_perturb_factors=  # perturbation factors, e.g. "0.9 1.0 1.1" (separated by space).
-
-# Feature extraction related
-feats_type=raw       # Feature type (raw or fbank_pitch).
-audio_format=flac    # Audio format: wav, flac, wav.ark, flac.ark  (only in feats_type=raw).
-fs=16000             # Sampling rate.
-min_wav_duration=0.1 # Minimum duration in second.
-max_wav_duration=20  # Maximum duration in second.
-
-# Tokenization related
-token_type=bpe      # Tokenization type (char or bpe).
-nbpe=30             # The number of BPE vocabulary.
-bpemode=unigram     # Mode of BPE (unigram or bpe).
-oov="<unk>"         # Out of vocabulary symbol.
-blank="<blank>"     # CTC blank symbol
-sos_eos="<sos/eos>" # sos and eos symbole
-bpe_input_sentence_size=100000000 # Size of input sentence for BPE.
-bpe_nlsyms=         # non-linguistic symbols list, separated by a comma, for BPE
-bpe_char_cover=1.0  # character coverage when modeling BPE
-
-# Language model related
-use_lm=true       # Use language model for ASR decoding.
-lm_tag=           # Suffix to the result dir for language model training.
-lm_exp=           # Specify the direcotry path for LM experiment.
-                  # If this option is specified, lm_tag is ignored.
-lm_stats_dir=     # Specify the direcotry path for LM statistics.
-lm_config=        # Config for language model training.
-lm_args=          # Arguments for language model training, e.g., "--max_epoch 10".
-                  # Note that it will overwrite args in lm config.
-use_word_lm=false # Whether to use word language model.
-num_splits_lm=1   # Number of splitting for lm corpus.
-# shellcheck disable=SC2034
-word_vocab_size=10000 # Size of word vocabulary.
-
-# ASR model related
-asr_tag=       # Suffix to the result dir for asr model training.
-asr_exp=       # Specify the direcotry path for ASR experiment.
-               # If this option is specified, asr_tag is ignored.
-sa_asr_exp=
-asr_stats_dir= # Specify the direcotry path for ASR statistics.
-asr_config=    # Config for asr model training.
-sa_asr_config=
-asr_args=      # Arguments for asr model training, e.g., "--max_epoch 10".
-               # Note that it will overwrite args in asr config.
-feats_normalize=global_mvn # Normalizaton layer type.
-num_splits_asr=1           # Number of splitting for lm corpus.
-
-# Decoding related
-inference_tag=    # Suffix to the result dir for decoding.
-inference_config= # Config for decoding.
-inference_args=   # Arguments for decoding, e.g., "--lm_weight 0.1".
-                  # Note that it will overwrite args in inference config.
-sa_asr_inference_tag=
-sa_asr_inference_args=
-
-inference_lm=valid.loss.ave.pb        # Language modle path for decoding.
-inference_asr_model=valid.acc.ave.pb  # ASR model path for decoding.
-                                      # e.g.
-                                      # inference_asr_model=train.loss.best.pth
-                                      # inference_asr_model=3epoch.pth
-                                      # inference_asr_model=valid.acc.best.pth
-                                      # inference_asr_model=valid.loss.ave.pth
-inference_sa_asr_model=valid.acc_spk.ave.pb
-download_model= # Download a model from Model Zoo and use it for decoding.
-
-# [Task dependent] Set the datadir name created by local/data.sh
-train_set=       # Name of training set.
-valid_set=       # Name of validation set used for monitoring/tuning network training.
-test_sets=       # Names of test sets. Multiple items (e.g., both dev and eval sets) can be specified.
-bpe_train_text=  # Text file path of bpe training set.
-lm_train_text=   # Text file path of language model training set.
-lm_dev_text=     # Text file path of language model development set.
-lm_test_text=    # Text file path of language model evaluation set.
-nlsyms_txt=none  # Non-linguistic symbol list if existing.
-cleaner=none     # Text cleaner.
-g2p=none         # g2p method (needed if token_type=phn).
-lang=zh      # The language type of corpus.
-score_opts=                # The options given to sclite scoring
-local_score_opts=          # The options given to local/score.sh.
-
-help_message=$(cat << EOF
-Usage: $0 --train-set "<train_set_name>" --valid-set "<valid_set_name>" --test_sets "<test_set_names>"
-
-Options:
-    # General configuration
-    --stage          # Processes starts from the specified stage (default="${stage}").
-    --stop_stage     # Processes is stopped at the specified stage (default="${stop_stage}").
-    --skip_data_prep # Skip data preparation stages (default="${skip_data_prep}").
-    --skip_train     # Skip training stages (default="${skip_train}").
-    --skip_eval      # Skip decoding and evaluation stages (default="${skip_eval}").
-    --skip_upload    # Skip packing and uploading stages (default="${skip_upload}").
-    --ngpu           # The number of gpus ("0" uses cpu, otherwise use gpu, default="${ngpu}").
-    --num_nodes      # The number of nodes (default="${num_nodes}").
-    --nj             # The number of parallel jobs (default="${nj}").
-    --inference_nj   # The number of parallel jobs in decoding (default="${inference_nj}").
-    --gpu_inference  # Whether to perform gpu decoding (default="${gpu_inference}").
-    --dumpdir        # Directory to dump features (default="${dumpdir}").
-    --expdir         # Directory to save experiments (default="${expdir}").
-    --python         # Specify python to execute espnet commands (default="${python}").
-    --device         # Which GPUs are use for local training (defalut="${device}").
-
-    # Data preparation related
-    --local_data_opts # The options given to local/data.sh (default="${local_data_opts}").
-
-    # Speed perturbation related
-    --speed_perturb_factors # speed perturbation factors, e.g. "0.9 1.0 1.1" (separated by space, default="${speed_perturb_factors}").
-
-    # Feature extraction related
-    --feats_type       # Feature type (raw, fbank_pitch or extracted, default="${feats_type}").
-    --audio_format     # Audio format: wav, flac, wav.ark, flac.ark  (only in feats_type=raw, default="${audio_format}").
-    --fs               # Sampling rate (default="${fs}").
-    --min_wav_duration # Minimum duration in second (default="${min_wav_duration}").
-    --max_wav_duration # Maximum duration in second (default="${max_wav_duration}").
-
-    # Tokenization related
-    --token_type              # Tokenization type (char or bpe, default="${token_type}").
-    --nbpe                    # The number of BPE vocabulary (default="${nbpe}").
-    --bpemode                 # Mode of BPE (unigram or bpe, default="${bpemode}").
-    --oov                     # Out of vocabulary symbol (default="${oov}").
-    --blank                   # CTC blank symbol (default="${blank}").
-    --sos_eos                 # sos and eos symbole (default="${sos_eos}").
-    --bpe_input_sentence_size # Size of input sentence for BPE (default="${bpe_input_sentence_size}").
-    --bpe_nlsyms              # Non-linguistic symbol list for sentencepiece, separated by a comma. (default="${bpe_nlsyms}").
-    --bpe_char_cover          # Character coverage when modeling BPE (default="${bpe_char_cover}").
-
-    # Language model related
-    --lm_tag          # Suffix to the result dir for language model training (default="${lm_tag}").
-    --lm_exp          # Specify the direcotry path for LM experiment.
-                      # If this option is specified, lm_tag is ignored (default="${lm_exp}").
-    --lm_stats_dir    # Specify the direcotry path for LM statistics (default="${lm_stats_dir}").
-    --lm_config       # Config for language model training (default="${lm_config}").
-    --lm_args         # Arguments for language model training (default="${lm_args}").
-                      # e.g., --lm_args "--max_epoch 10"
-                      # Note that it will overwrite args in lm config.
-    --use_word_lm     # Whether to use word language model (default="${use_word_lm}").
-    --word_vocab_size # Size of word vocabulary (default="${word_vocab_size}").
-    --num_splits_lm   # Number of splitting for lm corpus (default="${num_splits_lm}").
-
-    # ASR model related
-    --asr_tag          # Suffix to the result dir for asr model training (default="${asr_tag}").
-    --asr_exp          # Specify the direcotry path for ASR experiment.
-                       # If this option is specified, asr_tag is ignored (default="${asr_exp}").
-    --asr_stats_dir    # Specify the direcotry path for ASR statistics (default="${asr_stats_dir}").
-    --asr_config       # Config for asr model training (default="${asr_config}").
-    --asr_args         # Arguments for asr model training (default="${asr_args}").
-                       # e.g., --asr_args "--max_epoch 10"
-                       # Note that it will overwrite args in asr config.
-    --feats_normalize  # Normalizaton layer type (default="${feats_normalize}").
-    --num_splits_asr   # Number of splitting for lm corpus  (default="${num_splits_asr}").
-
-    # Decoding related
-    --inference_tag       # Suffix to the result dir for decoding (default="${inference_tag}").
-    --inference_config    # Config for decoding (default="${inference_config}").
-    --inference_args      # Arguments for decoding (default="${inference_args}").
-                          # e.g., --inference_args "--lm_weight 0.1"
-                          # Note that it will overwrite args in inference config.
-    --inference_lm        # Language modle path for decoding (default="${inference_lm}").
-    --inference_asr_model # ASR model path for decoding (default="${inference_asr_model}").
-    --download_model      # Download a model from Model Zoo and use it for decoding (default="${download_model}").
-
-    # [Task dependent] Set the datadir name created by local/data.sh
-    --train_set     # Name of training set (required).
-    --valid_set     # Name of validation set used for monitoring/tuning network training (required).
-    --test_sets     # Names of test sets.
-                    # Multiple items (e.g., both dev and eval sets) can be specified (required).
-    --bpe_train_text # Text file path of bpe training set.
-    --lm_train_text  # Text file path of language model training set.
-    --lm_dev_text   # Text file path of language model development set (default="${lm_dev_text}").
-    --lm_test_text  # Text file path of language model evaluation set (default="${lm_test_text}").
-    --nlsyms_txt    # Non-linguistic symbol list if existing (default="${nlsyms_txt}").
-    --cleaner       # Text cleaner (default="${cleaner}").
-    --g2p           # g2p method (default="${g2p}").
-    --lang          # The language type of corpus (default=${lang}).
-    --score_opts             # The options given to sclite scoring (default="{score_opts}").
-    --local_score_opts       # The options given to local/score.sh (default="{local_score_opts}").
-EOF
-)
-
-log "$0 $*"
-# Save command line args for logging (they will be lost after utils/parse_options.sh)
-run_args=$(python -m funasr.utils.cli_utils $0 "$@")
-. utils/parse_options.sh
-
-if [ $# -ne 0 ]; then
-    log "${help_message}"
-    log "Error: No positional arguments are required."
-    exit 2
-fi
-
-. ./path.sh
-
-
-# Check required arguments
-[ -z "${train_set}" ] && { log "${help_message}"; log "Error: --train_set is required"; exit 2; };
-[ -z "${valid_set}" ] && { log "${help_message}"; log "Error: --valid_set is required"; exit 2; };
-[ -z "${test_sets}" ] && { log "${help_message}"; log "Error: --test_sets is required"; exit 2; };
-
-# Check feature type
-if [ "${feats_type}" = raw ]; then
-    data_feats=${dumpdir}/raw
-elif [ "${feats_type}" = fbank_pitch ]; then
-    data_feats=${dumpdir}/fbank_pitch
-elif [ "${feats_type}" = fbank ]; then
-    data_feats=${dumpdir}/fbank
-elif [ "${feats_type}" == extracted ]; then
-    data_feats=${dumpdir}/extracted
-else
-    log "${help_message}"
-    log "Error: not supported: --feats_type ${feats_type}"
-    exit 2
-fi
-
-# Use the same text as ASR for bpe training if not specified.
-[ -z "${bpe_train_text}" ] && bpe_train_text="${data_feats}/${train_set}/text"
-# Use the same text as ASR for lm training if not specified.
-[ -z "${lm_train_text}" ] && lm_train_text="${data_feats}/${train_set}/text"
-# Use the same text as ASR for lm training if not specified.
-[ -z "${lm_dev_text}" ] && lm_dev_text="${data_feats}/${valid_set}/text"
-# Use the text of the 1st evaldir if lm_test is not specified
-[ -z "${lm_test_text}" ] && lm_test_text="${data_feats}/${test_sets%% *}/text"
-
-# Check tokenization type
-if [ "${lang}" != noinfo ]; then
-    token_listdir=data/${lang}_token_list
-else
-    token_listdir=data/token_list
-fi
-bpedir="${token_listdir}/bpe_${bpemode}${nbpe}"
-bpeprefix="${bpedir}"/bpe
-bpemodel="${bpeprefix}".model
-bpetoken_list="${bpedir}"/tokens.txt
-chartoken_list="${token_listdir}"/char/tokens.txt
-# NOTE: keep for future development.
-# shellcheck disable=SC2034
-wordtoken_list="${token_listdir}"/word/tokens.txt
-
-if [ "${token_type}" = bpe ]; then
-    token_list="${bpetoken_list}"
-elif [ "${token_type}" = char ]; then
-    token_list="${chartoken_list}"
-    bpemodel=none
-elif [ "${token_type}" = word ]; then
-    token_list="${wordtoken_list}"
-    bpemodel=none
-else
-    log "Error: not supported --token_type '${token_type}'"
-    exit 2
-fi
-if ${use_word_lm}; then
-    log "Error: Word LM is not supported yet"
-    exit 2
-
-    lm_token_list="${wordtoken_list}"
-    lm_token_type=word
-else
-    lm_token_list="${token_list}"
-    lm_token_type="${token_type}"
-fi
-
-
-# Set tag for naming of model directory
-if [ -z "${asr_tag}" ]; then
-    if [ -n "${asr_config}" ]; then
-        asr_tag="$(basename "${asr_config}" .yaml)_${feats_type}"
-    else
-        asr_tag="train_${feats_type}"
-    fi
-    if [ "${lang}" != noinfo ]; then
-        asr_tag+="_${lang}_${token_type}"
-    else
-        asr_tag+="_${token_type}"
-    fi
-    if [ "${token_type}" = bpe ]; then
-        asr_tag+="${nbpe}"
-    fi
-    # Add overwritten arg's info
-    if [ -n "${asr_args}" ]; then
-        asr_tag+="$(echo "${asr_args}" | sed -e "s/--/\_/g" -e "s/[ |=/]//g")"
-    fi
-    if [ -n "${speed_perturb_factors}" ]; then
-        asr_tag+="_sp"
-    fi
-fi
-if [ -z "${lm_tag}" ]; then
-    if [ -n "${lm_config}" ]; then
-        lm_tag="$(basename "${lm_config}" .yaml)"
-    else
-        lm_tag="train"
-    fi
-    if [ "${lang}" != noinfo ]; then
-        lm_tag+="_${lang}_${lm_token_type}"
-    else
-        lm_tag+="_${lm_token_type}"
-    fi
-    if [ "${lm_token_type}" = bpe ]; then
-        lm_tag+="${nbpe}"
-    fi
-    # Add overwritten arg's info
-    if [ -n "${lm_args}" ]; then
-        lm_tag+="$(echo "${lm_args}" | sed -e "s/--/\_/g" -e "s/[ |=/]//g")"
-    fi
-fi
-
-# The directory used for collect-stats mode
-if [ -z "${asr_stats_dir}" ]; then
-    if [ "${lang}" != noinfo ]; then
-        asr_stats_dir="${expdir}/asr_stats_${feats_type}_${lang}_${token_type}"
-    else
-        asr_stats_dir="${expdir}/asr_stats_${feats_type}_${token_type}"
-    fi
-    if [ "${token_type}" = bpe ]; then
-        asr_stats_dir+="${nbpe}"
-    fi
-    if [ -n "${speed_perturb_factors}" ]; then
-        asr_stats_dir+="_sp"
-    fi
-fi
-if [ -z "${lm_stats_dir}" ]; then
-    if [ "${lang}" != noinfo ]; then
-        lm_stats_dir="${expdir}/lm_stats_${lang}_${lm_token_type}"
-    else
-        lm_stats_dir="${expdir}/lm_stats_${lm_token_type}"
-    fi
-    if [ "${lm_token_type}" = bpe ]; then
-        lm_stats_dir+="${nbpe}"
-    fi
-fi
-# The directory used for training commands
-if [ -z "${asr_exp}" ]; then
-    asr_exp="${expdir}/asr_${asr_tag}"
-fi
-if [ -z "${lm_exp}" ]; then
-    lm_exp="${expdir}/lm_${lm_tag}"
-fi
-
-
-if [ -z "${inference_tag}" ]; then
-    if [ -n "${inference_config}" ]; then
-        inference_tag="$(basename "${inference_config}" .yaml)"
-    else
-        inference_tag=inference
-    fi
-    # Add overwritten arg's info
-    if [ -n "${inference_args}" ]; then
-        inference_tag+="$(echo "${inference_args}" | sed -e "s/--/\_/g" -e "s/[ |=]//g")"
-    fi
-    if "${use_lm}"; then
-        inference_tag+="_lm_$(basename "${lm_exp}")_$(echo "${inference_lm}" | sed -e "s/\//_/g" -e "s/\.[^.]*$//g")"
-    fi
-    inference_tag+="_asr_model_$(echo "${inference_asr_model}" | sed -e "s/\//_/g" -e "s/\.[^.]*$//g")"
-fi
-
-if [ -z "${sa_asr_inference_tag}" ]; then
-    if [ -n "${inference_config}" ]; then
-        sa_asr_inference_tag="$(basename "${inference_config}" .yaml)"
-    else
-        sa_asr_inference_tag=sa_asr_inference
-    fi
-    # Add overwritten arg's info
-    if [ -n "${sa_asr_inference_args}" ]; then
-        sa_asr_inference_tag+="$(echo "${sa_asr_inference_args}" | sed -e "s/--/\_/g" -e "s/[ |=]//g")"
-    fi
-    if "${use_lm}"; then
-        sa_asr_inference_tag+="_lm_$(basename "${lm_exp}")_$(echo "${inference_lm}" | sed -e "s/\//_/g" -e "s/\.[^.]*$//g")"
-    fi
-    sa_asr_inference_tag+="_asr_model_$(echo "${inference_sa_asr_model}" | sed -e "s/\//_/g" -e "s/\.[^.]*$//g")"
-fi
-
-train_cmd="run.pl"
-cuda_cmd="run.pl"
-decode_cmd="run.pl"
-
-# ========================== Main stages start from here. ==========================
-
-if ! "${skip_data_prep}"; then
-
-    if [ ${stage} -le 1 ] && [ ${stop_stage} -ge 1 ]; then
-        if [ "${feats_type}" = raw ]; then
-            log "Stage 1: Format wav.scp: data/ -> ${data_feats}"
-
-            # ====== Recreating "wav.scp" ======
-            # Kaldi-wav.scp, which can describe the file path with unix-pipe, like "cat /some/path |",
-            # shouldn't be used in training process.
-            # "format_wav_scp.sh" dumps such pipe-style-wav to real audio file
-            # and it can also change the audio-format and sampling rate.
-            # If nothing is need, then format_wav_scp.sh does nothing:
-            # i.e. the input file format and rate is same as the output.
-
-            for dset in "${test_sets}" ; do
-            
-                _suf=""
-
-                local/copy_data_dir.sh --validate_opts --non-print data/"${dset}" "${data_feats}${_suf}/${dset}"
-                
-                rm -f ${data_feats}${_suf}/${dset}/{segments,wav.scp,reco2file_and_channel,reco2dur}
-                _opts=
-                if [ -e data/"${dset}"/segments ]; then
-                    # "segments" is used for splitting wav files which are written in "wav".scp
-                    # into utterances. The file format of segments:
-                    #   <segment_id> <record_id> <start_time> <end_time>
-                    #   "e.g. call-861225-A-0050-0065 call-861225-A 5.0 6.5"
-                    # Where the time is written in seconds.
-                    _opts+="--segments data/${dset}/segments "
-                fi
-                # shellcheck disable=SC2086
-                local/format_wav_scp.sh --nj "${nj}" --cmd "${train_cmd}" \
-                    --audio-format "${audio_format}" --fs "${fs}" ${_opts} \
-                    "data/${dset}/wav.scp" "${data_feats}${_suf}/${dset}"
-
-                echo "${feats_type}" > "${data_feats}${_suf}/${dset}/feats_type"
-            done
-
-        else
-            log "Error: not supported: --feats_type ${feats_type}"
-            exit 2
-        fi
-    fi
-
-    if [ ${stage} -le 2 ] && [ ${stop_stage} -ge 2 ]; then
-        log "Stage 2: Generate speaker profile by spectral-cluster"
-        mkdir -p "profile_log"
-        for dset in "${test_sets}"; do
-            # generate cluster_profile with spectral-cluster directly (for infering and without oracle information)
-            python local/gen_cluster_profile_infer.py "${data_feats}/${dset}" "data/${dset}" 0.996 0.815 &> "profile_log/gen_cluster_profile_infer_${dset}.log"
-            log "Successfully generate cluster profile for ${dset} (${data_feats}/${dset}/cluster_profile_infer.scp)"
-            done
-    fi
-
-else
-    log "Skip the stages for data preparation"
-fi
-
-
-# ========================== Data preparation is done here. ==========================
-
-if ! "${skip_eval}"; then
-
-    if [ ${stage} -le 3 ] && [ ${stop_stage} -ge 3 ]; then
-        log "Stage 3: Decoding SA-ASR (cluster profile): training_dir=${sa_asr_exp}"
-
-        if ${gpu_inference}; then
-            _cmd="${cuda_cmd}"
-            inference_nj=$[${ngpu}*${njob_infer}]
-            _ngpu=1
-
-        else
-            _cmd="${decode_cmd}"
-            inference_nj=$njob_infer
-            _ngpu=0
-        fi
-
-        _opts=
-        if [ -n "${inference_config}" ]; then
-            _opts+="--config ${inference_config} "
-        fi
-        if "${use_lm}"; then
-            if "${use_word_lm}"; then
-                _opts+="--word_lm_train_config ${lm_exp}/config.yaml "
-                _opts+="--word_lm_file ${lm_exp}/${inference_lm} "
-            else
-                _opts+="--lm_train_config ${lm_exp}/config.yaml "
-                _opts+="--lm_file ${lm_exp}/${inference_lm} "
-            fi
-        fi
-
-        # 2. Generate run.sh
-        log "Generate '${sa_asr_exp}/${sa_asr_inference_tag}.cluster/run.sh'. You can resume the process from stage 17 using this script"
-        mkdir -p "${sa_asr_exp}/${sa_asr_inference_tag}.cluster"; echo "${run_args} --stage 17 \"\$@\"; exit \$?" > "${sa_asr_exp}/${sa_asr_inference_tag}.cluster/run.sh"; chmod +x "${sa_asr_exp}/${sa_asr_inference_tag}.cluster/run.sh"
-
-        for dset in ${test_sets}; do
-            _data="${data_feats}/${dset}"
-            _dir="${sa_asr_exp}/${sa_asr_inference_tag}.cluster/${dset}"
-            _logdir="${_dir}/logdir"
-            mkdir -p "${_logdir}"
-
-            _feats_type="$(<${_data}/feats_type)"
-            if [ "${_feats_type}" = raw ]; then
-                _scp=wav.scp
-                if [[ "${audio_format}" == *ark* ]]; then
-                    _type=kaldi_ark
-                else
-                    _type=sound
-                fi
-            else
-                _scp=feats.scp
-                _type=kaldi_ark
-            fi
-
-            # 1. Split the key file
-            key_file=${_data}/${_scp}
-            split_scps=""
-            _nj=$(min "${inference_nj}" "$(<${key_file} wc -l)")
-            for n in $(seq "${_nj}"); do
-                split_scps+=" ${_logdir}/keys.${n}.scp"
-            done
-            # shellcheck disable=SC2086
-            utils/split_scp.pl "${key_file}" ${split_scps}
-
-            # 2. Submit decoding jobs
-            log "Decoding started... log: '${_logdir}/sa_asr_inference.*.log'"
-            # shellcheck disable=SC2086
-            ${_cmd} --gpu "${_ngpu}" --max-jobs-run "${_nj}" JOB=1:"${_nj}" "${_logdir}"/asr_inference.JOB.log \
-                python -m funasr.bin.asr_inference_launch \
-                    --batch_size 1 \
-                    --mc True   \
-                    --nbest 1   \
-                    --ngpu "${_ngpu}" \
-                    --njob ${njob_infer} \
-                    --gpuid_list ${device} \
-                    --data_path_and_name_and_type "${_data}/${_scp},speech,${_type}" \
-                    --data_path_and_name_and_type "${_data}/cluster_profile_infer.scp,profile,npy" \
-                    --key_file "${_logdir}"/keys.JOB.scp \
-                    --allow_variable_data_keys true \
-                    --asr_train_config "${sa_asr_exp}"/config.yaml \
-                    --asr_model_file "${sa_asr_exp}"/"${inference_sa_asr_model}" \
-                    --output_dir "${_logdir}"/output.JOB \
-                    --mode sa_asr \
-                    ${_opts}
-
-            # 3. Concatenates the output files from each jobs
-            for f in token token_int score text text_id; do
-                for i in $(seq "${_nj}"); do
-                    cat "${_logdir}/output.${i}/1best_recog/${f}"
-                done | LC_ALL=C sort -k1 >"${_dir}/${f}"
-            done
-        done
-    fi
-
-    if [ ${stage} -le 4 ] && [ ${stop_stage} -ge 4 ]; then
-        log "Stage 4: Generate SA-ASR results (cluster profile)"
-
-        for dset in ${test_sets}; do
-            _dir="${sa_asr_exp}/${sa_asr_inference_tag}.cluster/${dset}"
-
-            python local/process_text_spk_merge.py ${_dir}
-        done
-
-    fi
-
-else
-    log "Skip the evaluation stages"
-fi
-
-
-log "Successfully finished. [elapsed=${SECONDS}s]"
diff --git a/egs/alimeeting/sa_asr_deprecated/conf/decode_asr_rnn.yaml b/egs/alimeeting/sa_asr_deprecated/conf/decode_asr_rnn.yaml
deleted file mode 100644
index 88fdbc2..0000000
--- a/egs/alimeeting/sa_asr_deprecated/conf/decode_asr_rnn.yaml
+++ /dev/null
@@ -1,6 +0,0 @@
-beam_size: 20
-penalty: 0.0
-maxlenratio: 0.0
-minlenratio: 0.0
-ctc_weight: 0.6
-lm_weight: 0.3
diff --git a/egs/alimeeting/sa_asr_deprecated/conf/train_asr_conformer.yaml b/egs/alimeeting/sa_asr_deprecated/conf/train_asr_conformer.yaml
deleted file mode 100644
index a8c9968..0000000
--- a/egs/alimeeting/sa_asr_deprecated/conf/train_asr_conformer.yaml
+++ /dev/null
@@ -1,88 +0,0 @@
-# network architecture
-frontend: default
-frontend_conf:
-    n_fft: 400
-    win_length: 400
-    hop_length: 160
-    use_channel: 0
-    
-# encoder related
-encoder: conformer
-encoder_conf:
-    output_size: 256    # dimension of attention
-    attention_heads: 4
-    linear_units: 2048  # the number of units of position-wise feed forward
-    num_blocks: 12      # the number of encoder blocks
-    dropout_rate: 0.1
-    positional_dropout_rate: 0.1
-    attention_dropout_rate: 0.0
-    input_layer: conv2d # encoder architecture type
-    normalize_before: true
-    rel_pos_type: latest
-    pos_enc_layer_type: rel_pos
-    selfattention_layer_type: rel_selfattn
-    activation_type: swish
-    macaron_style: true
-    use_cnn_module: true
-    cnn_module_kernel: 15
-
-# decoder related
-decoder: transformer
-decoder_conf:
-    attention_heads: 4
-    linear_units: 2048
-    num_blocks: 6
-    dropout_rate: 0.1
-    positional_dropout_rate: 0.1
-    self_attention_dropout_rate: 0.0
-    src_attention_dropout_rate: 0.0
-
-# ctc related
-ctc_conf:
-    ignore_nan_grad: true
-
-# hybrid CTC/attention
-model_conf:
-    ctc_weight: 0.3
-    lsm_weight: 0.1     # label smoothing option
-    length_normalized_loss: false
-
-# minibatch related
-batch_type: numel
-batch_bins: 10000000  # reduce/increase this number according to your GPU memory
-
-# optimization related
-accum_grad: 1
-grad_clip: 5
-max_epoch: 100
-val_scheduler_criterion:
-    - valid
-    - acc
-best_model_criterion:
--   - valid
-    - acc
-    - max
-keep_nbest_models: 10
-
-optim: adam
-optim_conf:
-   lr: 0.001
-scheduler: warmuplr
-scheduler_conf:
-   warmup_steps: 25000
-
-specaug: specaug
-specaug_conf:
-    apply_time_warp: true
-    time_warp_window: 5
-    time_warp_mode: bicubic
-    apply_freq_mask: true
-    freq_mask_width_range:
-    - 0
-    - 30
-    num_freq_mask: 2
-    apply_time_mask: true
-    time_mask_width_range:
-    - 0
-    - 40
-    num_time_mask: 2
diff --git a/egs/alimeeting/sa_asr_deprecated/conf/train_sa_asr_conformer.yaml b/egs/alimeeting/sa_asr_deprecated/conf/train_sa_asr_conformer.yaml
deleted file mode 100644
index 612fd23..0000000
--- a/egs/alimeeting/sa_asr_deprecated/conf/train_sa_asr_conformer.yaml
+++ /dev/null
@@ -1,115 +0,0 @@
-# network architecture
-frontend: default
-frontend_conf:
-    n_fft: 400
-    win_length: 400
-    hop_length: 160
-    use_channel: 0
-
-# encoder related
-asr_encoder: conformer
-asr_encoder_conf:
-    output_size: 256    # dimension of attention
-    attention_heads: 4
-    linear_units: 2048  # the number of units of position-wise feed forward
-    num_blocks: 12      # the number of encoder blocks
-    dropout_rate: 0.1
-    positional_dropout_rate: 0.1
-    attention_dropout_rate: 0.0
-    input_layer: conv2d # encoder architecture type
-    normalize_before: true
-    pos_enc_layer_type: rel_pos
-    selfattention_layer_type: rel_selfattn
-    activation_type: swish
-    macaron_style: true
-    use_cnn_module: true
-    cnn_module_kernel: 15
-
-spk_encoder: resnet34_diar
-spk_encoder_conf:
-  use_head_conv: true
-  batchnorm_momentum: 0.5
-  use_head_maxpool: false
-  num_nodes_pooling_layer: 256
-  layers_in_block:
-    - 3
-    - 4
-    - 6
-    - 3
-  filters_in_block:
-    - 32
-    - 64
-    - 128
-    - 256
-  pooling_type: statistic
-  num_nodes_resnet1: 256
-  num_nodes_last_layer: 256
-
-# decoder related
-decoder: sa_decoder
-decoder_conf:
-    attention_heads: 4
-    linear_units: 2048
-    asr_num_blocks: 6
-    spk_num_blocks: 3
-    dropout_rate: 0.1
-    positional_dropout_rate: 0.1
-    self_attention_dropout_rate: 0.0
-    src_attention_dropout_rate: 0.0
-
-# hybrid CTC/attention
-model_conf:
-    spk_weight: 0.5
-    ctc_weight: 0.3
-    lsm_weight: 0.1     # label smoothing option
-    length_normalized_loss: false
-
-ctc_conf:
-    ignore_nan_grad: true
-
-# minibatch related
-batch_type: numel
-batch_bins: 10000000
-
-# optimization related
-accum_grad: 1
-grad_clip: 5
-max_epoch: 60
-val_scheduler_criterion:
-    - valid
-    - loss
-best_model_criterion:
--   - valid
-    - acc
-    - max
--   - valid
-    - acc_spk
-    - max
--   - valid
-    - loss
-    - min
-keep_nbest_models: 10
-
-optim: adam
-optim_conf:
-   lr: 0.0005
-scheduler: warmuplr
-scheduler_conf:
-   warmup_steps: 8000
-
-specaug: specaug
-specaug_conf:
-    apply_time_warp: true
-    time_warp_window: 5
-    time_warp_mode: bicubic
-    apply_freq_mask: true
-    freq_mask_width_range:
-    - 0
-    - 30
-    num_freq_mask: 2
-    apply_time_mask: true
-    time_mask_width_range:
-    - 0
-    - 40
-    num_time_mask: 2
-
diff --git a/egs/alimeeting/sa_asr_deprecated/local b/egs/alimeeting/sa_asr_deprecated/local
deleted file mode 120000
index 2ef6217..0000000
--- a/egs/alimeeting/sa_asr_deprecated/local
+++ /dev/null
@@ -1 +0,0 @@
-../sa_asr/local/
\ No newline at end of file
diff --git a/egs/alimeeting/sa_asr_deprecated/path.sh b/egs/alimeeting/sa_asr_deprecated/path.sh
deleted file mode 100755
index dfc2b78..0000000
--- a/egs/alimeeting/sa_asr_deprecated/path.sh
+++ /dev/null
@@ -1,5 +0,0 @@
-export FUNASR_DIR=$PWD/../../..
-
-# NOTE(kan-bayashi): Use UTF-8 in Python to avoid UnicodeDecodeError when LC_ALL=C
-export PYTHONIOENCODING=UTF-8
-export PATH=$FUNASR_DIR/funasr/bin:./utils:$PATH
\ No newline at end of file
diff --git a/egs/alimeeting/sa_asr_deprecated/run.sh b/egs/alimeeting/sa_asr_deprecated/run.sh
deleted file mode 100755
index c74df56..0000000
--- a/egs/alimeeting/sa_asr_deprecated/run.sh
+++ /dev/null
@@ -1,54 +0,0 @@
-#!/usr/bin/env bash
-# Set bash to 'debug' mode, it will exit on :
-# -e 'error', -u 'undefined variable', -o ... 'error in pipeline', -x 'print commands',
-set -e
-set -u
-set -o pipefail
-
-ngpu=4
-device="0,1,2,3"
-
-stage=1
-stop_stage=16
-
-
-train_set=Train_Ali_far
-valid_set=Eval_Ali_far
-test_sets="Test_Ali_far"
-asr_config=conf/train_asr_conformer.yaml
-sa_asr_config=conf/train_sa_asr_conformer.yaml
-inference_config=conf/decode_asr_rnn.yaml
-infer_with_pretrained_model=false
-download_sa_asr_model="damo/speech_saasr_asr-zh-cn-16k-alimeeting"
-
-lm_config=conf/train_lm_transformer.yaml
-use_lm=false
-use_wordlm=false
-./asr_local.sh                                         \
-    --device ${device}                                 \
-    --ngpu ${ngpu}                                     \
-    --stage ${stage}                                   \
-    --stop_stage ${stop_stage}                         \
-    --gpu_inference true    \
-    --njob_infer 4    \
-    --infer_with_pretrained_model ${infer_with_pretrained_model} \
-    --download_sa_asr_model $download_sa_asr_model \
-    --asr_exp exp/asr_train_multispeaker_conformer_raw_zh_char_data_alimeeting \
-    --sa_asr_exp exp/sa_asr_train_conformer_raw_zh_char_data_alimeeting \
-    --asr_stats_dir exp/asr_stats_multispeaker_conformer_raw_zh_char_data_alimeeting \
-    --lm_exp exp/lm_train_multispeaker_transformer_zh_char_data_alimeeting \
-    --lm_stats_dir exp/lm_stats_multispeaker_zh_char_data_alimeeting \
-    --lang zh                                          \
-    --audio_format wav                                 \
-    --feats_type raw                                   \
-    --token_type char                                  \
-    --use_lm ${use_lm}                                 \
-    --use_word_lm ${use_wordlm}                        \
-    --lm_config "${lm_config}"                         \
-    --asr_config "${asr_config}"                       \
-    --sa_asr_config "${sa_asr_config}"                 \
-    --inference_config "${inference_config}"           \
-    --train_set "${train_set}"                         \
-    --valid_set "${valid_set}"                         \
-    --test_sets "${test_sets}"                         \
-    --lm_train_text "data/${train_set}/text" "$@"
diff --git a/egs/alimeeting/sa_asr_deprecated/run_m2met_2023_infer.sh b/egs/alimeeting/sa_asr_deprecated/run_m2met_2023_infer.sh
deleted file mode 100755
index 1967864..0000000
--- a/egs/alimeeting/sa_asr_deprecated/run_m2met_2023_infer.sh
+++ /dev/null
@@ -1,50 +0,0 @@
-#!/usr/bin/env bash
-# Set bash to 'debug' mode, it will exit on :
-# -e 'error', -u 'undefined variable', -o ... 'error in pipeline', -x 'print commands',
-set -e
-set -u
-set -o pipefail
-
-ngpu=4
-device="0,1,2,3"
-
-stage=1
-stop_stage=4
-
-
-train_set=Train_Ali_far
-valid_set=Eval_Ali_far
-test_sets="Test_2023_Ali_far"
-asr_config=conf/train_asr_conformer.yaml
-sa_asr_config=conf/train_sa_asr_conformer.yaml
-inference_config=conf/decode_asr_rnn.yaml
-
-lm_config=conf/train_lm_transformer.yaml
-use_lm=false
-use_wordlm=false
-./asr_local_m2met_2023_infer.sh                                         \
-    --device ${device}                                 \
-    --ngpu ${ngpu}                                     \
-    --stage ${stage}                                   \
-    --stop_stage ${stop_stage}                         \
-    --gpu_inference true    \
-    --njob_infer 4    \
-    --asr_exp exp/asr_train_multispeaker_conformer_raw_zh_char_data_alimeeting \
-    --sa_asr_exp exp/sa_asr_train_conformer_raw_zh_char_data_alimeeting \
-    --asr_stats_dir exp/asr_stats_multispeaker_conformer_raw_zh_char_data_alimeeting \
-    --lm_exp exp/lm_train_multispeaker_transformer_zh_char_data_alimeeting \
-    --lm_stats_dir exp/lm_stats_multispeaker_zh_char_data_alimeeting \
-    --lang zh                                          \
-    --audio_format wav                                 \
-    --feats_type raw                                   \
-    --token_type char                                  \
-    --use_lm ${use_lm}                                 \
-    --use_word_lm ${use_wordlm}                        \
-    --lm_config "${lm_config}"                         \
-    --asr_config "${asr_config}"                       \
-    --sa_asr_config "${sa_asr_config}"                 \
-    --inference_config "${inference_config}"           \
-    --train_set "${train_set}"                         \
-    --valid_set "${valid_set}"                         \
-    --test_sets "${test_sets}"                         \
-    --lm_train_text "data/${train_set}/text" "$@"
diff --git a/egs/alimeeting/sa_asr_deprecated/utils b/egs/alimeeting/sa_asr_deprecated/utils
deleted file mode 120000
index fe070dd..0000000
--- a/egs/alimeeting/sa_asr_deprecated/utils
+++ /dev/null
@@ -1 +0,0 @@
-../../aishell/transformer/utils
\ No newline at end of file

--
Gitblit v1.9.1