소개
A. WebRTC 및 노이즈 문제 개요
WebRTC(Web Real-Time Communication)는 브라우저 기반 통신을 혁신하여 플러그인이나 추가 소프트웨어 없이 직접 P2P 오디오, 비디오 및 데이터 전송을 가능하게 했습니다. 그러나 모든 실시간 통신 기술과 마찬가지로 WebRTC는 특히 배경 소음과 관련된 오디오 품질 문제에 직면해 있습니다. 이 소음은 의사소통의 명확성과 효과성에 상당한 영향을 미쳐 사용자에게 오해와 불만을 초래할 수 있습니다.
B. WebRTC에서 AI 노이즈 감소의 중요성
WebRTC에서 AI 노이즈 감소를 구현하는 것은 여러 가지 이유로 중요합니다:
- 향상된 사용자 경험: AI 알고리즘이 배경 소음을 줄이면 오디오의 명확성이 극적으로 향상되어 보다 자연스럽고 즐거운 대화가 가능합니다.
- 생산성 증가: 전문 환경에서는 더 명확한 오디오가 오해를 줄이고 정보를 반복하는 데 드는 시간을 줄여 궁극적으로 생산성을 높입니다.
- 접근성: 청각 장애가 있는 사용자나 시끄러운 환경에 있는 사용자에게 AI 노이즈 감소는 대화에 참여할 수 있는지 여부를 결정짓는 중요한 요소가 될 수 있습니다.
- 경쟁 우위: 사용자가 오디오 품질에 대해 더욱 까다롭게 되면서 뛰어난 노이즈 감소 기능을 제공하는 플랫폼이 경쟁 우위를 점할 가능성이 높습니다.
C. AI 노이즈 감소 원리에 대한 간략한 설명
WebRTC에서의 AI 노이즈 감소는 기계 학습 알고리즘을 활용하여 원하는 음성과 원치 않는 배경 소음을 구분합니다. 이러한 알고리즘은 광범위한 음성 및 소음 샘플 데이터 세트로 훈련되어 다양한 유형의 배경 소음에서 음성 패턴을 인식하고 분리할 수 있습니다. 그런 다음 AI 시스템은 식별된 소음을 억제하거나 제거하면서 음성 신호의 품질과 자연스러움을 유지합니다.
AI 노이즈 감소: 기술 원칙
A. 노이즈 감지를 위한 기계 학습 알고리즘
AI 노이즈 감소는 다양한 유형의 노이즈를 탐지하고 분류하기 위해 정교한 기계 학습 알고리즘을 사용합니다:
- 지도 학습: 알고리즘은 깔끔한 음성과 소음의 레이블이 지정된 데이터 세트에서 훈련되어 두 가지를 구분하는 방법을 학습합니다.
- 비지도 학습: 이러한 방법은 사전 훈련 없이 새로운 소음 환경에 적응할 수 있으며, 음성과 소음을 구분하는 패턴을 식별합니다.
- 딥 러닝: 합성곱 신경망(CNN) 및 순환 신경망(RNN)을 사용하여 오디오 신호의 스펙트럼 및 시간 특성을 분석하고 높은 정확도로 노이즈 구성 요소를 식별할 수 있습니다.
B. 음성 향상을 위한 신경망
노이즈가 감지되면 신경망을 사용하여 음성 신호를 향상시킵니다:
- 디노이징 오토인코더: 이러한 신경망은 노이즈가 있는 입력에서 깨끗한 음성을 재구성하는 법을 학습합니다.
- 생성적 적대 신경망(GAN): GAN은 깨끗한 음성을 생성하는 데 사용될 수 있으며, 판별자 네트워크가 출력이 자연 음성과 밀접하게 일치하도록 보장합니다.
- 시간 영역 오디오 분리 네트워크: 이들은 원시 오디오 파형을 직접 처리하여 시간 영역에서 음성과 노이즈를 분리합니다.
C. 실시간 처리 고려 사항
WebRTC에서 AI 노이즈 감소를 구현하려면 실시간 처리 제약을 신중하게 고려해야 합니다:
- 지연: 노이즈 감소 알고리즘은 통신의 실시간 특성을 유지하기 위해 최소한의 지연으로 작동해야 합니다.
- 계산 효율성: 알고리즘은 스마트폰에서 데스크톱 컴퓨터에 이르기까지 다양한 장치에서 효율적으로 실행되도록 최적화되어야 합니다.
- 적응형 처리: 시스템은 아티팩트나 중단 없이 실시간으로 변화하는 소음 조건에 적응할 수 있어야 합니다.
- 기존 WebRTC 오디오 처리 파이프라인과의 통합: AI 노이즈 감소는 에코 취소 및 자동 이득 조정과 같은 WebRTC의 다른 오디오 처리 기능과 원활하게 작동해야 합니다.
이러한 AI 기술을 활용함으로써 WebRTC는 전통적인 방법보다 훨씬 개선된 노이즈 감소를 달성할 수 있으며, 도전적인 음향 환경에서도 더 명확하고 자연스러운 커뮤니케이션을 이끌어낼 수 있습니다.
Tencent RTC로 AI 노이즈 감소 구현하기
온라인 데모 체험하기
Tencent RTC는 WebRTC 애플리케이션에서 AI 노이즈 감소를 구현하기 위한 강력한 솔루션을 제공합니다. Tencent의 Tianlai Labs에서 개발한 AI 노이즈 억제 기능은 최첨단 노이즈 제거 능력을 제공합니다.
또한 체험 센터에 들어가 AI 노이즈 억제가 가져오는 뛰어난 음향 효과를 온라인으로 체험해 보십시오.
AI 노이즈 억제 활성화하기
Tencent RTC 회의는 이제 기본적으로 AI 노이즈 억제 기능이 활성화되어 있습니다. 사용자는 추가 구성이나 작업 없이 애플리케이션 내에서 고품질 노이즈 억제를 즐길 수 있습니다.
또한 RTCAIDenoiser 플러그인를 제공하며, 이는 TRTC 웹 SDK와 함께 사용하여 통화 중 소음을 줄이고 환경 소음이 의사소통에 미치는 영향을 최소화하는 데 사용할 수 있습니다. 다음 섹션에서는 TRTC 애플리케이션 개발 시 RTCAIDenoiser 플러그인을 사용하는 방법을 소개합니다.
전제 조건
2023년 4월 1일부터 TRTC 프리미엄 이상 월간 구독가 필요합니다. AI 노이즈 감소 기능을 사용하기 위해서는 프리미엄 이상의 요금제가 필요합니다.
지원되는 브라우저: Chrome 66+, Edge 79+, Safari 14.1+, Firefox 76+.
AI 노이즈 감소 기능을 더 잘 사용하려면 최신 버전의 Chrome을 사용하는 것이 좋습니다.
참고:
마이크로폰으로 포착된 배경 음악이 있을 경우, RTCAIDenoiser
가 이를 노이즈로 제거할 수 있습니다.
기능 설명
Step1. RTCAIDenoiser 설치
npm install rtc-ai-denoiser@latest
이 RTCAIDenoiser
플러그인은 TRTC
와 동일한 범위에 설치되어야 합니다.
import TRTC from 'trtc-js-sdk';
import RTCAIDenoiser from 'rtc-ai-denoiser';
Step2. RTCAIDenoiser 통합
파일 종속성 동적 로딩: RTCAIDenoiser 플러그인은 여러 파일에 의존합니다. 브라우저가 이러한 파일을 제대로 로드하고 실행할 수 있도록 하려면 다음 단계를 완료해야 합니다.
node_modules/rtc-ai-denoiser/assets
디렉토리의 denoiser-wasm.js
파일을 CDN 또는 정적 리소스 서버에 게시하고 동일한 공개 경로 아래에 두어야 합니다. 나중에 RTCAIDenoiser
인스턴스를 만들 때 위의 공개 경로의 URL을 전달해야 하며, 플러그인이 종속 파일을 동적으로 로드합니다.
파일의 호스트 URL이 웹 애플리케이션의 호스트 URL과 일치하지 않는 경우, 파일 도메인에 대한 CORS 정책을 활성화해야 합니다.
HTTP 서비스 아래에 자산 디렉토리 파일을 배치할 수 없으며, HTTPS 도메인에서 HTTP 리소스를 로드하는 것은 브라우저 보안 정책에 의해 금지됩니다.
Step3. RTCAIDenoiser 초기화
1. 빠른 시작 통화를 참조하여 기본 오디오/비디오 통화 프로세스를 구현합니다.
2. RTCAIDenoiser 초기화
// 인스턴스를 생성하고 자산 디렉토리에 파일이 위치한 공개 경로를 전달합니다.
const rtcAIDenoiser = new RTCAIDenoiser({ assetsPath: './assets' });
3. denoiserProcessor 인스턴스 생성
const processor = await rtcAIDenoiser.createProcessor({
sdkAppId,
userId,
userSig
});
4. 게시할 지역 스트림 처리
// 스트림 초기화
const localStream = TRTC.createStream({ video: true, audio: true });
await localStream.initialize();
// 지역 스트림에 노이즈 억제 추가
await processor.process(localStream);
// 게시
await client.publish(localStream);
5. 플러그인 켜기 또는 끄기 제어: enable
메서드를 호출하여 켜고 disable
메서드를 호출하여 끌 수 있습니다.
if (processor.enabled) {
await processor.disable();
} else {
await processor.enable();
}
6. 노이즈 억제 과정 동안 오디오 데이터 덤프: startDump
메서드를 호출하여 시작하고 stopDump
메서드를 호출하여 종료하며, ondumpend
콜백을 통해 오디오 및 비디오 데이터를 얻습니다.
processor.on('ondumpend', ({ blob, name }) => {
const url = window.URL.createObjectURL(blob);
let anchor = document.createElement('a');
anchor.href = url;
anchor.download = `${name}-${Date.now()}.wav`;
anchor.click();
window.URL.revokeObjectURL(url);
anchor.href = '';
});
Tencent RTC 솔루션의 장점
- 고급 AI 알고리즘: Tianlai Labs의 최첨단 AI 기술을 활용하여 우수한 노이즈 탐지 및 억제 기능을 제공합니다.
- 다양성: 다양한 환경과 노이즈 유형에서 효과적입니다.
- TUIRoomKit과의 통합: 빠른 구현을 위한 Tencent UI 구성 요소와의 원활한 통합을 제공합니다.
- 실시간 처리: 저지연 애플리케이션을 위해 설계되어 의사소통에 눈에 띄는 지연이 없습니다.