KR20230020508A - 텍스트 에코 제거 - Google Patents

텍스트 에코 제거 Download PDF

Info

Publication number
KR20230020508A
KR20230020508A KR1020237000248A KR20237000248A KR20230020508A KR 20230020508 A KR20230020508 A KR 20230020508A KR 1020237000248 A KR1020237000248 A KR 1020237000248A KR 20237000248 A KR20237000248 A KR 20237000248A KR 20230020508 A KR20230020508 A KR 20230020508A
Authority
KR
South Korea
Prior art keywords
audio
synthesized
text
character
audio signal
Prior art date
Application number
KR1020237000248A
Other languages
English (en)
Inventor
콴 왕
Original Assignee
구글 엘엘씨
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 구글 엘엘씨 filed Critical 구글 엘엘씨
Publication of KR20230020508A publication Critical patent/KR20230020508A/ko

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L21/00Speech or voice signal processing techniques to produce another audible or non-audible signal, e.g. visual or tactile, in order to modify its quality or its intelligibility
    • G10L21/02Speech enhancement, e.g. noise reduction or echo cancellation
    • G10L21/0208Noise filtering
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L13/00Speech synthesis; Text to speech systems
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L13/00Speech synthesis; Text to speech systems
    • G10L13/02Methods for producing synthetic speech; Speech synthesisers
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/06Creation of reference templates; Training of speech recognition systems, e.g. adaptation to the characteristics of the speaker's voice
    • G10L15/063Training
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L21/00Speech or voice signal processing techniques to produce another audible or non-audible signal, e.g. visual or tactile, in order to modify its quality or its intelligibility
    • G10L21/02Speech enhancement, e.g. noise reduction or echo cancellation
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L21/00Speech or voice signal processing techniques to produce another audible or non-audible signal, e.g. visual or tactile, in order to modify its quality or its intelligibility
    • G10L21/02Speech enhancement, e.g. noise reduction or echo cancellation
    • G10L21/0208Noise filtering
    • G10L21/0216Noise filtering characterised by the method used for estimating noise
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L21/00Speech or voice signal processing techniques to produce another audible or non-audible signal, e.g. visual or tactile, in order to modify its quality or its intelligibility
    • G10L21/02Speech enhancement, e.g. noise reduction or echo cancellation
    • G10L21/0208Noise filtering
    • G10L21/0264Noise filtering characterised by the type of parameter measurement, e.g. correlation techniques, zero crossing techniques or predictive techniques
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L25/00Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
    • G10L25/27Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the analysis technique
    • G10L25/30Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the analysis technique using neural networks
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L25/00Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
    • G10L25/93Discriminating between voiced and unvoiced parts of speech signals
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L21/00Speech or voice signal processing techniques to produce another audible or non-audible signal, e.g. visual or tactile, in order to modify its quality or its intelligibility
    • G10L21/02Speech enhancement, e.g. noise reduction or echo cancellation
    • G10L21/0208Noise filtering
    • G10L2021/02082Noise filtering the noise being echo, reverberation of the speech

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • Acoustics & Sound (AREA)
  • Computational Linguistics (AREA)
  • Signal Processing (AREA)
  • Quality & Reliability (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Telephonic Communication Services (AREA)

Abstract

방법(400)은 합성된 재생 오디오(154)의 세그먼트(156)를 오버랩하는 화자(10)에 의해 발언된 오디오를 포함하는 오버랩된 오디오 신호(202)를 수신하는 단계를 포함한다. 이 방법은 또한 합성된 재생 오디오에 대응하는 문자 시퀀스를 텍스트 임베딩 표현으로 인코딩하는 단계(212)를 포함한다. 문자 시퀀스의 각 문자에 대해, 이 방법은 또한 텍스트 임베딩 표현을 사용하여 각각의 제거 확률을 생성하는 단계(222)를 포함한다. 제거 확률은 오버랩된 오디오 신호에서 화자가 발언한 오디오에 의해 오버랩된 합성된 재생 오디오의 세그먼트와 해당 문자가 연관될 가능성을 나타낸다.

Description

텍스트 에코 제거
본 개시는 텍스트 에코 제거에 관한 것이다.
오디오 시스템이 오디오를 캡처하고 전송함에 따라 이러한 주변 장치는 에코의 영향을 받을 수 있다. 에코는 일반적으로 오디오 재생 장치(예: 스피커)에서 생성된 가청 신호가 음향 환경(예: 공기)을 통해 음향 파동의 형태로 전파되고 변형된 버전의 파동이 마이크로폰으로 다시 반사될 때 발생한다. 에코의 또 다른 형태는 오디오 재생 장치(예: 스피커)와 마이크로폰 사이의 바람직하지 않은 전기적 결합 효과 때문에 발생하는 전기적 에코이다. 이러한 에코 경로에 의해 생성된 신호는 오디오 에코로 전송된다. 에코는 예를 들어 주변 장치의 근접성 또는 주변 장치의 품질과 같은 다양한 요인으로 인해 발생할 수 있다. 하나 이상의 장치가 음성 프로세싱을 수행하는 음성 지원 환경 내에서 에코가 발생하므로, 에코는 음성 프로세싱의 정확성에 해로운 영향을 미칠 수 있으며; 따라서 장치 및/또는 음성 시스템에 대한 사용자의 경험에 영향을 미친다. 사람들이 점점 더 에코에 영향을 받는 시스템을 사용하여 통신함에 따라 에코 제거 시스템 및 방법은 에코의 영향을 받는 음성 프로세싱의 품질을 개선하기 위해 구현될 수 있다.
본 발명의 일 양태는 데이터 프로세싱 하드웨어에서 실행될 때 데이터 프로세싱 하드웨어로 하여금 동작들을 수행하게 하는 컴퓨터 구현 방법을 제공하며, 동작들은, 합성된 재생 오디오의 세그먼트를 오버랩하는 화자에 의해 발언된 오디오를 포함하는 오버랩된 오디오 신호를 수신하는 동작, 및 합성된 재생 오디오에 해당하는 문자 시퀀스를 텍스트 임베딩 표현으로 인코딩하는 동작을 포함한다. 동작들은, 상기 문자 시퀀스의 각 문자에 대해, 상기 텍스트 임베딩 표현을 사용하여, 해당 문자가 상기 오버랩된 오디오 신호에서 상기 화자에 의해 발언된 오디오에 의해 오버랩된 상기 합성된 재생 오디오의 세그먼트와 연관될 가능성을 나타내는 각각의 제거 확률을 생성하는 동작; 그리고 상기 오버랩된 오디오 신호 및 상기 문자 시퀀스의 각 문자에 대해 생성된 각각의 제거 확률을 입력으로 수신하도록 구성된 제거 신경망을 사용하여, 상기 오버랩된 오디오 신호로부터 상기 합성된 재생 오디오의 세그먼트를 제거함으로써 향상된 오디오 신호를 생성하는 동작을 더 포함한다. 본 개시의 구현은 다음의 선택적 특징 중 하나 이상을 포함할 수 있다. 일부 구현에서, 문자 시퀀스를 인코딩하는 것은 문자 시퀀스의 각 문자를 대응하는 문자 임베딩으로 인코딩하여 문자 임베딩 시퀀스를 생성하는 것을 포함한다. 이러한 구현에서, 오버랩된 오디오 신호는 프레임 시퀀스를 포함할 수 있으며, 문자 시퀀스에서 각각의 문자에 대한 각각의 제거 확률을 생성하는 것은 대응하는 문자 임베딩이 오버랩된 오디오 신호의 프레임 시퀀스에서 프레임 중 하나에 대응할 때 대응하는 문자 임베딩에 가중치를 적용하기 위해 어텐션 메커니즘을 사용하는 것을 포함할 수 있다. 프레임 시퀀스의 각 프레임은 합성된 재생 오디오 세그먼트와 오버랩하는 화자가 말한 오디오 부분에 해당한다.
TTS(text-to-speech) 시스템은 합성된 재생 오디오를 포함하는 합성된 음성으로의 문자 시퀀스일 수 있다. 선택적으로 텍스트 임베딩 표현은 단일 고정된-차원 텍스트 임베딩 벡터를 포함할 수 있다. 일부 예에서, 텍스트 인코딩 신경망의 텍스트 인코더는 합성된 재생 오디오에 대응하는 문자 시퀀스를 텍스트 임베딩 표현으로 인코딩한다. 이들 예에서, 텍스트 인코더는 문자 시퀀스로부터 합성된 재생 오디오를 생성하도록 구성된 TTS 시스템에 의해 공유될 수 있다.
일부 구현에서, 동작들은, 복수의 트레이닝 예에 대해 제거 신경망을 트레이닝시키는 동작을 더 포함하고, 각각의 트레이닝 예는, 비-합성된 음성에 대응하는 GT(ground truth) 오디오 신호; 합성된 오디오 신호와 오버랩되는 상기 GT 오디오 신호를 포함하는 트레이닝 오버랩된 오디오 신호; 그리고 상기 합성된 오디오 신호의 각각의 텍스트 표현을 포함하며, 상기 텍스트 표현은 문자 시퀀스를 포함한다.
제거 신경망은 복수의 LSTM 계층을 갖는 LSTM(Long Short Term Memory) 네트워크를 포함할 수 있다. 동작들은 합성된 재생 오디오의 텍스트 표현이 이용 가능하다는 표시를 수신하는 것을 더 포함할 수 있다.
본 발명의 다른 양태는 데이터 프로세싱 하드웨어 및 데이터 프로세싱 하드웨어와 통신하는 메모리 하드웨어를 포함하는 시스템을 제공한다. 메모리 하드웨어는 상기 데이터 프로세싱 하드웨어에서 실행될 때 상기 데이터 프로세싱 하드웨어로 하여금 동작들을 수행하게 하는 명령어를 저장하며, 상기 동작들은, 합성된 재생 오디오의 세그먼트를 오버랩하는 화자에 의해 발언된 오디오를 포함하는 오버랩된 오디오 신호를 수신하는 동작; 상기 합성된 재생 오디오에 대응하는 문자 시퀀스를 텍스트 임베딩 표현으로 인코딩하는 동작을 포함한다. 동작들은 상기 문자 시퀀스의 각 문자에 대해, 상기 텍스트 임베딩 표현을 사용하여, 해당 문자가 상기 오버랩된 오디오 신호에서 상기 화자에 의해 발언된 오디오에 의해 오버랩된 상기 합성된 재생 오디오의 세그먼트와 연관될 가능성을 나타내는 각각의 제거 확률을 생성하는 동작; 그리고 상기 오버랩된 오디오 신호 및 상기 문자 시퀀스의 각 문자에 대해 생성된 각각의 제거 확률을 입력으로 수신하도록 구성된 제거 신경망을 사용하여, 상기 오버랩된 오디오 신호로부터 상기 합성된 재생 오디오의 세그먼트를 제거함으로써 향상된 오디오 신호를 생성하는 동작을 포함한다.
이 양태는 다음과 같은 선택적 기능 중 하나 이상을 포함할 수 있다. 일부 구현에서, 문자 시퀀스를 인코딩하는 것은 문자 시퀀스의 각 문자를 대응하는 문자 임베딩으로 인코딩하여 문자 임베딩 시퀀스를 생성하는 것을 포함한다. 이러한 구현에서, 오버랩된 오디오 신호는 프레임 시퀀스를 포함할 수 있으며, 문자 시퀀스에서 각각의 문자에 대한 각각의 제거 확률을 생성하는 것은 해당 문자 임베딩이 오버랩된 오디오 신호의 프레임 시퀀스의 프레임들 중 하나에 대응할 때 해당 문자 임베딩에 가중치를 적용하기 위해 어텐션 메커니즘을 사용하는 것을 포함할 수 있다. 프레임 시퀀스의 각 프레임은 합성된 재생 오디오 세그먼트와 오버랩하는 화자가 말한 오디오 부분에 해당한다.
TTS(text-to-speech) 시스템은 합성된 재생 오디오를 포함하는 합성된 음성으로의 문자 시퀀스일 수 있다. 선택적으로 텍스트 임베딩 표현은 단일 고정된-차원 텍스트 임베딩 벡터를 포함할 수 있다. 일부 예에서, 텍스트 인코딩 신경망의 텍스트 인코더는 합성된 재생 오디오에 대응하는 문자 시퀀스를 텍스트 임베딩 표현으로 인코딩한다. 이들 예에서, 텍스트 인코더는 문자 시퀀스로부터 합성된 재생 오디오를 생성하도록 구성된 TTS 시스템에 의해 공유될 수 있다.
일부 구현에서, 동작들은 복수의 트레이닝 예에 대해 제거 신경망을 트레이닝시키는 동작을 더 포함하고, 각각의 트레이닝 예는, 비-합성된 음성에 대응하는 GT(ground truth) 오디오 신호; 합성된 오디오 신호와 오버랩되는 상기 GT 오디오 신호를 포함하는 트레이닝 오버랩된 오디오 신호; 그리고 상기 합성된 오디오 신호의 각각의 텍스트 표현을 포함하며, 상기 텍스트 표현은 문자 시퀀스를 포함된다.
제거 신경망은 복수의 LSTM 계층을 갖는 LSTM(Long Short Term Memory) 네트워크를 포함할 수 있다. 동작들은 합성된 재생 오디오의 텍스트 표현이 이용 가능하다는 표시를 수신하는 것을 더 포함할 수 있다.
본 발명의 하나 이상의 구현에 대한 세부 사항은 첨부된 도면과 아래 설명에 설명되어 있다. 다른 양태, 특징 및 이점은 설명, 도면 및 청구범위로부터 명백할 것이다.
도 1은 예적인 음성 환경의 개략도이다.
도 2a-2c는 도 1의 음성 환경의 예적인 텍스트 에코 제거 시스템의 개략도이다.
도 2d는 TTS(text-to-speech) 시스템과 텍스트 인코더를 공유하는 예적인 텍스트 에코 제거 시스템의 개략도이다.
도 2e는 어텐션 메커니즘이 없는 예적인 텍스트 에코 제거 시스템의 개략도이다.
도 3은 도 1의 텍스트 에코 제거 시스템을 트레이닝하기 위한 예적인 트레이닝 프로세스의 개략도이다.
도 4는 에코를 제거하기 위해 향상된 오디오 신호를 생성하는 방법에 대한 예적인 동작 배열의 흐름도이다.
도 5는 본 명세서에 기술된 시스템 및 방법을 구현하는 데 사용될 수 있는 예적인 컴퓨팅 장치의 개략도이다.
여러 도면에서 동일한 참조 부호는 동일한 요소를 나타낸다.
음성 지원 장치는 합성된 재생 오디오를 생성하고 합성된 재생 오디오를 음성 환경 내에서 한 명 이상의 사용자에게 전달할 수 있다. 합성된 재생 오디오는 음성 지원 장치 자체 또는 음성 지원 장치와 관련된 기계 프로세싱 시스템에서 발생하는 음성 지원 장치에서 생성된 오디오를 말하며, 사람이나 음성 지원 장치 외부의 기타 가청 사운드 소스가 아니다. 일반적으로 음성 지원 장치는 TTS(text-to-speech) 시스템을 사용하여 합성된 재생 오디오를 생성한다. TTS 시스템은 텍스트를 텍스트의 오디오 표현으로 변환한다. 여기서 텍스트의 오디오 표현은 인간 언어를 사용하는 음성 발화와 유사하도록 모델링된다.
음성 지원 장치의 오디오 출력 컴포넌트(예: 스피커)가 합성된 재생 오디오를 출력하는 동안, 음성 지원 장치의 오디오 캡처링 컴포넌트(예: 마이크로폰)는 여전히 음성 환경 내에서 가청 사운드(즉, 청취)를 능동적으로 캡처하고 있을 수 있다. 이는 스피커에서 합성된 재생 오디오 출력의 일부가 오디오 캡처 컴포넌트에서 에코(echo) 형태로 수신됨을 의미한다. 안타깝게도, 합성된 재생 오디오에서 나오는 이러한 형태의 에코로, 음성 지원 장치에서 구현되거나 음성 지원 장치와 통신하는 원격 시스템에서 구현되는 음성 인식기가 합성된 재생 오디오에서 에코 중에 발생하는 음성 발화를 이해하기 어려울 수 있다. 즉, 음성 지원 장치는 종종 음성 지원 장치의 사용자로부터의 질의(쿼리) 또는 명령에 대한 응답으로 합성된 재생 오디오를 생성한다. 예를 들어, 사용자는 음성 지원 장치에 "what will the weather be like today?(오늘 날씨는 어때?)"라고 물을 수 있다. 음성 지원 장치가 사용자로부터 이 질의 또는 질문을 수신하면, 음성 지원 장치 또는 음성 지원 장치와 통신하는 원격 시스템은 초기에 사용자의 발화를 결정하거나 프로세싱해야 한다. 음성 발화를 프로세싱함으로써, 음성 지원 장치는 음성 발화가 사용자의 질의(쿼리)(예: 날씨 관련)에 해당하고, 질의(쿼리)로서 사용자가 음성 지원 장치로부터의 응답을 예상한다는 것을 인식할 수 있다.
일반적으로, 음성 지원 장치는 음성 인식 시스템(예: 자동 음성 인식(ASR) 시스템)을 사용하여 음성 발화의 컨텍스트를 결정한다. 음성 인식 시스템은 오디오 신호 또는 오디오 데이터를 수신하고 오디오 신호에서 말한 문자, 단어 및/또는 문장을 나타내는 텍스트의 전사(transcript)를 생성한다. 그러나, 음성 인식은 음성 지원 장치의 음성 캡처 컴포넌트가 사용자(들)가 음성 지원 장치에 말한 하나 이상의 발화의 전체 또는 일부와 동시에 에코 및/또는 왜곡(distortion)을 수신할 때 더 복잡해질 수 있다. 예를 들어, 음성 지원 장치의 하나 이상의 마이크로폰에 에코 또는 음향 피드백으로 합성된 재생 오디오 신호의 일부가 공급된다. 하나 이상의 음성 발화와 결합된 합성된 재생 오디오의 에코로 인해 음성 지원 장치는 음성이 오버랩하는 오디오 신호를 수신하게 된다. 여기서, 오버랩 음성은 합성된 재생 오디오로부터의 에코 신호가 하나 이상의 발화(음성 발화)와 동시에(즉, 동시에 또는 동시적으로) 발생하는 오디오 신호의 인스턴스를 말한다. 이러한 오버랩된 음성이 발생하면 음성 인식 시스템은 음성 지원 장치에서 수신된 오디오 신호를 프로세싱하는 데 어려움을 겪을 수 있다. 즉, 오버랩하는 음성은 하나 이상의 음성 발화에 대한 정확한 전사(transcript)를 생성하는 음성 인식 시스템의 기능을 손상시킬 수 있다. 음성 인식 시스템의 정확한 전사가 없으면 음성 지원 장치는 사용자의 음성 발화에서 질의나 명령에 정확하게 응답하거나 전혀 응답하지 못할 수 있다. 대안적으로, 음성 지원 장치는 합성된 재생 오디오 신호 및/또는 주변 환경으로부터 실제로 에코되는 가청 사운드를 해석하려고 시도하는 프로세싱 리소스를 사용하지 않기를 원할 수 있다.
음성 지원 장치의 오디오 캡처 컴포넌트에 의해 캡처된 왜곡 또는 에코를 방지하는 한 가지 접근 방식은 음향 에코 제거(AEC: acoustic echo cancelation) 시스템을 사용하는 것이다. AEC 시스템에서, AEC 시스템은 합성된 재생 오디오 신호와 관련된 에코를 제거하기 위해 오디오 신호를 사용한다. 예를 들어, 일부 구성에서, AEC 시스템은 합성된 재생 오디오 신호로부터 에코를 제거하는 방법을 오디오 신호 예(예를 들어, 합성된 재생 오디오 신호의 예)로부터 학습하는 신경망을 포함한다. 이 접근 방식은 일반적으로 에코를 제거하는 데 성공하지만 AEC 시스템은 가장 리소스 효율적인 접근 방식이 아닐 수 있다. 즉, 합성된 재생 오디오 신호에 대한 에코를 제거하기 위해, AEC 시스템은 음성 지원 장치의 오디오 출력 컴포넌트에서 출력할 합성된 재생 오디오 신호를 전송한다. 불행하게도 합성된 재생 오디오 신호는 오디오 파일로서 상대적으로 파일 크기가 큰 경우가 많다. 파일 크기가 상대적으로 크기 때문에 음성 지원 장치의 시스템 간에 합성된 재생 오디오 신호를 통신하면 대기 시간과 같은 잠재적인 성능 문제가 발생한다. 더욱이, 상대적으로 큰 파일 크기를 전달하고 프로세싱하는 것은 음성 지원 장치의 프로세싱 리소스에 부담을 줄 수 있다. 이러한 잠재적인 문제를 악화시키기 위해 AEC 시스템은 온-디바이스 대신 네트워크 서버에 원격으로 상주할 수 있다. 예를 들어 음성 인식이 서비스로 수행되는 경우, 음향 에코 제거를 위해서는 TTS 시스템에서 음성 인식 시스템을 호스팅하는 서버로의 사이드 입력(side input)으로 합성된 재생 오디오를 보내야 한다. 원격 시스템에 상주하는 AEC 시스템 및/또는 TTS 시스템을 사용하면, 음성 지원 장치와 원격 시스템 간에 오디오 파일을 한 번 이상 전송해야 할 수 있으며 이로 인해 프로세스가 잠재적인 대기 시간 또는 기타 전송 문제에 노출될 수 있다.
원치 않는 에코를 제거하기 위해 음성 지원 장치에서 사용할 수 있는 또 다른 접근 방식은 필터링 시스템이다. 필터링 시스템에서, 필터링 시스템은 화자의 음성과 관련되지 않은 오디오 신호 성분을 필터링 시스템이 필터링할 수 있도록 화자의 음성 특성을 학습한다. 여기서 필터링 시스템은 대상 화자의 음성 특성을 학습하기 위해 대상 화자의 음성 발화의 오디오 샘플이 필요하다. 예를 들어, 필터링 시스템은 대상 사용자의 음성 특성을 나타내는 대상 화자의 임베딩 벡터를 생성한다. 이후 임베딩 벡터는 대상 화자에 속하지 않는 캡처된 오디오 신호를 제거하기 위한 보조 입력으로 사용될 수 있다. 그러나 필터링 방식을 사용할 경우 필터링 시스템은 임베딩 벡터의 추가 보조 입력 생성과 임베딩 벡터를 개발하기 위한 학습 프로세스가 필요하다. 또한 이 접근 방식은 대상 화자의 음성 특성을 정확하게 학습하기 위해 오디오 샘플과 충분한 수의 오디오 샘플을 제공하는 대상 화자에 의존한다. 아마도 효과적일지라도 이러한 추가 입력은 추가 비용으로 음성 지원 장치 또는 음성 지원 장치의 시스템에 부담을 줄 수 있다.
에코 제거에 대한 이러한 문제 중 일부를 해결하기 위해 음성 지원 장치는 텍스트 에코 제거(TEC: textual echo cancelation) 시스템을 대신 사용할 수 있다. TEC 시스템에서 에코를 생성하는 합성된 재생 오디오 신호를 사용하여 에코를 제거하는 대신 TEC 시스템이 텍스트를 사용하여 에코를 제거한다. 합성된 재생 오디오 신호는 입력된 텍스트(예: TTS 시스템의 텍스트)에서 발생하므로, 합성된 재생 오디오 신호를 생성하는 데 사용되는 입력 텍스트는 합성된 재생 오디오 신호에서 발생하는 에코를 제거하기 위해 TEC 시스템에 의해 사용될 수 있다. 여기서, TEC는 텍스트를 이용하여 오디오 신호용 파일(예를 들어, 합성된 재생 오디오 신호용 오디오 파일)보다 크기가 작은 텍스트 파일을 수신한다. 예를 들어, 텍스트 파일은 데이터 바이트 규모인 반면 오디오 파일은 킬로바이트, 메가바이트 또는 그보다 더 큰 규모일 수 있다(예: 신호 품질에 따라 다름). 오디오 신호보다 크기가 작은 텍스트 파일을 이용하여, 이 접근 방식은 오디오 신호가 네트워크를 통해 전달될 필요가 없기 때문에 대기 시간을 줄이는 동시에 텍스트 파일을 전달하기 위해 프로세싱 시간 및/또는 리소스를 소비하는 것을 방지할 수 있다. 또한, TEC 시스템은 TTS 시스템과 같은 시스템이 합성된 재생 오디오 신호를 생성하기 위해 이미 생성하고 있는 텍스트를 활용할 수 있기 때문에 프로세싱 리소스의 효율적인 사용을 촉진할 수 있다. 따라서 텍스트를 사용함으로써 TEC 접근 방식은 대기 시간과 같은 AEC 시스템에서 발생하는 문제 또는 트레이닝(훈련) 및 추가 입력 요구와 같은 필터링 시스템에서 발생하는 문제를 피할 수 있다.
도 1을 참조하면, 일부 구현에서, 음성 환경(100)은 음성 지원 장치(110)(장치(110) 또는 사용자 장치(110)라고도 함)에 음성 발화(12)를 전달하는 사용자(10)를 포함한다. 사용자(10)(즉, 발화(12)의 화자)는 장치(110)로부터 응답을 요청하기 위한 질의 또는 명령으로서 발화(12)를 말할 수 있다. 장치(110)는 음성 환경(100) 내의 하나 이상의 사용자(10)로부터 사운드를 캡처하도록 구성된다. 여기서, 오디오 사운드는 장치(디바이스)(110)에 대한 가청 질의, 명령 또는 디바이스(110)에 의해 캡처된 가청 통신의 기능을 하는 사용자(10)의 발화(12)를 의미할 수 있다. 장치(110)의 또는 장치(110)와 연관된 음성 지원 시스템은 질의에 응답하고/하거나 명령이 수행되도록 함으로써 명령에 대한 질의를 필드(field)할 수 있다.
여기서, 장치(110)는 사용자(10)에 의한 음성 발화(12)의 오디오 신호(202)(오디오 데이터라고도 함)를 캡처한다. 장치(디바이스)(110)는 사용자(10)와 연관되고 그리고 오디오 신호(202)를 수신할 수 있는 임의의 컴퓨팅 장치에 대응할 수 있다. 사용자 장치(110)의 일부 예는 모바일 장치(예: 휴대폰, 태블릿, 노트북 등), 컴퓨터, 웨어러블 장치(예: 스마트 워치), 스마트 기기 및 사물 인터넷(IoT) 장치, 스마트 스피커 등을 포함하지만 이에 제한되지 않는다. 장치(110)는 데이터 프로세싱 하드웨어(112) 및 데이터 프로세싱 하드웨어(112)와 통신하고 데이터 프로세싱 하드웨어(112)에 의해 실행될 때 데이터 프로세싱 하드웨어(112)로 하여금 하나 이상의 동작을 수행하게 하는 명령을 저장하는 메모리 하드웨어(114)를 포함한다. 일부 예에서, 장치(110)는 하나 이상의 애플리케이션(즉, 소프트웨어 애플리케이션)을 포함하며, 각 애플리케이션은 애플리케이션 내에서 다양한 기능을 수행하기 위해 장치(110)와 연관된 하나 이상의 음성 프로세싱 시스템(140, 150, 160, 200)을 활용할 수 있다. 예를 들어, 장치(110)는 다양한 태스크로 사용자(10)를 돕기 위해 합성된 재생 오디오(154)를 사용자(10)에게 전달하도록 구성된 어시스턴트 애플리케이션을 포함한다.
장치(110)는 음성 환경(100) 내의 음성 발화(12)를 전기 신호로 캡처 및 변환하기 위한 오디오 캡처 장치(116)(예: 마이크로폰) 및 가청 오디오 신호(예를 들어, 장치(110)로부터의 합성된 재생 오디오(154))를 전달하기 위한 음성 출력 장치(118)(예: 스피커)를 갖는 오디오 서브시스템을 더 포함한다. 장치(110)는 도시된 예에서 단일 오디오 캡처링(capturing) 장치(116)를 구현하지만, 장치(110)는 본 발명의 범위를 벗어나지 않고 오디오 캡처링 장치(116)의 어레이를 구현할 수 있으며, 어레이 내의 하나 이상의 오디오 캡처링 장치(116)는 물리적으로 장치(110)에 상주하지 않지만 오디오 서브시스템(예를 들어, 장치(110)의 주변기기)과 통신할 수 있다. 예를 들어, 장치(110)는 차량 전체에 배치된 마이크로폰 어레이를 활용하는 차량 인포테인먼트 시스템에 해당할 수 있다.
또한, 장치(110)는 네트워크(120)를 통해 원격 시스템(130)과 통신하도록 구성된다. 원격 시스템(130)은 원격 데이터 프로세싱 하드웨어(134)(예: 원격 서버 또는 CPU) 및/또는 원격 메모리 하드웨어(136)(예: 원격 데이터베이스 또는 기타 스토리지 하드웨어)와 같은 원격 리소스(132)를 포함할 수 있다. 장치(110)는 음성 프로세싱 및/또는 합성된 재생 통신과 관련된 다양한 기능을 수행하기 위해 원격 리소스(132)를 활용할 수 있다. 예를 들어, 장치(110)는 음성 인식 시스템(140)을 사용하여 음성 인식, TTS 시스템(150)을 사용하여 텍스트를 음성으로 변환, AEC 시스템(160)을 사용하여 음향 에코 제거 및/또는 TEC 시스템(200)을 사용하여 텍스트 에코 제거를 수행하도록 구성된다. 이러한 시스템(140, 150, 160, 200)은 장치(110)에 상주하거나(온-디바이스 시스템이라고 함) 원격적으로 상주할 수 있지만(예를 들어, 원격 시스템(130)에 상주) 장치(110)와 통신한다. 일부 예에서, 이들 시스템(140, 150, 160, 200) 중 일부는 로컬적으로 또는 온-디바이스 상에 존재하는 반면 다른 시스템은 원격으로 존재한다. 즉, 이들 시스템(140, 150, 160, 200) 중 임의의 것은 임의의 조합으로 로컬 또는 원격일 수 있다. 예를 들어, 시스템(140, 150, 160, 200)이 크기나 프로세싱 요구량이 다소 큰 경우 시스템(140, 150, 160, 200)은 원격 시스템(130)에 상주할 수 있다. 그러나 장치(110)가 하나 이상의 시스템(140, 150, 160, 200)의 크기 또는 프로세싱 요구량을 지원할 수 있는 경우, 하나 이상의 시스템(140, 150, 160, 200)은 데이터 프로세싱 하드웨어(112) 및/또는 메모리 하드웨어(114)를 사용하여 장치(110)에 상주할 수 있다. 선택적으로 하나 이상의 시스템(140, 150, 160, 200)은 로컬/온-디바이스 및 원격 모두에 상주할 수 있다. 예를 들어, 시스템(140, 150, 160, 200) 중 하나 이상은 장치(110)와 원격 시스템(130) 사이의 네트워크(120)에 대한 연결이 가능하지만 연결이 손실되거나 네트워크(120)가 사용할 수 없는 경우, 시스템(140, 150, 160, 200)은 대신 장치(110)에서 로컬로 실행된다.
음성 인식 시스템(140)은 오디오 신호(202)를 입력으로 수신하고 그리고 그 오디오 신호를 출력으로서 전사(142)로 전사한다. 즉, 오디오 신호(202)를 전사(142)로 변환함으로써, 음성 인식 시스템(140)은 장치(110)가 사용자(10)로부터의 음성 발화(12)가 질의, 명령 또는 일부 다른 형태의 오디오 통신에 대응할 때를 인식할 수 있게 한다. 전사(142)는 장치(110)가 질의 또는 명령에 대한 응답을 생성하기 위해 사용할 수 있는 텍스트 시퀀스를 말한다. 예를 들어, 사용자(10)가 장치(110)에 "what will the weather be like today(오늘 날씨는 어때)"라고 질문하면, 장치(110)는 "what will the weather be like today?"라는 질문에 대응하는 오디오 신호를 음성 인식 시스템(140)에 전달한다. 음성 인식 시스템(140)은 오디오 신호를 "what will the weather be like today?"라는 텍스트를 포함하는 전사(트랜스크립트)로 변환한다. 장치(110)는 그 후 텍스트 또는 텍스트의 일부를 사용하여 질의에 대한 응답을 결정할 수 있다. 예를 들어, 오늘(즉, today)의 날씨를 결정하기 위해, 장치(110)는 텍스트(예를 들어, "what will the weather be like today?") 또는 텍스트의 식별 부분(예를 들어, "weather" 및 "today")을 검색 엔진에 전달한다. 검색 엔진은 사용자(10)에 대한 응답을 생성하기 위해 장치(110)가 해석하는 하나 이상의 검색 결과를 리턴할 수 있다.
일부 구현에서, 장치(110) 또는 장치(110)와 연관된 시스템은 장치(110)가 음성 발화(12)의 질의에 대한 응답으로서 사용자(10)에게 전달할 텍스트(152)를 식별한다. 장치(110)는 TTS 시스템(150)을 사용하여 텍스트(152)를 장치(110)에 대한 해당 합성된 재생 오디오(154)로 변환하여 음성 발화(12)의 질의에 대한 응답으로서 사용자(10)에게 전달할 수 있다(예를 들어, 사용자(10)에게 가청적으로 전달). 다시 말해, TTS 시스템(150)은 입력으로서, 텍스트(152)를 수신하고 그리고 텍스트(152)를 합성된 재생 오디오(154)의 출력으로 변환하며, 여기서 합성된 재생 오디오(154)는 텍스트(152)의 가청 연주(audible rendition)를 정의하는 오디오 신호이다. 일부 예에서, TTS 시스템(150)은 텍스트(152)를 인코딩된 포맷(예를 들어, 텍스트 임베딩)으로 프로세싱하는 텍스트 인코더(예를 들어, 도 2a-2e의 텍스트 인코더(210))를 포함한다. 여기서, TTS 시스템(150)은 텍스트(152)의 인코딩된 포맷으로부터 합성된 재생 오디오(154)를 생성하기 위해 트레이닝된 TTS(text-to-speech) 모델을 사용할 수 있다. 일단 생성되면, TTS 시스템(150)은 장치(110)가 합성된 재생 오디오(154)를 출력할 수 있도록 합성된 재생 오디오(154)를 장치(110)에 전달한다. 예를 들어, 장치(110)는 장치(110)의 스피커(118)에서 "today is sunny(오늘은 맑음)"의 합성된 재생 오디오(154)를 출력한다.
도 1을 계속 참조하면, 장치(110)가 합성된 재생 오디오(154)를 출력할 때, 합성된 재생 오디오(154)는 오디오 캡처링 장치(116)에 의해 캡처된 에코(156)를 생성한다. 불행하게도, 에코(156)에 추가하여, 오디오 캡처링 장치(116)는 또한 동시에 사용자(10)로부터 다른 음성 발화(12)를 캡처할 수 있다. 예를 들어, 도 1은 장치(110)가 합성된 재생 오디오(154)를 출력함에 따라 사용자(10)가 "what about tomorrow?(내일은 어때?)"라고 말함으로써 장치(110)에 대한 음성 발화(12)에서 날씨에 대해 더 많이 질문하는 것을 도시한다. 여기서, 음성 발화(12) 및 에코(156)는 모두 오디오 캡처 장치(116)에서 동시에 캡처되어 오디오 신호(202)를 형성한다. 즉, 오디오 신호(202)는 장치(110)의 스피커(118)로부터 출력되는 합성된 재생 오디오(154)의 일부와 사용자(12)가 발언한 발화(12)의 일부가 오버랩되는 오버랩 오디오 신호를 포함한다. 도 1에서, 캡처된 오디오 신호(202)에서 서로 오버랩되는 발화(12)의 부분 및 합성된 재생 오디오(154)의 부분이 오버랩 영역(204)으로서 도시된다. 오버랩된 오디오 신호(202)로, 음성 인식 시스템(140)은 발화(12)가 합성된 재생 오디오(154)의 에코(156)와 혼합되어 장치(110)에서(예를 들어, 오디오 캡처 장치(116)에서) 수신된 오디오 신호(202)를 형성하기 때문에 오디오 신호(202)에서 날씨 질문 "what about tomorrow(내일은 어때)"에 대응하는 발화(12)를 인식하는 데 문제가 있을 수 있다.
그러한 문제를 방지하기 위해, 장치(110)는 음성 인식 시스템(140)이 오디오 신호(202)를 프로세싱하기 전에 오디오 신호(202)를 TEC 시스템(200)에 전달할 수 있다. 음성 인식 시스템(140)에 앞서 오디오 신호(202)를 TEC 시스템(200)에 전달함으로써, TEC 시스템(200)은 합성된 재생 오디오(154) 또는 그 일부의 에코(156)를 제거하는(에코(156)을 효과적으로 제거) 향상된 오디오 신호(206)를 생성하도록 구성된다. 즉, 향상된 오디오 신호(206)는 음성 인식 시스템(140)이 오디오 신호(202)에 포함된 음성 발화(12)를 식별할 수 있게 하는 오디오 신호(202)의 수정된 버전을 말한다. 여기서, 향상된 오디오 신호(206)를 생성하기 위해, TEC 시스템(200)은 합성된 재생 오디오(154)에 대응하는 텍스트(152)뿐만 아니라 오버랩된 오디오 신호(202)를 수신한다.
일부 예에서, 장치(110)는 TEC 시스템(200)과 함께 AEC 시스템(160)을 포함한다. 두 시스템(160, 200)을 모두 포함함으로써, 장치(110)는 텍스트가 제거 프로세스에 이용 가능하거나 이용 가능하지 않은 때와 관계없이 에코를 제거할 수 있는 능력을 갖는다. 일부 구현에서, 장치(110)는 오디오 신호(202)에 기여하는 오디오의 적어도 일부에 대해 텍스트 표현이 이용 가능하다는 표시에 기초하여 AEC 시스템(160)을 사용할지 여부를 결정한다. 예를 들어, 장치(110)는 사용자(10)가 발화(12)를 장치(110)에 말할 때와 동시에 오디오 캡처링 장치(116)에서 에코를 생성하는 음악을 재생하고 있다. 이 시나리오에서, 장치(110)에 의해 출력되고 있는 음악에 이용 가능한 텍스트가 없으므로, 장치(110)는 이용 가능한 텍스트가 없음을 식별하고 AEC 시스템(160)을 사용하여 오디오 캡처링 장치(116)에 존재하는 에코를 제거한다. 대조적으로, 도 1은 장치(110) 또는 장치(110)와 관련된 일부 시스템이 합성된 재생 오디오(154)에 대응하는 텍스트(152)를 이미 생성한 합성된 재생 오디오(154)를 출력하는 장치(110)를 도시한다. 이 예에서, 장치(110)는 오디오 캡처링 장치(116)에서 에코(156)를 제거하기 위해 AEC 시스템(160)이 아닌 TEC 시스템(200)을 사용한다. 장치(110)는 AEC 시스템(160)이 아닌 TEC 시스템(200)을 선택하는데, 그 이유는 TEC 시스템(200)이 AEC 시스템(160)에서 제거 프로세스에 포함된 더 큰 오디오 파일 크기와 비교하여 TEC 시스템(200)에서의 제거 프로세스에 포함된 더 작은 텍스트 파일 크기에 기초하여 더 빨리 에코(156)를 제거/제거할 가능성이 있기 때문이다.
도 2a-2d를 참조하면, TEC 시스템(200)은 합성된 재생 오디오(154)를 생성하는 데 사용되는 텍스트(152)(텍스트 표현(textual representation)이라고도 함) 및 오버랩 영역(204)을 포함하는 오디오 신호(202)를 입력으로서 수신하도록 구성된다. 이들 입력으로, TEC 시스템(200)은 오버랩 영역(204) 내의 오디오 신호(202)로부터 합성된 재생 오디오(154)의 적어도 하나의 세그먼트를 제거함으로써 향상된 오디오 신호(206)를 생성하도록 구성된다. 이러한 동작을 수행하기 위해, TEC 시스템(200)은 텍스트 인코더(210), 어텐션 메커니즘(220) 및 제거 신경망(230)(네트워크(230)이라고도 함)의 일부 조합을 포함한다. 텍스트 인코더(210)는 텍스트 인코더 신경망을 포함할 수 있다.
텍스트 인코더(210)는 합성된 재생 오디오(154)에 대응하는 텍스트(152)를 수신하고 그리고 텍스트(152)를 텍스트 임베딩 표현(212)(또는 단순히 텍스트 임베딩(212))이라고 하는 인코딩된 텍스트로 인코딩하도록 구성된다. TEC 시스템(200)은 자신의 텍스트 인코더(210)를 포함할 수 있거나(예를 들어, 도 2a에 도시된 바와 같이) 텍스트 인코더(210)는 TEC(200)와 TTS 시스템(150)(예를 들어, 도 2d에 도시된 바와 같이) 사이에서 공유될 수 있다. 텍스트 인코더(210)에 의해 생성된 임베딩은 텍스트(152)를 나타내는 n 차원의 수학적 벡터를 말하며, 각 차원은 텍스트의 피처(feature) 또는 특징(characteristic)(예: 범주형 변수)에 대응할 수 있다. 일부 구현에서, 텍스트 인코더(210)는 전체 텍스트(152)를 합성된 재생 오디오(152)를 나타내는 단일 고정된-차원(fixed-dimensional) 텍스트 임베딩(212)으로 인코딩한다. 다른 구현에서, 텍스트 인코더(210)는 텍스트(152)를 임베딩이 고정 길이가 아닌 텍스트 임베딩 시퀀스로 인코딩하지만, 오히려 텍스트(152)의 문자 수에 대응하는 길이를 갖는다. 예를 들어, 텍스트 임베딩(212)은 문자 임베딩 시퀀스(214, 214A-N)이다. 단어 또는 특히 영어 단어의 경우, 각 단어는 레터(letter)라고 하는 문자 단위(units of characters)로 나뉜다. 따라서, 각 문자 임베딩(214)은 텍스트 임베딩 시퀀스의 각 문자 임베딩(214)이 26개의 영어 알파벳 중 하나의 레터(letter)에 대응하도록 텍스트(152)의 레터를 나타낼 수 있다. 텍스트 임베딩(212)은 영어 알파벳에 대한 26차원 벡터를 기준으로 설명하지만, 텍스트 인코더(210)에 의해 생성된 텍스트 임베딩(212)은 향상된 오디오(206)를 생성하기 위해 제거 신경망(230)과 함께 기능하는 임의의 형태의 임베딩일 수 있다.
도 2b를 참조하면, 텍스트 임베딩(212)은 텍스트(152)의 각 레터가 26차원 벡터로 표현되는 문자 임베딩 시퀀스(214)이다. 즉, 여기서 벡터의 각 차원은 영어 알파벳의 레터에 할당된다. 이 예에서, "today is sunny"라는 텍스트(152)는 14개의 문자(공백 포함)이며, 이를 기반으로, 텍스트 인코더(210)는 14개의 문자 임베딩(214)의 시퀀스인 텍스트 임베딩(212)을 생성한다. 설명하자면, 텍스트(152)의 각 레터에 대한 문자 임베딩(214)은 알파벳의 위치에 값을 포함한다. 예를 들어, 레터 "T"는 영어 알파벳의 20번째 레터이며, 합성된 재생 오디오(154)("today is sunny")의 텍스트(152)의 레터 "T"에 대한 문자 임베딩(214T)은 벡터의 20번째 차원에 문자가 "T"임을 지정하는 값(예: "1"로 표시)이 포함된 벡터이다. 레터 "O"는 알파벳의 15번째 레터이고 그리고 레터 "O"에 대한 문자 임베딩의 15번째 차원(디멘션)(dimension)에 1의 값을 포함한다. 레터 "D"는 알파벳의 4번째 레터이고 그리고 레터 "D"에 대한 문자 임베딩의 4번째 차원에 1의 값을 포함한다. 레터 "A"는 알파벳의 첫 번째 레터이고 그리고 레터 "A"에 대한 문자 임베딩의 1번째 차원에 1의 값을 포함한다. 레터 "Y"는 알파벳의 25번째 레터이고 그리고 레터 "Y"에 대한 문자 임베딩의 25번째 차원(디멘션)에 1의 값을 포함한다. 레터 "I"는 알파벳의 9번째 문자이며 문자 "I"에 대한 문자 임베딩의 9차원에 1의 값을 포함한다. 레터 "S"는 알파벳의 19번째 레터이고 그리고 레터 "S"에 대한 레터 임베딩의 19번째 차원에 1의 값을 포함한다. 레터 "U"는 알파벳의 21번째 레터이고 그리고 레터 "U"에 대한 문자 임베딩의 21번째 차원에 1의 값을 포함한다. 레터 "N"은 알파벳의 14번째 레터이고 그리고 레터 "N"에 대한 문자 임베딩의 14번째 차원(디멘션)에 1의 값을 포함한다.
어텐션 메커니즘(220)은 텍스트 임베딩(212)(예를 들어, 문자 임베딩 시퀀스(214))을 수신하고 그리고 합성된 재생 오디오(154)에 대응하는 텍스트(152)와 연관된 문자가 오버랩 영역(204) 내에 있을 가능성을 나타내는 제거 확률(222)을 결정하도록 구성된다. 다시 말해서, 어텐션 메커니즘(220)은 텍스트 인코더(210)로부터 출력되는 문자 임베딩(214)의 시퀀스에서 각각의 문자 임베딩(214)에 대한 대응하는 제거 확률(222)을 결정할 수 있다. 이 제거 확률(222)로, 네트워크(230)는 향상된 오디오 신호(206)를 생성하기 위해 합성된 재생 오디오(154)의 일부를 제거하는 데 집중할 수 있다. 달리 말하면, 어텐션 메커니즘(예를 들어, 어텐션 메커니즘(220))은 신경망(예를 들어, 네트워크(230))이 신경망(예를 들어, 네트워크(230))에 대한 입력(예를 들어, 오디오 신호(202))의 특정 컴포넌트에 집중할 수 있도록 구성된 정렬 모델(alignment model)(예: 위치에 민감한 모델)에 해당할 수 있다. 여기서, 어텐션 메커니즘(220)은 에코 제거를 필요로 하는 오디오 신호(202) 내의 위치(즉, 오버랩 영역(204))로 네트워크(230)를 안내한다. 어텐션 메커니즘(220)을 사용함으로써, TEC 시스템(200)은 합성된 재생 오디오(154)의 텍스트(152)가 오디오 신호(202) 내에서 발생하는 정렬(alignment)을 이해할 수 있다. 즉, TEC 시스템(200)이 합성된 재생 오디오(154) 및 오디오 신호(202)에 대응하는 텍스트(152)만을 수신하면, TEC 시스템(200)(구체적으로 제거 신경망(230))은 텍스트(152)의 어떤 부분이 오디오 신호(202)의 오버랩 영역(204) 내에서 발생하는 합성된 재생 오디오(154)에 대응하는지 전혀 알지 못한다. 따라서, 합성된 재생 오디오(154)로부터의 에코(156)가 오디오 신호(202)의 음성 발화(12)와 혼합되는 위치를 이해하기 위해, TEC 시스템(200)은 어텐션 메커니즘(220)을 사용할 수 있다.
일부 예에서, 어텐션 메커니즘(220)은 오디오 신호(202)의 각 프레임(F)을 통해 단계적으로 제거 확률(222)을 결정한다. 여기서, 오디오 신호(202)는 도 2c에 도시된 바와 같이 오디오 신호를 세그먼트(202)로 분할하는 복수의 프레임(F, F1-n)을 포함한다. 각각의 프레임 F에 대해, 어텐션 메커니즘(220)은 그 프레임 F에서, 합성된 재생 오디오(154)로부터의 에코(156)가 발화(12)와 오버랩되는지 여부를 결정한다. 도 2c에 도시된 바와 같이, 어텐션 메커니즘은 합성된 재생 오디오(154)로부터의 에코(156)가 발화(12)와 오버랩되는 오버랩 영역(204)에 대응하는 3개의 프레임 F를 식별한다. 일부 구성에서, 어텐션 메커니즘(220)이 오버랩 영역(204)의 하나 이상의 프레임 F를 식별할 때, 어텐션 메커니즘(220)은 오버랩 영역(204)의 각 프레임 F에 대해 합성된 재생 오디오(154)에 대응하는 텍스트(152)의 하나 이상의 문자(예: "sunny"라는 단어의 "nny" 문자로 표시됨)를 식별/결정한다. 텍스트(152)의 특정 문자로, 어텐션 메커니즘(220)은 각각의 문자에 대한 값 (예: 문자 임베딩 벡터로 표현되는 하나 이상의 값)을 식별하기 위해 텍스트 임베딩(212)에 질의하는 각각의 식별된 문자에 대한 대응하는 쿼리(질의) Q(예: 세 개의 쿼리(질의) Q, QN, QN, QY로 표시됨)를 생성한다. 다시 말해, 어텐션 메커니즘(220)의 기능은 제거 가능성(222)을 생성하기 위해 질의 Q를 키-값(K,V) 쌍 세트에 매핑하도록 작동한다. 여기서, 키-값 쌍(예를 들어, 도 2b에 도시된 바와 같이)은 텍스트(152) 내의 문자에 대한 키에 대응하고 그리고 그 키의 값은 텍스트(152)의 특정 문자에 대한 문자 임베딩(214)의 벡터 표현이다. 질의 Q가 특정 프레임 F로부터의 텍스트(152)의 문자에 대응하는 문자 임베딩(214)을 식별할 때, 어텐션 메커니즘(220)은 문자 임베딩(214)의 하나 이상의 값에 가중치(224)를 할당한다. 오버랩 영역(204)의 각 프레임 F에 기초하여 이들 어텐션 가중치(224)를 할당함으로써, 어텐션 메커니즘(220)은 텍스트(152)의 문자에 대한 제거 확률(222)을 정의하는 컨텍스트 벡터를 형성한다. 여기서, 이 기능을 수행하기 위해, 어텐션 메커니즘(220)은 스케일링된 내적(dot-product) 어텐션 또는 멀티 헤드 어텐션(multi-headed attention)을 수행할 수 있다. 예를 들어, 일부 예에서, 제거 확률(222)을 나타내기 위해 가중치(224)를 할당하는 어텐션 메커니즘(220)의 어텐션 함수는 다음 수학식 1로 표현된다.
Figure pct00001
여기서, dk는 키-값 쌍의 키의 차원(디멘션)에 해당한다.
네트워크(230)는 향상된 오디오(206)를 생성하기 위해 어텐션 메커니즘(220)과 함께 동작한다. 일부 구현에서, 네트워크(230)는 어텐션 메커니즘(220)으로부터 오디오 신호(202), 텍스트(152) 및/또는 제거 확률(222)을 입력으로서 수신한다. 제거 확률(222)로, 네트워크(230)는 향상된 오디오 신호(206)를 형성하도록 오디오 신호(202)를 수정하기 위해, 오디오 신호(202)에서 합성된 재생 오디오(154)로부터의 에코(156)를 제거되거나 삭제해야 하는 위치를 식별할 수 있다. 일부 예에서, 네트워크(230)는 복수의 LSTM 계층을 갖는 장단기 메모리(LSTM: long short-term memory) 네트워크이다. 예를 들어, 어텐션 메커니즘(220)은 이러한 LSTM 계층 중 하나 이상에 상주할 수 있다.
도 2e는 어텐션 메커니즘(220)이 없는 TEC 시스템(200)의 예이다. 즉, TEC 시스템(200)은 텍스트 인코더(210) 및 네트워크(230)를 포함한다. 여기서, 텍스트 인코더(210)는 합성된 재생 오디오(154)에 대응하는 전체 텍스트(152)를 나타내는 단일 고정된-차원 텍스트 임베딩 벡터인 텍스트 임베딩(212)을 생성한다. 여기서, TEC 시스템(200)은 네트워크(230)에서 오디오 신호(202)의 각 프레임 F에 대해 고정된-차원 텍스트 임베딩(212)을 오디오 신호(202)와 반복적으로 연결한다. 고정된-차원 텍스트 임베딩(212)을 반복적으로 연결(concatenating)함으로써, TEC 시스템(200)은 오디오 신호(202)의 하나 이상의 프레임 F가 고정된-차원 텍스트 임베딩(212)과 유사할 때 고정된-차원 텍스트 임베딩(212)을 필터링할 위치를 식별함으로써 필터링 시스템과 유사하게 기능한다. 이 프로세스는 향상된 오디오 신호(206)를 생성하지만, 이 프로세스는 어텐션 메커니즘(220)에 의해 식별된 정렬이 결여되어 있으며 네트워크(230)에서 연결을 수행하기 위해 지속적인 프로세싱 리소스를 요구한다.
도 3을 참조하면, 일부 구성에서, TEC 시스템(200)의 구현 전(즉, 추론 전), 트레이닝 프로세스(300)는 TEC 시스템(200)(예를 들어, 어텐션 메커니즘(220) 및/또는 네트워크(230))을 트레이닝한다. 트레이닝 프로세스(300)는 복수의 트레이닝 예(302, 302a-n)를 사용하여 TEC 시스템(200)을 트레이닝한다. 트레이닝 예(302)의 각 예는 비-합성된 음성에 대응하는 GT(ground truth) 오디오 신호(310)(예: 인간 사용자가 말한 실제 음성 샘플), 트레이닝 오버랩된 오디오 신호(320) 및 트레이닝 텍스트(330)를 포함한다. 여기서, 트레이닝 오버랩된 오디오 신호(320)는 합성된 재생 오디오(154)와 (예: 적어도 일부) 오버랩되는 GT 오디오 신호(310)를 포함하고 그리고 트레이닝 텍스트(330)는 GT 오디오 신호(310)와 오버랩되는 합성된 재생 오디오(154)의 텍스트 표현에 대응한다. 복수의 트레이닝 예(training examples)(302)를 사용함으로써, 트레이닝 프로세스(300)는 추론 동안 TEC 시스템(200)에 의해 출력되는 향상된 오디오 신호(206)를 생성하는 방법을 학습하도록 TEC 시스템(200)(예를 들어, 어텐션 메커니즘(220) 및/또는 네트워크(230))을 교시한다. 다시 말해, 트레이닝 프로세스(300)는 트레이닝 오버랩된 오디오 신호(320) 및 트레이닝 텍스트(330)에 기초하여 GT 오디오 신호(310)를 향상된 오디오 신호(206)로서 생성하도록 TEC 시스템(200)을 교시한다.
도 4는 에코(156)를 제거하기 위해 향상된 오디오 신호(206)를 생성하는 방법(400)에 대한 예적인 동작 배열의 흐름도이다. 동작(402)에서, 방법(400)은 합성된 재생 오디오(154)의 세그먼트를 오버랩하는 화자(10)에 의해 발언된 오디오(예: 발화(12))를 포함하는 오버랩된 오디오 신호(202)를 수신한다. 동작(404)에서, 방법(400)은 합성된 재생 오디오(154)에 대응하는 문자 시퀀스를 텍스트 임베딩 표현(212)('텍스트 임베딩'(212)라고도 함)으로 인코딩한다. 문자 시퀀스의 각 문자에 대해, 동작 406에서, 방법(400)은 텍스트 임베딩 표현(212)을 사용하여, 대응하는 문자가 화자(10)에 의해 발언되는 오디오(예: 발화(12)) 및 오버랩된 오디오 신호(202)에 의해 오버랩되는 합성된 재생 오디오(154)의 세그먼트(156)(즉, 에코를 나타내는 세그먼트(156))와 연관될 가능성을 나타내는 각각의 제거 확률(222)을 생성한다. 동작(408)에서, 방법(400)은 오버랩된 오디오 신호(202) 및 문자 시퀀스의 각각의 문자에 대해 생성된 각각의 제거 확률(222)을 입력으로서 수신하도록 구성된 제거 네트워크(230)를 사용하여 향상된 오디오 신호(206)를 생성한다. 제거 네트워크(230)는 오버랩된 오디오 신호(202)로부터 합성된 재생 오디오(154)의 세그먼트를 제거함으로써 향상된 오디오 신호(206)를 생성한다.
도 5는 본 명세서에 설명된 시스템(예, 시스템(130, 140, 150, 160, 200)) 및 방법(예, 방법(400))을 구현하는 데 사용될 수 있는 예적인 컴퓨팅 장치(500)의 개략도이다. 컴퓨팅 장치(500)는 랩톱, 데스크탑, 워크스테이션, 개인용 디지털 보조 장치, 서버, 블레이드 서버, 메인프레임 및 기타 적절한 컴퓨터와 같은 다양한 형태의 디지털 컴퓨터를 나타내도록 의도된다. 여기에 표시된 컴포넌트들, 이들의 연결 및 관계 및 기능은 예 일 뿐이며 본 명세서에서 설명 및/또는 청구된 발명의 구현을 제한하려는 것이 아니다.
컴퓨팅 장치(500)는 프로세서(510), 메모리(520), 저장 장치(530), 메모리(520) 및 고속 확장 포트(550)에 연결되는 고속 인터페이스/제어기(제어기)(540) 및 저속 버스(570) 및 저장 장치(530)에 연결되는 저속 인터페이스/제어기(560)를 포함한다. 각각의 컴포넌트(510, 520, 530, 540, 550, 560)는 다양한 버스를 사용하여 상호 연결되고, 공통 마더보드에 또는 적절한 다른 방식으로 장착될 수 있다. 프로세서(510)는 고속 인터페이스(540)에 연결된 디스플레이(570)와 같은 외부 입력/출력 장치에 그래픽 사용자 인터페이스(GUI)에 대한 그래픽 정보를 표시하기 위해 메모리(520) 또는 저장 장치(530)에 저장된 명령어를 포함하는, 컴퓨팅 장치(500) 내에서 실행하기 위한 명령어를 프로세싱(프로세싱)할 수 있다. 다른 구현에서, 다중 프로세서 및/또는 다중 버스가 다중 메모리 및 메모리 유형과 함께 적절하게 사용될 수 있다. 또한, 복수의 컴퓨팅 장치(500)는 필요한 동작의 일부를 제공하는 각 장치(예를 들어, 서버 뱅크, 블레이드 서버 그룹 또는 다중 프로세서 시스템)와 연결될 수 있다.
메모리(520)는 컴퓨팅 장치(500) 내에 비-일시적으로 정보를 저장한다. 메모리(520)는 컴퓨터 판독 가능 매체, 휘발성 메모리 유닛(들) 또는 비-휘발성 메모리 유닛(들)일 수 있다. 비-일시적 메모리(520)는 컴퓨팅 장치(500)에 의해 사용하기 위해 일시적 또는 영구적으로 프로그램(예를 들어, 명령어 시퀀스) 또는 데이터(예를 들어, 프로그램 상태 정보)를 저장하는 데 사용되는 물리적 장치일 수 있다. 예적인 비-휘발성 메모리는 플래시 메모리 및 ROM(read-only memory)/PROM(programmable read-only memory)/EPROM(erasable programmable read-only memory)/EEPROM(electronically erasable programmable read-only memory)(예: 일반적으로 부팅 프로그램과 같은 펌웨어에 사용됨) 등을 포함하지만, 이에 국한되지 않는다. 예적인 휘발성 메모리는 RAM(Random Access Memory), DRAM(Dynamic Random Access Memory), SRAM(Static Random Access Memory), PCM(Phase Change Memory) 및 디스크 또는 테이프가 포함되지만 이에 국한되지는 않는다.
저장 장치(530)는 컴퓨팅 장치(500)에 대용량 저장 장치를 제공할 수 있다. 일부 구현에서, 저장 장치(530)는 컴퓨터 판독 가능 매체이다. 다양한 다른 구현에서, 저장 장치(530)는 플로피 디스크 장치, 하드 디스크 장치, 광 디스크 장치 또는 테이프 장치, 플래시 메모리 또는 기타 유사한 솔리드 스테이트 메모리 장치 또는 저장(스토리지) 영역 네트워크 또는 기타 구성의 장치를 포함하는 장치 어레이일 수 있다. 추가 구현에서, 컴퓨터 프로그램 제품은 정보 매체에 유형적으로 구현된다. 컴퓨터 프로그램 제품에는 실행시 위에서 설명한 것과 같은 하나 이상의 방법을 수행하는 명령어가 포함되어 있다. 정보 매체는 메모리(520), 저장 장치(530) 또는 프로세서(510)상의 메모리와 같은 컴퓨터 또는 기계 판독 가능 매체이다.
고속 제어기(540)는 컴퓨팅 장치(500)에 대한 대역폭 집약적인(bandwidth-intensive) 동작을 관리하는 반면, 저속 제어기(560)는 낮은 대역폭 집약적인 동작을 관리한다. 이러한 업무 할당은 예 일뿐이다. 일부 구현에서, 고속 제어기(540)는 메모리(520), 디스플레이(580)(예를 들어, 그래픽 프로세서 또는 가속기를 통해) 및 다양한 확장 카드(미도시)를 수용할 수 있는 고속 확장 포트(550)에 결합된다. 일부 구현에서, 저속 제어기(560)는 저장 장치(530) 및 저속 확장 포트(590)에 결합된다. 다양한 통신 포트(예: USB, 블루투스, 이더넷, 무선 이더넷)를 포함할 수 있는 저속 확장 포트(590)는 예를 들어 네트워크 어댑터를 통해, 키보드, 포인팅 장치, 스캐너 또는 스위치 또는 라우터와 같은 네트워킹 장치와 같은 하나 이상의 입력/출력 장치에 연결될 수 있다.
컴퓨팅 장치(500)는 도면에 도시된 바와 같이 복수의 상이한 형태로 구현될 수 있다. 예를 들어, 표준 서버(500a)로서 또는 그러한 서버(500a)의 그룹에서 랩톱 컴퓨터(500b)로서 또는 랙 서버 시스템(500c)의 일부로서 여러번 구현될 수 있다.
여기에 설명된 시스템 및 기술의 다양한 구현은 디지털 전자 및/또는 광학 회로, 집적 회로, 특별히 설계된 ASIC(application specific integrated circuits), 컴퓨터 하드웨어, 펌웨어, 소프트웨어 및/또는 이들의 조합으로 실현 될 수 있다. 이러한 다양한 구현은 적어도 하나의 프로그램 가능한 프로세서를 포함하는 프로그램 가능한 시스템에서 실행 가능 및/또는 해석 가능한 하나 이상의 컴퓨터 프로그램에서의 구현을 포함할 수 있으며, 이는 저장 시스템, 적어도 하나의 입력 장치 및 적어도 하나의 출력 장치로부터 데이터 및 명령어를 수신하고 데이터 및 명령어를 전송하도록 결합된 특수 또는 범용일 수 있다.
이러한 컴퓨터 프로그램(프로그램, 소프트웨어, 소프트웨어 애플리케이션 또는 코드라고도 함)은 프로그래밍 가능한 프로세서에 대한 기계 명령어를 포함하며, 하이-레벨 절차 및/또는 객체-지향적 프로그래밍 언어 및/또는 어셈블리/기계 언어로 구현될 수 있다. 여기서 사용된 용어 "기계 판독 가능 매체" 및 "컴퓨터 판독 가능 매체"는 기계 판독 가능 신호로서 기계 명령어를 수신하는 기계 판독 가능 매체를 포함하는, 컴퓨터 프로그램 제품, 비-일시적 컴퓨터 판독 가능 매체, 프로그래밍 가능 프로세서에 기계 명령어 및/또는 데이터를 제공하는 데 사용되는 장치 및/또는 디바이스(예: 자기 디스크, 광학 디스크, 메모리, PLD(Programmable Logic Devices))를 나타낸다. 용어 "기계 판독 가능 신호"는 기계 명령어 및/또는 데이터를 프로그래밍 가능 프로세서에 제공하는 데 사용되는 모든 신호를 의미한다.
본 명세서에 설명된 프로세스 및 로직 흐름은 데이터 프로세싱 하드웨어라고도하는 하나 이상의 프로그래밍 가능 프로세서에 의해 수행될 수 있으며, 하나 이상의 컴퓨터 프로그램을 실행하여 입력 데이터를 조작하고 출력을 생성함으로써 기능을 수행할 수 있다. 프로세스 및 로직 흐름은 FPGA(field programmable gate array) 또는 ASIC(application specific integrated circuit)와 같은 특수 목적 로직 회로에 의해 수행될 수도 있다. 컴퓨터 프로그램의 실행에 적합한 프로세서는 예를 들어 범용 및 특수 목적의 마이크로 프로세서와 모든 종류의 디지털 컴퓨터의 임의의 하나 이상의 프로세서를 포함한다. 일반적으로 프로세서는 읽기 전용 메모리나 랜덤 액세스 메모리 또는 둘 다에서 명령어와 데이터를 수신한다. 컴퓨터의 필수 요소는 명령어를 수행하기 위한 프로세서와 명령어와 데이터를 저장하기 위한 하나 이상의 메모리 장치이다. 일반적으로, 컴퓨터는 또한 데이터를 저장하기 위한 하나 이상의 대용량 저장 장치, 예를 들어 자기, 광 자기 디스크 또는 광 디스크로부터 데이터를 수신하거나 데이터를 전송하거나 둘 모두를 포함하거나 작동 가능하게 결합된다. 그러나 컴퓨터는 이러한 장치가 필요하지 않다. 컴퓨터 프로그램 명령어 및 데이터를 저장하기에 적합한 컴퓨터 판독 가능 매체는, 예를 들어, EPROM, EEPROM 및 플래시 메모리 장치와 같은 반도체 메모리 장치, 내부 하드 디스크 또는 이동식 디스크와 같은 자기 디스크, 광 자기 디스크; 및 CD ROM 및 DVD-ROM 디스크를 포함하는 모든 형태의 비-휘발성 메모리, 미디어 및 메모리 장치를 포함한다. 프로세서와 메모리는 특수 목적 로직(논리) 회로에 의해 보완되거나 통합될 수 있다.
사용자와의 상호 작용을 제공하기 위해, 본 명세서 내용의 하나 이상의 양태는 디스플레이 장치, 예를 들어 CRT(음극선 관), LCD(액정 디스플레이) 모니터 또는 사용자에게 정보를 표시하기 위한 터치 스크린과 같은 디스플레이 장치, 및 선택적으로 키보드 및 포인팅 장치(예를 들어, 사용자가 컴퓨터에 입력을 제공할 수 있는 마우스 또는 트랙볼)를 갖는 컴퓨터상에서 구현될 수 있다. 사용자와의 상호 작용을 제공하기 위해 다른 종류의 장치도 사용할 수 있다. 예를 들어, 사용자에게 제공되는 피드백은 예를 들어 시각적 피드백, 청각적 피드백 또는 촉각적 피드백과 같은 모든 형태의 감각 피드백 일 수 있으며, 사용자로부터의 입력은 음향, 음성 또는 촉각 입력을 포함한 모든 형태로 수신될 수 있다. 또한 컴퓨터는 사용자가 사용하는 장치로 문서를 전송하고 장치에서 문서를 수신함으로써, 예를 들어 웹 브라우저에서 수신한 요청에 대한 응답으로 사용자 클라이언트 장치의 웹 브라우저에 웹 페이지를 전송함으로써 사용자와 상호 작용할 수 있다.
많은 구현이 설명되었다. 그럼에도 불구하고, 본 명세서의 사상 및 범위를 벗어나지 않고 다양한 변형이 이루어질 수 있음을 이해할 것이다. 따라서, 다른 구현은 다음 청구항의 범위 내에 있다.

Claims (20)

  1. 데이터 프로세싱 하드웨어(510)에서 실행될 때 상기 데이터 프로세싱 하드웨어(510)로 하여금 동작들을 수행하게 하는 컴퓨터로 구현되는 방법(400)으로서, 상기 동작들은,
    합성된 재생 오디오(154)의 세그먼트(156)를 오버랩하는 화자(10)에 의해 발언된 오디오를 포함하는 오버랩된 오디오 신호(202)를 수신하는 동작;
    상기 합성된 재생 오디오(154)에 대응하는 문자 시퀀스를 텍스트 임베딩 표현(152)으로 인코딩하는 동작;
    상기 문자 시퀀스의 각 문자에 대해, 상기 텍스트 임베딩 표현(152)을 사용하여, 해당 문자가 상기 오버랩된 오디오 신호(202)에서 상기 화자(10)에 의해 발언된 오디오에 의해 오버랩된 상기 합성된 재생 오디오(154)의 세그먼트(156)와 연관될 가능성을 나타내는 각각의 제거 확률(222)을 생성하는 동작; 그리고
    상기 오버랩된 오디오 신호(202) 및 상기 문자 시퀀스의 각 문자에 대해 생성된 각각의 제거 확률(222)을 입력으로 수신하도록 구성된 제거 신경망(230)을 사용하여, 상기 오버랩된 오디오 신호(202)로부터 상기 합성된 재생 오디오(154)의 세그먼트(156)를 제거함으로써 향상된 오디오 신호(206)를 생성하는 동작을 포함하는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  2. 제1항에 있어서, TTS(text-to-speech) 시스템(150)은 상기 문자 시퀀스를 상기 합성된 재생 오디오(154)를 포함하는 합성된 음성으로 변환하는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  3. 제1항 또는 제2항에 있어서, 상기 텍스트 임베딩 표현(152)은 단일 고정된-차원 텍스트 임베딩 벡터를 포함하는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  4. 제1항 내지 제3항 중 어느 한 항에 있어서, 상기 문자 시퀀스를 인코딩하는 동작은,
    상기 문자 시퀀스의 각 문자를 해당 문자 임베딩(214)으로 인코딩하여 문자 임베딩 시퀀스(214)를 생성하는 동작을 포함하는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  5. 제4항에 있어서,
    상기 오버랩된 오디오 신호(202)는 프레임 시퀀스를 포함하고, 상기 프레임 시퀀스의 각 프레임은 합성된 재생 오디오(154)의 세그먼트(156)와 오버랩하는 화자(10)에 의해 발언된 오디오의 부분에 대응하고; 그리고
    상기 문자 시퀀스의 각 문자에 대한 각각의 제거 확률(222)을 생성하는 동작은 해당 문자 임베딩(214)이 상기 오버랩된 오디오 신호(202)의 프레임 시퀀스의 프레임들 중 하나에 대응할 때 상기 해당 문자 임베딩(214)에 가중치(224)를 적용하도록 어텐션 메커니즘(220)을 사용하는 동작을 포함하는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  6. 제1항 내지 제5항 중 어느 한 항에 있어서, 상기 동작들은,
    복수의 트레이닝 예(302)에 대해 제거 신경망(230)을 트레이닝시키는 동작을 더 포함하고, 각각의 트레이닝 예(302)는,
    비-합성된 음성에 대응하는 GT(ground truth) 오디오 신호(310);
    합성된 오디오 신호와 오버랩되는 상기 GT 오디오 신호(310)를 포함하는 트레이닝 오버랩된 오디오 신호(320); 그리고
    상기 합성된 오디오 신호의 각각의 텍스트 표현(330)을 포함하며, 상기 텍스트 표현(330)은 문자 시퀀스를 포함하는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  7. 제1항 내지 제6항 중 어느 한 항에 있어서,
    텍스트 인코딩 신경망의 텍스트 인코더(210)는 상기 합성된 재생 오디오(154)에 대응하는 상기 문자 시퀀스를 상기 텍스트 임베딩 표현(152)으로 인코딩하는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  8. 제7항에 있어서, 상기 텍스트 인코더(210)는 TTS(text-to-speech) 시스템(150)에 의해 공유되며, 상기 TTS 시스템(150)은 상기 문자 시퀀스로부터 상기 합성된 재생 오디오(154)를 생성하도록 구성되는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  9. 제1항 내지 제8항 중 어느 한 항에 있어서, 상기 제거 신경망(230)은 복수의 LSTM(Long Short Term Memory) 계층을 갖는 LSTM 네트워크를 포함하는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  10. 제1항 내지 제9항 중 어느 한 항에 있어서, 상기 동작들은,
    상기 합성된 재생 오디오(154)의 텍스트 표현이 이용 가능하다는 표시를 수신하는 동작을 더 포함하는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  11. 시스템(500)으로서,
    데이터 프로세싱 하드웨어(510); 그리고
    상기 데이터 프로세싱 하드웨어(510)와 통신하는 메모리 하드웨어(520)를 포함하며, 상기 메모리 하드웨어(520)는 상기 데이터 프로세싱 하드웨어(510)에서 실행될 때 상기 데이터 프로세싱 하드웨어(510)로 하여금 동작들을 수행하게 하는 명령어를 저장하며, 상기 동작들은,
    합성된 재생 오디오(154)의 세그먼트(156)를 오버랩하는 화자(10)에 의해 발언된 오디오를 포함하는 오버랩된 오디오 신호(202)를 수신하는 동작;
    상기 합성된 재생 오디오(154)에 대응하는 문자 시퀀스를 텍스트 임베딩 표현(152)으로 인코딩하는 동작;
    상기 문자 시퀀스의 각 문자에 대해, 상기 텍스트 임베딩 표현(152)을 사용하여, 해당 문자가 상기 오버랩된 오디오 신호(202)에서 상기 화자(10)에 의해 발언된 오디오에 의해 오버랩된 상기 합성된 재생 오디오(154)의 세그먼트(156)와 연관될 가능성을 나타내는 각각의 제거 확률(222)을 생성하는 동작; 그리고
    상기 오버랩된 오디오 신호(202) 및 상기 문자 시퀀스의 각 문자에 대해 생성된 각각의 제거 확률(222)을 입력으로 수신하도록 구성된 제거 신경망(230)을 사용하여, 상기 오버랩된 오디오 신호(202)로부터 상기 합성된 재생 오디오(154)의 세그먼트(156)를 제거함으로써 향상된 오디오 신호(206)를 생성하는 동작을 포함하는 것을 특징으로 하는 시스템.
  12. 제11항에 있어서, TTS(text-to-speech) 시스템(150)은 상기 문자 시퀀스를 상기 합성된 재생 오디오(154)를 포함하는 합성된 음성으로 변환하는 것을 특징으로 하는 시스템.
  13. 제11항 또는 제12항에 있어서, 상기 텍스트 임베딩 표현(152)은 단일 고정된-차원 텍스트 임베딩 벡터를 포함하는 것을 특징으로 하는 시스템.
  14. 제11항 내지 제13항 중 어느 한 항에 있어서, 상기 문자 시퀀스를 인코딩하는 동작은,
    상기 문자 시퀀스의 각 문자를 해당 문자 임베딩(214)으로 인코딩하여 문자 임베딩 시퀀스(214)을 생성하는 동작을 포함하는 것을 특징으로 하는 시스템.
  15. 제14항에 있어서,
    상기 오버랩된 오디오 신호(202)는 프레임 시퀀스를 포함하고, 상기 프레임 시퀀스의 각 프레임은 합성된 재생 오디오(154)의 세그먼트(156)와 오버랩하는 화자(10)에 의해 발언된 오디오의 부분에 대응하고; 그리고
    상기 문자 시퀀스의 각 문자에 대한 각각의 제거 확률(222)을 생성하는 동작은 해당 문자 임베딩(214)이 상기 오버랩된 오디오 신호(202)의 프레임 시퀀스의 프레임들 중 하나에 대응할 때 상기 해당 문자 임베딩(214)에 가중치(224)를 적용하도록 어텐션 메커니즘(220)을 사용하는 동작을 포함하는 것을 특징으로 하는 시스템.
  16. 제11항 내지 제15항 중 어느 한 항에 있어서, 상기 동작들은,
    복수의 트레이닝 예(302)에 대해 제거 신경망(230)을 트레이닝시키는 동작을 더 포함하고, 각각의 트레이닝 예(302)는,
    비-합성된 음성에 대응하는 GT(ground truth) 오디오 신호(310);
    합성된 오디오 신호와 오버랩되는 상기 GT 오디오 신호(310)를 포함하는 트레이닝 오버랩된 오디오 신호(320); 그리고
    상기 합성된 오디오 신호의 각각의 텍스트 표현(330)을 포함하며, 상기 텍스트 표현(330)은 문자 시퀀스를 포함하는 것을 특징으로 하는 시스템.
  17. 제11항 내지 제16항 중 어느 한 항에 있어서, 텍스트 인코딩 신경망의 텍스트 인코더(210)는 상기 합성된 재생 오디오(154)에 대응하는 상기 문자 시퀀스를 상기 텍스트 임베딩 표현(152)으로 인코딩하는 것을 특징으로 하는 시스템.
  18. 제17항에 있어서,
    상기 텍스트 인코더(210)는 TTS(text-to-speech) 시스템(150)에 의해 공유되며, 상기 TTS 시스템(150)은 상기 문자 시퀀스로부터 상기 합성된 재생 오디오(154)를 생성하도록 구성되는 것을 특징으로 하는 시스템.
  19. 제11항 내지 제18항 중 어느 한 항에 있어서, 상기 제거 신경망(230)은 복수의 LSTM(Long Short Term Memory) 계층을 갖는 LSTM 네트워크를 포함하는 것을 특징으로 하는 시스템.
  20. 제11항 내지 제19항 중 어느 한 항에 있어서, 상기 동작들은,
    상기 합성된 재생 오디오의 텍스트 표현이 이용 가능하다는 표시를 수신하는 동작을 더 포함하는 것을 특징으로 하는 시스템.
KR1020237000248A 2020-06-10 2021-03-11 텍스트 에코 제거 KR20230020508A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US202063037137P 2020-06-10 2020-06-10
US63/037,137 2020-06-10
PCT/US2021/022008 WO2021252039A1 (en) 2020-06-10 2021-03-11 Textual echo cancelation

Publications (1)

Publication Number Publication Date
KR20230020508A true KR20230020508A (ko) 2023-02-10

Family

ID=75302675

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020237000248A KR20230020508A (ko) 2020-06-10 2021-03-11 텍스트 에코 제거

Country Status (6)

Country Link
US (2) US11482244B2 (ko)
EP (1) EP4139920B1 (ko)
JP (2) JP7335460B2 (ko)
KR (1) KR20230020508A (ko)
CN (1) CN115699170A (ko)
WO (1) WO2021252039A1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111427932B (zh) * 2020-04-02 2022-10-04 南方科技大学 出行预测方法、装置、设备和存储介质

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9324322B1 (en) 2013-06-18 2016-04-26 Amazon Technologies, Inc. Automatic volume attenuation for speech enabled devices
US9318112B2 (en) 2014-02-14 2016-04-19 Google Inc. Recognizing speech in the presence of additional audio
US9972339B1 (en) 2016-08-04 2018-05-15 Amazon Technologies, Inc. Neural network based beam selection
EP3474280B1 (en) * 2017-10-19 2021-07-07 Goodix Technology (HK) Company Limited Signal processor for speech signal enhancement
CN108550364B (zh) 2018-04-20 2019-04-30 百度在线网络技术(北京)有限公司 语音识别方法、装置、设备及存储介质
CN110896664B (zh) 2018-06-25 2023-12-26 谷歌有限责任公司 热词感知语音合成
EP3890288A4 (en) 2018-11-30 2022-05-18 Panasonic Intellectual Property Management Co., Ltd. TRANSLATION DEVICE AND TRANSLATION METHOD

Also Published As

Publication number Publication date
WO2021252039A1 (en) 2021-12-16
JP2023529699A (ja) 2023-07-11
JP7335460B2 (ja) 2023-08-29
US11482244B2 (en) 2022-10-25
EP4139920B1 (en) 2024-03-06
US11776563B2 (en) 2023-10-03
US20210390975A1 (en) 2021-12-16
CN115699170A (zh) 2023-02-03
JP2023162265A (ja) 2023-11-08
EP4139920A1 (en) 2023-03-01
US20230114386A1 (en) 2023-04-13

Similar Documents

Publication Publication Date Title
US10614803B2 (en) Wake-on-voice method, terminal and storage medium
US11355097B2 (en) Sample-efficient adaptive text-to-speech
WO2014183373A1 (en) Systems and methods for voice identification
US11699453B2 (en) Adaptive multichannel dereverberation for automatic speech recognition
CN116250038A (zh) 变换器换能器:一种统一流式和非流式语音识别的模型
WO2021154544A1 (en) Language-agnostic multilingual modeling using effective script normalization
JP2022101663A (ja) ヒューマンコンピュータインタラクション方法、装置、電子機器、記憶媒体およびコンピュータプログラム
US11295732B2 (en) Dynamic interpolation for hybrid language models
JP2023162265A (ja) テキストエコー消去
KR20210036169A (ko) 대화 시스템, 대화 처리 방법, 번역 장치 및 번역 방법
WO2022203733A1 (en) Mixture model attention for flexible streaming and non-streaming automatic speech recognition
CN117043856A (zh) 高效流式非递归设备上的端到端模型
US20230298609A1 (en) Generalized Automatic Speech Recognition for Joint Acoustic Echo Cancellation, Speech Enhancement, and Voice Separation
US20230038982A1 (en) Joint Acoustic Echo Cancelation, Speech Enhancement, and Voice Separation for Automatic Speech Recognition
US20220310061A1 (en) Regularizing Word Segmentation
US20240029712A1 (en) Speech recognition using cadence patterns
US20230081543A1 (en) Method for synthetizing speech and electronic device
US20240071368A1 (en) System and Method for Adapting Natural Language Understanding (NLU) Engines Optimized on Text to Audio Input
US20230298612A1 (en) Microphone Array Configuration Invariant, Streaming, Multichannel Neural Enhancement Frontend for Automatic Speech Recognition
US20240144917A1 (en) Exporting modular encoder features for streaming and deliberation asr
Varada et al. Extracting and translating a large video using Google cloud speech to text and translate API without uploading at Google cloud
KR20240068723A (ko) Rnn-T로 구현된 자동 음성 인식 시스템에서 음향과 텍스트 표현의 융합
KR20230036891A (ko) 음성 신호 대응 응답 텍스트 처리 장치 및 방법
Mishra et al. Voice Based Email System for Visually Impaired
CN114360544A (zh) 语音识别方法、装置、电子设备和存储介质

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal