[mirotalksfu] - #215 integrate RNNoise for noise suppression

هذا الالتزام موجود في:
Miroslav Pejic
2025-07-15 00:07:15 +02:00
الأصل dc4e2b14e2
التزام a860b53666
10 ملفات معدلة مع 1125 إضافات و257 حذوفات

عرض الملف

@@ -119,6 +119,7 @@
<script defer src="../js/Transcription.js"></script>
<script defer src="../js/VideoGrid.js"></script>
<script defer src="../js/VirtualBackground.js"></script>
<script defer src="../js/NodeProcessor.js"></script>
<script defer src="../js/RoomClient.js"></script>
<script defer src="../js/Room.js"></script>
<script defer src="https://cdn.jsdelivr.net/npm/marked/marked.min.js"></script>
@@ -530,181 +531,28 @@ access to use this app.
<div class="volume-bar"></div>
</div>
<br />
<div class="dropdown">
<button
class="dropdown-toggle btn-custom"
type="button"
id="micOptionsButton"
data-bs-toggle="dropdown"
aria-expanded="false"
>
<i class="fas fa-screwdriver-wrench"></i>
<p>Advanced options</p>
</button>
<div class="dropdown-menu text-start" aria-labelledby="micOptionsButton">
<!-- onclick="event.stopPropagation()" -->
<table class="settingsTable">
<tr id="autoGainControlButton">
<td>
<div class="title">
<i class="fas fa-ear-listen"></i>
<p>Auto gain control</p>
</div>
</td>
<td>
<div class="form-check form-switch form-switch-md">
<input
id="switchAutoGainControl"
class="form-check-input"
type="checkbox"
/>
</div>
</td>
</tr>
<tr id="echoCancellationButton">
<td>
<div class="title">
<i class="fas fa-ear-listen"></i>
<p>Echo cancellation</p>
</div>
</td>
<td>
<div class="form-check form-switch form-switch-md">
<input
id="switchEchoCancellation"
class="form-check-input"
type="checkbox"
checked
/>
</div>
</td>
</tr>
<tr id="noiseSuppressionButton">
<td>
<div class="title">
<i class="fas fa-ear-listen"></i>
<p>Noise suppression</p>
</div>
</td>
<td>
<div class="form-check form-switch form-switch-md">
<input
id="switchNoiseSuppression"
class="form-check-input"
type="checkbox"
checked
/>
</div>
</td>
</tr>
<tr id="sampleRateButton">
<td>
<div class="title">
<i class="fas fa-microphone-lines"></i>
<p>Sample rate</p>
</div>
</td>
<td>
<select
id="sampleRateSelect"
class="form-select form-select-sm text-light bg-dark"
>
<option value="48000">48000 Hz</option>
<option value="44100">44100 Hz</option>
</select>
</td>
</tr>
<tr id="sampleSizeButton">
<td>
<div class="title">
<i class="fas fa-microphone-lines"></i>
<p>Sample size</p>
</div>
</td>
<td>
<select
id="sampleSizeSelect"
class="form-select form-select-sm text-light bg-dark"
>
<option value="16">16 bits</option>
<option value="32">32 bits</option>
</select>
</td>
</tr>
<tr id="channelCountButton">
<td>
<div class="title">
<i class="fas fa-microphone-lines"></i>
<p>Channel count</p>
</div>
</td>
<td>
<select
id="channelCountSelect"
class="form-select form-select-sm text-light bg-dark"
>
<option value="1">1 (mono)</option>
<option value="2">2 (stereo)</option>
</select>
</td>
</tr>
<tr id="micLatencyButton">
<td>
<div class="title">
<i class="fab fa-audible"></i>
<p>Latency</p>
</div>
</td>
<td>
<div class="title">
<input
type="range"
class="form-range"
id="micLatencyRange"
name="latency"
min="10"
max="1000"
value="50"
step="10"
/>
<p><span id="micLatencyValue">50</span>&nbsp;ms</p>
</div>
</td>
</tr>
<tr id="micVolumeButton">
<td>
<div class="title">
<i class="fas fa-volume-high"></i>
<p>Volume</p>
</div>
</td>
<td>
<div>
<input
type="range"
class="form-range"
id="micVolumeRange"
name="volume"
min="0"
max="100"
value="100"
step="10"
/>
<p><span id="micVolumeValue">100</span>&nbsp;%</p>
</div>
</td>
</tr>
<tr>
<td>
<button id="applyAudioOptionsButton" class="fas fa-check">
<p>Apply options</p>
</button>
</td>
<td></td>
</tr>
</table>
</div>
<div id="micOptionsButton">
<table class="settingsTable">
<tr id="noiseSuppressionButton">
<td>
<div id="labelNoiseSuppression" class="title">
<i class="fas fa-ear-listen"></i>
<p>Noise Suppression</p>
</div>
</td>
<td>
<div class="form-check form-switch form-switch-md">
<input
id="switchNoiseSuppression"
class="form-check-input"
type="checkbox"
/>
</div>
</td>
</tr>
</table>
</div>
<br />
<div id="speakerSelectDiv">
<hr />
<div class="title">