KR20230098266A - 통화들 및 오디오 메시지들로부터 다른 화자들의 음성 필터링 - Google Patents

통화들 및 오디오 메시지들로부터 다른 화자들의 음성 필터링 Download PDF

Info

Publication number
KR20230098266A
KR20230098266A KR1020237017980A KR20237017980A KR20230098266A KR 20230098266 A KR20230098266 A KR 20230098266A KR 1020237017980 A KR1020237017980 A KR 1020237017980A KR 20237017980 A KR20237017980 A KR 20237017980A KR 20230098266 A KR20230098266 A KR 20230098266A
Authority
KR
South Korea
Prior art keywords
voice
user
audio
filtering
audio data
Prior art date
Application number
KR1020237017980A
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 KR20230098266A publication Critical patent/KR20230098266A/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
    • G10L15/00Speech recognition
    • G10L15/02Feature extraction for speech recognition; Selection of recognition unit
    • 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/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • 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/0272Voice signal separating
    • G10L21/028Voice signal separating using properties of sound source
    • 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/78Detection of presence or absence of voice signals
    • G10L25/87Detection of discrete points within a voice signal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M3/00Automatic or semi-automatic exchanges
    • H04M3/40Applications of speech amplifiers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M3/00Automatic or semi-automatic exchanges
    • H04M3/42Systems providing special services or facilities to subscribers
    • H04M3/487Arrangements for providing information services, e.g. recorded voice services or time announcements
    • H04M3/493Interactive information services, e.g. directory enquiries ; Arrangements therefor, e.g. interactive voice response [IVR] systems or voice portals
    • H04M3/4931Directory assistance systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M3/00Automatic or semi-automatic exchanges
    • H04M3/42Systems providing special services or facilities to subscribers
    • H04M3/56Arrangements for connecting several subscribers to a common circuit, i.e. affording conference facilities
    • H04M3/568Arrangements for connecting several subscribers to a common circuit, i.e. affording conference facilities audio processing specific to telephonic conferencing, e.g. spatial distribution, mixing of participants
    • 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/08Speech classification or search
    • G10L2015/088Word spotting
    • 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/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • G10L2015/221Announcement of recognition results
    • 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/0272Voice signal separating
    • 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/78Detection of presence or absence of voice signals

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • Acoustics & Sound (AREA)
  • Computational Linguistics (AREA)
  • Quality & Reliability (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Telephonic Communication Services (AREA)
  • Telephone Function (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

방법(400)은 음성 명령(118)에 대응하는 원시 오디오 데이터(301)의 제1 인스턴스를 수신하는 단계 및 사용자(102)에 의해 말해진 오디오 기반 통신(150)에 대한 가청 콘텐츠(126)의 발화에 대응하는 원시 오디오 데이터의 제2 인스턴스를 수신하는 단계를 포함한다. 음성 필터링 인식 루틴(200)이 사용자의 음성에 대한 음성 필터링을 활성화시키도록 결정할 때, 이 방법은 사용자의 각자의 화자 임베딩(318)을 획득하는 단계 및 사용자에 의해 말해진 가청 콘텐츠의 발화를 분리시키고 사용자에 의해 말해지지 않은 하나 이상의 추가 소리 중 적어도 일 부분을 제외하는 오디오 기반 통신에 대한 향상된 오디오 데이터(152)를 생성하기 위해 원시 오디오 데이터의 제2 인스턴스를, 각자의 화자 임베딩을 사용하여, 처리하는 단계를 또한 포함한다. 이 방법은 향상된 오디오 데이터를 수신자 디바이스(105)에게 전송하는 단계를 또한 포함한다.

Description

통화들 및 오디오 메시지들로부터 다른 화자들의 음성 필터링
본 개시내용은 통화들 및 오디오 메시지들로부터 다른 화자들을 음성 필터링하는 관한 것이다.
음성 지원 환경은 사용자가 질의 또는 명령을 큰 소리로 말하기만 하면 될 수 있게 하며, 자동 어시스턴트(automated assistant)는 질의를 처리 및 응답하고/하거나 명령이 수행되게 할 것이다. 음성 지원 환경(예를 들면, 가정, 직장, 학교 등)은 환경의 다양한 방들 및/또는 영역들에 걸쳐 분산되어 있는 연결된 마이크로폰 디바이스들의 네트워크를 사용하여 구현될 수 있다. 그와 같이, 연결된 마이크로폰 디바이스는 자동 어시스턴트를 구현할 수 있고, 사용자는 말해진 발화(spoken utterance)들을 제공하는 것에 의해 자동 어시스턴트와 상호 작용할 수 있으며, 자동 어시스턴트는 액션을 수행하는 것, 다른 디바이스를 제어하는 것, 및/또는 응답 내용(예를 들면, 시각적 및/또는 청각적 자연어 출력)을 제공하는 것에 의해 말해진 발화들에 응답할 수 있다.
자동 어시스턴트는 사용자의 말해진 발화에 대응하는 오디오 데이터를 대응하는 텍스트(또는 다른 의미론적 표현)로 변환할 수 있다. 예를 들어, 자동 어시스턴트는, 생성되는 소리들(예를 들면, 음소들), 발음된 소리들의 순서, 말의 리듬, 억양 등과 같은, 말해진 발화의 다양한 특성들을 인식하고 이어서 이러한 특성들에 의해 표현되는 텍스트 단어들 또는 문구들을 식별하려고 시도하는 음성 인식 엔진을 포함할 수 있다. 자동 어시스턴트들은 발화를 말한 사용자의 음성에 음성 인식 엔진을 집중시키는 것을 돕기 위해 사용자에 의해 말해진 발화에 대해 수행되는 사전 처리 단계로서 음성 필터링 기술들을 사용할 수 있다.
본 개시내용의 일 양상은 오디오 기반 통신에서 음성 필터링을 활성화시키기 위한 방법을 제공한다. 상기 방법은, 데이터 처리 하드웨어에서, 어시스턴트 지원 디바이스(assistant-enabled device)가 상기 어시스턴트 지원 디바이스의 사용자와 수신자 사이의 오디오 기반 통신을 용이하게 하기 위한 음성 기반 명령에 대응하는 원시 오디오 데이터의 제1 인스턴스를 수신하는 단계를 포함한다. 상기 음성 기반 명령은 상기 사용자에 의해 말해지고 상기 어시스턴트 지원 디바이스에 의해 포착된다. 상기 방법은, 상기 데이터 처리 하드웨어에서, 상기 사용자에 의해 말해지고 상기 어시스턴트 지원 디바이스에 의해 포착되는 상기 오디오 기반 통신에 대한 가청 콘텐츠의 발화에 대응하는 상기 원시 오디오 데이터의 제2 인스턴스를 수신하는 단계를 또한 포함한다. 상기 원시 오디오 데이터의 상기 제2 인스턴스는 상기 사용자에 의해 말해지지 않은 하나 이상의 추가 소리를 포착한다. 상기 방법은, 상기 데이터 처리 하드웨어에 의해, 상기 원시 오디오 데이터의 상기 제1 인스턴스에 기초하여 상기 오디오 기반 통신에서의 적어도 상기 사용자의 음성에 대한 음성 필터링을 활성화시킬지 여부를 결정하기 위해 음성 필터링 인식 루틴을 실행하는 단계를 또한 포함한다. 상기 음성 필터링 인식 루틴이 적어도 상기 사용자의 상기 음성에 대한 음성 필터링을 활성화시키도록 결정할 때, 상기 방법은: 상기 데이터 처리 하드웨어에 의해, 상기 사용자에 대한 음성 특성들을 나타내는 상기 사용자의 각자의 화자 임베딩(speaker embedding)을 획득하는 단계; 및 상기 데이터 처리 하드웨어에 의해, 상기 사용자에 의해 말해진 상기 가청 콘텐츠의 상기 발화를 분리시키고 상기 사용자에 의해 말해지지 않은 상기 하나 이상의 추가 소리 중 적어도 일 부분을 제외하는 상기 오디오 기반 통신에 대한 향상된 오디오 데이터를 생성하기 위해 상기 원시 오디오 데이터의 상기 제2 인스턴스를, 상기 사용자의 상기 각자의 화자 임베딩을 사용하여, 처리하는 단계를 포함한다. 상기 방법은, 상기 데이터 처리 하드웨어에 의해, 상기 향상된 오디오 데이터를 상기 수신자와 연관된 수신자 디바이스에게 전송하는 단계를 또한 포함한다. 상기 향상된 오디오 데이터는, 상기 수신자 디바이스에 의해 수신될 때, 상기 수신자 디바이스로 하여금 상기 사용자에 의해 말해진 상기 가청 콘텐츠의 상기 발화를 들리도록(audibly) 출력하게 한다.
본 개시내용의 다른 양상은 오디오 기반 통신에서 음성 필터링을 활성화시키기 위한 시스템을 제공한다. 상기 시스템은 데이터 처리 하드웨어 및 상기 데이터 처리 하드웨어와 통신하는 메모리 하드웨어를 포함한다. 상기 메모리 하드웨어는, 상기 데이터 처리 하드웨어 상에서 실행될 때, 상기 데이터 처리 하드웨어로 하여금 어시스턴트 지원 디바이스가 상기 어시스턴트 지원 디바이스의 사용자와 수신자 사이의 오디오 기반 통신을 용이하게 하기 위한 음성 기반 명령에 대응하는 원시 오디오 데이터의 제1 인스턴스를 수신하는 동작을 포함하는 동작들을 수행하게 하는 명령어들을 저장한다. 상기 음성 기반 명령은 상기 사용자에 의해 말해지고 상기 어시스턴트 지원 디바이스에 의해 포착된다. 상기 동작들은 상기 사용자에 의해 말해지고 상기 어시스턴트 지원 디바이스에 의해 포착되는 상기 오디오 기반 통신에 대한 가청 콘텐츠의 발화에 대응하는 상기 원시 오디오 데이터의 제2 인스턴스를 수신하는 동작을 또한 포함한다. 상기 원시 오디오 데이터의 상기 제2 인스턴스는 상기 사용자에 의해 말해지지 않은 하나 이상의 추가 소리를 포착한다. 상기 동작들은 상기 원시 오디오 데이터의 상기 제1 인스턴스에 기초하여 상기 오디오 기반 통신에서의 적어도 상기 사용자의 음성에 대한 음성 필터링을 활성화시킬지 여부를 결정하기 위해 음성 필터링 인식 루틴을 실행하는 동작을 또한 포함한다. 상기 음성 필터링 인식 루틴이 적어도 상기 사용자의 상기 음성에 대한 음성 필터링을 활성화시키도록 결정할 때, 상기 동작들은: 상기 사용자에 대한 음성 특성들을 나타내는 상기 사용자의 각자의 화자 임베딩을 획득하는 동작; 및 상기 사용자에 의해 말해진 상기 가청 콘텐츠의 상기 발화를 분리시키고 상기 사용자에 의해 말해지지 않은 상기 하나 이상의 추가 소리 중 적어도 일 부분을 제외하는 상기 오디오 기반 통신에 대한 향상된 오디오 데이터를 생성하기 위해 상기 원시 오디오 데이터의 상기 제2 인스턴스를, 상기 사용자의 상기 각자의 화자 임베딩을 사용하여, 처리하는 동작을 또한 포함한다. 상기 동작들은 상기 향상된 오디오 데이터를 상기 수신자와 연관된 수신자 디바이스에게 전송하는 동작을 또한 포함한다. 상기 향상된 오디오 데이터는, 상기 수신자 디바이스에 의해 수신될 때, 상기 수신자 디바이스로 하여금 상기 사용자에 의해 말해진 상기 가청 콘텐츠의 상기 발화를 들리도록 출력하게 한다.
본 개시내용의 하나 이상의 구현에 대한 세부 사항들은 첨부 도면들 및 아래의 설명에 기재되어 있다. 다른 양상들, 특징들 및 장점들은 설명 및 도면들로부터 그리고 청구항들로부터 명백할 것이다.
도 1a 및 도 1b는 오디오 기반 통신에서의 하나 이상의 음성에 집중하기 위해 음성 필터링을 활성화시키기 위한 예시적인 시스템들이다.
도 2는 예시적인 음성 필터링 인식 루틴이다.
도 3은 향상된 오디오 데이터를 생성하기 위한 음성 필터링 모델을 포함하는 예시적인 음성 필터링 엔진이다.
도 4는 오디오 기반 통신들에서 음성 필터링을 활성화시키는 방법에 대한 동작들의 예시적인 배열의 플로차트이다.
도 5는 본 명세서에서 설명되는 시스템들 및 방법들을 구현하는 데 사용될 수 있는 예시적인 컴퓨팅 디바이스의 개략도다.
다양한 도면들에서의 유사한 참조 기호들은 유사한 요소들을 가리킨다.
사용자는 원격 수신자와의, 오디오 메시지들을 송신/수신하는 것 및 전화 통화(예를 들면, 오디오 및/또는 비주얼)를 하는 것과 같은, 오디오 통신들을 전송하기 위해 자동 어시스턴트를 사용할 수 있다. 사용자가 시끄러운 환경에(예를 들면, 붐비는 장소에, 자동차 내에, 또는 시끄러운 집에) 있을 때, 오디오 통신의 수신자는 높은 배경 잡음 레벨들로 인해 오디오 통신의 콘텐츠를 듣거나 이해하기 어려울 수 있다.
본 명세서에서의 구현들은 오디오 통신으로부터 원하지 않는 배경 잡음을 제거하는 것에 의해 다른 사용자에게 전송되는(또는 그로부터 수신되는) 오디오 기반 통신에서의 하나 이상의 음성에 집중하기 위해 음성 필터링을 적용하는 것에 관한 것이다. 어시스턴트 지원 디바이스에 의해 포착되는 오디오 데이터가 오디오 기반 통신의 가청 콘텐츠를 전달하는 사용자에 의해 말해진 발화는 물론 원하지 않는 잡음을 포함할 때, 음성 필터링을 적용하는 것은 최종 수신자가 명확하고 일관된 오디오 기반 통신을 수신하도록 원하지 않는 배경 잡음을 제거하는 것에 의해 오디오 데이터의 향상된 버전을 생성할 수 있다. 본 명세서에서 사용되는 바와 같이, 오디오 기반 통신은 오디오 메시지, 전화 통화, 화상 통화(예를 들면, 오디오-화상 통화), 또는 브로드캐스팅된 오디오(broadcasted audio)를 지칭할 수 있다. 예를 들어, 어시스턴트 지원 디바이스는 사용자에 의해 말해진 오디오 메시지의 내용을 녹음하고 이어서 메시징 또는 이메일 플랫폼을 통해 오디오 메시지를 수신자에게 송신할 수 있다. 어시스턴트 지원 디바이스에서, 오디오 메시지가 수신자로 가는 도중에 중간 클라우드 기반 노드에서, 또는 일단 오디오 메시지가 수신되면 수신자 클라이언트 디바이스에서, 오디오 메시지를 전달하는 오디오 데이터로부터 원하지 않는 배경 잡음을 제거하기 위해 음성 필터링이 적용될 수 있다. 그와 같이, 수신자가 오디오 메시지를 재생하기를 원할 때, 수신자 클라이언트 디바이스는 사용자가 오디오 메시지의 내용을 전달하는 발화를 말하고 있었을 때 초기에 포착되었던 원하지 않는 배경 잡음을 포함하지 않는 오디오 메시지의 향상된 버전을 들리도록 출력한다. 마찬가지로, 어시스턴트 지원 디바이스는 전화 통화를 용이하게 하고, 원하지 않는 배경 잡음을 제거하기 위해 실시간으로 음성 필터링을 적용할 수 있다. 오디오 메시지에서와 같이, 어시스턴트 지원 디바이스에서 로컬로 또는 수신자 디바이스로의 통신 경로를 따라 임의의 지점에서 전화 통화의 오디오 데이터로부터 원하지 않는 잡음을 제거하기 위해 음성 필터링이 적용될 수 있다.
도 1a 및 도 1b는 오디오 기반 통신(150)으로부터 원하지 않는 배경 잡음을 제거하는 것에 의해 다른 사용자(103)에게 전송되는(또는 그로부터 수신되는) 오디오 기반 통신(150)에서의 적어도 사용자(102)의 음성에 집중하기 위해 음성 필터링하기 위한 예시적인 시스템(100)을 예시한다. 시스템(100)은 사용자(102)가 음성을 통해 상호 작용할 수 있는 디지털 어시스턴트(109)를 실행하는 어시스턴트 지원 디바이스(AED)(104)를 포함한다. 도시된 예에서, AED(104)는 스마트 스피커에 대응한다. 그렇지만, AED(104)는, 스마트 폰, 태블릿, 스마트 디스플레이, 데스크톱/랩톱, 스마트 워치, 스마트 가전제품, 헤드폰들, 또는 차량 인포테인먼트 디바이스(이들로 제한되지 않음)와 같은, 다른 컴퓨팅 디바이스들을 포함할 수 있다. AED(104)는 데이터 처리 하드웨어(10) 및 데이터 처리 하드웨어(10) 상에서 실행될 때 데이터 처리 하드웨어(10)로 하여금 동작들을 수행하게 하는 명령어들을 저장하는 메모리 하드웨어(12)를 포함한다. AED(104)는 AED(104)를 향한 음성과 같은 음향 소리들을 포착하도록 구성된 하나 이상의 마이크로폰(16)의 어레이를 포함한다. AED(104)는 또한 다른 사용자(103)로부터 수신되는 오디오 기반 통신(150)으로부터의 가청 콘텐츠 및/또는 디지털 어시스턴트(109)로부터의 합성된 음성과 같은 오디오를 출력할 수 있는 오디오 출력 디바이스(예를 들면, 스피커)(16)를 포함하거나 이와 통신할 수 있다.
도 1a는 사용자(102)가 AED(104) 근처에서 "오케이 컴퓨터, 다음 오디오 메시지를 Bob에게 송신해"라는 제1 발화(106)을 말하는 것을 도시한다. AED(104)의 마이크로폰(16)은 발화(106)을 수신하고 제1 발화(106)에 대응하는 원시 오디오 데이터를 처리한다. 오디오 데이터의 초기 처리는 오디오 데이터를 필터링하는 것 및 오디오 데이터를 아날로그 신호로부터 디지털 신호로 변환하는 것을 포함할 수 있다. AED(104)가 오디오 데이터를 처리함에 따라, AED는 추가 처리를 위해 오디오 데이터를 메모리 하드웨어(12)의 버퍼에 저장할 수 있다. 오디오 데이터가 버퍼에 있는 경우, AED(104)는 핫워드(hotword) 검출기(108)를 사용하여 원시 오디오 데이터가 핫워드(110)를 포함하는지 여부를 검출할 수 있다. 핫워드 검출기(108)는 오디오 데이터에 대해 음성 인식을 수행하지 않고 오디오 데이터에 포함된 핫워드들을 식별하도록 구성된다. 도시된 예에서, 핫워드 검출기(108)가 핫워드(110)를 특징짓는 음향 특징들을 오디오 데이터에서 검출하는 경우 핫워드 검출기(108)는 "오케이 컴퓨터, 다음 오디오 메시지를 Bob에게 송신해"라는 발화(106)가 "오케이 컴퓨터"라는 핫워드(110)를 포함한다고 결정할 수 있다. 음향 특징들은 발화(106)의 단기 전력 스펙트럼들의 표현들인 MFCC(mel-frequency cepstral coefficient)들일 수 있거나 발화(106)에 대한 멜-스케일(mel-scale) 필터뱅크 에너지들일 수 있다.
핫워드 검출기(108)가 발화(106)에 대응하는 오디오 데이터가 핫워드(110)를 포함한다고 결정할 때, AED(104)는 발화(106)에 대응하는 오디오 데이터에 대한 음성 인식을 개시하기 위해 웨이크업 프로세스를 트리거할 수 있다. 예를 들어, AED(104) 상에서 실행되는 자동 음성 인식기(automated speech recognizer, ASR)(116)는 발화(106)에 대응하는 오디오 데이터에 대해 음성 인식 및 의미론적 해석을 수행할 수 있다. ASR(116)은 적어도 핫워드(110)를 뒤따르는 원시 오디오 데이터의 부분을 처리하여 수신된 원시 오디오 데이터에 대한 음성 인식 결과를 생성할 수 있고, 음성 인식 결과에 대해 의미론적 해석을 수행하여 발화(106)가 사용자(102)와 수신자(103) 사이의 오디오 기반 통신(150)을 용이하게 하기 위한 음성 기반 명령(118)을 포함한다고 결정할 수 있다. 이 예에서, ASR(116)은 "다음 오디오 메시지를 Bob에게 송신해"에 대한 원시 오디오 데이터의 제1 인스턴스를 처리하여 음성 기반 명령(118)을 식별할 수 있다.
일부 구현들에서, ASR(116)은 AED(104)에 더하여 또는 AED(104) 대신에 서버(120) 상에 위치한다. 핫워드 검출기(108)가 발화(106)에서 핫워드(110)를 검출하는 것에 응답하여 AED(104)를 웨이크업하도록 트리거하면, AED(104)는 발화(106)에 대응하는 원시 오디오 데이터의 제1 인스턴스를 네트워크(132)를 통해 서버(120)에게 전송할 수 있다. AED(104)는 서버(120)가 핫워드(110)의 존재를 확인하도록 핫워드(110)를 포함하는 오디오 데이터의 부분을 전송할 수 있다. 대안적으로, AED(104)는 핫워드(110) 이후의 발화(106)의 부분에 대응하는 오디오 데이터의 부분만을 서버(120)에게 전송할 수 있다. 서버(120)는 ASR(116)을 실행하여 음성 인식을 수행하고, 오디오 데이터의 음성 인식 결과(예를 들면, 전사(transcription))를 AED(104)에게 반환한다. 차례로, AED(104)는 발화(106)에서 단어들을 식별하고, AED(104)는 의미론적 해석을 수행하여 음성 명령(118)을 식별한다. AED(104)(및/또는 서버(120))는 네트워크(132)를 통해 AED(104)로부터 수신자(103)와 연관된 수신자 디바이스(105)로의 가청 메시지의 오디오 기반 통신(150)을 용이하게 하기 위해 디지털 어시스턴트(109)에 대한 음성 기반 명령(118)을 식별할 수 있다. 그 후에, AED(104)는 마이크로폰(16)을 열어 두고, 사용자에 의해 말해지고 AED(104)에 의해 포착되는 오디오 메시지(150)에 대한 가청 콘텐츠(126)의 발화(124)에 대응하는 원시 오디오 데이터의 제2 인스턴스를 수신한다. 도시된 예에서, 가청 콘텐츠(126)의 발화(124)는 "안녕 Bob, 잘 지내?"를 포함한다. 원시 오디오 데이터의 제2 인스턴스는 또한 사용자(102)에 의해 말해지지 않은, 배경 잡음과 같은, 하나 이상의 추가 소리(128)를 포착한다.
가청 콘텐츠의 발화에 대응하는 원시 오디오 데이터의 제2 인스턴스를 수신하기 전 또는 후에, AED(104)는 음성 기반 명령(118)에 대응하는 원시 오디오 데이터의 제1 인스턴스에 기초하여 오디오 기반 통신(예를 들면, 오디오 메시지)(150)에서의 적어도 사용자(102)의 음성에 대한 음성 필터링을 활성화시킬지 여부를 결정하기 위해 음성 필터링 인식 루틴('루틴')(200)을 실행한다. 루틴(200)이 음성 필터링을 활성화시키지 않도록 결정할 때, AED(104)는 가청 메시지(155)의 가청 콘텐츠(126)의 발화(124)에 대응하는 원시 오디오 데이터의 제2 인스턴스를 수신자 디바이스(105)에게 단순히 전송할 것이다. 여기서, 수신자 디바이스(105)는 "안녕 Bob, 잘 지내?"를 포함하는 가청 콘텐츠(126)의 발화(124)는 물론 원시 오디오 데이터의 제2 인스턴스에 의해 포착되는 임의의 배경 잡음을 수신자(103)인 Bob에게 단순히 재생할 것이다. 루틴(200)이 음성 필터링을 활성화시키도록 결정할 때, AED(104)는 사용자에 의해 말해진 가청 콘텐츠(126)의 발화(124)를 분리시키고 사용자(102)에 의해 말해지지 않은 하나 이상의 추가 소리 중 적어도 일 부분을 제외하는 오디오 기반 통신(150)에 대한 향상된 오디오 데이터(152)를 생성하기 위해 음성 필터 엔진(300)을 사용한다. 즉, 루틴(200)이 사용자(102)에 더하여 다른 개인들에 대한 음성 필터링을 활성화시키도록 결정할 때 그리고 하나 이상의 추가 소리의 적어도 일 부분이 다른 개인에 의해 말해진 가청 콘텐츠의 추가 발화를 포함할 때, 음성 필터 엔진(300)은 가청 콘텐츠의 추가 발화를 제외하지 않는 향상된 오디오 데이터(152)를 생성할 것이다. 그렇지 않고, 루틴(200)이 사용자(102)에 대해서만 음성 필터링을 활성화시키도록 결정하는 경우, 음성 필터 엔진(300)은 사용자(102)의 음성만을 분리시키고 원시 오디오 데이터의 제2 인스턴스에 의해 포착되는 사용자(102)에 의해 말해지지 않은 임의의 다른 소리들을 제외하는 향상된 오디오 데이터(152)를 생성할 것이다.
도 3을 참조하여 아래에서 보다 상세히 설명되지만, 루틴(200)이 사용자(102)의 음성에 대한 음성 필터링을 활성화시키도록 결정할 때, AED(104)(또는 서버(120))는 사용자에 대한 음성 특성들을 나타내는 사용자(102)의 각자의 화자 임베딩(318)(도 3)을 획득하고, 가청 콘텐츠(126)의 발화(124)에 대응하는 원시 오디오 데이터의 제2 인스턴스를 처리하여 사용자(102)에 의해 말해진 가청 콘텐츠(126)의 발화(124)를 분리시키고 사용자(102)에 의해 말해지지 않은 배경 잡음(128)과 같은 하나 이상의 추가 소리를 제외하는 오디오 메시지(150)에 대한 향상된 오디오 데이터(152)를 생성하기 위해 각자의 화자 임베딩을 사용하도록 음성 필터링 엔진에 지시한다. 도 1a는 AED(104)(또는 서버(120))가 오디오 메시지(150)에 대한 향상된 오디오 데이터(152)를 수신자(103)의 수신자 디바이스(105)에게 전송하는 것을 도시하며, 그로써 수신자 디바이스(105)는 수신자(103)가 AED(104)의 환경에서 원래 포착되었던 배경 잡음(128)을 듣지 않으면서 사용자(102)에 의해 말해진 가청 콘텐츠(126)의 발화(124) "안녕 Bob, 잘 지내?"를 들을 수 있게 하기 위해 향상된 오디오 데이터(152)를 들리도록 출력한다.
일부 예들에서, 오디오 메시지(150)는 수신자 디바이스(105)에게 전송되지 않고, 그 대신에 의도된 수신자가 나중에 검색하도록 AED(104) 상에 저장된다. 이러한 예들에서, 수신자(103)는 오디오 메시지(150)의 가청 콘텐츠를 전달하는 사용자(102)의 음성을 분리시키기 위해 녹음된 오디오 메시지(150)를 음성 필터 엔진(300)에 의해 생성되는 향상된 오디오 데이터(152)와 함께 들리도록 재생하라고 AED(104)에게 요청할 수 있다. 다른 예들에서, 수신자 디바이스(105)가 오디오 기반 통신(150)에서 원시 오디오 데이터만을 수신하도록 루틴(200) 및 음성 필터 엔진(300)의 기능이 수신자 디바이스(105) 상에서 실행될 수 있다. 이러한 예들에서, 수신자 디바이스(105)는 적어도 송신자(102)의 음성에 대한 음성 필터링을 활성화시키고, 원시 오디오 데이터를 처리하여 오디오 기반 통신(150)의 가청 콘텐츠를 전달하는 송신자(102)의 음성을 분리시키도록 결정할 수 있다. 일부 추가 예들에서, AED(104)는, 수신자(103)가 음성 필터링을 사용하지 않은 오디오 기반 통신의 가청 콘텐츠를 듣기 위해 원시 오디오 데이터를 재생하는 것 또는 적어도 사용자(102)의 음성에 대해 활성화되는 음성 필터링을 사용한 오디오 기반 통신(150)의 가청 콘텐츠를 듣기 위해 향상된 오디오 데이터(152)를 재생하는 것을 선택할 수 있게 하기 위해, 원시 오디오 데이터(301)(도 3) 및 향상된 오디오 데이터(152) 양쪽 모두를 수신자 디바이스(105)에게 송신한다. 더욱이, AED(104)는 음성들의 상이한 조합에 적용되는 음성 필터링과 각각 연관되는 향상된 오디오 데이터(152)의 다수의 버전들을 송신할 수 있다. 그와 같이, 수신자(103)는 분리된 음성들의 상이한 조합들을 듣기 위해 향상된 오디오 데이터(152)의 상이한 버전들을 재생하는 것 사이를 토글할 수 있다.
수신자 디바이스(105) 및/또는 AED(104)는 음성 필터링이 적어도 사용자(102)의 음성에 대해 현재 활성화되어 있는지 여부를 나타내는 그래픽 표시자를 그래픽 사용자 인터페이스(GUI)에 디스플레이할 수 있다. GUI는 적어도 사용자의 음성에 대한 음성 필터링을 활성화/비활성화시키기 위한 하나 이상의 컨트롤을 추가로 렌더링할 수 있다. 여기서, 사용자는 음성 필터링을 사용하지 않은 오디오 기반 통신의 가청 콘텐츠를 듣기 위해 원시 오디오 데이터를 재생하는 것과 적어도 사용자(102)의 음성에 대해 활성화되는 음성 필터링을 사용한 오디오 기반 통신(150)의 가청 콘텐츠를 듣기 위해 향상된 오디오 데이터(152)를 재생하는 것 간에 선택하기 위해 컨트롤들을 선택할 수 있다. 컨트롤의 선택을 나타내는 사용자 입력 표시들은 아래에서 논의되는 음성 필터링 인식 루틴(200)의 분류 모델(210)을 트레이닝시키기 위한 사용자 피드백(215)으로서 제공될 수 있다. AED(104)는 음성 필터링을 활성화 또는 비활성화시키기 위해 선택될 수 있는 물리적 버튼을 또한 포함할 수 있다. 그렇지만, 수신자 디바이스에는 음성 필터링을 활성화 또는 비활성화시키기 위한 이러한 유형들의 컨트롤들이 주어져 있지 않을 것이다.
도 2는 오디오 기반 통신(150)에서 적어도 사용자(102)의 음성에 대한 음성 필터링을 활성화시킬지 여부를 결정하기 위해 AED(104)(또는 서버(120)) 상에서 실행되는 음성 필터링 인식 루틴(200)의 예를 도시한다. 음성 필터링 인식 루틴(200)을 실행하는 것은 오디오 기반 통신(150)과 연관된 콘텍스트 입력들(202)을 수신하고, 오디오 기반 통신에서 하나 이상의 음성에 대한 음성 필터링을 활성화시키는 것; 또는 임의의 음성들에 대한 음성 필터링을 활성화시키지 않는 것 중 하나를 나타내는 분류 결과(212)를, 출력으로서, 생성하도록 구성된 분류 모델(210)을 실행하는 것을 포함할 수 있다. 콘텍스트 입력들(202)에 기초한 분류 결과(212)가 하나 이상의 음성에 대한 음성 필터링을 활성화시키는 것일 때, 결과(212)는 하나 이상의 음성 각각을 지정할 수 있다.
일부 예들에서, 콘텍스트 입력들(202) 중 하나 이상은 음성 기반 명령(118)에 대응하는 원시 오디오 데이터의 제1 인스턴스에 대한 음성 인식 결과에 대해 의미론적 해석을 수행하는 것으로부터 도출된다. 여기서, ASR(116)(도 1a 및 도 1b)은 음성 기반 명령(118)에 대응하는 원시 오디오 데이터의 제1 인스턴스에 대한 음성 인식 결과를 생성하고 이에 대해 의미론적 해석을 수행하여 오디오 기반 통신(150)의 수신자(103)와 같은 콘텍스트 입력들(202) 중 하나 이상을 식별/결정할 수 있다. 이러한 콘텍스트 입력들(202)은 오디오 기반 통신(150)의 수신자(103)의 아이덴티티(identity) 및/또는 오디오 기반 통신에서의 적어도 사용자(102)의 음성에 대한 음성 필터링을 활성화시키라는 명시적 지시를 포함할 수 있다. 분류 모델(210)은 식별된 수신자(103)가 오디오 기반 통신에서의 음성들에 대한 음성 필터링을 활성화시키는 것이 적절하다는 것을 나타내는 특정 수신자 유형을 포함하는지 여부를 결정할 수 있다. 예를 들어, 식별된 수신자(103)가 기업을 포함할 때, 분류 모델(210)은 음성 필터링을 활성화시키도록 결정할 수 있다. 다른 한편으로, 식별된 수신자(103)가 사용자(102)의 친구 또는 가족 구성원을 포함할 때, 분류 모델(210)은 음성 필터링을 활성화시키지 않도록 결정할 수 있다. 추가 예들에서, 음성 기반 명령(118)이 음성 필터링을 활성화시키라는 명시적 지시를 포함할 때, 분류 모델(210)은 적어도 사용자의 음성에 대한 음성 필터링을 활성화시키도록 결정한다. 예를 들어, "배관공에게 전화를 걸고 배경 잡음을 소거해"라고 말하는 음성 기반 명령(118)은 음성 필터링을 활성화시키라는 명시적 명령을 포함하고 음성 필터링이 적절할 수 있는 특정 수신자 유형을 포함하는 수신자(예를 들면, 배관공)를 식별해 준다. 다른 예에서, "아이들이 엄마와 말할 수 있도록 엄마에게 전화해"라고 말하는 음성 기반 명령(118)은 "아이들"도 오디오 기반 통신의 참여자들임을 식별해 주고, 음성 필터링이 적절하지 않을 수 있는 특정 수신자 유형을 포함하는 수신자(예를 들면, 엄마)를 식별해 준다. 이 예에서, 분류 결과(212)는 아이들과 엄마 사이의 이어지는 오디오 기반 통신(예를 들면, 전화 통화) 동안 사용자(102)의 각각의 아이의 음성에 대한 음성 필터링을 활성화시키는 것일 수 있다.
추가 예들에서, AED(104)(또는 서버(120))는 원시 오디오 데이터의 제1 인스턴스(예를 들면, 도 1a에서의 발화(106) 또는 도 1b에서의 발화(156))를 다른 방식들로 처리하여, 루틴(200)이 음성 필터링을 활성화시키는 것이 적절한지 여부를 결정하는 데 의미 있을 수 있는 콘텍스트 입력들(202)을 도출한다. 예를 들어, 원시 오디오 데이터의 제1 인스턴스가 프리앰블 오디오(preamble audio) 및/또는 음성 명령(118, 168)에 선행하는 핫워드(110, 160)를 포함할 때, 루틴(200)은 음성 명령이 개시되었을 때의 AED(104)의 환경의 배경 잡음 레벨을 결정하기 위해 프리앰블 오디오 및/또는 핫워드로부터 오디오 특징들을 추출할 수 있다. 여기서, 배경 잡음 레벨은 오디오 기반 통신(150)에 대한 가청 콘텐츠의 발화에 대응하는 이어지는 원시 오디오 데이터의 제2 인스턴스가 배경 잡음을 포착할 가능성을 나타내는, 분류 모델(210)에 공급되는 콘텍스트 입력(202)으로서 역할할 수 있다. 예를 들어, 보다 높은 배경 잡음 레벨들은 음성 필터링을 활성화시키는 것이 배경 잡음 레벨이 낮은 경우보다 더 적절하다는 것을 나타낼 수 있다.
유사하게, 콘텍스트 입력(202)은 AED(104)의 위치를 포함할 수 있다. 이 경우에, 사용자(102)의 가정 또는 사무실 환경에 위치하는 AED(104)는 AED(104)가 기차역과 같은 공공 장소에 위치하는 경우보다 음성 필터링을 활성화시킬 가능성이 더 적을 수 있다. 분류 모델(210)은 또한 음성 필터링을 활성화시킬지 여부를 결정할 때 콘텍스트 입력으로서 AED(104)의 유형을 고려할 수 있다. 여기서, 일부 특정 유형들의 AED들은 다른 것들보다 음성 필터링을 활성화시키는 데 더 적합할 수 있다. 예를 들어, 다중 사용자 환경에서의 스마트 스피커와 같은 공유 AED(104)는 전화기와 같은 개인 AED(104)보다 음성 필터링을 활성화시키는 데 더 적합할 수 있는데, 그 이유는 공유 AED(104)가 사용자(102)의 입 가까이에 보유된 전화기보다 배경음들을 포착할 가능성이 더 많기 때문이다.
도 1b 및 도 2를 참조하면, 일부 구현들에서, 콘텍스트 입력들(202) 중 하나는 AED(104)에서 구현되거나 그렇지 않으면 AED(104)와 통신하는 이미지 포착 디바이스(18)에 의해 포착되는 이미지 데이터(20)(도 1b)를 포함한다. 예를 들어, 도 1b는 사용자(102)와 수신자 Bob(103) 사이의 오디오 기반 통신으로서의 화상 통화(150)를 용이하게 하기 위해 AED(104)가 (즉, AED(104) 상에서 실행되는 디지털 어시스턴트(109)를 통해) AED(104)에 대한 음성 명령(168)에 대응하는 사용자에 의해 말해진 발화(156)에 대한 원시 오디오 데이터의 제1 인스턴스를 포착하는 것을 도시한다. AED(104)는 음성 통화들을 위해 구성된 태블릿 또는 스마트 디스플레이를 포함할 수 있고, 그와 같이, 이미지 포착 디바이스(18)는 적어도 사용자(102)가 이미지 프레임에 있고 따라서 화상 통화에 참여하고 있음을 나타내는 이미지 데이터(20)를 포착할 수 있다. 도 1b는 사용자(102)와 다른 개인(107), 예를 들면, 사용자(102)의 딸 양쪽 모두를 포착하는 이미지 데이터(20)를 도시한다. AED(104)는 사용자(102)가 "오케이 컴퓨터, Bob에게 화상 통화해"라고 말하는 것을 포착하는 발화(156)에 대한 원시 오디오 데이터의 제1 인스턴스를 수신하며, 여기서 핫워드(160) "오케이 컴퓨터"는 음성 명령(168)인 "Bob에게 화상 통화해"보다 선행한다. 이 시점까지, 음성 필터링 인식 루틴(200)의 분류 모델(210)에 공급되는 콘텍스트 입력들(202)은 사용자의 형제로서 식별되는 수신자 "Bob", 화상 통화들을 위해 구성된 공유 스마트 디스플레이와 같은 AED(104)의 유형, AED(104)의 환경, 프리앰블 및/또는 핫워드(160)로부터 추출되는 오디오 특징들로부터 도출되는 배경 잡음 레벨들, 및 사용자(102) 및 다른 개인(107)이 수신자(103)와 이어질 화상 통화(150)의 참여자들일 가능성이 있음을 나타내는 이미지 데이터(20)를 포함할 수 있다. 콘텍스트 입력(202)은 발화(156)의 인식 결과에 대해 수행되는 의미론적 해석이 음성 필터링을 활성화시키라는 어떠한 명시적 지시도 식별하지 않았다는 것을 추가로 나타낼 수 있다.
수신자 Bob(103)과의 화상 통화(150)를 용이하게 하도록 AED(104)에 지시하는 수신된 음성 명령(168)에 기초하여, AED(104)는 먼저 네트워크(132)를 통해 수신자(103)와 연관된 수신자 디바이스(105)와의 연결을 설정하는 것에 의해 화상 통화(150)를 개시할 수 있다. 그 후에, AED(104)는 마이크로폰(16)을 열어 두고, 사용자에 의해 말해지고 AED(104)에 의해 포착되는 화상 통화(150)에 대한 가청 콘텐츠(178)의 발화(176)에 대응하는 원시 오디오 데이터의 제2 인스턴스를 수신한다. 도시된 예에서, 가청 콘텐츠(178)의 발화(176)는 "안녕 Bob 아저씨"를 포함한다. 원시 오디오 데이터의 제2 인스턴스는, 배경 잡음(179) 및 가청 콘텐츠(178) "안녕 Bob 아저씨"에 뒤따르는 가청 콘텐츠 "보고 싶어요"를 포함하는 다른 개인(107)에 의해 말해진 추가 발화(180)와 같은, 사용자(102)에 의해 말해지지 않은 추가 소리들을 또한 포착한다. 사용자(102)에 의해 말해지지 않은 추가 소리로서 인식되지만, 추가 발화(180)는 이미지 데이터(20)에 의해 음성 통화의 유력한 참여자로서 표시되는 다른 개인(107)에 의해 말해지고, 따라서 수신자(103)가 듣도록 의도된 가청 콘텐츠를 포함한다. 그에 따라, 루틴(200)을 실행한 결과 분류 모델(210)이 사용자(102) 및 다른 개인(107)의 음성들에 대한 음성 필터링을 활성화시킬 것을 나타내는 분류 결과(212)를 생성할 때, 음성 필터링 엔진(300)은 배경 잡음(179)을 제외하고 화상 통화(150)에서의 사용자(102) 및 다른 개인(107)의 음성들을 분리시키는 향상된 오디오 데이터(152)를 생성하기 위해 음성 필터링을 적용할 것이다.
도 3을 참조하여 아래에서 보다 상세히 설명되지만, 루틴(200)이 사용자(102) 및 다른 개인(107)의 음성들에 대한 음성 필터링을 활성화시키도록 결정할 때, AED(104)(또는 서버(120))는 사용자(102)와 다른 개인(107) 각각에 대한 각자의 화자 임베딩(318)(도 3)을 획득하라고 음성 필터링 엔진(300)에 지시한다. 사용자(102)에 대한 각자의 화자 임베딩(318)은 원시 오디오 데이터의 제1 인스턴스(예를 들면, 핫워드(160))의 오디오 특징들을 처리하여 검증 임베딩을 생성하고 이를 저장된 화자 임베딩(318)에 매칭시키는 것에 의해 획득될 수 있다. 저장된 화자 임베딩(318)이 이용 가능하지 않은 경우(예를 들면, 사용자(102)가 AED(104)에 등록되지 않은 경우), 검증 임베딩으로서 역할하는 각자의 화자 임베딩(318)이 후속 발언에서의 사용자(102)의 음성에 대해 음성 필터링을 적용하는 데 직접 사용될 수 있다. 개인(107) 및 선택적으로 사용자(102)에 대한 각자의 화자 임베딩(318)은 개인이 AED의 등록된 사용자일 때 얼굴 인식을 통해 이미지 데이터(20)에 기초하여 개인(107)을 식별하는 것에 의해 획득될 수 있다. 선택적으로, 개인(107)에 대한 얼굴 이미지가 이미지 데이터(20)로부터 추출될 수 있고, 추출된 얼굴 이미지에서 움직이는 개인의 입술들과 동기화되는 오디오로부터 오디오 특징들을 추출하는 것에 의해 화자 임베딩(318)이 분석(resolve)될 수 있다. 음성 필터링 엔진(300)은 (사용자(102)에 의해 말해진) 발화(176) 및 (다른 개인(107)에 의해 말해진) 추가 발화(180)를 분리시키고 배경 잡음(179)을 제외하는 화상 통화(150)에 대한 향상된 오디오 데이터(152)를 생성하기 위해 각자의 화자 임베딩들(318)을 사용하여 원시 오디오 데이터의 제2 인스턴스를 처리한다. 그에 따라, 이미지 데이터(20)와 함께, AED(104)(또는 서버(120))는 화상 통화(150) 동안 향상된 오디오 데이터(152)를 수신자(103)의 수신자 디바이스(105)에게 전송할 수 있다. 수신자 디바이스(105)는 수신자(103)가 AED(104)의 환경에서 원래 포착된 배경 잡음(179)을 듣지 않으면서 사용자(102)에 의해 말해진 발화(178) "안녕 Bob 아저씨" 및 다른 개인(예를 들면, 사용자의 딸)(107)에 의해 말해진 추가 발화(180) "보고 싶어요"를 들을 수 있게 하기 위해 향상된 오디오 데이터(152)를 들리도록 출력할 수 있다.
계속해서 도 2를 참조하면, 분류 모델(210)이 콘텍스트 입력들(202)에 기초하여 분류 결과(212)를 계속해서 업데이트하도록 음성 필터링 인식 루틴(200)이 계속해서 실행될 수 있다. 그렇게 함으로써, 루틴(200)은 AED(104)와 수신자 디바이스(105) 사이의 진행 중인 오디오 기반 통신 세션 동안 어느 음성들에 대해 음성 필터링이 활성인지를 동적으로 조정할 수 있다. 예를 들어, 음성 필터 엔진(300)이 사용자의 음성만을 분리시키고 사용자에 의해 말해지지 않은 모든 다른 소리들을 제외하는 향상된 오디오 데이터(152)를 생성하도록, 분류 모델(210)은 사용자(102)의 음성에 대해서만 음성 필터링을 활성화시키는 것을 나타내는 분류 결과(212)를 초기에 생성할 수 있다. 그렇지만, 오디오 메시지의 가청 콘텐츠를 전달하는 원시 오디오 데이터의 제2 인스턴스를 수신할 시에, ASR(116)은, 음성 인식 및 의미론적 해석을 통해, 가청 콘텐츠에 대한 음성 인식 결과가 오디오 기반 통신(150)에 참여하는 적어도 하나의 다른 개인을 식별해 준다는 것을 나타낼 수 있다. 일 예에서, 가청 콘텐츠의 발화는 사용자(102)가 "안녕 Bob, 나야 Alex"라고 말하는 것을 포함할 수 있으며, 그로써 발화의 인식 및 후속하는 의미론적 해석은, 사용자에 더하여, Alex가 또한 오디오 기반 통신(150)의 참여자임을 식별해 줄 수 있다. 따라서, 분류 모델(210)은 사용자(102) 및 Alex가 참여자들이라는 콘텍스트 입력(202)을 수신하고, 사용자(102) 및 Alex의 음성들에 대한 음성 필터링을 활성화시키는 업데이트된 분류 결과(212)를 생성할 수 있다. 콘텍스트 입력(202)에 기초한 이러한 업데이트가 없는 경우, Alex에 의해 말해진 임의의 발화들이 수신자(103)가 듣도록 의도된 가청 콘텐츠를 포함할 가능성이 있더라도 해당 발화들은 오디오 기반 통신으로부터 제외될 것이다. 일부 예들에서, 현재 음성 기반 통신 스레드/세션 동안, 음성 필터링 인식 루틴(200)은 이전 오디오 기반 통신에 대해 활성화되었던 음성 필터링을 현재 발신 오디오 기반 통신에서 동일한 음성(들)에 대해 재활성화시키도록 단순히 결정한다.
음성 필터링 인식 루틴(200)을 실행하는 것은 휴리스틱 기반 모델(heuristically-based model) 또는 트레이닝된 머신 러닝 모델로서 분류 모델(210)을 실행하는 것을 포함할 수 있다. 일부 구현들에서, 분류 모델(210)이 트레이닝된 머신 러닝 모델일 때, 트레이닝된 머신 러닝 모델은, 음성 필터 엔진(300)이 특정 콘텍스트 입력들(202)에 대해 모델(210)에 의해 생성되는 분류 결과(212)에 기초하여 오디오 기반 통신에 대해 음성 필터링을 적용한 후에 수신되는 사용자 피드백(215)에 기초하여, 동일한 특정 콘텍스트 입력들(202)에 대한 음성 필터링을 어떻게 활성화시킬지를 적응적으로 학습하도록 재트레이닝/튜닝된다. 여기서, 사용자 피드백(215)은 음성 필터링이 활성인 음성들의 수용을 나타낼 수 있거나, 어느 음성들에 대해 음성 필터링이 활성인지에 대한 조정을 나타내는 후속 사용자 입력 표시를 나타낼 수 있다. 예를 들어, 사용자의 음성만을 분리시키기 위해 음성 필터링이 적용된 경우, 사용자는 사용자가 사용자에 의해 말해지지 않은 특정 음성들 및/또는 다른 소리들이 오디오 기반 통신으로부터 분리되기를 원하지 않는다는 것을 나타내는 사용자 입력 표시를 제공할 수 있다. 그와 같이, 분류 모델(210)이 유사한 콘텍스트들에서의 과거 사용자 거동/반응에 기초하여 사용자(102)에 대해 개인화되는 음성 필터링 분류 결과들(212)을 출력하도록 적응적으로 학습하도록, AED(104)는 콘텍스트 입력들(202), 연관된 분류 결과들(212) 및 획득된 사용자 피드백(215)에 기초하여 머신 러닝 분류 모델(210)을 계속해서 유지하는 트레이닝 프로세스를 실행할 수 있다.
이제 도 3을 참조하면, 음성 필터링 인식 루틴(200)이 적어도 사용자(102)의 음성에 대한 음성 필터링을 활성화시키도록 결정할 때, 음성 필터 엔진(300)은 (ASR(116)에서 구현될 수 있는) 주파수 변환기(303)를 사용하여 AED(104)에 의해 포착되는 수신된 원시 오디오 데이터(301)에 대한 주파수 표현(302)을 생성할 수 있다. 여기서, 원시 오디오 데이터(301)는 오디오 기반 통신에 대한 가청 콘텐츠의 하나 이상의 발화를 포함할 수 있다. 주파수 표현(302)은, 예를 들어, 온라인 방식으로(예를 들면, 전화 또는 화상 통화에서와 같이 실시간으로 또는 거의 실시간으로) 처리되는 스트리밍 오디오 데이터 또는 (예를 들면, 예컨대, 오디오 메시지에) 이전에 녹음되어 음성 필터 엔진에 제공되었던 비-스트리밍 오디오 데이터일 수 있다. 음성 필터 엔진은 또한 화자 임베딩 엔진(317)으로부터 화자 임베딩(318)을 수신한다.
화자 임베딩(318)은 주어진 인간 화자에 대한 임베딩이고, 화자 임베딩 모델을 사용하여 주어진 화자로부터의 오디오 데이터의 하나 이상의 인스턴스를 처리하는 것에 기초하여 획득될 수 있다. 본 명세서에서 설명되는 바와 같이, 일부 구현들에서, 화자 임베딩(318)은 주어진 화자로부터의 오디오 데이터의 이전 인스턴스(들)에 기초하여 화자 임베딩 엔진에 의해 이전에 생성된다. 그러한 구현들 중 일부에서, 화자 임베딩(318)은 주어진 화자의 계정 및/또는 주어진 화자의 클라이언트 디바이스와 연관되고, 화자 임베딩(318)은 계정이 승인된 AED(104)로부터 오는 주파수 표현(302)에 기초하여 주파수 표현(302)과 함께 활용하기 위해 제공될 수 있다. 화자 임베딩 엔진(317)은 음성 필터링을 활성화시키기 위한, 루틴(200)에 의해 식별되는, 하나 이상의 인간 화자 각각에 대한 음성 특성들을 나타내는 각자의 화자 임베딩(318)을 결정할 수 있다. 일부 구현들에서, 화자 임베딩 엔진(317)은 화자 임베딩을 생성하기 위해 화자 임베딩 모델(묘사되지 않음)을 사용하여 포착된 원시 오디오 데이터(301)의 부분(들)을 처리한다. 추가적으로 또는 대안적으로, 화자 임베딩 엔진(317)은 인간 화자를 현재 활성인 것으로 결정하고, 그 결과, 현재 활성인 인간 화자에 대한 화자 임베딩을 결정하기 위해 음성 핑거프린팅, 이미지 인식, 패스코드, 및/또는 다른 검증 기술들을 사용하여 미리 생성된 화자 임베딩(예를 들면, 등록 프로세스를 사용하여 이전에 생성된 화자 임베딩)을 선택할 수 있다. 많은 구현들에서, 정규화 엔진(312)은 하나 이상의 선택된 화자 임베딩(318) 각각을 정규화한다.
음성 필터 엔진(300)은 전력 압축(304)을 생성하기 위해 전력 압축 프로세스를 사용하여 주파수 표현(302)을 선택적으로 처리할 수 있다. 많은 구현들에서, 전력 압축 프로세스는 오디오 데이터에서 큰 소리들에 비해 더 조용한 소리들의 중요성을 균등화(equalize)(또는 부분적으로 균등화)한다. 추가적으로 또는 대안적으로, 음성 필터 엔진(300)은 정규화(306)를 생성하기 위해 정규화 프로세스를 사용하여 주파수 표현(302)을 선택적으로 처리할 수 있고, 정규화(312)를 생성하기 위해 정규화 프로세스를 사용하여 화자 임베딩(318)을 선택적으로 처리할 수 있다.
음성 필터 엔진(300)은 예측된 마스크(322)를 생성하기 위해 원시 오디오 데이터(301)의 주파수 표현(302)은 물론 인간 화자에 대응하는 화자 임베딩(318)을 처리하도록 트레이닝된 음성 필터 모델(112)을 포함할 수 있으며, 여기서 주파수 표현은 인간 화자의 발화(들)을 분리시키는 수정된 주파수 표현(310)을 생성하기 위해 예측된 마스크(322)로 처리될 수 있다. 예측된 마스크(322)를 사용하는 대신에, 본 개시내용의 범위를 벗어나지 않으면서 다른 유형들의 음성 필터링 모델들(112)이 가능하다. 예를 들어, 엔드 투 엔드 음성 필터 모델 또는 GAN(generative adversarial network) 기반 모델은 필터링된 스펙트로그램(spectrogram)들을 직접 생성할 수 있다.
보다 구체적으로, 주파수 표현(302)은 음성 필터 모델(112)의 콘볼루션 신경 네트워크(CNN) 부분(314)에 입력으로서 인가될 수 있다. 일부 구현들에서, CNN 부분(314)은 1차원 콘볼루션 신경 네트워크이다. 많은 구현들에서, CNN 부분(314)에 의해 생성되는 콘볼루션 출력은 물론 화자 임베딩(318)은 음성 필터 모델(112)의 순환 신경 네트워크(RNN) 부분(316)에 입력으로서 인가된다. 여기서, RNN 부분(316)은 단방향 메모리 유닛들(예를 들면, LSTM(long short term memory unit), GRU(gated recurrent unit) 및/또는 추가 메모리 유닛(들))을 포함할 수 있다. 추가적으로 또는 대안적으로, RNN 부분(316)에 의해 생성되는 RNN 출력은 예측된 마스크(322)를 생성하기 위해 음성 필터 모델(112)의 완전 연결 피드포워드 신경 네트워크 부분(320)에 입력으로서 인가될 수 있다. 일부 예들에서, CNN 부분(314)은 생략되고, 주파수 표현(302) 및 화자 임베딩(318) 양쪽 모두는 RNN(316)에 입력으로서 인가된다.
엔진(300)은 예측된 마스크(322)로 주파수 표현(302)을 처리하여 수정된 주파수 표현(310)을 생성할 수 있다. 예를 들어, 주파수 표현(302)은 예측된 마스크(322)와 콘볼루션(308)되어 수정된 주파수 표현(310)을 생성할 수 있다. 파형 합성기(324)는 재생을 위한 인간 화자의 발화(들)를 분리시키는 향상된 오디오 데이터(152)를 생성하기 위해 수정된 주파수 표현(310)에 대해 역 주파수 변환을 적용할 수 있다. 향상된 오디오 데이터(152)는: 원시 오디오 데이터(301)가 화자 임베딩(318)에 대응하는 화자로부터의 발화(들)만을 포착할 때는 원시 오디오 데이터(301)와 동일할 수 있거나; 원시 오디오 데이터(301)에 화자 임베딩(318)에 대응하는 화자로부터의 발화들이 없을 때 널/제로일 수 있거나; 원시 오디오 데이터(301)가 화자로부터의 발화(들) 및 추가 소리(들)(예를 들면, 다른 인간 화자(들)의 중첩되는 발화(들) 및/또는 추가 배경 잡음)를 포함할 때는, 화자 임베딩(318)에 대응하는 화자로부터의 발화(들)를 분리시키면서 추가 소리(들)를 제외할 수 있다.
도 4는 오디오 기반 통신(150)에서 적어도 사용자(102)의 음성에 집중하기 위해 음성 필터링을 활성화시키기 위한 예시적인 방법(400)의 플로차트를 제공한다. 동작(402)에서, 방법(400)은 어시스턴트 지원 디바이스(104)가 어시스턴트 지원 디바이스(104)의 사용자(102)와 수신자(103) 사이의 오디오 기반 통신(150)을 용이하게 하기 위한 음성 기반 명령(118)에 대응하는 원시 오디오 데이터의 제1 인스턴스를 수신하는 단계를 포함한다. 음성 기반 명령(118)은 사용자(102)에 의해 말해지고 어시스턴트 지원 디바이스(104)에 의해 포착된다.
동작(404)에서, 방법(400)은 사용자(102)에 의해 말해지고 어시스턴트 지원 디바이스(104)에 의해 포착되는 오디오 기반 통신(150)에 대한 가청 콘텐츠(126)의 발화(124)에 대응하는 원시 오디오 데이터의 제2 인스턴스를 수신하는 단계를 포함한다. 원시 오디오 데이터의 제2 인스턴스는 사용자(102)에 의해 말해지지 않은 하나 이상의 추가 소리를 포착한다.
동작(406)에서, 방법(400)은 원시 오디오 데이터의 제1 인스턴스에 기초하여 오디오 기반 통신(150)에서의 적어도 사용자(102)의 음성에 대한 음성 필터링을 활성화시킬지 여부를 결정하기 위해 음성 필터링 인식 루틴(200)을 실행하는 단계를 포함한다. 동작(408)에서, 음성 필터링 인식 루틴이 적어도 사용자의 음성에 대한 음성 필터링을 활성화시키도록 결정할 때, 방법(400)은 사용자에 대한 음성 특성들을 나타내는 사용자(102)의 각자의 화자 임베딩(318)을 획득하는 단계를 또한 포함한다. 동작(410)에서, 방법(400)은 사용자(102)에 의해 말해진 가청 콘텐츠의 발화를 분리시키고 사용자에 의해 말해지지 않은 하나 이상의 추가 소리 중 적어도 일 부분을 제외하는 오디오 기반 통신(150)에 대한 향상된 오디오 데이터(152)를 생성하기 위해 원시 오디오 데이터의 제2 인스턴스를, 화자 임베딩(318)을 사용하여, 처리하는 단계를 포함한다.
동작(412)에서, 방법(400)은 향상된 오디오 데이터(152)를 수신자(103)와 연관된 수신자 디바이스(105)에게 전송하는 단계를 포함한다. 향상된 오디오 데이터(152)는, 수신자 디바이스(105)에 의해 수신될 때, 수신자 디바이스(105)로 하여금 사용자(102)에 의해 말해진 가청 콘텐츠(126)의 발화(124)를 들리도록 출력하게 한다.
소프트웨어 애플리케이션(즉, 소프트웨어 리소스)은 컴퓨팅 디바이스로 하여금 작업을 수행하게 하는 컴퓨터 소프트웨어를 지칭할 수 있다. 일부 예들에서, 소프트웨어 애플리케이션은 "애플리케이션", "앱" 또는 "프로그램"이라고 지칭될 수 있다. 예시적인 애플리케이션들은 시스템 진단 애플리케이션들, 시스템 관리 애플리케이션들, 시스템 유지보수 애플리케이션들, 워드 프로세싱 애플리케이션들, 스프레드시트 애플리케이션들, 메시징 애플리케이션들, 미디어 스트리밍 애플리케이션들, 소셜 네트워킹 애플리케이션들, 및 게이밍 애플리케이션들을 포함하지만, 이들로 제한되지 않는다.
비일시적 메모리는 컴퓨팅 디바이스에 의한 사용을 위해 일시적 또는 영구적으로 프로그램들(예를 들면, 명령어 시퀀스들) 또는 데이터(예를 들면, 프로그램 상태 정보)를 저장하는 데 사용되는 물리적 디바이스들일 수 있다. 비일시적 메모리는 휘발성 및/또는 비휘발성 주소 지정 가능 반도체 메모리일 수 있다. 비휘발성 메모리의 예들은 플래시 메모리 및 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)은 물론 디스크들 또는 테이프들을 포함하지만, 이들로 제한되지 않는다.
도 5는 이 문서에서 설명되는 시스템들 및 방법들을 구현하는 데 사용될 수 있는 예시적인 컴퓨팅 디바이스(500)의 개략도이다. 컴퓨팅 디바이스(500)는, 랩톱들, 데스크톱들, 워크스테이션들, 개인 휴대 정보 단말기(personal digital assistant)들, 서버들, 블레이드 서버들, 메인프레임들, 및 다른 적절한 컴퓨터들과 같은, 다양한 형태들의 디지털 컴퓨터들을 나타내도록 의도된다. 여기에 도시된 컴포넌트들, 그들의 연결들 및 관계들, 및 그들의 기능들은 단지 예시적인 것으로 의미되며, 이 문서에서 설명 및/또는 청구되는 발명들의 구현들을 제한하는 것으로 의미되지 않는다.
컴퓨팅 디바이스(500)는 프로세서(510), 메모리(520), 저장 디바이스(530), 메모리(520) 및 고속 확장 포트들(550)에 연결되는 고속 인터페이스/제어기(540), 및 저속 버스(570) 및 저장 디바이스(530)에 연결되는 저속 인터페이스/제어기(560)를 포함한다. 컴포넌트들(510, 520, 530, 540, 550 및 560) 각각은 다양한 버스들을 사용하여 상호 연결되며, 공통 마더보드 상에 또는 적절한 경우 다른 방식들로 장착될 수 있다. 프로세서(510)는, 그래픽 사용자 인터페이스(GUI)에 대한 그래픽 정보를, 고속 인터페이스(540)에 결합된 디스플레이(580)와 같은, 외부 입/출력 디바이스 상에 디스플레이하기 위해 메모리(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)는 플로피 디스크 디바이스, 하드 디스크 디바이스, 광학 디스크 디바이스 또는 테이프 디바이스, 플래시 메모리 또는 다른 유사한 솔리드 스테이트 메모리 디바이스, 또는, 저장 영역 네트워크(storage area network) 또는 다른 구성들에서의 디바이스들을 포함한, 디바이스 어레이일 수 있다. 추가 구현들에서, 컴퓨터 프로그램 제품은 정보 캐리어에 유형적으로 구체화된다. 컴퓨터 프로그램 제품은, 실행될 때, 위에서 설명된 것들과 같은, 하나 이상의 방법을 수행하는 명령어들을 포함한다. 정보 캐리어는, 메모리(520), 저장 디바이스(530) 또는 프로세서(510) 상의 메모리와 같은, 컴퓨터 또는 머신 판독 가능 매체이다.
고속 제어기(540)는 컴퓨팅 디바이스(500)에 대한 대역폭 집약적 동작들을 관리하는 반면, 저속 제어기(560)는 보다 낮은 대역폭 집약적 동작들을 관리한다. 그러한 임무 할당은 단지 예시적인 것이다. 일부 구현들에서, 고속 제어기(540)는 메모리(520)에, (예를 들면, 그래픽 프로세서 또는 가속기를 통해) 디스플레이(580)에, 그리고 다양한 확장 카드들(도시되지 않음)을 수용할 수 있는 고속 확장 포트들(550)에 결합된다. 일부 구현들에서, 저속 제어기(560)는 저장 디바이스(530) 및 저속 확장 포트(590)에 결합된다. 다양한 통신 포트들(예를 들면, USB, 블루투스, 이더넷, 무선 이더넷)을 포함할 수 있는 저속 확장 포트(590)는, 키보드, 포인팅 디바이스, 스캐너와 같은 하나 이상의 입/출력 디바이스에, 또는, 예를 들면, 네트워크 어댑터를 통해, 스위치 또는 라우터와 같은 네트워킹 디바이스에 결합될 수 있다.
컴퓨팅 디바이스(500)는, 도면에 도시된 바와 같이, 다수의 상이한 형태들로 구현될 수 있다. 예를 들어, 이는 표준 서버(500a)로서 또는 그러한 서버들(500a)의 그룹에서 여러 번, 랩톱 컴퓨터(500b)로서, 또는 랙 서버 시스템(500c)의 일부로서 구현될 수 있다.
본 명세서에서 설명되는 시스템들 및 기술들의 다양한 구현들은 디지털 전자 및/또는 광학 회로, 집적 회로, 특수 설계된 ASIC(application specific integrated circuit)들, 컴퓨터 하드웨어, 펌웨어, 소프트웨어, 및/또는 이들의 조합들로 실현될 수 있다. 이러한 다양한 구현들은 저장 시스템, 적어도 하나의 입력 디바이스, 및 적어도 하나의 출력 디바이스로부터 데이터 및 명령어들을 수신하고 이들에게 데이터 및 명령어들을 전송하기 위해 결합된, 특수 목적 또는 범용일 수 있는, 적어도 하나의 프로그래밍 가능 프로세서를 포함하는 프로그래밍 가능 시스템 상에서 실행 가능하고/하거나 인터프리트 가능한(interpretable) 하나 이상의 컴퓨터 프로그램으로 된 구현을 포함할 수 있다.
이러한 컴퓨터 프로그램들(프로그램들, 소프트웨어, 소프트웨어 애플리케이션들 또는 코드라고도 알려져 있음)은 프로그래밍 가능 프로세서를 위한 머신 명령어들을 포함하고, 고수준 절차적 및/또는 객체 지향 프로그래밍 언어로, 및/또는 어셈블리어/기계어로 구현될 수 있다. 본 명세서에서 사용되는 바와 같이, “머신 판독 가능 매체" 및 "컴퓨터 판독 가능 매체"라는 용어들은, 머신 판독 가능 신호로서 머신 명령어들을 수신하는 머신 판독 가능 매체를 포함한, 머신 명령어들 및/또는 데이터를 프로그래밍 가능 프로세서에 제공하는 데 사용되는, 임의의 컴퓨터 프로그램 제품, 비일시적 컴퓨터 판독 가능 매체, 장치 및/또는 디바이스(예를 들면, 자기 디스크들, 광학 디스크들, 메모리, 및 PLD(Programmable Logic Device)들)를 지칭한다. “머신 판독 가능 신호"라는 용어는 머신 명령어들 및/또는 데이터를 프로그래밍 가능 프로세서에 제공하는 데 사용되는 임의의 신호를 지칭한다.
본 명세서에서 설명되는 프로세스들 및 논리 흐름들은 입력 데이터를 조작하여 출력을 생성하는 것에 의해 기능들을 수행하기 위해 하나 이상의 컴퓨터 프로그램을 실행하는, 데이터 처리 하드웨어라고도 지칭되는, 하나 이상의 프로그래밍 가능 프로세서에 의해 수행될 수 있다. 프로세스들 및 논리 흐름들이 또한 특수 목적 논리 회로, 예를 들면, FPGA(field programmable gate array) 또는 ASIC(application specific integrated circuit)에 의해 수행될 수 있다. 컴퓨터 프로그램의 실행에 적합한 프로세서들은, 예로서, 범용 및 특수 목적 마이크로프로세서들과 임의의 종류의 디지털 컴퓨터의 임의의 하나 이상의 프로세서 양쪽 모두를 포함한다. 일반적으로, 프로세서는 판독 전용 메모리 또는 랜덤 액세스 메모리 또는 양쪽 모두로부터 명령어들 및 데이터를 수신할 것이다. 컴퓨터의 필수 요소들은 명령어들을 수행하기 위한 프로세서 및 명령어들과 데이터를 저장하기 위한 하나 이상의 메모리 디바이스이다. 일반적으로, 컴퓨터는 또한 데이터를 저장하기 위한 하나 이상의 대용량 저장 디바이스, 예를 들면, 자기, 자기 광학 디스크들, 또는 광학 디스크들을 포함할 것이거나, 이들로부터 데이터를 수신하거나 이들에게 데이터를 전송하기 위해 작동 가능하게 결합될 것이거나, 양쪽 모두일 것이다. 그렇지만, 컴퓨터가 그러한 디바이스들을 가질 필요는 없다. 컴퓨터 프로그램 명령어들 및 데이터를 저장하기에 적합한 컴퓨터 판독 가능 매체들은, 예로서, 반도체 메모리 디바이스들, 예를 들면, EPROM, EEPROM, 및 플래시 메모리 디바이스들; 자기 디스크들, 예를 들면, 내부 하드 디스크들 또는 이동식 디스크들; 자기 광학 디스크들; 및 CD ROM과 DVD-ROM 디스크들을 포함한, 모든 형태들의 비휘발성 메모리, 매체들 및 메모리 디바이스들을 포함한다. 프로세서 및 메모리는 특수 목적 논리 회로에 의해 보완되거나 그에 통합될 수 있다.
사용자와의 상호 작용을 제공하기 위해, 본 개시내용의 하나 이상의 양상은 사용자에게 정보를 디스플레이하기 위한 디스플레이 디바이스, 예를 들면, CRT(cathode ray tube), LCD(liquid crystal display) 모니터, 또는 터치 스크린을 갖고 사용자가 컴퓨터에 입력을 제공할 수 있는 키보드 및 포인팅 디바이스, 예를 들면, 마우스 또는 트랙볼을 선택적으로 갖는 컴퓨터 상에서 구현될 수 있다. 사용자와의 상호 작용을 제공하기 위해 다른 종류들의 디바이스들도 사용될 수 있고; 예를 들어, 사용자에 제공되는 피드백은 임의의 형태의 감각적 피드백, 예를 들면, 시각적 피드백, 청각적 피드백, 또는 촉각적 피드백일 수 있으며; 사용자로부터의 입력은, 음향, 음성, 또는 촉각적 입력을 포함한, 임의의 형태로 수신될 수 있다. 추가적으로, 컴퓨터는 사용자에 의해 사용되는 디바이스에게 문서들을 송신하고 그로부터 문서들을 수신하는 것에 의해; 예를 들어, 웹 브라우저로부터 수신되는 요청들에 응답하여 웹 페이지들을 사용자의 클라이언트 디바이스 상의 웹 브라우저에게 송신하는 것에 의해 사용자와 상호 작용할 수 있다.
다수의 구현들이 설명되었다. 그럼에도 불구하고, 본 개시내용의 사상 및 범위를 벗어나지 않으면서 다양한 수정들이 이루어질 수 있다는 것이 이해될 것이다. 그에 따라, 다른 구현들이 이하의 청구항들의 범위 내에 속한다.

Claims (30)

  1. 방법(400)으로서,
    데이터 처리 하드웨어(10)에서, 어시스턴트 지원 디바이스(104)가 상기 어시스턴트 지원 디바이스(104)의 사용자(102)와 수신자(103) 사이의 오디오 기반 통신을 용이하게 하기 위한 음성 명령(118)에 대응하는 원시 오디오 데이터(301)의 제1 인스턴스를 수신하는 단계 - 상기 음성 명령(118)은 상기 사용자(102)에 의해 말해지고 상기 어시스턴트 지원 디바이스(104)에 의해 포착됨 -;
    상기 데이터 처리 하드웨어(10)에서, 상기 사용자(102)에 의해 말해지고 상기 어시스턴트 지원 디바이스(104)에 의해 포착되는 상기 오디오 기반 통신에 대한 가청 콘텐츠(126, 178)의 발화에 대응하는 상기 원시 오디오 데이터(301)의 제2 인스턴스를 수신하는 단계 - 상기 원시 오디오 데이터(301)의 상기 제2 인스턴스는 상기 사용자(102)에 의해 말해지지 않은 하나 이상의 추가 소리를 포착함 -;
    상기 데이터 처리 하드웨어(10)에 의해, 상기 원시 오디오 데이터(301)의 상기 제1 인스턴스에 기초하여 상기 오디오 기반 통신에서의 적어도 상기 사용자(102)의 음성에 대한 음성 필터링을 활성화시킬지 여부를 결정하기 위해 음성 필터링 인식 루틴(200)을 실행하는 단계;
    상기 음성 필터링 인식 루틴(200)이 적어도 상기 사용자(102)의 상기 음성에 대한 음성 필터링을 활성화시키도록 결정할 때:
    상기 데이터 처리 하드웨어(10)에 의해, 상기 사용자(102)에 대한 음성 특성들을 나타내는 상기 사용자(102)의 각자의 화자 임베딩(318)을 획득하는 단계; 및
    상기 데이터 처리 하드웨어(10)에 의해, 상기 사용자(102)에 의해 말해진 상기 가청 콘텐츠(126, 178)의 상기 발화를 분리시키고 상기 사용자(102)에 의해 말해지지 않은 상기 하나 이상의 추가 소리 중 적어도 일 부분을 제외하는 상기 오디오 기반 통신에 대한 향상된 오디오 데이터(152)를 생성하기 위해 상기 원시 오디오 데이터(301)의 상기 제2 인스턴스를, 상기 사용자(102)의 상기 각자의 화자 임베딩(318)을 사용하여, 처리하는 단계; 및
    상기 데이터 처리 하드웨어(10)에 의해, 상기 향상된 오디오 데이터(152)를 상기 수신자(103)와 연관된 것에게 전송하는 단계 - 상기 향상된 오디오 데이터(152)는, 상기 수신자 디바이스(105)에 의해 수신될 때, 상기 수신자 디바이스(105)로 하여금 상기 사용자(102)에 의해 말해진 상기 가청 콘텐츠(126, 178)의 상기 발화를 들리도록 출력하게 함 - 를 포함하는, 방법(400).
  2. 제1항에 있어서,
    상기 데이터 처리 하드웨어(10)에 의해, 음성 인식기(116)를 사용하여 상기 원시 오디오 데이터(301)의 상기 제1 인스턴스를 처리하여 음성 인식 결과(212)를 생성하는 단계; 및
    상기 데이터 처리 하드웨어(10)에 의해, 상기 원시 오디오 데이터(301)의 상기 제1 인스턴스가 상기 사용자(102)와 상기 수신자(103) 사이의 상기 오디오 기반 통신을 용이하게 하기 위한 상기 음성 명령(118)을 포함한다고 결정하기 위해 상기 원시 오디오 데이터(301)의 상기 제1 인스턴스에 대한 상기 음성 인식 결과(212)에 대해 의미론적 해석을 수행하는 단계를 더 포함하는, 방법(400).
  3. 제2항에 있어서, 상기 오디오 기반 통신에서의 적어도 상기 사용자(102)의 상기 음성에 대한 음성 필터링을 활성화시킬지 여부를 결정하기 위해 상기 음성 필터링 인식 루틴(200)을 실행하는 단계는:
    상기 원시 오디오 데이터(301)의 상기 제1 인스턴스에 대한 상기 음성 인식 결과(212)에 대해 수행되는 상기 의미론적 해석에 기초하여 상기 오디오 기반 통신의 상기 수신자(103)를 식별하는 단계;
    상기 오디오 기반 통신의 상기 식별된 수신자(103)가 상기 오디오 기반 통신에서의 적어도 상기 사용자(102)의 상기 음성에 대한 상기 음성 필터링을 활성화시키는 것이 적절하다는 것을 나타내는 특정 수신자 유형을 포함하는지 여부를 결정하는 단계; 및
    상기 오디오 기반 통신의 상기 식별된 수신자(103)가 상기 특정 수신자 유형을 포함할 때, 적어도 상기 사용자(102)의 상기 음성에 대한 음성 필터링을 활성화시키도록 결정하는 단계를 포함하는, 방법(400).
  4. 제3항에 있어서, 상기 수신자 유형은 기업을 포함하는, 방법(400).
  5. 제2항 내지 제4항 중 어느 한 항에 있어서, 상기 오디오 기반 통신에서의 적어도 상기 사용자(102)의 상기 음성에 대한 음성 필터링을 활성화시킬지 여부를 결정하기 위해 상기 음성 필터링 인식 루틴(200)을 실행하는 단계는:
    상기 원시 오디오 데이터(301)의 상기 제1 인스턴스에 대한 상기 음성 인식 결과(212)에 대해 수행되는 상기 의미론적 해석에 기초하여, 상기 음성 명령(118)이 적어도 상기 사용자(102)의 상기 음성에 대한 음성 필터링을 활성화시키라는 명시적 지시를 포함하는지 여부를 결정하는 단계; 및
    상기 음성 명령(118)이 적어도 상기 사용자(102)의 상기 음성에 대한 음성 필터링을 활성화시키라는 상기 명시적 지시를 포함할 때, 적어도 상기 사용자(102)의 상기 음성에 대한 음성 필터링을 활성화시키도록 결정하는 단계를 포함하는, 방법(400).
  6. 제5항에 있어서, 상기 음성 필터링 루틴(200)을 실행하는 단계가 상기 음성 명령(118)이 상기 사용자(102) 및 다른 개인(107)의 음성들에 대한 음성 필터링을 활성화시키라는 명시적 지시를 포함한다고 결정할 때:
    상기 다른 개인(107)에 대해, 상기 데이터 처리 하드웨어(10)에 의해, 상기 다른 개인(107)에 대한 음성 특성들을 나타내는 각자의 화자 임베딩(318)을 획득하는 단계를 더 포함하며,
    상기 사용자(102)에 의해 말해지지 않은 상기 원시 오디오 신호의 상기 제2 인스턴스에 의해 포착되는 상기 하나 이상의 추가 소리는 상기 다른 개인(107)에 의해 말해진 상기 오디오 기반 통신에 대한 가청 콘텐츠(126, 178)의 추가 발화(180) 및 상기 사용자(102) 또는 상기 다른 개인(107) 중 어느 누구에 의해서도 말해지지 않은 배경 잡음(128, 179)을 포함하고;
    상기 향상된 오디오 데이터(152)를 생성하기 위해 상기 원시 오디오 데이터(301)의 상기 제2 인스턴스를 처리하는 단계는 상기 가청 콘텐츠(126, 178)의 상기 발화 및 상기 추가 발화(180)를 분리시키고 상기 배경 잡음(128, 179)을 제외하는 상기 오디오 기반 통신에 대한 상기 향상된 오디오 데이터(152)를 생성하기 위해 상기 원시 오디오 데이터(301)의 상기 제2 인스턴스를, 상기 사용자(102) 및 상기 다른 개인(107)에 대한 상기 각자의 화자 임베딩들(318)을 사용하여, 처리하는 단계를 포함하는, 방법(400).
  7. 제1항 내지 제6항 중 어느 한 항에 있어서,
    상기 원시 오디오 데이터(301)의 상기 제1 인스턴스는 상기 어시스턴트 지원 디바이스(104)가 상기 오디오 기반 통신을 용이하게 하기 위한 상기 음성 명령(118)에 선행하는 프리앰블 오디오 및 핫워드(110, 160)를 포함하고;
    상기 오디오 기반 통신에서의 적어도 상기 사용자(102)의 상기 음성에 대한 음성 필터링을 활성화시킬지 여부를 결정하기 위해 상기 음성 필터링 인식 루틴(200)을 실행하는 단계는:
    상기 어시스턴트 지원 디바이스(104)의 환경의 배경 잡음 레벨을 결정하기 위해 상기 프리앰블 오디오 및/또는 핫워드(110, 160)로부터 오디오 특징들을 추출하는 단계; 및
    상기 어시스턴트 지원 디바이스(104)의 상기 환경의 상기 배경 잡음 레벨에 기초하여 상기 오디오 기반 통신에서의 적어도 상기 사용자(102)의 상기 음성에 대한 음성 필터링을 활성화시키도록 결정하는 단계를 포함하는, 방법(400).
  8. 제1항 내지 제7항 중 어느 한 항에 있어서,
    상기 데이터 처리 하드웨어(10)에 의해, 상기 어시스턴트 지원 디바이스(104)의 유형을 결정하는 단계를 더 포함하며,
    적어도 상기 사용자(102)의 상기 음성에 대한 음성 필터링을 활성화시킬지 여부를 결정하기 위해 상기 음성 필터링 인식 루틴(200)을 실행하는 단계는 상기 어시스턴트 지원 디바이스(104)의 상기 유형에 추가로 기초하는, 방법(400).
  9. 제1항 내지 제8항 중 어느 한 항에 있어서,
    상기 데이터 처리 하드웨어(10)에 의해, 상기 어시스턴트 지원 디바이스(104)가 위치하는 환경을 결정하는 단계를 더 포함하며,
    적어도 상기 사용자(102)의 상기 음성에 대한 음성 필터링을 활성화시킬지 여부를 결정하기 위해 상기 음성 필터링 인식 루틴(200)을 실행하는 단계는 상기 어시스턴트 지원 디바이스(104)가 위치하는 상기 환경에 추가로 기초하는, 방법(400).
  10. 제1항 내지 제9항 중 어느 한 항에 있어서, 상기 어시스턴트 지원 디바이스(104)에 의해 용이하게 되는 상기 오디오 기반 통신이 화상 통화(150)를 포함할 때:
    상기 데이터 처리 하드웨어(10)에서, 상기 어시스턴트 지원 디바이스(104)의 이미지 포착 디바이스(18)로부터, 적어도 상기 사용자(102)가 상기 화상 통화(150)에 참여하고 있음을 나타내는 이미지 데이터(20)를 수신하는 단계를 더 포함하며,
    적어도 상기 사용자(102)의 상기 음성에 대한 음성 필터링을 활성화시킬지 여부를 결정하기 위해 상기 음성 필터링 인식 루틴(200)을 실행하는 단계는 적어도 상기 사용자(102)가 상기 화상 통화(150)에 참여하고 있음을 나타내는 상기 이미지 데이터(20)에 추가로 기초하는, 방법(400).
  11. 제10항에 있어서, 상기 음성 필터링 인식 루틴(200)을 실행하는 단계가 상기 사용자(102) 및 적어도 하나의 다른 개인(107)이 상기 화상 통화(150)에 참여하고 있음을 나타내는 상기 이미지 데이터(20)에 기초하여 상기 사용자(102) 및 상기 적어도 하나의 다른 개인(107)의 음성들에 대한 음성 필터링을 활성화시키도록 결정할 때:
    상기 적어도 하나의 다른 개인(107)에 대해, 상기 데이터 처리 하드웨어(10)에 의해, 상기 적어도 하나의 다른 개인(107)에 대한 음성 특성들을 나타내는 각자의 화자 임베딩(318)을 획득하는 단계를 더 포함하며,
    상기 사용자(102)에 의해 말해지지 않은 상기 원시 오디오 신호의 상기 제2 인스턴스에 의해 포착되는 상기 하나 이상의 추가 소리는 상기 적어도 하나의 다른 개인(107)에 의해 말해진 상기 화상 통화(150)에 대한 가청 콘텐츠(126, 178)의 추가 발화(180) 및 상기 사용자(102) 또는 상기 적어도 하나의 다른 개인(107) 중 어느 누구에 의해서도 말해지지 않은 배경 잡음(128, 179)을 포함하고;
    상기 향상된 오디오 데이터(152)를 생성하기 위해 상기 원시 오디오 데이터(301)의 상기 제2 인스턴스를 처리하는 단계는 상기 가청 콘텐츠(126, 178)의 상기 발화 및 상기 추가 발화(180)를 분리시키고 상기 배경 잡음(128, 179)을 제외하는 상기 화상 통화(150)에 대한 상기 향상된 오디오 데이터(152)를 생성하기 위해 상기 원시 오디오 데이터(301)의 상기 제2 인스턴스를, 상기 사용자(102) 및 상기 적어도 하나의 다른 개인(107)에 대한 상기 각자의 화자 임베딩들(318)을 사용하여, 처리하는 단계를 포함하는, 방법(400).
  12. 제1항 내지 제11항 중 어느 한 항에 있어서,
    상기 데이터 처리 하드웨어(10)에 의해, 음성 인식기(116)를 사용하여, 상기 원시 오디오 데이터(301)의 상기 제2 인스턴스를 처리하여 상기 오디오 기반 통신의 상기 가청 콘텐츠(126, 178)에 대한 음성 인식 결과(212)를 생성하는 단계; 및
    상기 데이터 처리 하드웨어(10)에 의해, 상기 오디오 기반 통신의 상기 가청 콘텐츠(126, 178)에 대한 상기 음성 인식 결과(212)에 대해 의미론적 해석을 수행하는 단계를 더 포함하며,
    적어도 상기 사용자의 상기 음성(102)에 대한 음성 필터링을 활성화시킬지 여부를 결정하기 위해 상기 음성 필터링 인식 루틴(200)을 실행하는 단계는 상기 오디오 기반 통신의 상기 가청 콘텐츠(126, 178)에 대한 상기 음성 인식 결과(212)에 대해 수행되는 상기 의미론적 해석에 추가로 기초하는, 방법(400).
  13. 제12항에 있어서, 상기 음성 필터링 인식 루틴(200)을 실행하는 단계가 상기 가청 콘텐츠(126, 178)가 상기 사용자(102)와 상기 수신자(103) 사이의 상기 오디오 기반 통신에 참여하는 적어도 하나의 다른 개인(107)을 식별해 준다는 것을 나타내는 상기 가청 콘텐츠(126, 178)에 대한 상기 음성 인식 결과(212)에 대해 수행되는 상기 의미론적 해석에 기초하여 상기 사용자(102) 및 적어도 하나의 다른 개인(107)의 음성들에 대한 음성 필터링을 활성화시키도록 결정할 때:
    상기 적어도 하나의 다른 개인(107)에 대해, 상기 데이터 처리 하드웨어(10)에 의해, 상기 적어도 하나의 다른 개인(107)에 대한 음성 특성들을 나타내는 각자의 화자 임베딩(318)을 획득하는 단계를 더 포함하며,
    상기 사용자(102)에 의해 말해지지 않은 상기 원시 오디오 신호의 상기 제2 인스턴스에 의해 포착되는 상기 하나 이상의 추가 소리는 상기 적어도 하나의 다른 개인(107)에 의해 말해진 상기 오디오 기반 통신에 대한 가청 콘텐츠(126, 178)의 추가 발화(180) 및 상기 사용자(102) 또는 상기 적어도 하나의 다른 개인(107) 중 어느 누구에 의해서도 말해지지 않은 배경 잡음(128, 179)을 포함하고;
    상기 향상된 오디오 데이터(152)를 생성하기 위해 상기 원시 오디오 데이터(301)의 상기 제2 인스턴스를 처리하는 단계는 상기 가청 콘텐츠(126, 178)의 상기 발화 및 상기 추가 발화(180)를 분리시키고 상기 배경 잡음(128, 179)을 제외하는 상기 오디오 기반 통신에 대한 상기 향상된 오디오 데이터(152)를 생성하기 위해 상기 원시 오디오 데이터(301)의 상기 제2 인스턴스를, 상기 사용자(102) 및 상기 적어도 하나의 다른 개인(107)에 대한 상기 각자의 화자 임베딩들(318)을 사용하여, 처리하는 단계를 포함하는, 방법(400).
  14. 제1항 내지 제13항 중 어느 한 항에 있어서, 상기 오디오 기반 통신은 오디오 통화, 전화 통화, 화상 통화(150), 오디오 메시지(150) 또는 브로드캐스팅된 오디오 중 하나를 포함하는, 방법(400).
  15. 제1항 내지 제14항 중 어느 한 항에 있어서, 상기 데이터 처리 하드웨어(10)에 의해, 상기 데이터 처리 하드웨어(10)와 통신하는 스크린 상에 디스플레이되는 그래픽 사용자 인터페이스(GUI)에,
    적어도 상기 사용자(102)의 상기 음성에 대한 음성 필터링이 현재 활성화되어 있는지 여부를 나타내는 그래픽 표시자; 및
    적어도 상기 사용자(102)의 상기 음성에 대한 음성 필터링을 활성화/비활성화시키기 위한 컨트롤
    을 디스플레이하는 단계를 더 포함하는, 방법(400).
  16. 시스템(100)으로서,
    데이터 처리 하드웨어(10); 및
    상기 데이터 처리 하드웨어(10)와 통신하는 메모리 하드웨어(12) - 상기 메모리 하드웨어(12)는 상기 데이터 처리 하드웨어(10) 상에서 실행될 때 상기 데이터 처리 하드웨어(10)로 하여금 동작들을 수행하게 하는 명령어들을 저장함 - 를 포함하며, 상기 동작들은:
    어시스턴트 지원 디바이스(104)가 상기 어시스턴트 지원 디바이스(104)의 사용자(102)와 수신자(103) 사이의 오디오 기반 통신을 용이하게 하기 위한 음성 명령(118)에 대응하는 원시 오디오 데이터(301)의 제1 인스턴스를 수신하는 동작 - 상기 음성 명령(118)은 상기 사용자(102)에 의해 말해지고 상기 어시스턴트 지원 디바이스(104)에 의해 포착됨 -;
    상기 사용자(102)에 의해 말해지고 상기 어시스턴트 지원 디바이스(104)에 의해 포착되는 상기 오디오 기반 통신에 대한 가청 콘텐츠(126, 178)의 발화에 대응하는 상기 원시 오디오 데이터(301)의 제2 인스턴스를 수신하는 동작 - 상기 원시 오디오 데이터(301)의 상기 제2 인스턴스는 상기 사용자(102)에 의해 말해지지 않은 하나 이상의 추가 소리를 포착함 -;
    상기 원시 오디오 데이터(301)의 상기 제1 인스턴스에 기초하여 상기 오디오 기반 통신에서의 적어도 상기 사용자(102)의 음성에 대한 음성 필터링을 활성화시킬지 여부를 결정하기 위해 음성 필터링 인식 루틴(200)을 실행하는 동작;
    상기 음성 필터링 인식 루틴(200)이 적어도 상기 사용자(102)의 상기 음성에 대한 음성 필터링을 활성화시키도록 결정할 때:
    상기 사용자(102)에 대한 음성 특성들을 나타내는 상기 사용자(102)의 각자의 화자 임베딩(318)을 획득하는 동작; 및
    상기 사용자(102)에 의해 말해진 상기 가청 콘텐츠(126, 178)의 상기 발화를 분리시키고 상기 사용자(102)에 의해 말해지지 않은 상기 하나 이상의 추가 소리 중 적어도 일 부분을 제외하는 상기 오디오 기반 통신에 대한 향상된 오디오 데이터(152)를 생성하기 위해 상기 원시 오디오 데이터(301)의 상기 제2 인스턴스를, 상기 사용자(102)의 상기 각자의 화자 임베딩(318)을 사용하여, 처리하는 동작; 및
    상기 향상된 오디오 데이터(152)를 상기 수신자(103)와 연관된 수신자 디바이스(105)에게 전송하는 동작 - 상기 향상된 오디오 데이터(152)는, 상기 수신자 디바이스(105)에 의해 수신될 때, 상기 수신자 디바이스(105)로 하여금 상기 사용자(102)에 의해 말해진 상기 가청 콘텐츠(126, 178)의 상기 발화를 들리도록 출력하게 함 - 을 포함하는, 시스템(100).
  17. 제16항에 있어서, 상기 동작들은:
    음성 인식기(116)를 사용하여, 상기 원시 오디오 데이터(301)의 상기 제1 인스턴스를 처리하여 음성 인식 결과(212)를 생성하는 동작; 및
    상기 원시 오디오 데이터(301)의 상기 제1 인스턴스가 상기 사용자(102)와 상기 수신자(103) 사이의 상기 오디오 기반 통신을 용이하게 하기 위한 상기 음성 명령(118)을 포함한다고 결정하기 위해 상기 원시 오디오 데이터(301)의 상기 제1 인스턴스에 대한 상기 음성 인식 결과(212)에 대해 의미론적 해석을 수행하는 동작을 더 포함하는, 시스템(100).
  18. 제17항에 있어서, 상기 오디오 기반 통신에서의 적어도 상기 사용자(102)의 상기 음성에 대한 음성 필터링을 활성화시킬지 여부를 결정하기 위해 상기 음성 필터링 인식 루틴(200)을 실행하는 동작은:
    상기 원시 오디오 데이터(301)의 상기 제1 인스턴스에 대한 상기 음성 인식 결과(212)에 대해 수행되는 상기 의미론적 해석에 기초하여 상기 오디오 기반 통신의 상기 수신자(103)를 식별하는 동작;
    상기 오디오 기반 통신의 상기 식별된 수신자(103)가 상기 오디오 기반 통신에서의 적어도 상기 사용자(102)의 상기 음성에 대한 상기 음성 필터링을 활성화시키는 것이 적절하다는 것을 나타내는 특정 수신자 유형을 포함하는지 여부를 결정하는 동작; 및
    상기 오디오 기반 통신의 상기 식별된 수신자(103)가 상기 특정 수신자 유형을 포함할 때, 적어도 상기 사용자(102)의 상기 음성에 대한 음성 필터링을 활성화시키도록 결정하는 동작을 포함하는, 시스템(100).
  19. 제18항에 있어서, 상기 수신자 유형은 기업을 포함하는, 시스템(100).
  20. 제17항 내지 제19항 중 어느 한 항에 있어서, 상기 오디오 기반 통신에서의 적어도 상기 사용자(102)의 상기 음성에 대한 음성 필터링을 활성화시킬지 여부를 결정하기 위해 상기 음성 필터링 인식 루틴(200)을 실행하는 동작은:
    상기 원시 오디오 데이터(301)의 상기 제1 인스턴스에 대한 상기 음성 인식 결과(212)에 대해 수행되는 상기 의미론적 해석에 기초하여, 상기 음성 명령(118)이 적어도 상기 사용자(102)의 상기 음성에 대한 음성 필터링을 활성화시키라는 명시적 지시를 포함하는지 여부를 결정하는 동작; 및
    상기 음성 명령(118)이 적어도 상기 사용자(102)의 상기 음성에 대한 음성 필터링을 활성화시키라는 상기 명시적 지시를 포함할 때, 적어도 상기 사용자(102)의 상기 음성에 대한 음성 필터링을 활성화시키도록 결정하는 동작을 포함하는, 시스템(100).
  21. 제20항에 있어서, 상기 동작들은, 상기 음성 필터링 루틴(200)을 실행하는 동작이 상기 음성 명령(118)이 상기 사용자(102) 및 다른 개인(107)의 음성들에 대한 음성 필터링을 활성화시키라는 명시적 지시를 포함한다고 결정할 때:
    상기 다른 개인(107)에 대해, 상기 다른 개인(107)에 대한 음성 특성들을 나타내는 각자의 화자 임베딩(318)을 획득하는 동작을 더 포함하며,
    상기 사용자(102)에 의해 말해지지 않은 상기 원시 오디오 신호의 상기 제2 인스턴스에 의해 포착되는 상기 하나 이상의 추가 소리는 상기 다른 개인(107)에 의해 말해진 상기 오디오 기반 통신에 대한 가청 콘텐츠(126, 178)의 추가 발화(180) 및 상기 사용자(102) 또는 상기 다른 개인(107) 중 어느 누구에 의해서도 말해지지 않은 배경 잡음(128, 179)을 포함하고;
    상기 향상된 오디오 데이터(152)를 생성하기 위해 상기 원시 오디오 데이터(301)의 상기 제2 인스턴스를 처리하는 동작은 상기 가청 콘텐츠(126, 178)의 상기 발화 및 상기 추가 발화(180)를 분리시키고 상기 배경 잡음(128, 179)을 제외하는 상기 오디오 기반 통신에 대한 상기 향상된 오디오 데이터(152)를 생성하기 위해 상기 원시 오디오 데이터(301)의 상기 제2 인스턴스를, 상기 사용자(102) 및 상기 다른 개인(107)에 대한 상기 각자의 화자 임베딩들(318)을 사용하여, 처리하는 동작을 포함하는, 시스템(100).
  22. 제16항 내지 제21항 중 어느 한 항에 있어서,
    상기 원시 오디오 데이터(301)의 상기 제1 인스턴스는 상기 어시스턴트 지원 디바이스(104)가 상기 오디오 기반 통신을 용이하게 하기 위한 상기 음성 명령(118)에 선행하는 프리앰블 오디오 및 핫워드(110, 160)를 포함하고;
    상기 오디오 기반 통신에서의 적어도 상기 사용자(102)의 상기 음성에 대한 음성 필터링을 활성화시킬지 여부를 결정하기 위해 상기 음성 필터링 인식 루틴(200)을 실행하는 동작은:
    상기 어시스턴트 지원 디바이스(104)의 환경의 배경 잡음 레벨을 결정하기 위해 상기 프리앰블 오디오 및/또는 핫워드(110, 160)로부터 오디오 특징들을 추출하는 동작; 및
    상기 어시스턴트 지원 디바이스(104)의 상기 환경의 상기 배경 잡음 레벨에 기초하여 상기 오디오 기반 통신에서의 적어도 상기 사용자(102)의 상기 음성에 대한 음성 필터링을 활성화시키도록 결정하는 동작을 포함하는, 시스템(100).
  23. 제16항 내지 제22항 중 어느 한 항에 있어서, 상기 동작들은:
    상기 어시스턴트 지원 디바이스(104)의 유형을 결정하는 동작을 더 포함하며,
    적어도 상기 사용자(102)의 상기 음성에 대한 음성 필터링을 활성화시킬지 여부를 결정하기 위해 상기 음성 필터링 인식 루틴(200)을 실행하는 동작은 상기 어시스턴트 지원 디바이스(104)의 상기 유형에 추가로 기초하는, 시스템(100).
  24. 제16항 내지 제23항 중 어느 한 항에 있어서, 상기 동작들은:
    상기 어시스턴트 지원 디바이스(104)가 위치하는 환경을 결정하는 동작을 더 포함하며,
    적어도 상기 사용자(102)의 상기 음성에 대한 음성 필터링을 활성화시킬지 여부를 결정하기 위해 상기 음성 필터링 인식 루틴(200)을 실행하는 동작은 상기 어시스턴트 지원 디바이스(104)가 위치하는 상기 환경에 추가로 기초하는, 시스템(100).
  25. 제16항 내지 제24항 중 어느 한 항에 있어서, 상기 동작들은, 상기 어시스턴트 지원 디바이스(104)에 의해 용이하게 되는 상기 오디오 기반 통신이 화상 통화(150)를 포함할 때:
    상기 어시스턴트 지원 디바이스(104)의 이미지 포착 디바이스(18)로부터, 적어도 상기 사용자(102)가 상기 화상 통화(150)에 참여하고 있음을 나타내는 이미지 데이터(20)를 수신하는 동작을 더 포함하며,
    적어도 상기 사용자(102)의 상기 음성에 대한 음성 필터링을 활성화시킬지 여부를 결정하기 위해 상기 음성 필터링 인식 루틴(200)을 실행하는 동작은 적어도 상기 사용자(102)가 상기 화상 통화(150)에 참여하고 있음을 나타내는 상기 이미지 데이터(20)에 추가로 기초하는, 시스템(100).
  26. 제25항에 있어서, 상기 동작들은, 상기 음성 필터링 인식 루틴(200)을 실행하는 동작이 상기 사용자(102) 및 적어도 하나의 다른 개인(107)이 상기 화상 통화(150)에 참여하고 있음을 나타내는 상기 이미지 데이터(20)에 기초하여 상기 사용자(102) 및 상기 적어도 하나의 다른 개인(107)의 음성들에 대한 음성 필터링을 활성화시키도록 결정할 때:
    상기 적어도 하나의 다른 개인(107)에 대해, 상기 적어도 하나의 다른 개인(107)에 대한 음성 특성들을 나타내는 각자의 화자 임베딩(318)을 획득하는 동작을 더 포함하며,
    상기 사용자(102)에 의해 말해지지 않은 상기 원시 오디오 신호의 상기 제2 인스턴스에 의해 포착되는 상기 하나 이상의 추가 소리는 상기 적어도 하나의 다른 개인(107)에 의해 말해진 상기 화상 통화(150)에 대한 가청 콘텐츠(126, 178)의 추가 발화(180) 및 상기 사용자(102) 또는 상기 적어도 하나의 다른 개인(107) 중 어느 누구에 의해서도 말해지지 않은 배경 잡음(128, 179)을 포함하고;
    상기 향상된 오디오 데이터(152)를 생성하기 위해 상기 원시 오디오 데이터(301)의 상기 제2 인스턴스를 처리하는 동작은 상기 가청 콘텐츠(126, 178)의 상기 발화 및 상기 추가 발화(180)를 분리시키고 상기 배경 잡음(128, 179)을 제외하는 상기 화상 통화(150)에 대한 상기 향상된 오디오 데이터(152)를 생성하기 위해 상기 원시 오디오 데이터(301)의 상기 제2 인스턴스를, 상기 사용자(102) 및 상기 적어도 하나의 다른 개인(107)에 대한 상기 각자의 화자 임베딩들(318)을 사용하여, 처리하는 동작을 포함하는, 시스템(100).
  27. 제26항에 있어서, 상기 동작들은:
    음성 인식기를 사용하여, 상기 원시 오디오 데이터(301)의 상기 제2 인스턴스를 처리하여 상기 오디오 기반 통신의 상기 가청 콘텐츠(126, 178)에 대한 음성 인식 결과(212)를 생성하는 동작; 및
    상기 오디오 기반 통신의 상기 가청 콘텐츠(126, 178)에 대한 상기 음성 인식 결과(212)에 대해 의미론적 해석을 수행하는 동작을 더 포함하며,
    적어도 상기 사용자의 상기 음성(102)에 대한 음성 필터링을 활성화시킬지 여부를 결정하기 위해 상기 음성 필터링 인식 루틴(200)을 실행하는 동작은 상기 오디오 기반 통신의 상기 가청 콘텐츠(126, 178)에 대한 상기 음성 인식 결과(212)에 대해 수행되는 상기 의미론적 해석에 추가로 기초하는, 시스템(100).
  28. 제27항에 있어서, 상기 동작들은, 상기 음성 필터링 인식 루틴(200)을 실행하는 동작이 상기 가청 콘텐츠(126, 178)가 상기 사용자(102)와 상기 수신자(103) 사이의 상기 오디오 기반 통신에 참여하는 적어도 하나의 다른 개인(107)을 식별해 준다는 것을 나타내는 상기 가청 콘텐츠(126, 178)에 대한 상기 음성 인식 결과(212)에 대해 수행되는 상기 의미론적 해석에 기초하여 상기 사용자(102) 및 적어도 하나의 다른 개인(107)의 음성들에 대한 음성 필터링을 활성화시키도록 결정할 때:
    상기 적어도 하나의 다른 개인(107)에 대해, 상기 적어도 하나의 다른 개인(107)에 대한 음성 특성들을 나타내는 각자의 화자 임베딩(318)을 획득하는 동작을 더 포함하며,
    상기 사용자(102)에 의해 말해지지 않은 상기 원시 오디오 신호의 상기 제2 인스턴스에 의해 포착되는 상기 하나 이상의 추가 소리는 상기 적어도 하나의 다른 개인(107)에 의해 말해진 상기 오디오 기반 통신에 대한 가청 콘텐츠(126, 178)의 추가 발화(180) 및 상기 사용자(102) 또는 상기 적어도 하나의 다른 개인(107) 중 어느 누구에 의해서도 말해지지 않은 배경 잡음(128, 179)을 포함하고;
    상기 향상된 오디오 데이터(152)를 생성하기 위해 상기 원시 오디오 데이터(301)의 상기 제2 인스턴스를 처리하는 동작은 상기 가청 콘텐츠(126, 178)의 상기 발화 및 상기 추가 발화(180)를 분리시키고 상기 배경 잡음(128, 179)을 제외하는 상기 오디오 기반 통신에 대한 상기 향상된 오디오 데이터(152)를 생성하기 위해 상기 원시 오디오 데이터(301)의 상기 제2 인스턴스를, 상기 사용자(102) 및 상기 적어도 하나의 다른 개인(107)에 대한 상기 각자의 화자 임베딩들(318)을 사용하여, 처리하는 동작을 포함하는, 시스템(100).
  29. 제16항 내지 제28항 중 어느 한 항에 있어서, 상기 오디오 기반 통신은 오디오 통화, 전화 통화, 화상 통화(150), 오디오 메시지(150) 또는 브로드캐스팅된 오디오 중 하나를 포함하는, 시스템(100).
  30. 제16항 내지 제29항 중 어느 한 항에 있어서, 상기 동작들은, 상기 데이터 처리 하드웨어(10)와 통신하는 스크린 상에 디스플레이되는 그래픽 사용자 인터페이스(GUI)에,
    적어도 상기 사용자(102)의 상기 음성에 대한 음성 필터링이 현재 활성화되어 있는지 여부를 나타내는 그래픽 표시자; 및
    적어도 상기 사용자(102)의 상기 음성에 대한 음성 필터링을 활성화/비활성화시키기 위한 컨트롤
    을 디스플레이하는 동작을 더 포함하는, 시스템(100).
KR1020237017980A 2020-10-30 2021-10-26 통화들 및 오디오 메시지들로부터 다른 화자들의 음성 필터링 KR20230098266A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US17/086,296 US11462219B2 (en) 2020-10-30 2020-10-30 Voice filtering other speakers from calls and audio messages
US17/086,296 2020-10-30
PCT/US2021/056718 WO2022093872A1 (en) 2020-10-30 2021-10-26 Voice filtering other speakers from calls and audio messages

Publications (1)

Publication Number Publication Date
KR20230098266A true KR20230098266A (ko) 2023-07-03

Family

ID=78820481

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020237017980A KR20230098266A (ko) 2020-10-30 2021-10-26 통화들 및 오디오 메시지들로부터 다른 화자들의 음성 필터링

Country Status (6)

Country Link
US (2) US11462219B2 (ko)
EP (1) EP4238090A1 (ko)
JP (1) JP2023548157A (ko)
KR (1) KR20230098266A (ko)
CN (1) CN116420188A (ko)
WO (1) WO2022093872A1 (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220172728A1 (en) * 2020-11-04 2022-06-02 Ian Perera Method for the Automated Analysis of Dialogue for Generating Team Metrics
US11404061B1 (en) * 2021-01-11 2022-08-02 Ford Global Technologies, Llc Speech filtering for masks
US11830514B2 (en) * 2021-05-27 2023-11-28 GM Global Technology Operations LLC System and method for augmenting vehicle phone audio with background sounds

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3010017A1 (en) 2014-10-14 2016-04-20 Thomson Licensing Method and apparatus for separating speech data from background data in audio communication
US10431211B2 (en) 2016-07-29 2019-10-01 Qualcomm Incorporated Directional processing of far-field audio
US10553235B2 (en) 2017-08-28 2020-02-04 Apple Inc. Transparent near-end user control over far-end speech enhancement processing

Also Published As

Publication number Publication date
US20220139388A1 (en) 2022-05-05
CN116420188A (zh) 2023-07-11
EP4238090A1 (en) 2023-09-06
WO2022093872A1 (en) 2022-05-05
US11462219B2 (en) 2022-10-04
JP2023548157A (ja) 2023-11-15
US20230005480A1 (en) 2023-01-05

Similar Documents

Publication Publication Date Title
US11894014B2 (en) Audio-visual speech separation
US11361768B2 (en) Utterance classifier
US11232808B2 (en) Adjusting speed of human speech playback
US11355098B1 (en) Centralized feedback service for performance of virtual assistant
US20230005480A1 (en) Voice Filtering Other Speakers From Calls And Audio Messages
WO2021022094A1 (en) Per-epoch data augmentation for training acoustic models
JP7136868B2 (ja) 話者ダイアライゼーション
US11568878B2 (en) Voice shortcut detection with speaker verification
JP7255032B2 (ja) 音声認識
US11810585B2 (en) Systems and methods for filtering unwanted sounds from a conference call using voice synthesis
US20240135932A1 (en) Contact list reconciliation and permissioning
US11817113B2 (en) Systems and methods for filtering unwanted sounds from a conference call
US11848005B2 (en) Voice attribute conversion using speech to speech
Li et al. A Near-Real-Time Processing Ego Speech Filtering Pipeline Designed for Speech Interruption During Human-Robot Interaction
Islam et al. Feature Fusion Based Audio‐Visual Speaker Identification Using Hidden Markov Model under Different Lighting Variations