KR20180014879A - 음성 프로파일 관리 및 스피치 신호 생성 - Google Patents

음성 프로파일 관리 및 스피치 신호 생성 Download PDF

Info

Publication number
KR20180014879A
KR20180014879A KR1020187003160A KR20187003160A KR20180014879A KR 20180014879 A KR20180014879 A KR 20180014879A KR 1020187003160 A KR1020187003160 A KR 1020187003160A KR 20187003160 A KR20187003160 A KR 20187003160A KR 20180014879 A KR20180014879 A KR 20180014879A
Authority
KR
South Korea
Prior art keywords
speech
speech data
alternate
signal
user
Prior art date
Application number
KR1020187003160A
Other languages
English (en)
Other versions
KR102053553B1 (ko
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 퀄컴 인코포레이티드
Priority to KR1020197014853A priority Critical patent/KR102317296B1/ko
Publication of KR20180014879A publication Critical patent/KR20180014879A/ko
Application granted granted Critical
Publication of KR102053553B1 publication Critical patent/KR102053553B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L21/00Processing of the speech or voice signal to produce another audible or non-audible signal, e.g. visual or tactile, in order to modify its quality or its intelligibility
    • G10L21/003Changing voice quality, e.g. pitch or formants
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L13/00Speech synthesis; Text to speech systems
    • G10L13/02Methods for producing synthetic speech; Speech synthesisers
    • G10L13/033Voice editing, e.g. manipulating the voice of the synthesiser
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L17/00Speaker identification or verification
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L21/00Processing of the speech or voice signal 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 OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; 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/48Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 specially adapted for particular use

Abstract

디바이스는 수신기, 메모리, 및 프로세서를 포함한다. 수신기는 원격 음성 프로파일을 수신하도록 구성된다. 메모리는 수신기에 전기적으로 결합된다. 메모리는 사람과 연관된 로컬 음성 프로파일을 저장하도록 구성된다. 프로세서는 메모리 및 수신기에 전기적으로 결합된다. 프로세서는 원격 음성 프로파일이 원격 음성 프로파일과 연관된 스피치 컨텐츠 또는 원격 음성 프로파일과 연관된 식별자에 기초하여, 원격 음성 프로파일이 사람과 연관되는 것으로 결정하도록 구성된다. 프로세서는 또한, 결정에 기초하여 프로파일 관리를 위한 로컬 음성 프로파일을 선택하도록 구성된다.

Description

음성 프로파일 관리 및 스피치 신호 생성{VOICE PROFILE MANAGEMENT AND SPEECH SIGNAL GENERATION}
관련 출원들에 대한 상호-참조
본 출원은 공동으로 소유된 2014 년 4 월 30 일자로 출원된 미국 특허 가출원 제 61/986,701 호와, 2015 년 4 월 29 일자로 출원된 미국 정규 특허 출원 제 14/700,009 호로부터 우선권 주장하고, 그 내용들은 참조로 그 전체적으로 본원에 명백히 편입된다.
본 개시물은 음성 프로파일 관리 및 스피치 신호 생성에 일반적으로 관련된다.
기술에 있어서의 진보는 더 작고 그리고 더 강력한 컴퓨팅 디바이스들로 귀착되었다. 예를 들어, 소형이고, 경량이며, 사용자들에 의해 용이하게 휴대되는 휴대용 무선 전화들, 개인 정보 단말 (personal digital assistant; PDA) 들, 및 페이징 디바이스들과 같은 무선 컴퓨팅 디바이스들을 포함하는 다양한 휴대용 개인용 컴퓨팅 디바이스들이 현재 존재한다. 더욱 구체적으로, 셀룰러 전화들 및 인터넷 프로토콜 (Internet protocol; IP) 전화들과 같은 휴대용 무선 전화들은 무선 네트워크들 상에서 음성 및 데이터 패킷들을 통신할 수도 있다. 또한, 많은 이러한 무선 전화들은 그 안에 편입된 다른 타입들의 디바이스들을 포함한다. 예를 들어, 무선 전화는 또한, 디지털 스틸 카메라, 디지털 비디오 카메라, 디지털 레코더, 및 오디오 파일 플레이어를 포함할 수도 있다. 또한, 이러한 무선 전화들은 인터넷을 액세스하기 위해 이용될 수도 있는, 웹 브라우저 애플리케이션과 같은 소프트웨어 애플리케이션들을 포함하는 실행가능한 명령들을 프로세싱할 수도 있다. 이와 같이, 이 무선 전화들은 상당한 컴퓨팅 능력들을 포함할 수도 있다.
디지털 기법들에 의한 음성의 송신은 특히, 장거리 및 디지털 라디오 전화 애플리케이션들에서 널리 보급되어 있다. 재구성된 스피치의 인지된 품질을 유지하면서, 채널을 통해 전송될 수 있는 정보의 가장 적은 양을 결정하는 것에 관심이 있을 수도 있다. 스피치가 샘플링 및 디지털화에 의해 송신될 경우, 대략 64 kbps (kilobits per second) 의 데이터 레이트는 아날로그 전화의 스피치 품질을 달성하기 위하여 이용될 수도 있다. 스피치 분석과, 그 다음으로, 코딩, 송신, 및 수신기에서의 재합성 (re-synthesis) 의 이용을 통해, 데이터 레이트에서의 상당한 감소가 달성될 수도 있다.
스피치를 압축하기 위한 디바이스들은 전기통신들의 여러 분야에서 그 용도를 발견할 수도 있다. 예시적인 분야는 무선 통신이다. 무선 통신들의 분야는 예컨대, 코드리스 전화 (cordless telephone) 들, 페이징, 무선 로컬 루프 (wireless local loop) 들, 셀룰러 및 개인 통신 서비스 (personal communication service; PCS) 전화 시스템들과 같은 무선 전화, 이동 인터넷 프로토콜 (Internet Protocol; IP) 전화, 및 위성 통신 시스템들을 포함하는 다수의 애플리케이션들을 가진다. 특정한 애플리케이션은 이동 가입자들을 위한 무선 전화이다.
다양한 오버-디-에어 (over-the-air) 인터페이스들은 예컨대, 주파수 분할 다중 액세스 (frequency division multiple access; FDMA), 시간 분할 다중 액세스 (time division multiple access; TDMA), 코드 분할 다중 액세스 (code division multiple access; CDMA), 및 시간 분할-동기식 CDMA (time division-synchronous CDMA; TD-SCDMA) 를 포함하는 무선 통신 시스템들을 위하여 개발되었다. 그와 관련하여, 예컨대, 진보된 이동 전화 서비스 (Advanced Mobile Phone Service; AMPS), 이동 통신을 위한 글로벌 시스템 (Global System for Mobile Communications; GSM), 및 잠정 표준 95 (Interim Standard 95; IS-95) 를 포함하는 다양한 국내 및 국제 표준들이 확립되었다. 예시적인 무선 전화 통신 시스템은 코드 분할 다중 액세스 (CDMA) 시스템이다. IS-95 표준 및 그 파생물들, IS-95A, ANSI J-STD-008, 및 IS-95B (본원에서는 집합적으로 IS-95로서 지칭됨) 는 셀룰러 또는 PCS 전화 통신 시스템들을 위한 CDMA 오버-디-에어 인터페이스의 이용을 특정하기 위하여 전기통신 산업 협회 (Telecommunication Industry Association; TIA) 및 다른 잘 알려진 표준 단체들에 의해 발표되어 있다.
IS-95 표준은 더 많은 용량 및 고속 패킷 데이터 서비스들을 제공하는, cdma2000 및 WCDMA 와 같은 "3G" 시스템들로 추후에 진화하였다. cdma2000 의 2 개의 변형들은 TIA 에 의해 발행되는 문서들 IS-2000 (cdma2000 1xRTT) 및 IS-856 (cdma2000 1xEV-DO) 에 의해 제시된다. cdma2000 1xRTT 통신 시스템은 153 kbps 의 피크 데이터 레이트를 제공하는 반면, cdma2000 1xEV-DO 통신 시스템은 38.4 kbps 로부터 2.4 Mbps 까지의 범위인 데이터 레이트들의 세트를 정의한다. WCDMA 표준은 3 세대 파트너십 프로젝트 (3rd Generation Partnership Project) "3GPP", 문서 번호 3G TS 25.211, 3G TS 25.212, 3G TS 25.213, 및 3G TS 25.214 에서 구체화된다. 국제 이동 전기통신 어드밴스드 (International Mobile Telecommunications Advanced; IMT-Advanced) 사양은 "4G" 표준들을 다룬다. IMT-어드밴스드 사양은 (예컨대, 기차들 및 자동차들로부터의) 높은 이동성 통신을 위한 100 Mbit/s 및 (예컨대, 보행자들 및 정지된 사용자들로부터의) 낮은 이동성 통신을 위한 1 Gbit/s 에서의 4G 서비스를 위한 피크 데이터 레이트를 설정한다.
인간 스피치 생성의 모델에 관련되는 파라미터들을 추출함으로써 스피치를 압축하기 위한 기법들을 채용하는 디바이스들은 스피치 코더들로 칭해진다. 스피치 코더들은 인코더 및 디코더를 포함할 수도 있다. 인코더는 착신되는 스피치 신호를 시간의 블록들, 또는 분석 프레임들로 분할한다. 시간에 있어서의 각각의 세그먼트의 기간 (또는 "프레임") 은 신호의 스펙트럼 엔벨로프 (spectral envelope) 가 상대적으로 정지된 것으로 유지되도록 예상될 수도 있을 정도로 충분히 짧도록 선택될 수도 있다. 예를 들어, 특정한 애플리케이션을 위하여 적당한 것으로 간주된 임의의 프레임 길이 또는 샘플링 레이트가 이용될 수도 있지만, 하나의 프레임 길이는 8 킬로헤르쯔 (kilohertz; kHz) 의 샘플링 레이트에서의 160 개의 샘플들에 대응하는 20 밀리초이다.
인코더는 어떤 관련된 파라미터들을 추출하기 위하여 착신되는 스피치 프레임을 분석하고, 그 다음으로, 파라미터들을 2 진 표현으로, 예컨대, 비트들의 세트 또는 2 진 데이터 패킷으로 양자화한다. 데이터 패킷들은 통신 채널 (즉, 유선 및/또는 무선 네트워크 접속) 을 통해 수신기 및 디코더로 송신된다. 디코더는 데이터 패킷들을 프로세싱하고, 파라미터들을 산출하기 위하여 프로세싱된 데이터 패킷들을 비양자화 (unquantize) 하고, 비양자화된 파라미터들을 이용하여 스피치 프레임들을 재합성한다.
스피치 코더의 기능은 스피치에서 내재하는 자연적 중복성들을 제거함으로써 디지털화된 스피치 신호를 로우-비트-레이트 (low-bit-rate) 신호로 압축하는 것이다. 디지털 압축은 파라미터들의 세트로 입력 스피치 프레임을 표현함으로써, 그리고 비트들의 세트로 파라미터들을 표현하기 위하여 양자화를 채용함으로써 달성될 수도 있다. 입력 스피치 프레임이 비트들의 수 Ni 을 가지고 스피치 코더에 의해 산출된 데이터 패킷이 비트들의 수 No 을 가질 경우, 스피치 코더에 의해 달성된 압축 인자 (compression factor) 는 Cr = Ni/No 이다. 과제는 타겟 압축 인자를 달성하면서 디코딩된 스피치의 높은 음성 품질을 유지하는 것이다. 스피치 코더의 성능은 (1) 스피치 모델, 위에서 설명된 분석 및 합성 프로세스의 조합이 얼마나 양호하게 수행하는지, (2) 파라미터 양자화 프로세스가 No 프레임 당 비트들의 타겟 비트 레이트에서 얼마나 양호하게 수행되는지에 종속된다. 이에 따라, 스피치 모델의 목표는 각각의 프레임에 대한 파라미터들의 작은 세트로 스피치 신호의 에센스 (essence) 또는 타겟 음성 품질을 캡처 (capture) 하는 것이다.
스피치 코더들은 스피치 신호를 설명하기 위하여 (벡터들을 포함하는) 파라미터들의 세트를 일반적으로 사용한다. 파라미터들의 양호한 세트는 이상적으로는, 개념적으로 정확한 스피치 신호의 재구성을 위한 낮은 시스템 대역폭을 제공한다. 피치, 신호 전력, 스펙트럼 엔벨로프 (또는 포먼트들), 진폭 및 위상 스펙트럼들은 스피치 코딩 파라미터들의 예들이다.
스피치 코더들은, 스피치의 작은 세그먼트들 (예컨대, 5 밀리초 (millisecond; ms) 서브-프레임들을 한 번에 인코딩하기 위하여 높은 시간-분해능 (time-resolution) 프로세싱을 채용함으로써 시간-도메인 스피치 파형을 캡처하는 것을 시도하는 시간-도메인 코더들로서 구현될 수도 있다. 각각의 서브-프레임에 대하여, 코드북 공간으로부터의 높은-정밀도의 대표물 (representative) 은 검색 알고리즘의 도움으로 구해진다. 대안적으로, 스피치 코더들은, 파라미터들의 세트로 입력 스피치 프레임의 단기 (short-term) 스피치 스펙트럼을 캡처하고 (분석), 스펙트럼 파라미터들로부터 스피치 파형을 재생성하기 위하여 대응하는 합성 프로세스를 채용하는 것을 시도하는 스피치-도메인 코더들로서 구현될 수도 있다. 파라미터 양자화기는 알려진 양자화 기법들에 따라 코드 벡터들의 저장된 표현들로 파라미터들을 표현함으로써 파라미터들을 보존한다.
하나의 시간-도메인 스피치 코더는 코드 여기된 선형 예측 (Code Excited Linear Predictive; CELP) 코더이다. CELP 코더에서는, 스피치 신호에서의 단기 상관들 또는 중복성들은, 단기 포먼트 필터의 계수들을 구하는 선형 예측 (linear prediction; LP) 분석에 의해 제거된다. 단기 예측 필터를 착신되는 스피치 프레임에 적용하는 것은, 장기 (long-term) 예측 필터 파라미터들 및 후속 확률적 코드북으로 추가로 모델링되고 양자화되는 LP 레지듀 신호 (residue signal) 를 생성한다. 이에 따라, CELP 코딩은 시간-도메인 스피치 파형을 인코딩하는 작업을 LP 단기 필터 계수들을 인코딩하고 LP 잔여분을 인코딩하는 별도의 작업들로 분할한다. 시간-도메인 코딩은 고정된 레이트에서 (즉, 각각의 프레임에 대하여 동일한 비트들의 수 No 를 이용하여), 또는 (상이한 비트 레이트들이 상이한 타입들의 프레임 컨텐츠들에 대하여 이용되는) 가변 레이트에서 수행될 수도 있다. 가변-레이트 코더들은 코덱 파라미터들을 타겟 품질을 획득하기 위하여 적합한 레벨로 인코딩하기 위하여 필요한 비트들의 양을 이용하는 것을 시도한다.
CELP 코더와 같은 시간-도메인 코더들은 시간-도메인 스피치 파형의 정확도를 보존하기 위하여 프레임 당 높은 비트들의 수 N0 에 의존할 수도 있다. 이러한 코더들은 프레임 당 비트들의 수 No 가 상대적으로 크다면 (예컨대, 8 kbps 이상), 우수한 음성 품질을 내놓을 수도 있다. 낮은 비트 레이트들 (예컨대, 4 kbps 이하) 에서, 시간-도메인 코더들은 이용가능한 비트들의 제한된 수로 인해 높은 품질 및 강인한 성능을 유지하는 것을 실패할 수도 있다. 낮은 비트 레이트들에서, 제한된 코드북 공간은 더 높은 레이트의 상업적 애플리케이션들에서 전개되는 시간-도메인 코더들의 파형-일치 (waveform-matching) 능력을 클립핑한다. 이 때문에, 시간에 걸친 개선들에도 불구하고, 낮은 비트 레이트들에서 동작하는 다수의 CELP 코딩 시스템들은 잡음으로서 특성화된 개념적으로 상당한 왜곡을 겪는다.
낮은 비트 레이트들에서의 CELP 코더들에 대한 대안은 CELP 코더와 유사한 원리들 하에서 동작하는 "잡음 여기된 선형 예측 (Noise Excited Linear Predictive)" (NELP) 코더이다. NELP 코더들은 코드북이 아니라 스피치를 모델링하기 위하여 필터링된 의사-랜덤 (pseudo-random) 잡음 신호를 이용한다. NELP 는 코딩된 스피치에 대한 더욱 간단한 모델을 이용하므로, NELP 는 CELP 보다 더 낮은 비트 레이트를 달성한다. NELP 는 무성음 스피치 (unvoiced speech) 또는 침묵 (silence) 을 압축하거나 표현하기 위하여 이용될 수도 있다.
대략 2.4 kbps 의 레이트들에서 동작하는 코딩 시스템들은 일반적으로 본질에 있어서 파라메트릭 (parametric) 이다. 즉, 이러한 코딩 시스템들은 규칙적인 간격들로 스피치 신호의 피치-주기 및 스펙트럼 엔벨로프 (또는 포먼트들) 를 설명하는 파라미터들을 송신함으로써 동작한다. 이 소위 파라메트릭 코더들을 예시하는 것은 LP 보코더 시스템이다.
LP 보코더들은 피치 주기 당 단일 펄스를 갖는 유성음 스피치 신호 (voiced speech signal) 를 모델링한다. 이 기본적인 기법은 무엇보다도 스펙트럼 엔벨로프에 대한 송신 정보를 포함하기 위하여 확대될 수도 있다. LP 보코더들이 일반적으로 합당한 성능을 제공하지만, 이들은 버즈 (buzz) 로서 특성화된 개념적으로 상당한 왜곡을 도입할 수도 있다.
최근에는, 파형 코더들 및 파라메트릭 코더들의 양자의 하이브리드 (hybrid) 들인 코더들이 등장하였다. 이 소위 하이브리드 코더들을 예시하는 것은 프로토타입-파형 보간 (prototype-waveform interpolation; PWI) 스피치 코딩 시스템이다. PWI 코딩 시스템은 또한, 프로토타입 피치 주기 (prototype pitch period; PPP) 스피치 코더로서 알려질 수도 있다. PWI 코딩 시스템은 유성음 스피치를 코딩하기 위한 효율적인 방법을 제공한다. PWI 의 기본적인 개념은 고정된 간격들로 대표적인 피치 사이클 (프로토타입 파형) 을 추출하고, 그 설명을 송신하고, 프로토타입 파형들 사이에 보간함으로써 스피치 신호를 재구성하는 것이다. PWI 방법은 LP 잔차 신호 (residual signal) 또는 스피치 신호의 어느 하나에 대해 동작할 수도 있다.
스피치 신호 (예컨대, 코딩된 스피치 신호, 재구성된 스피치 신호, 또는 양자) 의 오디오 품질을 개선시키는 것에 연구 관심 및 상업적 관심이 있을 수도 있다. 예를 들어, 통신 디바이스는 최적보다 더 낮은 음성 품질을 갖는 스피치 신호를 수신할 수도 있다. 예시하자면, 통신 디바이스는 음성 호출 동안에 또 다른 통신 디바이스로부터 스피치 신호를 수신할 수도 있다. 음성 호출 품질은 환경적 잡음 (예컨대, 바람, 도로 잡음), 통신 디바이스들의 인터페이스들의 제한들, 통신 디바이스들에 의한 신호 프로세싱, 패킷 손실, 대역폭 제한들, 비트-레이트 제한들 등과 같은 다양한 이유들로 인해 악화될 수도 있다.
특정한 양태에서, 디바이스는 수신기, 메모리, 및 프로세서를 포함한다. 수신기는 원격 음성 프로파일을 수신하도록 구성된다. 메모리는 수신기에 전기적으로 결합된다. 메모리는 사람과 연관된 로컬 음성 프로파일을 저장하도록 구성된다. 프로세서는 메모리 및 수신기에 전기적으로 결합된다. 프로세서는 원격 음성 프로파일이 원격 음성 프로파일과 연관된 스피치 컨텐츠 또는 원격 음성 프로파일과 연관된 식별자에 기초하여, 원격 음성 프로파일이 사람과 연관되는 것으로 결정하도록 구성된다. 프로세서는 또한, 결정에 기초하여 프로파일 관리를 위한 로컬 음성 프로파일을 선택하도록 구성된다.
또 다른 양태에서, 통신을 위한 방법은 로컬 음성 프로파일을 저장하는 디바이스에서 원격 음성 프로파일을 수신하는 단계로서, 로컬 음성 프로파일은 사람과 연관되는, 상기 원격 음성 프로파일을 수신하는 단계를 포함한다. 방법은 또한, 원격 음성 프로파일 및 로컬 음성 프로파일의 비교에 기초하여, 또는 원격 음성 프로파일과 연관된 식별자에 기초하여, 원격 음성 프로파일이 사람과 연관되는 것으로 결정하는 단계를 포함한다. 방법은 결정에 기초하여, 디바이스에서, 프로파일 관리를 위한 로컬 음성 프로파일을 선택하는 단계를 더 포함한다.
또 다른 양태에서, 디바이스는 메모리 및 프로세서를 포함한다. 메모리는 복수의 대체 스피치 신호 (substitute speech signal) 들을 저장하도록 구성된다. 프로세서는 메모리에 전기적으로 결합된다. 프로세서는 텍스트-대-스피치 (text-to-speech) 변환기로부터 스피치 신호를 수신하도록 구성된다. 프로세서는 또한, 복수의 이용 모드들 중의 이용 모드를 검출하도록 구성된다. 프로세서는 복수의 인구통계학적 도메인 (demographic domain) 들 중의 인구통계학적 도메인을 선택하도록 추가로 구성된다. 프로세서는 또한, 스피치 신호, 인구통계학적 도메인, 및 이용 모드에 기초하여 복수의 대체 스피치 신호들 중의 대체 스피치 신호를 선택하도록 구성된다. 프로세서는 대체 스피치 신호에 기초하여 프로세싱된 스피치 신호를 생성하도록 추가로 구성된다. 프로세서는 또한, 프로세싱된 스피치 신호를 적어도 하나의 스피커에 제공하도록 구성된다.
본 개시물의 다른 양태들, 장점들, 및 특징들은 다음의 섹션들: 도면들의 간단한 설명, 상세한 설명, 및 청구항들을 포함하는 출원의 검토 후에 명백해질 것이다.
도 1 은 스피치 신호들을 대체하도록 동작가능한 시스템의 특정한 예시적인 양태의 블록도이고;
도 2 는 스피치 신호들을 대체하도록 동작가능한 시스템의 또 다른 예시적인 양태의 도면이고;
도 3 은 스피치 신호들을 대체하도록 동작가능한 시스템에 의해 디스플레이될 수도 있는 사용자 인터페이스의 특정한 예시적인 양태의 도면이고;
도 4 는 스피치 신호들을 대체하도록 동작가능한 시스템의 또 다른 예시적인 양태의 도면이고;
도 5 는 스피치 신호들을 대체하도록 동작가능한 시스템의 또 다른 예시적인 양태의 도면이고;
도 6 은 스피치 신호들을 대체하도록 동작가능한 시스템의 또 다른 예시적인 양태의 도면이고;
도 7 은 스피치 신호들을 대체하도록 동작가능한 시스템의 또 다른 예시적인 양태의 도면이고;
도 8 은 스피치 신호들을 대체하도록 동작가능한 시스템의 또 다른 예시적인 양태의 도면이고;
도 9 는 스피치 신호들을 대체하도록 동작가능한 시스템의 또 다른 예시적인 양태의 도면이고;
도 10 은 스피치 신호들을 대체하도록 동작가능한 시스템에 의해 이용될 수도 있는 데이터베이스의 예시적인 양태의 도면이고;
도 11 은 스피치 신호들을 대체하도록 동작가능한 시스템의 또 다른 예시적인 양태의 도면이고;
도 12 는 스피치 신호들을 대체하도록 동작가능한 시스템의 또 다른 예시적인 양태의 도면이고;
도 13 은 스피치 신호들을 대체하도록 동작가능한 시스템의 또 다른 예시적인 양태의 도면이고;
도 14 는 스피치 신호를 대체하는 방법의 특정한 양태를 예시하는 플로우차트이고;
도 15 는 복수의 대체 스피치 신호들을 포착하는 방법의 특정한 양태를 예시하는 플로우차트이고, 도 11 의 동작 (802) 에 대응할 수도 있고;
도 16 은 스피치 신호를 대체하는 방법의 또 다른 양태를 예시하는 플로우차트이고;
도 17 은 사용자 인터페이스를 생성하는 방법의 또 다른 양태를 예시하는 플로우차트이고;
도 18 은 스피치 신호를 대체하는 방법의 또 다른 양태를 예시하는 플로우차트이고; 그리고
도 19 는 도 1 내지 도 18 의 시스템들 및 방법들에 따라 스피치 신호들을 대체하도록 동작가능한 디바이스의 특정한 예시적인 양태의 블록도이다.
본원에서 설명된 원리들은 예를 들어, 헤드셋, 핸드셋, 또는 스피치 신호 대체를 수행하도록 구성되는 다른 오디오 디바이스에 적용될 수도 있다. 그 문맥에 의해 분명히 제한되지 않으면, 용어 "신호" 는 배선, 버스, 또는 다른 송신 매체 상에서 표현되는 바와 같은 메모리 위치 (memory location) (또는 메모리 위치들의 세트) 의 상태를 포함한, 그 정상적인 의미들 중의 임의의 것을 표시하기 위하여 본원에서 이용된다. 그 문맥에 의해 분명히 제한되지 않으면, 용어 "생성" 은 컴퓨팅 또는 이와 다르게 산출과 같은 그 정상적인 의미들 중의 임의의 것을 표시하기 위하여 본원에서 이용된다. 그 문맥에 의해 분명히 제한되지 않으면, 용어 "계산" 은 컴퓨팅, 평가, 평활화 (smoothing) 및/또는 복수의 값들로부터의 선택과 같은 그 정상적인 의미들 중의 임의의 것을 표시하기 위하여 본원에서 이용된다. 그 문맥에 의해 분명히 제한되지 않으면, 용어 "획득" 은 계산, 유도, (예컨대, 또 다른 컴포넌트, 블록, 또는 디바이스로부터의) 수신, 및/또는 (예컨대, 메모리 레지스터 또는 저장 엘리먼트들의 어레이로부터의) 취출과 같은 그 정상적인 의미들 중의 임의의 것을 표시하기 위하여 이용된다.
그 문맥에 의해 분명히 제한되지 않으면, 용어 "산출" 은 계산, 생성, 및/또는 제공과 같은 그 정상적인 의미들 중의 임의의 것을 표시하기 위하여 이용된다. 그 문맥에 의해 분명히 제한되지 않으면, 용어 "제공" 은 계산, 생성, 및/또는 산출과 같은 그 정상적인 의미들 중의 임의의 것을 표시하기 위하여 이용된다. 그 문맥에 의해 분명히 제한되지 않으면, 용어 "결합된" 은 직접적인 또는 간접적인 전기적 또는 물리적 접속을 표시하기 위하여 이용된다. 접속이 간접적일 경우, "결합" 되고 있는 구조들 사이에 다른 블록들 또는 컴포넌트들이 있을 수도 있다는 것이 당해 분야의 당업자에 의해 양호하게 이해된다.
용어 "구성" 은 그 특정한 문맥에 의해 표시된 바와 같이 방법, 장치/디바이스, 및/또는 시스템을 참조하여 이용될 수도 있다. 용어 "포함" 이 본 설명 및 청구항들에서 이용될 경우, 그것은 다른 엘리먼트들 또는 동작들을 제외하지 않는다. ("A 는 B 에 기초한다" 에서와 같은) 용어 "기초하는" 은 (i) "적어도 기초하는" (예컨대, "A 는 적어도 B 에 기초한다"), 그리고 적절한 경우에 특정한 문맥에서 (ii) "~ 와 동일한" (예컨대, "A 는 B 와 동일하다") 의 경우들을 포함하는 그 정상적인 의미들 중의 임의의 것을 표시하기 위하여 이용된다. (i) A 가 B 에 기초하는 것이 적어도 기초하는 것을 포함할 경우, 이것은 A 가 B 에 결합되는 구성을 포함할 수도 있다. 유사하게, 용어 "~ 에 응답하여" 는 "적어도 ~ 에 응답하여" 를 포함하는 그 정상적인 의미들 중의 임의의 것을 표시하기 위하여 이용된다. 용어 "적어도 하나" 는 "하나 이상" 을 포함하는 그 정상적인 의미들 중의 임의의 것을 표시하기 위하여 이용된다. 용어 "적어도 둘" 은 "둘 이상" 을 포함하는 그 정상적인 의미들 중의 임의의 것을 표시하기 위하여 이용된다.
용어들 "장치" 및 "디바이스" 는 특정한 문맥에 의해 이와 다르게 표시되지 않으면 총칭하여 그리고 상호 교환가능하게 이용된다. 이와 다르게 표시되지 않으면, 특정한 특징을 갖는 장치의 동작의 임의의 개시내용은 또한, 유사한 특징을 갖는 방법을 개시하도록 분명히 의도된 것이고 (그리고 그 반대도 성립함), 특정한 구성에 따른 장치의 동작의 임의의 개시내용은 또한 유사한 구성에 따른 방법을 개시하도록 분명히 의도된 것이다 (그리고 그 반대도 성립함). 용어들 "방법", "프로세스", "절차", 및 "기법" 은 특정한 문맥에 의해 이와 다르게 표시되지 않으면 총칭하여 그리고 상호 교환가능하게 이용된다. 용어들 "엘리먼트" 및 "모듈" 은 더 큰 구성의 부분을 표시하기 위하여 이용될 수도 있다. 문서의 부분의 참조에 의한 임의의 편입은 부분 내에서 참조되는 용어들 또는 변수들의 정의들을 편입하도록 또한 이해되어야 할 것이고, 여기서, 이러한 정의들은 편입된 부분에서 참조된 임의의 도면들뿐 아니라, 문서 내의 다른 곳에도 나타난다.
본원에서 이용된 바와 같이, 용어 "통신 디바이스" 는 무선 통신 네트워크 상에서의 음성 및/또는 데이터 통신을 위하여 이용될 수도 있는 전자 디바이스를 지칭한다. 통신 디바이스들의 예들은 셀룰러 전화들, 개인 정보 단말 (personal digital assistant; PDA) 들, 핸드헬드 디바이스들, 헤드셋들, 무선 모뎀들, 랩톱 컴퓨터들, 개인용 컴퓨터들 등을 포함한다.
도 1 을 참조하면, 스피치 신호들을 대체하도록 동작가능한 시스템의 특정한 예시적인 양태가 개시되고 100 으로 전반적으로 지시된다. 시스템 (100) 은 네트워크 (120) 를 통해 하나 이상의 다른 디바이스들 (예컨대, 이동 디바이스 (104), 데스크톱 컴퓨터 (106) 등) 과 통신하는 제 1 디바이스 (102) 를 포함할 수도 있다. 이동 디바이스 (104) 는 마이크로폰 (146) 에 결합될 수도 있거나 마이크로폰 (146) 과 통신할 수도 있다. 데스크톱 컴퓨터 (106) 는 마이크로폰 (144) 에 결합될 수도 있거나 마이크로폰 (144) 과 통신할 수도 있다. 제 1 디바이스 (102) 는 하나 이상의 스피커들 (142) 에 결합될 수도 있다. 제 1 디바이스 (102) 는 신호 프로세싱 모듈 (122) 및 제 1 데이터베이스 (124) 를 포함할 수도 있다. 제 1 데이터베이스 (124) 는 대체 스피치 신호들 (112) 을 저장하도록 구성될 수도 있다.
제 1 디바이스 (102) 는 도 1 에서 예시된 것보다 더 적거나 더 많은 컴포넌트들을 포함할 수도 있다. 예를 들어, 제 1 디바이스 (102) 는 하나 이상의 프로세서들, 하나 이상의 메모리 유닛들, 또는 양자를 포함할 수도 있다. 제 1 디바이스 (102) 는 네트워크화된 또는 분산된 컴퓨팅 시스템을 포함할 수도 있다. 특정한 예시적인 양태에서, 디바이스 (102) 는 이동 통신 디바이스, 스마트폰, 셀룰러 전화, 랩톱 컴퓨터, 컴퓨터, 태블릿, 개인 정보 단말, 디스플레이 디바이스, 텔레비전, 게임용 콘솔, 음악 플레이어, 라디오, 디지털 비디오 플레이어, 디지털 비디오 디스크 (digital video disc; DVD) 플레이어, 튜너, 카메라, 내비게이션 디바이스, 또는 그 조합을 포함할 수도 있다. 이러한 디바이스들은 사용자 인터페이스 (예컨대, 터치 스크린, 음성 인식 능력, 또는 다른 사용자 인터페이스 능력들) 를 포함할 수도 있다.
동작 동안, 제 1 디바이스 (102) 는 사용자 스피치 신호 (예컨대, 제 1 사용자 스피치 신호 (130), 제 2 사용자 스피치 신호 (132), 또는 양자) 를 수신할 수도 있다. 예를 들어, 제 1 사용자 (152) 는 제 2 사용자 (154) 와의 음성 호출에 관여될 수도 있다. 제 1 사용자 (152) 는 제 1 디바이스 (102) 를 이용할 수도 있고, 제 2 사용자 (154) 는 음성 호출을 위해 이동 디바이스 (104) 를 이용할 수도 있다. 음성 호출 동안, 제 2 사용자 (154) 는 이동 디바이스 (104) 에 결합된 마이크로폰 (146) 에 말할 수도 있다. 제 1 사용자 스피치 신호 (130) 는 제 2 사용자 (154) 가 말한 다수의 단어들, 단어, 또는 단어의 부분에 대응할 수도 있다. 이동 디바이스 (104) 는 마이크로폰 (146) 을 통해, 제 2 사용자 (154) 로부터 제 1 사용자 스피치 신호 (130) 를 수신할 수도 있다. 특정한 양태에서, 마이크로폰 (146) 은 오디오 신호를 캡처할 수도 있고, 아날로그-대-디지털 변환기 (analog-to-digital converter; ADC) 는 캡처된 오디오 신호를 아날로그 파형으로부터, 디지털 오디오 샘플들로 구성된 디지털 파형으로 변환할 수도 있다. 디지털 오디오 샘플들은 디지털 신호 프로세서에 의해 프로세싱될 수도 있다. 이득 조절기는 오디오 신호 (예컨대, 아날로그 파형 또는 디지털 파형) 의 진폭 레벨을 증가시키거나 감소시킴으로써 (예컨대, 아날로그 파형 또는 디지털 파형의) 이득을 조절할 수도 있다. 이득 조절기들은 아날로그 또는 디지털 도메인의 어느 하나에서 동작할 수도 있다. 예를 들어, 이득 조절기는 디지털 도메인에서 동작할 수도 있고, 아날로그-대-디지털 변환기에 의해 산출된 디지털 오디오 샘플들을 조절할 수도 있다. 이득 조절 후에, 에코 상쇄기 (echo canceller) 는 마이크로폰 (146) 에 진입하는 스피커의 출력에 의해 생성되었을 수도 있는 임의의 에코 (echo) 를 감소시킬 수도 있다. 디지털 오디오 샘플들은 보코더 (음성 인코더-디코더) 에 의해 "압축" 될 수도 있다. 에코 상쇄기의 출력은 보코더 프리-프로세싱 블록들, 예컨대, 필터들, 잡음 프로세서들, 레이트 변환기들 등에 결합될 수도 있다. 보코더의 인코더는 디지털 오디오 샘플들을 압축할 수도 있고, 송신 패킷 (디지털 오디오 샘플들의 압축된 비트들의 표현) 을 형성할 수도 있다. 송신 패킷은 이동 디바이스 (104) 의 프로세서와 공유될 수도 있는 메모리 내에 저장될 수도 있다. 프로세서는 디지털 신호 프로세서와 통신하는 제어 프로세서일 수도 있다.
이동 디바이스 (104) 는 네트워크 (120) 를 통해 제 1 사용자 스피치 신호 (130) 를 제 1 디바이스 (102) 로 송신할 수도 있다. 예를 들어, 이동 디바이스 (104) 는 트랜시버를 포함할 수도 있다. 트랜시버는 송신 패킷의 일부 형태 (다른 정보는 송신 패킷에 첨부될 수도 있음) 를 변조할 수도 있고, 안테나를 통해 무선 상으로 변조된 정보를 전송할 수도 있다.
제 1 디바이스 (102) 의 신호 프로세싱 모듈 (122) 은 제 1 사용자 스피치 신호 (130) 를 수신할 수도 있다. 예를 들어, 제 1 디바이스 (102) 의 안테나는 송신 패킷을 포함하는 일부의 형태의 착신되는 패킷들을 수신할 수도 있다. 송신 패킷은 제 1 디바이스 (102) 에서의 보코더의 디코더에 의해 "압축해제 (uncompress)" 될 수도 있다. 압축해제된 파형은 재구성된 오디오 샘플들로서 지칭될 수도 있다. 재구성된 오디오 샘플들은 보코더 포스트-프로세싱 (post-processing) 블록들에 의해 포스트-프로세싱될 수도 있고, 에코를 제거하기 위하여 에코 상쇄기에 의해 이용될 수도 있다. 명료성을 위하여, 보코더의 디코더 및 보코더 포스트-프로세싱 블록들은 보코더 디코더 모듈로서 지칭될 수도 있다. 일부 구성들에서, 에코 상쇄기의 출력은 신호 프로세싱 모듈 (122) 에 의해 프로세싱될 수도 있다. 대안적으로, 다른 구성들에서, 보코더 디코더 모듈의 출력은 신호 프로세싱 모듈 (122) 에 의해 프로세싱될 수도 있다.
제 1 디바이스 (102) 에 의해 수신된 바와 같은 제 1 사용자 스피치 신호 (130) 의 오디오 품질은 제 2 사용자 (154) 가 전송하였던 제 1 사용자 스피치 신호 (130) 의 오디오 품질보다 더 낮을 수도 있다. 제 1 사용자 스피치 신호 (130) 의 오디오 품질은 다양한 이유들로 인해 제 1 디바이스 (102) 로의 송신 동안에 열화될 수도 있다. 예를 들어, 제 2 사용자 (154) 는 음성 호출 동안에 잡음 위치 (예컨대, 붐비는 도로, 콘서트 등) 에 있을 수도 있다. 마이크로폰 (146) 에 의해 수신된 제 1 사용자 스피치 신호 (130) 는 제 2 사용자 (154) 가 말한 단어들에 추가하여 사운드 (sound) 들을 포함할 수도 있다. 또 다른 예로서, 마이크로폰 (146) 은 사운드를 캡처하기 위한 제한된 용량을 가질 수도 있거나, 이동 디바이스 (104) 는 일부의 사운드 정보를 손실시키는 방식으로 사운드를 프로세싱할 수도 있거나, 제 1 사용자 스피치 신호 (130) 에 대응하는 패킷들의 송신 동안에 네트워크 (120) 내에서 패킷 손실이 있을 수도 있거나, 또는 그 임의의 조합일 수도 있다.
신호 프로세싱 모듈 (122) 은 스피치 신호 (예컨대, 제 1 사용자 스피치 신호 (130), 제 2 사용자 스피치 신호 (132), 또는 양자) 의 부분을 대체 스피치 신호들 (112) 중의 하나 이상과 비교할 수도 있다. 예를 들어, 제 1 사용자 스피치 신호 (130) 는 제 2 사용자 (154) 가 말한 단어 (예컨대, "cat") 에 대응할 수도 있고, 제 1 사용자 스피치 신호 (130) 의 제 1 부분 (162) 은 단어의 부분 (예컨대, "c", "a", "t", "ca", "at", 또는 "cat") 에 대응할 수도 있다. 신호 프로세싱 모듈 (122) 은 비교에 기초하여, 제 1 부분 (162) 이 대체 스피치 신호들 (112) 의 제 1 대체 스피치 신호 (172) 와 일치하는 것으로 결정할 수도 있다. 예를 들어, 제 1 부분 (162) 및 제 1 대체 스피치 신호 (172) 는 공통 사운드 (예컨대, "c") 를 표현할 수도 있다. 공통 사운드는 음소 (phoneme), 다이폰 (diphone), 트라이폰 (triphone), 음절 (syllable), 단어, 또는 그 조합을 포함할 수도 있다.
특정한 양태에서, 신호 프로세싱 모듈 (122) 은 제 1 부분 (162) 및 제 1 대체 스피치 신호 (172) 가 샘플들의 유한한 세트와 같은 공통 사운드를 표현하지 않더라도, 제 1 부분 (162) 이 제 1 대체 스피치 신호 (172) 와 일치하는 것으로 결정할 수도 있다. 제 1 부분 (162) 은 샘플들의 제 1 세트 (예컨대, 단어 "do") 에 대응할 수도 있고, 제 1 대체 스피치 신호 (172) 는 샘플들의 제 2 세트 (예컨대, 단어 "to") 에 대응할 수도 있다. 예를 들어, 신호 프로세싱 모듈 (122) 은 제 1 부분 (162) 이 대체 스피치 신호들 (112) 의 다른 대체 스피치 신호들과 비교하여 제 1 대체 스피치 신호 (172) 에 대해 더 높은 유사성을 가지는 것으로 결정할 수도 있다.
제 1 대체 스피치 신호 (172) 는 제 1 부분 (162) 보다 더 높은 오디오 품질 (예컨대, 더 높은 신호-대-잡음 비율 값) 을 가질 수도 있다. 예를 들어, 대체 스피치 신호들 (112) 은 도 2 를 참조하여 추가로 설명된 바와 같이, 이전에 레코딩된 단어들 또는 제 2 사용자 (154) 가 말한 단어들의 부분들에 대응할 수도 있다.
특정한 양태에서, 신호 프로세싱 모듈 (122) 은 제 1 부분 (162) 에 대응하는 파형을 제 1 대체 스피치 신호 (172) 에 대응하는 또 다른 파형과 비교함으로써, 제 1 부분 (162) 이 제 1 대체 스피치 신호 (172) 와 일치하는 것으로 결정할 수도 있다. 특정한 양태에서, 신호 프로세싱 모듈 (122) 은 제 1 부분 (162) 에 대응하는 특징들의 서브세트를, 제 1 대체 스피치 신호 (172) 에 대응하는 특징들의 또 다른 서브세트와 비교할 수도 있다. 예를 들어, 신호 프로세싱 모듈 (122) 은 제 1 부분 (162) 에 대응하는 복수의 스피치 파라미터들을, 제 1 대체 스피치 신호 (172) 에 대응하는 또 다른 복수의 스피치 파라미터들과 비교함으로써, 제 1 부분 (162) 이 제 1 대체 스피치 신호 (172) 와 일치하는 것으로 결정할 수도 있다. 복수의 스피치 파라미터들은 피치 파라미터, 에너지 파라미터, 선형 예측 코딩 (linear predictive coding; LPC) 파라미터, 멜-주파수 켑스트럴 계수들 (mel-frequency cepstral coefficients; MFCC), 라인 스펙트럼 쌍들 (line spectral pairs; LSP), 라인 스펙트럼 주파수들 (line spectral frequencies; LSF), 켑스트럴 (cepstral), 라인 스펙트럼 정보 (line spectral information; LSI), 이산 코사인 변환 (discrete cosine transform; DCT) 파라미터 (예컨대, 계수), 이산 푸리에 변환 (discrete fourier transform; DFT) 파라미터, 고속 푸리에 변환 (fast fourier transform; FFT) 파라미터, 포먼트 주파수들, 또는 그 임의의 조합을 포함할 수도 있다. 신호 프로세싱 모듈 (122) 은 벡터 양자화기 (vector quantizer), 은닉 마코프 모델 (hidden markov model; HMM), 또는 가우시안 혼합 모델 (gaussian mixture model; GMM) 중의 적어도 하나를 이용하여 복수의 스피치 파라미터들의 값들을 결정할 수도 있다.
신호 프로세싱 모듈 (122) 은 제 1 사용자 스피치 신호 (130) 의 제 1 부분 (162) 을 제 1 대체 스피치 신호 (172) 와 대체함으로써 프로세싱된 스피치 신호 (예컨대, 제 1 프로세싱된 스피치 신호 (116)) 를 생성할 수도 있다. 예를 들어, 신호 프로세싱 모듈 (122) 은 제 1 사용자 스피치 신호 (130) 를 복사할 수도 있고, 복사된 사용자 스피치 신호로부터 제 1 부분 (162) 을 제거할 수도 있다. 신호 프로세싱 모듈 (122) 은 제 1 부분 (162) 이 제거되었던 복사된 사용자 스피치 신호의 위치에서 제 1 대체 스피치 신호 (172) 및 복사된 사용자 스피치 신호를 연결 (예컨대, 스플라이싱) 함으로써 제 1 프로세싱된 스피치 신호 (116) 를 생성할 수도 있다.
특정한 양태에서, 제 1 프로세싱된 스피치 신호 (116) 는 다수의 대체 스피치 신호들을 포함할 수도 있다. 특정한 양태에서, 신호 프로세싱 모듈 (122) 은 중간 대체 스피치 신호 (intermediate substitute speech signal) 를 생성하기 위하여 제 1 대체 스피치 신호 (172) 및 또 다른 대체 스피치 신호를 스플라이싱할 수도 있다. 이 양태에서, 신호 프로세싱 모듈 (122) 은 제 1 부분 (162) 이 제거되었던 위치에서 중간 대체 스피치 신호 및 복사된 사용자 스피치 신호를 스플라이싱할 수도 있다. 대안적인 양태에서, 제 1 프로세싱된 스피치 신호 (116) 는 반복적으로 생성될 수도 있다. 제 1 반복 동안, 신호 프로세싱 모듈 (122) 은 제 2 부분이 복사된 사용자 스피치 신호로부터 제거되는 위치에서 다른 대체 스피치 신호 및 복사된 사용자 스피치 신호를 스플라이싱함으로써 중간 프로세싱된 스피치 신호를 생성할 수도 있다. 중간 프로세싱된 스피치 신호는 후속 반복 동안에 제 1 사용자 스피치 신호 (130) 에 대응할 수도 있다. 예를 들어, 신호 프로세싱 모듈 (122) 은 중간 프로세싱된 스피치 신호로부터 제 1 부분 (162) 을 제거할 수도 있다. 신호 프로세싱 모듈 (122) 은 제 1 부분 (162) 이 제거되었던 위치에서 제 1 대체 스피치 신호 (172) 및 중간 프로세싱된 스피치 신호를 스플라이싱함으로써 제 1 프로세싱된 스피치 신호 (116) 를 생성할 수도 있다.
이러한 스플라이싱 및 복사 동작들은 오디오 신호의 디지털 표현에 대하여 프로세서에 의해 수행될 수도 있다. 특정한 양태에서, 제 1 프로세싱된 스피치 신호 (116) 는 이득 조절기에 의해 증폭될 수도 있거나 억압될 수도 있다. 제 1 디바이스 (102) 는 스피커들 (142) 을 통해, 제 1 프로세싱된 스피치 신호 (116) 를 제 1 사용자 (152) 에게 출력할 수도 있다. 예를 들어, 이득 조절기의 출력은 디지털-대-아날로그-변환기에 의해 디지털 신호로부터 아날로그 신호로 변환될 수도 있고, 스피커들 (142) 을 통해 플레이 아웃 (play out) 될 수도 있다.
특정한 양태에서, 이동 디바이스 (104) 는 제 1 사용자 스피치 신호 (130) 를 제 1 디바이스 (102) 로 전송하기 전에, 제 1 사용자 스피치 신호 (130) 와 연관된 하나 이상의 스피치 파라미터들을 수정할 수도 있다. 특정한 양태에서, 이동 디바이스 (104) 는 신호 프로세싱 모듈 (122) 을 포함할 수도 있다. 이 양태에서, 하나 이상의 스피치 파라미터들은 이동 디바이스 (104) 의 신호 프로세싱 모듈 (122) 에 의해 수정될 수도 있다. 특정한 양태에서, 이동 디바이스 (104) 는 대체 스피치 신호 (112) 를 액세스할 수도 있다. 예를 들어, 이동 디바이스 (104) 는 도 2 를 참조하여 추가로 설명된 바와 같이, 서버로부터 대체 스피치 신호들 (112) 을 이전에 수신하였을 수도 있다.
이동 디바이스 (104) 는 제 1 사용자 스피치 신호 (130) 의 제 1 부분 (162) 을 대체 스피치 신호들 (112) 과 비교할 때에 일치를 구함에 있어서 신호 프로세싱 모듈 (122) 을 보조하기 위하여 하나 이상의 스피치 파라미터들을 수정할 수도 있다. 예를 들어, 이동 디바이스 (104) 는 (예컨대, "catatonic" 으로부터의 "c" 에 대응하는) 제 1 대체 스피치 신호 (172) 가 (예컨대, "cola" 로부터의 "c" 에 대응하는) 제 2 대체 스피치 신호 (174) 보다, 제 1 사용자 스피치 신호 (130) (예컨대, "cat") 의 제 1 부분 (162) (예컨대, "c") 에 대한 더욱 양호한 일치인 것으로 결정할 수도 있다. 이동 디바이스 (104) 는 제 1 대체 스피치 신호 (172) 가 제 2 대체 스피치 신호 (174) 보다 더욱 양호한 일치인 것으로 결정함에 있어서 신호 프로세싱 모듈 (122) 을 보조하기 위하여 제 1 부분 (162) 의 하나 이상의 스피치 파라미터들을 수정할 수도 있다. 예를 들어, 이동 디바이스 (104) 는 피치 파라미터, 에너지 파라미터, 선형 예측 코딩 (LPC) 파라미터, 또는 그 조합을 수정할 수도 있어서, 수정된 파라미터는 제 2 대체 스피치 신호 (174) 의 대응하는 파라미터보다 제 1 대체 스피치 신호 (172) 의 대응하는 파라미터에 더 근접해 있다.
특정한 양태에서, 이동 디바이스 (104) 는 하나 이상의 송신 파라미터들을 제 1 디바이스 (102) 로 전송할 수도 있다. 특정한 양태에서, 이동 디바이스 (104) 의 신호 프로세싱 모듈 (122) 은 송신 파라미터들을 제 1 디바이스 (102) 로 전송할 수도 있다. 송신 파라미터들은 이동 디바이스 (104) 가 제 1 부분 (162) 에 대한 일치인 것으로 결정하였던 특정한 대체 스피치 신호 (예컨대, 제 1 대체 스피치 신호 (172)) 를 식별할 수도 있다. 또 다른 예로서, 송신 파라미터는 벡터 양자화기 테이블 (vector quantizer table) 에서 특정한 벡터 양자화기를 위치시킴에 있어서 제 1 디바이스 (102) 를 보조하기 위하여 특정한 벡터 양자화기 테이블 엔트리 인덱스 번호 (vector quantizer table entry index number) 를 포함할 수도 있다.
수정된 스피치 파라미터들, 송신 파라미터들, 또는 양자는 제 1 부분 (162) 과 일치하는 대체 스피치 신호를 선택함에 있어서 신호 프로세싱 모듈 (122) 을 보조할 수도 있다. 프로세싱된 스피치 신호 (예컨대, 제 1 프로세싱된 스피치 신호 (116), 제 2 프로세싱된 스피치 신호 (118)) 를 생성하는 효율은 또한 증가할 수도 있다. 예를 들어, 신호 프로세싱 모듈 (122) 은 송신 파라미터들이 특정한 대체 스피치 신호 (예컨대, 제 1 대체 스피치 신호 (172)) 를 식별할 때에 제 1 부분 (162) 을 대체 스피치 신호들 (112) 의 각각과 비교하지 않을 수도 있어서, 제 1 프로세싱된 스피치 신호 (116) 를 생성함에 있어서 증가된 효율로 귀착될 수도 있다.
특정한 양태에서, 제 1 디바이스 (102) 의 신호 프로세싱 모듈 (122) 은 제 1 부분 (162) 을 포함할 수도 있는 단어를 예측하기 위하여 단어 예측 알고리즘을 이용할 수도 있다. 예를 들어, 단어 예측 알고리즘은 제 1 사용자 스피치 신호 (130) 를 예측하였던 단어들에 기초하여 단어를 예측할 수도 있다. 예시하자면, 단어 예측 알고리즘은 단어 및 선행 단어들에 관련된, 주어-동사 일치, 단어 관계들, 문법 규칙들, 또는 그 조합에 기초하여 단어를 결정할 수도 있다. 또 다른 예로서, 단어 예측 알고리즘은 선행 단어들에서의 단어의 빈도에 기초하여 단어를 결정할 수도 있고, 여기서, 단어는 제 1 부분 (162) 에 대응하는 사운드를 포함한다. 예시하자면, 특정한 단어들은 특정한 대화에서 빈번하게 반복될 수도 있다. 신호 프로세싱 모듈 (122) 은 임계 횟수 (예컨대, 2) 보다 더 큰 단어 "cat" 을 포함하는 선행 단어들에 기초하여, "c" 에 대응하는 제 1 부분 (162) 이 단어 "cat" 의 일부인 것으로 예측할 수도 있다. 신호 프로세싱 모듈 (122) 은 예측된 단어에 기초하여 제 1 대체 스피치 신호 (172) 를 선택할 수도 있다. 예를 들어, 제 1 대체 스피치 신호 (172), 대체 스피치 신호들 (112) 의 또 다른 대체 스피치, 및 제 1 부분 (162) 은 공통 사운드 (예컨대, "c") 에 모두 대응할 수도 있다. 신호 프로세싱 모듈 (122) 은 제 1 대체 스피치 신호 (172) 가 "catatonic" 으로부터 생성되었고 다른 대체 스피치 신호는 "cola" 로부터 생성되었다는 것으로 결정할 수도 있다. 신호 프로세싱 모듈 (122) 은 제 1 대체 스피치 신호 (172) 가 다른 대체 스피치 신호보다 예측된 단어에 더 근접한 것으로 결정하는 것에 기초하여, 다른 대체 스피치 신호 (172) 를 위하여 제 1 대체 스피치 신호 (172) 를 선택할 수도 있다.
특정한 양태에서, 신호 프로세싱 모듈 (122) 은 프로세싱된 스피치 신호 (예컨대, 제 1 프로세싱된 스피치 신호 (116) 또는 제 2 프로세싱된 스피치 신호 (118)) 가 스피치 신호 임계치를 충족시키지 않는 것으로 결정할 수도 있다. 예를 들어, 신호 프로세싱 모듈 (122) 은 제 1 프로세싱된 스피치 신호 (116) 의 스피치 파라미터의 변동이 임계 스피치 파라미터 변동을 충족시키지 않는 것으로 결정할 수도 있다. 예시하자면, 스피치 파라미터의 변동은 제 1 대체 스피치 신호 (172) 와, 제 1 프로세싱된 스피치 신호 (116) 의 또 다른 부분과의 사이의 천이 (transition) 에 대응할 수도 있다. 특정한 양태에서, 신호 프로세싱 모듈 (122) 은 스피치 파라미터의 변동을 감소시키기 위한 평활화 알고리즘을 이용하여 제 1 프로세싱된 스피치 신호 (116) 를 수정할 수도 있다. 또 다른 특정한 양태에서, 신호 프로세싱 모듈 (122) 은 임계 스피치 파라미터를 충족시키지 않는 스피치 파라미터의 변동에 응답하여 제 1 프로세싱된 스피치 신호 (116) 를 폐기할 수도 있다. 이 양태에서, 신호 프로세싱 모듈 (122) 은 제 1 사용자 스피치 신호 (130) 를 스피커들 (142) 을 통해 제 1 사용자 (152) 에게 출력할 수도 있다.
특정한 양태에서, 제 1 디바이스 (102) 는 사용자 입력을 수신하는 것에 기초하여, 프로세싱된 스피치 신호 (예컨대, 제 1 프로세싱된 스피치 신호 (116), 제 2 프로세싱된 스피치 신호 (118)) 및 사용자 스피치 신호 (예컨대, 제 1 사용자 스피치 신호 (130), 제 2 사용자 스피치 신호 (132)) 를 출력하는 것 사이에서 전환할 수도 있다. 예를 들어, 제 1 디바이스 (102) 는 제 1 사용자 (152) 로부터, 스피치 신호 대체가 활성화되어야 한다는 것을 표시하는 제 1 입력을 수신할 수도 있다. 제 1 입력에 응답하여, 제 1 디바이스 (102) 는 스피커들 (142) 을 통해 제 1 프로세싱된 스피치 신호 (116) 를 출력할 수도 있다. 또 다른 예로서, 제 1 디바이스 (102) 는 제 1 사용자 (152) 로부터, 스피치 신호 대체가 비활성화되어야 한다는 것을 표시하는 제 2 입력을 수신할 수도 있다. 제 2 입력에 응답하여, 제 1 디바이스 (102) 는 스피커들 (142) 을 통해 제 1 사용자 스피치 신호 (130) 를 출력할 수도 있다. 특정한 양태에서, 신호 프로세싱 모듈 (122) 은 사용자 (예컨대, 제 1 사용자 (152)) 가 대체 스피치 신호들 (112) 을 관리하는 것을 가능하게 하기 위한 사용자 인터페이스를 포함할 수도 있다. 이 양태에서, 제 1 디바이스 (102) 는 신호 프로세싱 모듈 (122) 의 사용자 인터페이스를 통해 제 1 입력, 제 2 입력, 또는 양자를 수신할 수도 있다.
특정한 양태에서, 신호 프로세싱 모듈 (122) 은 음성 호출, 예컨대, 제 1 사용자 (152) 와 제 2 사용자 (154) 사이의 호출 동안에, 제 1 사용자 스피치 신호 (130) 를 수신할 수도 있고, 음성 호출 동안에 제 1 프로세싱된 스피치 신호 (116) 를 생성할 수도 있다. 또 다른 특정한 양태에서, 신호 프로세싱 모듈 (122) 은 제 1 사용자 스피치 신호 (130) 를 (예컨대, 제 2 사용자 (154) 로부터의 메시지로서) 수신할 수도 있고, 제 1 프로세싱된 스피치 신호 (116) 를 추후에 생성할 수도 있고, 제 1 사용자 (152) 로의 더 이후의 재생 (playback) 을 위하여 제 1 프로세싱된 스피치 신호 (116) 를 저장할 수도 있다.
특정한 양태에서, 신호 프로세싱 모듈 (122) 은 어느 디바이스 (예컨대, 데스크톱 컴퓨터 (106), 이동 디바이스 (104)) 가 사용자 스피치 신호를 전송하는지에 관계 없이, 특정한 사용자 (예컨대, 제 2 사용자 (154)) 에 대응하는 사용자 스피치 신호 (예컨대, 제 1 사용자 스피치 신호 (130), 제 2 사용자 스피치 신호 (132)) 의 부분을 대체하기 위하여 대체 스피치 신호들 (112) 을 이용할 수도 있다. 예를 들어, 신호 프로세싱 모듈 (122) 은 마이크로폰 (144), 데스크톱 컴퓨터 (106), 및 네트워크 (120) 를 통해 제 2 사용자 (154) 로부터 제 2 사용자 스피치 신호 (132) 를 수신할 수도 있다. 신호 프로세싱 모듈 (122) 은 제 2 사용자 스피치 신호 (132) 의 제 2 부분 (164) 을 대체 스피치 신호들 (112) 의 제 2 대체 스피치 신호 (174) 와 대체함으로써 제 2 프로세싱된 스피치 신호 (118) 를 생성할 수도 있다.
특정한 양태에서, 신호 프로세싱 모듈 (122) 은 사용자 스피치 신호 (예컨대, 제 1 사용자 스피치 신호 (130), 제 2 사용자 스피치 신호 (132)) 에 기초하여 수정된 대체 스피치 신호 (예컨대, 수정된 대체 스피치 신호 (176)) 를 생성할 수도 있다. 예를 들어, 제 1 사용자 스피치 신호 (130) 의 제 1 부분 (162) 및 제 1 대체 스피치 신호 (172) 는 공통 사운드에 대응할 수도 있고, 제 2 사용자 (154) 에 의해 이용된 상이한 어조 (tone) 또는 억양 (inflection) 에 각각 대응할 수도 있다. 예를 들어, 제 1 사용자 스피치 신호 (130) 는 제 2 사용자 (154) 에 의한 놀란 발언 (surprised utterance) 에 대응할 수도 있는 반면, 제 1 대체 스피치 신호 (172) 는 차분한 발언에 대응할 수도 있다. 신호 프로세싱 모듈 (122) 은 제 1 사용자 스피치 신호 (130) 에 대응하는 스피치 파라미터들에 기초하여 제 1 대체 스피치 신호 (172) 를 수정함으로써 수정된 대체 스피치 신호 (176) 를 생성할 수도 있다. 예를 들어, 신호 프로세싱 모듈 (122) 은 수정된 대체 스피치 신호 (176) 를 생성하기 위하여 제 1 대체 스피치 신호 (172) 의 피치 파라미터, 에너지 파라미터, 또는 선형 예측 코딩 파라미터 중의 적어도 하나를 수정할 수도 있다. 신호 프로세싱 모듈 (122) 은 수정된 대체 스피치 신호 (176) 를 제 1 데이터베이스 (124) 에서의 대체 스피치 신호들 (112) 에 추가할 수도 있다. 특정한 양태에서, 제 1 디바이스 (102) 는 수정된 대체 스피치 신호 (176) 를, 제 2 사용자 (154) 와 연관된 대체 스피치 신호들 (112) 의 복사본을 유지하는 서버로 전송할 수도 있다.
이에 따라, 시스템 (100) 은 스피치 신호들의 대체를 가능하게 할 수도 있다. 특정한 사용자와 연관된 사용자 스피치 신호의 부분은 동일한 사용자와 연관된 더 높은 오디오 품질 대체 스피치 신호에 의해 대체될 수도 있다.
도 2 를 참조하면, 스피치 신호들을 대체하도록 동작가능한 시스템의 특정한 예시적인 양태가 개시되고 200 으로 전반적으로 지시된다. 시스템 (200) 은 도 1 의 네트워크 (120) 를 통해 제 1 디바이스 (102) 및 이동 디바이스 (104) 에 결합되거나 이와 통신하는 서버 (206) 를 포함할 수도 있다. 이동 디바이스 (104) 는 도 1 의 신호 프로세싱 모듈 (122) 을 포함할 수도 있다. 서버 (206) 는 스피치 신호 관리기 (262) 및 제 2 데이터베이스 (264) 를 포함할 수도 있다.
도 2 는 제 1 디바이스 (102), 이동 디바이스 (104), 또는 양자에 의한 대체 스피치 신호들 (112) 의 포착을 예시한다. 동작 동안, 제 2 사용자 (154) 는 트레이닝 스피치 신호 (training speech signal) (예컨대, 트레이닝 스피치 신호 (272)) 를 서버 (206) 로 전송할 수도 있다. 예를 들어, 제 2 사용자 (154) 는 새로운 종업원일 수도 있고, 종업원 오리엔테이션의 일부로서의 텍스트의 스크립트를 판독하도록 요청받을 수도 있다. 제 2 사용자 (154) 는 이동 디바이스 (104) 의 마이크로폰 (244) 으로의 단어들의 스크립트를 판독함으로써 트레이닝 스피치 신호 (272) 를 전송할 수도 있다. 예를 들어, 제 2 사용자 (154) 는 조용한 환경에서 스크립트를 판독하기 위하여 사운드 부스 (sound booth) 설정에서 스크립트를 판독할 수도 있다. 이동 디바이스 (104) 의 신호 프로세싱 모듈 (122) 은 트레이닝 스피치 신호 (272) 를 네트워크 (120) 를 통해 서버 (206) 로 전송할 수도 있다.
스피치 신호 관리기 (262) 는 트레이닝 스피치 신호 (272) 로부터 대체 스피치 신호들 (112) 을 생성할 수도 있다. 예를 들어, 트레이닝 스피치 신호 (272) 는 단어 (예컨대, "catatonic") 에 대응할 수도 있다. 스피치 신호 관리기 (262) 는 대체 스피치 신호들 (112) 의 각각을 생성하기 위하여 트레이닝 스피치 신호 (272) 의 특정한 부분을 복사할 수도 있다. 예시하자면, 스피치 신호 관리기 (262) 는 제 3 대체 스피치 신호 (220) (예컨대, "catatonic") 를 생성하기 위하여 트레이닝 스피치 신호 (272) 를 복사할 수도 있다. 스피치 신호 관리기 (262) 는 제 4 대체 스피치 신호 (224) (예컨대, "ta") 를 생성하기 위하여 트레이닝 스피치 신호 (272) 의 부분을 복사할 수도 있다. 스피치 신호 관리기 (262) 는 제 5 대체 스피치 신호 (222) (예컨대, "t") 를 생성하기 위하여 트레이닝 스피치 신호 (272) 의 또 다른 부분을 복사할 수도 있다. 제 4 대체 스피치 신호 (224) 및 제 5 대체 스피치 신호 (222) 는 트레이닝 스피치 신호 (272) 의 중첩되는 부분들에 대응할 수도 있다. 특정한 양태에서, 트레이닝 스피치 신호 (272) 의 특정한 부분은 음소, 다이폰, 트라이폰, 음절, 단어, 또는 그 조합에 대응하는 특정한 부분에 기초하여 대체 스피치 신호를 생성하기 위하여 복사될 수도 있다. 특정한 양태에서, 트레이닝 스피치 신호 (272) 의 특정한 부분은 특정한 부분의 크기에 기초하여 대체 스피치 신호를 생성하기 위하여 복사될 수도 있다. 예를 들어, 스피치 신호 관리기 (262) 는 특정한 신호 샘플 크기 (예컨대, 100 밀리초) 에 대응하는 트레이닝 스피치 신호 (272) 의 부분을 복사함으로써 대체 스피치 신호를 생성할 수도 있다.
특정한 양태에서, 스피치 신호 관리기 (262) 는 특정한 대체 스피치 신호에 대응하는 사운드의 텍스트 표현을 결정할 수도 있다. 예를 들어, 제 5 대체 스피치 신호 (222) 는 특정한 사운드 (예컨대, 사운드 "t") 에 대응할 수도 있다. 스피치 신호 관리기 (262) 는 특정한 사운드와, 텍스트 표현에 대응하는 또 다른 스피치 신호 (예컨대, 제 2 사용자 (154) 의 이전에 생성된 대체 스피치 신호, 또 다른 사용자에 대응하는 또 다른 대체 스피치 신호, 또는 합성 스피치 신호) 와의 비교에 기초하여, 특정한 사운드의 텍스트 표현 (예컨대, 글자 "t") 을 결정할 수도 있다.
스피치 신호 관리기 (262) 는 대체 스피치 신호들 (112) 을 제 2 데이터베이스 (264) 내에 저장할 수도 있다. 예를 들어, 스피치 신호 관리기 (262) 는 대체 스피치 신호들 (112) 을 변경되지 않은 스피치로서, 압축된 포맷으로 또는 또 다른 포맷으로 제 2 데이터베이스 (264) 내에 저장할 수도 있다. 스피치 신호 관리기 (262) 는 대체 스피치 신호들 (112) 의 선택된 특징들을 제 2 데이터베이스 (264) 내에 저장할 수도 있다. 스피치 신호 관리기 (262) 는 대체 스피치 신호들 (112) 의 각각의 대체 스피치 신호의 텍스트 표현을 제 2 데이터베이스 (264) 내에 저장할 수도 있다.
서버 (206) 는 대체 스피치 신호들 (예컨대, 대체 스피치 신호들 (112)) 을 디바이스 (예컨대, 이동 디바이스 (104), 제 1 디바이스 (102), 데스크톱 컴퓨터 (106)) 로 전송할 수도 있다. 서버 (206) 는 대체 스피치 신호들 (112) 을 디바이스 (예컨대, 이동 디바이스 (104), 제 1 디바이스 (102), 데스크톱 컴퓨터 (106)) 로 주기적으로 전송할 수도 있다. 특정한 양태에서, 서버 (206) 는 디바이스 (예컨대, 이동 디바이스 (104), 제 1 디바이스 (102), 데스크톱 컴퓨터 (106)) 로부터 요청을 수신하는 것에 응답하여, 대체 스피치 신호들 (112) 을 디바이스로 전송할 수도 있다. 대안적인 양태에서, 대체 스피치 신호들 (112) 은 주기적으로, 또는 요청을 수신하는 것에 응답하여 중의 어느 하나로, 디바이스 (예컨대, 이동 디바이스 (104), 제 1 디바이스 (102), 또는 데스크톱 컴퓨터 (106)) 로부터 또 다른 디바이스 (예컨대, 이동 디바이스 (104), 제 1 디바이스 (102), 또는 데스크톱 컴퓨터 (106)) 로 전송될 수도 있다.
특정한 양태에서, 서버 (206) 는 제 2 사용자 (154) 와 연관된 대체 스피치 신호들 (112) 을, 제 2 사용자 (154) 와 연관된 하나 이상의 디바이스들 (예컨대, 이동 디바이스 (104), 데스크톱 컴퓨터 (106)) 로 전송할 수도 있다. 예를 들어, 제 2 사용자 (154) 는 조용한 환경에서 (예컨대, 집에서) 마이크로폰 (244) 에 말함으로써 트레이닝 스피치 신호 (272) 를 서버 (206) 로 전송할 수도 있고, 이동 디바이스 (104) 에서, 서버 (206) 로부터 대체 스피치 신호들 (112) 을 수신할 수도 있다. 제 2 사용자 (154) 와 연관된 연관된 대체 스피치 신호들 (112) 은 제 2 사용자 (154) 와 연관된 하나 이상의 디바이스들 (예컨대, 이동 디바이스 (104) 또는 데스크톱 컴퓨터 (106)) 상의 다양한 애플리케이션들에 의해 이용될 수도 있다. 예를 들어, 제 2 사용자 (154) 는 잡음 환경에서 (예컨대, 콘서트에서) 이동 디바이스 (104) 상의 음성 활성화된 애플리케이션을 추후에 이용할 수도 있다. 이동 디바이스 (104) 의 신호 프로세싱 모듈 (122) 은 도 1 을 참조하여 설명된 바와 같이, 프로세싱된 스피치 신호를 생성하기 위하여 제 2 사용자 (154) 로부터 수신된 사용자 스피치 신호의 부분을 대체 스피치 신호들 (112) 중의 하나로 대체할 수도 있다. 프로세싱된 스피치 신호는 이동 디바이스 (104) 상의 음성 활성화된 애플리케이션에 의해 이용될 수도 있다. 이에 따라, 이동 디바이스 (104) 의 음성 활성화된 애플리케이션은 잡음 환경에서 (예컨대, 잡음 있는 콘서트에서) 이용될 수도 있다.
또 다른 예로서, 이동 디바이스 (104) 상의 전자 판독 애플리케이션은 오디오를 출력하기 위하여 대체 스피치 신호들 (112) 을 이용할 수도 있다. 전자 판독 애플리케이션은 전자 메일 (e-메일), 전자책 (e-북), 기사 (article), 음성 피드백, 또는 그 임의의 조합에 대응하는 오디오를 출력할 수도 있다. 예를 들어, 제 2 사용자 (154) 는 e-메일을 판독하기 위하여 전자 판독 애플리케이션을 활성화할 수도 있다. e-메일의 부분은 "cat" 에 대응할 수도 있다. 대체 스피치 신호들 (112) 은 대체 스피치 신호들 (112) 의 각각에 대응하는 텍스트 표현들을 표시할 수도 있다. 예를 들어, 대체 스피치 신호들 (112) 은 사운드들 "catatonic", "ca", 및 "t" 를 포함할 수도 있고, 각각의 사운드의 텍스트 표현을 표시할 수도 있다. 전자 판독 애플리케이션은 e-메일의 부분 (예컨대, "cat") 과, 서브세트의 텍스트 표현 (예컨대, "ca" 및 "t") 과의 비교에 기초하여, 대체 스피치 신호들 (112) 의 서브세트가 e-메일의 부분과 일치하는 것으로 결정할 수도 있다. 전자 판독 애플리케이션은 대체 스피치 신호들 (112) 의 서브세트를 출력할 수도 있다. 이에 따라, 전자 판독 애플리케이션은 제 2 사용자 (154) 와 같이 들리는 음성으로 e-메일을 판독할 수도 있다.
특정한 양태에서, 시스템 (200) 은 대체 스피치 신호들 (112) 에 대한 비허가된 액세스를 디스에이블 (disable) 하기 위한 록킹 메커니즘 (locking mechanism) 을 포함할 수도 있다. 디바이스 (예컨대, 제 1 디바이스 (102), 이동 디바이스 (104), 또는 데스크톱 컴퓨터 (106)) 는 (예컨대, 서버로부터) 허가를 수신하기 전에 대체 스피치 신호들 (112) 을 생성 (또는 이용) 할 수 없을 수도 있다. 허가는 제 1 사용자 (152), 제 2 사용자 (154), 또는 양자가 특정한 서비스에 대하여 지불하였는지 여부에 기초할 수도 있다. 허가는 이용 당 (예컨대, 음성 호출 당, 애플리케이션 활성화 당 등), 시간 주기 당 (예컨대, 과금 사이클, 1 주일, 1 개월 등), 또는 그 조합에서 유효할 수도 있다. 특정한 양태에서, 허가는 대체 스피치 신호들 (112) 의 업데이트마다 유효할 수도 있다. 특정한 양태에서, 허가는 애플리케이션 당 유효할 수도 있다. 예를 들어, 이동 디바이스 (104) 는 음성 호출들 동안에 대체 스피치 신호들 (112) 을 이용하기 위한 제 1 허가를 수신할 수도 있고, 전자 판독 애플리케이션으로 대체 스피치 신호들 (112) 을 이용하기 위한 또 다른 허가를 수신할 수도 있다. 특정한 양태에서, 허가는 디바이스가 대체 스피치 신호들 (112) 을 생성 (또는 이용) 하도록 인가 (license) 되는지 여부에 기초할 수도 있다. 예를 들어, 이동 디바이스 (104) 는 제 2 사용자 (154) 가 이동 디바이스 (104) 상의 전자 판독 애플리케이션을 이용하기 위한 인가를 포착하는 것에 응답하여, 전자 판독 애플리케이션에서 대체 스피치 신호들 (112) 을 이용하기 위한 허가를 수신할 수도 있다.
특정한 양태에서, 스피치 신호 관리기 (262) 는 대체 스피치 신호들 (112) 을 액세스하도록 허가되는 디바이스들, 사용자들, 또는 양자의 리스트를 유지할 수도 있다. 스피치 신호 관리기 (262) 는 디바이스가 대체 스피치 신호들 (112) 을 액세스하도록 허가되지 않는 것으로 결정하는 것에 응답하여, 록 요청 (lock request) 을 디바이스 (예컨대, 제 1 디바이스 (102), 이동 디바이스 (104), 데스크톱 컴퓨터 (106), 또는 그 조합) 로 전송할 수도 있다. 디바이스는 록 요청에 응답하여 로컬 방식으로 저장된 대체 스피치 신호들 (112) 을 삭제 (또는 그에 대한 액세스를 디스에이블) 할 수도 있다. 예를 들어, 스피치 신호 관리기 (262) 는 록 요청을, 대체 스피치 신호들 (112) 을 액세스하도록 이전에 허가되었던 디바이스 (예컨대, 제 1 디바이스 (102), 이동 디바이스 (104), 또는 데스크톱 컴퓨터 (106)) 로 전송할 수도 있다.
특정한 양태에서, 신호 프로세싱 모듈 (122) 은 대체 스피치 신호 (112) 의 각각의 액세스 전에, 대응하는 디바이스 (예컨대, 제 1 디바이스 (102)) 의 허가 스테이터스를 결정할 수도 있다. 예를 들어, 신호 프로세싱 모듈 (122) 은 허가 상태 요청을 서버 (206) 로 전송할 수도 있고, 서버 (206) 로부터 허가 상태를 수신할 수도 있다. 신호 프로세싱 모듈 (122) 은 제 1 디바이스 (102) 가 허가되지 않는 것으로 결정하는 것에 응답하여, 대체 스피치 신호들 (112) 을 액세스하는 것을 금지할 수도 있다. 특정한 양태에서, 신호 프로세싱 모듈 (122) 은 대체 스피치 신호들 (112) 을 삭제 (또는 그에 대한 액세스를 디스에이블) 할 수도 있다. 예를 들어, 신호 프로세싱 모듈 (122) 은 대체 스피치 신호들을 삭제할 수도 있거나, 특정한 애플리케이션에 의한 대체 스피치 신호들 (112) 에 대한 액세스를 디스에이블할 수도 있다.
특정한 양태에서, 신호 프로세싱 모듈 (122) 은 신호 프로세싱 모듈 (122) 의 사용자 인터페이스를 통해 수신된 제 1 사용자 입력에 응답하여 대체 스피치 신호들 (112) 을 삭제할 수도 있다. 특정한 양태에서, 신호 프로세싱 모듈 (122) 은 신호 프로세싱 모듈 (122) 의 사용자 인터페이스를 통해 수신된 제 2 사용자 입력에 응답하여 삭제 요청을 서버 (206) 로 전송할 수도 있다. 삭제 요청에 응답하여, 스피치 신호 관리기 (262) 는 대체 스피치 신호들 (112) 을 삭제 (또는 그에 대한 액세스를 디스에이블) 할 수도 있다. 특정한 양태에서, 스피치 신호 관리기 (262) 는 삭제 요청이 대체 스피치 신호들 (112) 에 대응하는 사용자 (예컨대, 제 2 사용자 (154)) 와 연관된 디바이스 (예컨대, 이동 디바이스 (104) 또는 데스크톱 컴퓨터 (106)) 로부터 수신되는 것으로 결정하는 것에 응답하여, 대체 스피치 신호들 (112) 을 삭제 (또는 그에 대한 액세스를 디스에이블) 할 수도 있다.
특정한 양태에서, 이동 디바이스 (104) 는 스피치 신호 관리기 (262) 를 포함할 수도 있다. 이동 디바이스 (104) 는 트레이닝 스피치 신호 (272) 를 수신할 수도 있고, 이동 디바이스 (104) 상의 스피치 신호 관리기 (262) 는 대체 스피치 신호들 (112) 을 생성할 수도 있다. 스피치 신호 관리기 (262) 는 대체 스피치 신호들 (112) 을 이동 디바이스 (104) 상에 저장할 수도 있다. 이 양태에서, 이동 디바이스 (104) 는 대체 스피치 신호들 (112) 을 서버 (206) 로 전송할 수도 있다.
특정한 양태에서, 서버 (206) 는 제 2 사용자 (154) 와 연관된 대체 스피치 신호들 (112) 을, 제 2 사용자 (154) 로부터 구분되는 사용자 (예컨대, 제 1 사용자 (152)) 와 연관된 하나 이상의 디바이스들 (예컨대, 제 1 디바이스 (102)) 로 전송할 수도 있다. 예를 들어, 서버 (206) 는 임계 호출 빈도 (threshold call frequency) 를 충족시키는 특정한 시간 주기에 걸친 호출 빈도를 표시하는 호출 프로파일 (예컨대, 제 1 호출 프로파일 (270), 제 2 호출 프로파일 (274)) 에 기초하여, 대체 스피치 신호들 (112) 을 제 1 디바이스 (102) 로 전송할 수도 있다. 제 1 호출 프로파일 (270) 은 제 1 사용자 (152), 제 1 디바이스 (102), 또는 양자와 연관될 수도 있다. 제 2 호출 프로파일 (274) 은 제 2 사용자 (154), 이동 디바이스 (104), 또는 양자와 연관될 수도 있다. 호출 빈도는 제 1 사용자 (152), 제 1 디바이스 (102), 또는 양자와, 제 2 사용자 (154), 이동 디바이스 (104), 또는 양자와의 사이의 호출 빈도를 표시할 수도 있다. 예시하자면, 서버 (206) 는 제 1 사용자 (152) 와 제 2 사용자 (154) 사이의 호출 빈도가 임계 호출 빈도 (예컨대, 선행하는 주 (week) 에서 3 회) 를 충족시킨다는 것을 표시하는 제 1 호출 프로파일 (270) 에 기초하여, 대체 스피치 신호들 (112) 을 제 1 디바이스 (102) 로 전송할 수도 있다. 특정한 양태에서, 서버 (206) 는 음성 호출 전에, 대체 스피치 신호들 (112) 을 제 1 디바이스 (102) 로 전송할 수도 있다. 예를 들어, 서버 (206) 는 호출 프로파일 (예컨대, 제 1 호출 프로파일 (270) 또는 제 2 호출 프로파일 (274)) 에 기초한 음성 호출 전에, 대체 스피치 신호들 (112) 을 제 1 디바이스 (102) 로 전송할 수도 있다.
또 다른 예로서, 서버 (206) 는 특정한 사용자 (예컨대, 제 1 사용자 (152), 제 2 사용자 (154)), 특정한 디바이스 (예컨대, 제 1 디바이스 (102), 이동 디바이스 (104)), 또는 그 조합을 표시하는 연락처 리스트 (예컨대, 제 1 연락처 리스트 (276), 제 2 연락처 리스트 (278)) 에 기초하여, 대체 스피치 신호들 (112) 을 제 1 디바이스 (102) 로 전송할 수도 있다. 예를 들어, 서버 (206) 는 특정한 사용자를 표시하는 제 2 연락처 리스트 (278) 에 기초하여, 제 2 사용자 (154) 와 연관된 대체 스피치 신호들 (112) 을, 특정한 사용자 (예컨대, 제 1 사용자 (152)) 와 연관된 하나 이상의 디바이스들 (예컨대, 제 1 디바이스 (102)) 로 전송할 수도 있다. 특정한 양태에서, 서버 (206) 는 음성 호출 전에, 대체 스피치 신호들 (112) 을 제 1 디바이스 (102) 로 전송할 수도 있다. 예를 들어, 서버 (206) 는 연락처 리스트 (예컨대, 제 1 연락처 리스트 (276), 제 2 연락처 리스트 (278)) 에 기초한 음성 호출 전에, 대체 스피치 신호들 (112) 을 제 1 디바이스 (102) 로 전송할 수도 있다. 서버 (206) 는 트레이닝 스피치 신호 (272) 를 수신하는 것에 응답하여 대체 스피치 신호들 (112) 을 제 1 디바이스 (102) 로 전송할 수도 있다.
특정한 양태에서, 서버 (206) 는 제 1 디바이스 (102) 로부터 대체 스피치 신호들 (112) 에 대한 요청을 수신하는 것에 응답하여, 대체 스피치 신호들 (112) 을 제 1 디바이스 (102) 로 전송하기 위하여 이동 디바이스 (104) 로부터 요청을 수신하는 것에 응답하여, 또는 양자로, 대체 스피치 신호들 (112) 을 전송할 수도 있다. 예를 들어, 제 1 디바이스 (102) 는 제 1 디바이스 (102) 의 신호 프로세싱 모듈 (122) 의 사용자 인터페이스를 통해 수신된 사용자 입력에 응답하여, 대체 스피치 신호들 (112) 에 대한 요청을 전송할 수도 있다. 또 다른 예로서, 이동 디바이스 (104) 는 이동 디바이스 (104) 의 신호 프로세싱 모듈 (122) 의 사용자 인터페이스를 통해 수신된 사용자 입력에 응답하여, 대체 스피치 신호들 (112) 을 전송하기 위한 요청을 전송할 수도 있다. 특정한 양태에서, 서버 (206) 는 제 1 연락처 리스트 (276), 제 2 연락처 리스트 (278), 또는 양자에 관련된 연락처 리스트 업데이트 통지를 수신하는 것에 응답하여, 대체 스피치 신호들 (112) 을 제 1 디바이스 (102) 로 전송할 수도 있다. 서버 (206) 는 제 1 디바이스 (102) 로부터 제 1 연락처 리스트 (276) 에 관련된 연락처 리스트 업데이트 통지를 수신할 수도 있고, 서버 (206) 는 이동 디바이스 (104) 로부터 제 2 연락처 리스트 (278) 에 관련된 연락처 리스트 업데이트 통지를 수신할 수도 있다. 예를 들어, 서버 (206) 는 대응하는 디바이스의 신호 프로세싱 모듈 (122) 로부터 연락처 리스트 업데이트 통지를 수신할 수도 있다.
특정한 양태에서, 서버 (206) 는 제 1 호출 프로파일 (270), 제 2 호출 프로파일 (274), 또는 양자에 관련된 호출 프로파일 업데이트 통지를 수신하는 것에 응답하여, 대체 스피치 신호들 (112) 을 제 1 디바이스 (102) 로 전송할 수도 있다. 서버 (206) 는 제 1 디바이스 (102) 로부터 제 1 호출 프로파일 (270) 에 관련된 호출 프로파일 업데이트 통지를 수신할 수도 있고, 서버 (206) 는 이동 디바이스 (104) 로부터 제 2 호출 프로파일 (274) 에 관련된 호출 프로파일 업데이트 통지를 수신할 수도 있다. 예를 들어, 서버 (206) 는 대응하는 디바이스의 신호 프로세싱 모듈 (122) 로부터 호출 프로파일 업데이트 통지를 수신할 수도 있다.
추가의 예로서, 서버 (206) 는 제 2 사용자 (154) 와 연관된 디바이스 (예컨대, 이동 디바이스 (104), 데스크톱 컴퓨터 (106)) 와 제 1 디바이스 (102) 사이의 음성 호출에 관한 호출 개시 통지에 응답하여, 제 2 사용자 (154) 와 연관된 대체 스피치 신호들 (112) 을 제 1 디바이스 (102) 로 전송할 수도 있다. 예를 들어, 서버 (206) 는 음성 호출이 이동 디바이스 (104) 로부터 행해질 때에 이동 디바이스 (104) 로부터 호출 개시 통지를 수신할 수도 있다. 특정한 양태에서, 이동 디바이스 (104) 의 신호 프로세싱 모듈 (122) 은 호출 개시 통지를 서버 (206) 로 전송할 수도 있다. 서버 (206) 는 음성 호출의 시작 시에, 음성 호출 동안에, 또는 양자에서 대체 스피치 신호들 (112) 의 적어도 서브세트를 전송할 수도 있다. 예를 들어, 서버 (206) 는 호출 개시 통지를 수신하는 것에 응답하여, 대체 스피치 신호들 (112) 을 전송하는 것을 시작할 수도 있다. 대체 스피치 신호들 (112) 의 제 1 서브세트는 음성 호출의 시작 시에 서버 (206) 에 의해 전송될 수도 있다. 대체 스피치 신호들 (112) 의 제 2 서브세트는 음성 호출 동안에 서버 (206) 에 의해 전송될 수도 있다.
특정한 양태에서, 스피치 신호 관리기 (262) 는 시스템 관리자가 진단을 수행하는 것을 가능하게 하는 사용자 인터페이스를 포함할 수도 있다. 예를 들어, 사용자 인터페이스는 대체 스피치 신호들 (112) 과 연관된 업로드 및 다운로드 빈도를 포함하는 사용 프로파일 (usage profile) 을 디스플레이할 수도 있다. 사용 프로파일은 또한, 디바이스 (예컨대, 제 1 디바이스 (102), 이동 디바이스 (104), 및/또는 데스크톱 컴퓨터 (106)) 당 업로드 및 다운로드 빈도를 포함할 수도 있다.
이에 따라, 시스템 (200) 은 도 1 의 시스템 (100) 에 의해 스피치 신호들을 대체하기 위하여 이용될 수도 있는 대체 스피치 신호들의 포착을 가능하게 할 수도 있다.
도 3 을 참조하면, 사용자 인터페이스의 예시적인 양태가 개시되고 300 으로 전반적으로 지시된다. 특정한 양태에서, 사용자 인터페이스 (300) 는 도 1 의 시스템 (100), 도 2 의 시스템 (200), 또는 양자에 의해 디스플레이될 수도 있다.
동작 동안, 디바이스 (예컨대, 제 1 디바이스 (102)) 의 신호 프로세싱 모듈 (122) 은 사용자 (예컨대, 제 1 사용자 (152)) 의 연락처 리스트를 액세스할 수도 있다. 신호 프로세싱 모듈 (122) 은 사용자 인터페이스 (300) 를 제 1 디바이스 (102) 의 디스플레이에 제공할 수도 있다. 예를 들어, 신호 프로세싱 모듈 (122) 은 제 1 사용자 (152) 로부터 요청을 수신하는 것에 응답하여, 사용자 인터페이스 (300) 를 제 1 디바이스 (102) 의 디스플레이에 제공할 수도 있다.
사용자 인터페이스 (300) 의 수평 축 (예컨대, x-축) 은 연락처 리스트 (예컨대, "Betsy Curtis", "Brett Dean", "Henry Lopez", "Sabrina Sanders", 및 "Randal Hughes") 로부터의 하나 이상의 사용자들의 식별자들 (예컨대, 이름들) 을 디스플레이할 수도 있다. 특정한 양태에서, 제 1 사용자 (152) 는 연락처 리스트로부터 하나 이상의 사용자들을 선택할 수도 있고, 사용자 인터페이스 (300) 는 수평 축을 따라 선택된 사용자들의 이름들을 포함할 수도 있다. 또 다른 양태에서, 신호 프로세싱 모듈 (122) 은 연락처 리스트로부터 사용자들의 서브세트를 자동으로 선택할 수도 있다. 예를 들어, 사용자들의 서브세트는, 제 1 사용자 (152) 가 가장 빈번하게 통신하거나, 제 1 사용자 (152) 가 가장 최근에 통신하였거나, 제 1 사용자 (152) 가 특정한 시간 간격에 걸쳐 가장 긴 기간 (예컨대, 전화 호출 기간들의 합) 동안에 통신하였던, 또는 그 조합인 특정한 수 (예컨대, 5) 의 사용자들일 수도 있다.
사용자 인터페이스 (300) 는 수직 축 (예컨대, y-축) 을 따라 시간 기간들을 표시할 수도 있다. 시간 기간들은 하나 이상의 사용자들에 대응하는 스피치 신호들과 연관될 수도 있다. 예를 들어, 사용자 인터페이스 (300) 는 제 2 사용자 (154) (예컨대, "Randal Hughes") 에 대응하는 제 1 막대 (302) 를 포함할 수도 있다. 제 1 막대 (302) 는 제 2 사용자 (154) 와 연관된 하나 이상의 스피치 신호들의 재생 기간 (playback duration) 을 표시할 수도 있다. 예를 들어, 제 1 막대 (302) 는 트레이닝 스피치 신호 (272) 의 재생 기간을 표시할 수도 있다. 특정한 양태에서, 제 1 막대 (302) 는 특정한 시간 간격 (예컨대, 특정한 일, 특정한 주, 또는 특정한 월) 에 걸쳐 캡처되는 제 2 사용자 (154) 와 연관된 스피치 신호들의 재생 기간을 표시할 수도 있다.
특정한 양태에서, 사용자 인터페이스 (300) 는 별개의 시간 간격들에 걸쳐 캡처된 특정한 사용자들의 스피치 신호들의 시간 기간들을 표시할 수도 있다. 예를 들어, 제 1 막대 (302) 는 제 1 시간 간격 (예컨대, 선행하는 주) 에 걸쳐 캡처된 제 2 사용자 (154) 의 스피치 신호들의 제 1 시간 기간을 표시할 수도 있고, 또 다른 사용자 (예컨대, "Sabrina Sanders") 와 연관된 제 2 막대 (314) 는 제 2 시간 간격 (예컨대, 선행하는 월) 에 걸쳐 캡처된 다른 사용자의 스피치 신호들의 제 2 시간 기간을 표시할 수도 있다. 예를 들어, 제 1 사용자 (152) 는 1 주일 전에 제 2 사용자 (154) 와 연관된 대체 스피치 신호들을 다운로딩하였을 수도 있고, 제 1 막대 (302) 는 다운로드에 후속하여, 캡처된 제 2 사용자 (154) 의 스피치 신호들의 제 1 시간 기간을 표시할 수도 있다. 또 다른 예로서, 제 1 사용자 (152) 는 1 개월 전에 다른 사용자와 연관된 대체 스피치 신호들을 다운로딩하였을 수도 있고, 제 2 막대 (314) 는 다운로드에 후속하여, 캡처된 다른 사용자 (예컨대, "Sabrina Sanders") 의 스피치 신호들과 연관된 제 2 시간 기간을 표시할 수도 있다.
제 1 사용자 (152) 는 커서 (306) 를 이용하여 제 2 사용자 (154) 의 이름 (예컨대, "Randal Hughes") 또는 제 1 막대 (302) 를 선택할 수도 있다. 사용자 인터페이스 (300) 는 선택을 수신하는 것에 응답하여, 추가 옵션 (308), 삭제 옵션 (310), 또는 양자를 디스플레이할 수도 있다. 제 1 사용자 (152) 는 삭제 옵션 (310) 을 선택할 수도 있다. 예를 들어, 제 1 사용자 (152) 는 제 2 사용자 (154) 와 연관된 추가적인 대체 스피치 신호들이 생성되지 않아야 하는 것으로 결정할 수도 있다. 예시하자면, 제 1 사용자 (152) 는 제 2 사용자 (154) 와 연관된 대체 스피치 신호들의 충분한 집합이 있는 것으로 결정할 수도 있거나, 제 1 사용자 (152) 는 가까운 미래에 제 2 사용자 (154) 와 통신할 것을 예상하지 않을 수도 있거나, 제 1 사용자 (152) 는 자원들 (예컨대, 메모리 또는 프로세싱 사이클들) 을 절감할 것을 원할 수도 있거나, 그 조합일 수도 있다. 삭제 옵션 (310) 의 선택을 수신하는 것에 응답하여, 신호 프로세싱 모듈 (122) 은 제 2 사용자 (154) 와 연관된 하나 이상의 스피치 신호들을 제거할 수도 있거나, 사용자 인터페이스 (300) 로부터 제 2 사용자 (154) 의 스피치 신호들과 연관된 제 1 시간 기간의 표시를 제거할 수도 있거나, 또는 양자일 수도 있다.
특정한 양태에서, 제 2 사용자 (154) 와 연관된 스피치 신호들은 제 1 디바이스 (102) 에 의해 액세스가능한 메모리 내에 저장될 수도 있고, 신호 프로세싱 모듈 (122) 은 삭제 옵션 (310) 의 선택을 수신하는 것에 응답하여 제 2 사용자 (154) 와 연관된 하나 이상의 스피치 신호들을 제거할 수도 있다. 특정한 양태에서, 제 2 사용자 (154) 와 연관된 하나 이상의 스피치 신호들은 서버 (예컨대, 도 2 의 서버 (206)) 에 의해 액세스가능한 메모리 내에 저장될 수도 있다. 신호 프로세싱 모듈 (122) 은 삭제 옵션 (310) 의 선택을 수신하는 것에 응답하여, 삭제 요청을 서버 (206) 로 전송할 수도 있다. 삭제 요청을 수신하는 것에 응답하여, 서버 (206) 는 제 2 사용자 (154) 와 연관된 스피치 신호들을 제거할 수도 있거나, 제 2 사용자 (154) 와 연관된 스피치 신호들을 제 1 디바이스 (102) 에 의해 액세스불가능하게 할 수도 있거나, 제 2 사용자 (154) 와 연관된 스피치 신호들을 제 1 사용자 (152) 에 의해 액세스불가능하게 할 수도 있거나, 그 조합일 수도 있다. 예를 들어, 제 1 사용자 (152) 는 제 2 사용자 (154) 와 연관된 스피치 신호들을 제 1 디바이스 (102) 에 의해 액세스불가능하게 하기 위하여 삭제 옵션 (310) 을 선택할 수도 있다. 이 예에서, 제 1 사용자 (152) 는 다른 디바이스들에 의해 액세스가능하게 유지하기 위하여 제 2 사용자 (154) 와 연관된 하나 이상의 스피치 신호들을 원할 수도 있다.
대안적으로, 제 1 사용자 (152) 는 추가 옵션 (308) 을 선택할 수도 있다. 추가 옵션 (308) 의 선택을 수신하는 것에 응답하여, 신호 프로세싱 모듈 (122) 은 제 2 사용자 (154) 와 연관된 스피치 신호들로부터 생성된 대체 스피치 신호들 (예컨대, 대체 스피치 신호들 (112)) 을 제공할 것을 도 2 의 스피치 신호 관리기 (262) 에 요청할 수도 있다. 스피치 신호 관리기 (262) 는 도 2 를 참조하여 설명된 바와 같이, 제 2 사용자 (154) 와 연관된 스피치 신호들을 이용하여 대체 스피치 신호들 (112) 을 생성할 수도 있다. 스피치 신호 관리기 (262) 는 신호 프로세싱 모듈 (122) 로부터 요청을 수신하는 것에 응답하여, 대체 스피치 신호들 (112) 을 신호 프로세싱 모듈 (122) 에 제공할 수도 있다.
특정한 양태에서, 신호 프로세싱 모듈 (122) 은 삭제 옵션 (310) 의 선택을 수신하는 것에 후속하여, 추가 옵션 (308) 의 선택을 수신하는 것에 후속하여, 또는 스피치 신호 관리기 (262) 로부터 대체 스피치 신호들 (112) 을 수신하는 것에 후속하여, 제 1 막대 (302) 를 (예컨대, 제로 (zero) 로) 재설정할 수도 있다. 제 1 막대 (302) 는 제 2 사용자 (154) 와 연관된 스피치 신호들의 이전 삭제에 후속하여, 또는 제 2 사용자 (154) 와 연관된 다른 대체 스피치 신호들의 이전의 다운로드 (또는 생성) 에 후속하여, 캡처되는 제 2 사용자 (154) 의 스피치 신호들과 연관된 제 1 시간 기간을 표시할 수도 있다.
특정한 양태에서, 신호 프로세싱 모듈 (122) 은 특정한 사용자 (예컨대, "Brett Dean") 의 스피치 신호들에 대응하는 (예컨대, 제 3 막대 (316) 에 의해 표시된) 시간 기간이 자동 업데이트 임계치 (312) (예컨대, 1 시간) 를 충족시키는 것으로 결정하는 것에 응답하여, 대체 스피치 신호들에 대하여 요청을 스피치 신호 관리기 (262) 로 자동으로 전송할 수도 있다.
특정한 양태에서, 신호 프로세싱 모듈 (122) 은 제 2 사용자 (154) 와 연관된 스피치 신호들에 대응하는 대체 스피치 신호들 (112) 을 주기적으로 (예컨대, 1 주일에 한번) 요청할 수도 있다. 또 다른 양태에서, 스피치 신호 관리기 (262) 는 대체 스피치 신호들 (112) 을 제 1 디바이스 (102) 로 주기적으로 전송할 수도 있다. 특정한 양태에서, 사용자 인터페이스 (300) 는 제 1 사용자 (152) 가 주기적인 업데이트들에 추가하여, 대체 스피치 신호들 (112) 을 다운로드하는 것을 가능하게 할 수도 있다.
특정한 양태에서, 제 2 사용자 (154) 와 연관된 스피치 신호들은 제 2 사용자 (154) 와 연관된 디바이스 (예컨대, 이동 디바이스 (104)) 에서의 신호 프로세싱 모듈 (122) 에 의해, 제 1 사용자 (152) 와 연관된 디바이스 (예컨대, 제 1 디바이스 (102)) 에 의해, 서버 (예컨대, 도 2 의 서버 (206)) 에 의해, 또는 그 조합으로 캡처될 수도 있다. 예를 들어, 제 1 디바이스 (102) (또는 이동 디바이스 (104)) 에서의 신호 프로세싱 모듈 (122) 은 제 2 사용자 (154) 와 제 1 사용자 (152) 사이의 전화 호출 동안에 스피치 신호들을 레코딩할 수도 있다. 또 다른 예로서, 스피치 신호들은 서버 (206) 에서 저장된 제 2 사용자 (154) 로부터의 오디오 메시지에 대응할 수도 있다. 특정한 양태에서, 이동 디바이스 (104), 제 1 디바이스 (102), 또는 양자는 제 2 사용자 (154) 와 연관된 스피치 신호들을 서버 (206) 에 제공할 수도 있다. 특정한 양태에서, 사용자 인터페이스 (300) 는 텍스트 표현, 그래픽 표현 (예컨대, 막대 도표, 파이 도표 (pie chart), 또는 양자), 또는 양자를 이용하여 시간 기간들을 표시할 수도 있다.
이에 따라, 사용자 인터페이스 (300) 는 제 1 사용자 (152) 가 대체 스피치 신호 생성을 위하여 사용자들과 연관된 스피치 신호들의 이용가능성을 모니터링하는 것을 가능하게 할 수도 있다. 사용자 인터페이스 (300) 는 제 1 사용자 (152) 가 대체 스피치 신호들을 생성하는 것과, 자원들 (예컨대, 메모리, 프로세싱 사이클들, 또는 양자) 을 절감하는 것 사이에서 선택하는 것을 가능하게 할 수도 있다.
도 4 를 참조하면, 스피치 신호들의 "프리-인코딩 (pre-encode)" 대체를 수행하도록 동작가능한 시스템의 예시적인 양태가 개시되고 400 으로 전반적으로 지시된다. 시스템 (400) 은 네트워크 (120) 를 통해 제 1 디바이스 (102) 와 통신하는 이동 디바이스 (104) 를 포함할 수도 있다. 이동 디바이스 (104) 는 인코더 (426) 에 결합되거나 이와 통신하는 신호 프로세싱 모듈 (422) 을 포함할 수도 있다. 이동 디바이스(104)는 데이터베이스 분석기 (410) 를 포함할 수도 있다. 이동 디바이스 (104) 는 제 1 데이터베이스 (124), 파라미터화된 데이터베이스 (424), 또는 양자를 포함할 수도 있다.
도 4 는 대체된 스피치 신호를 인코더 (예컨대, 인코더 (426)) 에 제공하기 전에 스피치 신호의 대체를 예시한다. 동작 동안, 이동 디바이스 (104) 는 마이크로폰 (146) 을 통해, 제 2 사용자 (154) 로부터 제 1 사용자 스피치 신호 (130) 를 수신할 수도 있다. 제 1 데이터베이스 (124) (예컨대, "원시" 데이터베이스) 는 대체 스피치 신호들 (112) 을 포함할 수도 있다. 대체 스피치 신호들 (112) 은 제 1 대체 스피치 신호 (172), 제 2 대체 스피치 신호 (174), 및 N 대체 스피치 신호들 (478) 을 포함할 수도 있다. 대체 스피치 신호들 (112) 의 각각은 도 2 를 참조하여 설명된 바와 같이 생성될 수도 있다.
파라미터화된 데이터베이스 (424) 는 대체 스피치 신호들 (112) 과 연관된 스피치 파라미터들의 세트를 포함할 수도 있다. 예를 들어, 파라미터화된 데이터베이스 (424) 는 제 1 대체 스피치 신호 (172) 의 제 1 스피치 파라미터들 (472), 제 2 대체 스피치 신호 (174) 의 제 2 스피치 파라미터들 (474), 및 N 대체 스피치 신호들 (478) 의 N 스피치 파라미터들 (476) 을 포함할 수도 있다. 스피치 파라미터들 (472, 474, 및 476) 은 대체 스피치 신호들 (112) 보다 더 적은 저장 공간을 차지할 수도 있어서, 파라미터화된 데이터베이스 (424) 는 제 1 데이터베이스 (124) 보다 더 작을 수도 있다.
특정한 양태에서, 파라미터화된 데이터베이스 (424) 는 제 1 데이터베이스 (124) 에서의 대응하는 대체 스피치 신호의 위치에 대한, 스피치 파라미터들 (472, 474, 및 476) 의 각각과 연관된 특정한 참조 (예컨대, 인덱스, 데이터베이스 어드레스, 데이터베이스 포인터, 메모리 어드레스, 균일 자원 위치자 (uniform resource locator; URL), 균일 자원 식별자 (uniform resource identifier; URI), 또는 그 조합) 를 포함할 수도 있다. 예를 들어, 파라미터화된 데이터베이스 (424) 는 제 1 데이터베이스 (124) 에서의 제 1 대체 스피치 신호 (172) 의 제 1 위치에 대한, 제 1 스피치 파라미터들 (472) 과 연관된 제 1 참조를 포함할 수도 있다. 신호 프로세싱 모듈 (422) 은 특정한 스피치 파라미터들과 연관된 대응하는 대체 스피치 신호를 액세스하기 위하여 특정한 참조를 이용할 수도 있다. 예를 들어, 신호 프로세싱 모듈 (422) 은 제 1 스피치 파라미터들 (472) 과 연관된 제 1 대체 스피치 신호 (172) 를 액세스하기 위하여 제 1 참조를 이용할 수도 있다.
특정한 양태에서, 제 1 데이터베이스 (124) 는 파라미터화된 데이터베이스 (424) 에서의 대응하는 스피치 파라미터들의 위치에 대한, 대체 스피치 신호들 (112) 의 각각과 연관된 특정한 참조 (예컨대, 인덱스, 데이터베이스 어드레스, 데이터베이스 포인터, 메모리 어드레스, 균일 자원 위치자 (URL), 균일 자원 식별자 (URI), 또는 그 조합) 를 포함할 수도 있다. 예를 들어, 제 1 데이터베이스 (124) 는 파라미터화된 데이터베이스 (424) 에서의 제 1 스피치 파라미터들 (472) 의 제 1 위치에 대한, 제 1 대체 스피치 신호 (172) 와 연관된 제 1 참조를 포함할 수도 있다. 신호 프로세싱 모듈 (422) 은 특정한 대체 스피치 신호와 연관된 대응하는 스피치 파라미터들을 액세스하기 위하여 특정한 참조를 이용할 수도 있다. 예를 들어, 신호 프로세싱 모듈 (422) 은 제 1 대체 스피치 신호 (172) 의 제 1 스피치 파라미터들 (472) 을 액세스하기 위하여 제 1 참조를 이용할 수도 있다.
특정한 양태에서, 데이터베이스 분석기 (410) 는 이동 디바이스 (104) 가 제 1 사용자 스피치 신호 (130) 를 수신하는 것에 응답하여, 파라미터화된 데이터베이스 (424) 가 최신 (up-to-date) 인지 여부를 결정할 수도 있다. 예를 들어, 데이터베이스 분석기 (410) 는 파라미터화된 데이터베이스 (424) 가 대체 스피치 신호들 (112) 과 연관된 스피치 파라미터들 (예컨대, 스피치 파라미터들 (472, 474, 및 476)) 을 포함하는지 여부를 결정할 수도 있다. 예시하자면, 데이터베이스 분석기 (410) 는 파라미터화된 데이터베이스 (424) 가 대체 스피치 신호들 (112) 의 하나 이상의 대체 스피치 신호들에 대응하는 스피치 파라미터들을 포함하는지 여부를 결정할 수도 있다. 파라미터화된 데이터베이스 (424) 가 대체 스피치 신호들 (112) 과 연관된 스피치 파라미터들을 포함하는 것으로 결정하는 것에 응답하여, 데이터베이스 분석기 (410) 는 파라미터화된 데이터베이스 (424) 의 이전 업데이트에 후속하여, 제 1 데이터베이스 (124) 에 대해 임의의 수정들이 행해졌는지 여부를 결정할 수도 있다. 예시하자면, 데이터베이스 분석기 (410) 는 제 1 데이터베이스 (124) 의 수정 타임스탬프 (timestamp) 가 파라미터화된 데이터베이스 (424) 의 업데이트 타임스탬프에 후속하는지 여부를 결정할 수도 있다. 파라미터화된 데이터베이스 (424) 의 이전 업데이트에 후속하여, 제 1 데이터베이스 (124) 에 대해 수정들이 행해지지 않은 것으로 결정하는 것에 응답하여, 데이터베이스 분석기 (410) 는 파라미터화된 데이터베이스 (424) 가 최신인 것으로 결정할 수도 있다.
파라미터화된 데이터베이스 (424) 가 대체 스피치 신호들 (112) 과 연관된 스피치 파라미터들을 포함하지 않는 것으로, 또는 파라미터화된 데이터베이스 (424) 의 이전 업데이트에 후속하여, 제 1 데이터베이스 (124) 에 대해 수정들이 행해진 것으로 결정하는 것에 응답하여, 데이터베이스 분석기 (410) 는 대체 스피치 신호들 (112) 에 대응하는 스피치 파라미터들을 생성할 수도 있다. 예를 들어, 데이터베이스 분석기 (410) 는 제 1 대체 스피치 신호 (172) 로부터 제 1 스피치 파라미터들 (472), 제 2 대체 스피치 신호 (174) 로부터 제 2 스피치 파라미터들 (474), 그리고 N 대체 스피치 신호들 (478) 로부터 N 스피치 파라미터들 (476) 을 생성할 수도 있다. 제 1 스피치 파라미터들 (472), 제 2 스피치 파라미터들 (474), 및 N 스피치 파라미터들 (476) 은 각각 제 1 대체 스피치 신호 (172), 제 2 대체 스피치 신호 (174), 및 N 대체 스피치 신호들 (478) 의 피치 파라미터, 에너지 파라미터, 선형 예측 코딩 (LPC) 파라미터, 또는 그 임의의 조합을 포함할 수도 있다.
신호 프로세싱 모듈 (422) 은 분석기 (402), 검색기 (404), 제약 분석기 (406), 및 합성기 (408) 를 포함할 수도 있다. 분석기 (402) 는 제 1 사용자 스피치 신호 (130) 에 기초하여 검색 기준들 (418) 을 생성할 수도 있다. 검색 기준들 (418) 은 제 1 사용자 스피치 신호 (130) 와 연관된 복수의 스피치 파라미터들을 포함할 수도 있다. 예를 들어, 복수의 스피치 파라미터들은 제 1 사용자 스피치 신호 (130) 의 피치 파라미터, 에너지 파라미터, 선형 예측 코딩 (LPC) 파라미터, 또는 그 임의의 조합을 포함할 수도 있다. 분석기 (402) 는 검색 기준들 (418) 을 검색기 (404) 에 제공할 수도 있다.
검색기 (404) 는 검색 기준들 (418) 에 기초하여 파라미터화된 데이터베이스 (424) 를 검색함으로써 검색 결과들 (414) 을 생성할 수도 있다. 예를 들어, 검색기 (404) 는 복수의 스피치 파라미터들을 스피치 파라미터들 (472, 474, 및 476) 의 각각과 비교할 수도 있다. 검색기 (404) 는 제 1 스피치 파라미터들 (472) 및 제 2 스피치 파라미터들 (474) 이 복수의 스피치 파라미터들과 일치하는 것으로 결정할 수도 있다. 예를 들어, 검색기 (404) 는 비교에 기초하여 제 1 스피치 파라미터들 (472) 및 제 2 스피치 파라미터들 (474) 을 선택 (또는 식별) 할 수도 있다. 예시하자면, 제 1 사용자 스피치 신호 (130) 는 "bat" 에 대응할 수도 있다. 제 1 대체 스피치 신호 (172) 는 도 2 를 참조하여 설명된 바와 같이, "cat" 로부터 생성된 "a" 에 대응할 수도 있다. 제 2 대체 스피치 신호 (174) 는 도 2 를 참조하여 설명된 바와 같이, "tag" 로부터 생성된 "a" 에 대응할 수도 있다.
특정한 양태에서, 검색기 (404) 는 스피치 파라미터들 (472, 474, 및 476) 의 각각과 연관된 유사성 척도 (similarity measure) 들에 기초하여 검색 결과들 (414) 을 생성할 수도 있다. 특정한 유사성 척도는 대응하는 스피치 파라미터들이 제 1 사용자 스피치 신호 (130) 와 연관된 복수의 스피치 파라미터들에 얼마나 근접하게 관련되는지를 표시할 수도 있다. 예를 들어, 검색기 (404) 는 제 1 사용자 스피치 신호 (130) 의 복수의 스피치 파라미터들과 제 1 스피치 파라미터들 (472) 사이의 차이를 계산함으로써, 제 1 스피치 파라미터들 (472) 의 제 1 유사성 척도를 결정할 수도 있다.
검색기 (404) 는 유사성 척도를 충족시키는 유사성 척도를 가지는 스피치 파라미터들을 선택할 수도 있다. 예를 들어, 검색기 (404) 는 제 2 스피치 파라미터들 (474) 의 제 1 유사성 척도 및 제 2 유사성 척도가 유사성 임계치를 충족 (예컨대, 그 미만임) 하는 것으로 결정하는 것에 응답하여, 제 1 스피치 파라미터들 (472) 및 제 2 스피치 파라미터들 (474) 을 선택할 수도 있다.
또 다른 예로서, 검색기 (404) 는 유사성 척도들에 기초하여, 제 1 사용자 스피치 신호 (130) 의 복수의 스피치 파라미터들과 가장 유사한 특정한 수 (예컨대, 2) 의 스피치 파라미터들을 선택할 수도 있다. 검색기 (404) 는 검색 결과들 (414) 에서 선택된 스피치 파라미터들 (예컨대, 제 1 스피치 파라미터들 (472) 및 제 2 스피치 파라미터들 (474)) 을 포함할 수도 있다. 특정한 양태에서, 검색기 (404) 는 검색 결과들 (414) 에서 선택된 복수들의 스피치 파라미터들에 대응하는 대체 스피치 신호들을 포함할 수도 있다. 예를 들어, 검색기 (404) 는 검색 결과들 (414) 에서 제 1 대체 스피치 신호 (172) 및 제 2 대체 스피치 신호 (174) 를 포함할 수도 있다. 검색기 (404) 는 검색 결과들 (414) 을 제약 분석기 (406) 에 제공할 수도 있다.
제약 분석기 (406) 는 제약에 기초하여 검색 결과들 (414) 로부터 특정한 검색 결과 (예컨대, 선택된 결과 (416)) 를 선택할 수도 있다. 제약은 에러 제약 (error constraint), 비용 제약 (cost constraint), 또는 양자를 포함할 수도 있다. 예를 들어, 제약 분석기 (406) 는 에러 제약 또는 비용 제약에 기초하여 검색 결과들 (414) 로부터 제 1 스피치 파라미터들 (472) (또는 제 1 대체 스피치 신호 (172)) 을 선택할 수도 있다. 예시하자면, 제약 분석기 (406) 는 검색 결과들 (414) 의 각각에 기초하여 프로세싱된 스피치 신호를 생성할 수도 있다. 프로세싱된 스피치 신호들의 각각은 대응하는 검색 결과로 대체된 부분을 가지는 제 1 사용자 스피치 신호 (130) 를 표현할 수도 있다. 제약 분석기 (406) 는 프로세싱된 스피치 신호들의 가장 낮은 에러를 가지는 특정한 프로세싱된 스피치 신호를 식별할 수도 있다. 예를 들어, 제약 분석기 (406) 는 프로세싱된 스피치 신호와 제 1 사용자 스피치 신호 (130) 와의 비교에 기초하여 프로세싱된 스피치 신호들의 각각과 연관된 에러 척도를 결정할 수도 있다. 특정한 양태에서, 제약 분석기 (406) 는 가장 낮은 비용을 가지는 특정한 프로세싱된 스피치 신호를 식별할 수도 있다. 예를 들어, 제약 분석기 (406) 는 대응하는 검색 결과와 연관된 대체 스피치 신호, 하나 이상의 이전 대체 스피치 신호들, 하나 이상의 후속 대체 스피치 신호들, 또는 그 조합을 취출 (retrieve) 하는 비용에 기초하여, 프로세싱된 스피치 신호들의 각각과 연관된 비용 척도를 결정할 수도 있다. 예시하자면, 복수의 대체 신호들을 취출하는 비용은 복수의 대체 신호들에 대응하는 메모리 위치들 사이의 차이에 기초하여 결정될 수도 있다. 예를 들어, 더 낮은 비용은 이전에 취출된 대체 스피치 신호에 메모리에 있어서 더 근접하게 위치되는 후속 대체 스피치 신호를 취출하는 것과 연관될 수도 있다. 제약 분석기 (406) 는 특정한 프로세싱된 스피치 신호에 대응하는 검색 결과를 선택된 결과 (416) 로서 선택할 수도 있다.
합성기 (408) 는 선택된 결과 (416) 에 기초하여 제 1 프로세싱된 스피치 신호 (116) 를 생성할 수도 있다. 예를 들어, 선택된 결과 (416) 가 제 1 대체 스피치 신호 (172) 와 연관될 경우, 합성기 (408) 는 제 1 사용자 스피치 신호 (130) 의 적어도 부분을 제 1 대체 스피치 신호 (172) 로 대체함으로써 제 1 프로세싱된 스피치 신호 (116) 를 생성할 수도 있다. 특정한 양태에서, 합성기 (408) 는 제 1 스피치 파라미터들 (472) 에 기초하여 대체 스피치 신호를 생성 (예컨대, 합성) 할 수도 있고, 제 1 사용자 스피치 신호 (130) 의 적어도 부분을 대체 스피치 신호로 대체함으로써 제 1 프로세싱된 스피치 신호 (116) 를 생성할 수도 있다.
합성기 (408) 는 제 1 프로세싱된 스피치 신호 (116) 를 인코더 (426) 에 제공할 수도 있다. 인코더 (426) 는 제 1 프로세싱된 스피치 신호 (116) 를 인코딩함으로써 출력 신호 (430) 를 생성할 수도 있다. 특정한 양태에서, 출력 신호 (430) 는 제 1 대체 스피치 신호 (172) 를 표시할 수도 있다. 예를 들어, 출력 신호 (430) 는 제 1 데이터베이스 (124) 에서의 제 1 대체 스피치 신호 (172) 에 대한 참조, 파라미터화된 데이터베이스 (424) 에서의 제 1 스피치 파라미터들 (472) 에 대한 참조, 또는 양자를 포함할 수도 있다. 이동 디바이스 (104) 는 네트워크 (120) 를 통해, 출력 신호 (430) 를 제 1 디바이스 (102) 로 전송할 수도 있다.
이에 따라, 시스템 (400) 은 사용자 스피치 신호를 인코딩하기 전에, 대체 스피치 신호에 의한 사용자 스피치 신호의 부분의 "프리-인코딩" 대체를 가능하게 할 수도 있다. 대체 스피치 신호는 사용자 스피치 신호의 대체된 부분보다 더 높은 오디오 품질을 가질 수도 있다. 예를 들어, 제 2 사용자 (154) 는 잡음 환경에서 (예컨대, 콘서트에서 또는 붐비는 도로에서) 이동 디바이스 (104) 상에서 대화하고 있을 수도 있다. 대체 스피치 신호는 제 2 사용자 (154) 가 조용한 환경에서 제공하였던, 도 2 를 참조하여 설명된 바와 같이, 트레이닝 신호로부터 생성될 수도 있다. 신호 프로세싱 모듈 (422) 은 원래의 사용자 스피치 신호보다 더 높은 품질의 오디오를 인코더에 제공할 수도 있다. 인코더는 더 높은 품질의 오디오를 인코딩할 수도 있고, 인코딩된 신호를 또 다른 디바이스로 송신할 수도 있다.
도 5 를 참조하면, 스피치 신호들의 "인-인코딩 (in-encode)" 대체를 수행하도록 동작가능한 시스템의 예시적인 양태가 개시되고 500 으로 전반적으로 지시된다. 시스템 (500) 은 인코더 (526), 데이터베이스 분석기 (410), 제 1 데이터베이스 (124), 파라미터화된 데이터베이스 (424), 또는 그 조합을 포함할 수도 있다.
도 5 는 인코더 (예컨대, 인코더 (526) 에서의 스피치 신호의 대체를 예시한다. 도 4 의 양태는 인코더 (426) 에 결합된 신호 프로세싱 모듈 (422) 을 예시하는 반면, 인코더 (526) 는 신호 프로세싱 모듈 (422) 의 하나 이상의 컴포넌트들을 포함한다. 동작 동안, 이동 디바이스 (104) 는 제 1 사용자 스피치 신호 (130) 를 수신할 수도 있다. 인코더 (526) 내에서, 도 4 를 참조하여 설명된 바와 같이, 분석기 (402) 는 검색 기준들 (418) 을 생성할 수도 있고, 검색기 (404) 는 검색 결과들 (414) 을 생성할 수도 있고, 제약 분석기 (406) 는 선택된 결과 (416) 를 생성할 수도 있고, 합성기 (408) 는 제 1 프로세싱된 스피치 신호 (116) 를 생성할 수도 있다. 인코더 (526) 는 제 1 프로세싱된 스피치 신호 (116) 를 인코딩함으로써 출력 신호 (430) 를 생성할 수도 있다. 이동 디바이스 (104) 는 네트워크 (120) 를 통해, 출력 신호 (430) 를 제 1 디바이스 (102) 로 전송할 수도 있다.
특정한 양태에서, 도 4 를 참조하여 설명된 바와 같이, 제약 분석기 (406) 는 선택된 결과 (416) 에 대응하는 제 1 프로세싱된 신호를 생성할 수도 있다. 인코더 (526) 는 제 1 프로세싱된 신호를 인코딩함으로써 출력 신호 (430) 를 생성할 수도 있다. 이 양태에서, 신호 프로세싱 모듈 (422) 은 제 1 프로세싱된 스피치 신호 (116) 를 생성하는 것을 금지할 수도 있다. 특정한 양태에서, 도 4 를 참조하여 설명된 바와 같이, 출력 신호 (430) 는 제 1 대체 스피치 신호 (172) 를 표시할 수도 있다.
시스템 (500) 은 이에 따라, 대체 스피치 신호에 의한 사용자와 연관된 사용자 스피치 신호의 부분의 "인-인코딩" 대체를 수행함으로써 인코더에서 프로세싱된 스피치 신호의 생성을 가능하게 할 수도 있다. 프로세싱된 스피치 신호는 사용자 스피치 신호보다 더 높은 오디오 품질을 가질 수도 있다. 예를 들어, 제 2 사용자 (154) 는 잡음 환경에서 (예컨대, 콘서트에서 또는 붐비는 도로에서) 이동 디바이스 (104) 상에서 대화하고 있을 수도 있다. 대체 스피치 신호는 제 2 사용자 (154) 가 조용한 환경에서 제공하였던, 도 2 를 참조하여 설명된 바와 같이, 트레이닝 신호로부터 생성될 수도 있다. 인코더는 원래의 사용자 스피치 신호보다 더 높은 품질의 오디오를 인코딩할 수도 있고, 인코딩된 신호를 또 다른 디바이스로 송신할 수도 있다. 특정한 양태에서, 사용자 스피치 신호의 부분의 인-인코딩 대체는 사용자 스피치 신호로부터 인코딩된 스피치 신호를 생성하는 것과 연관된 단계들을 감소시킬 수도 있어서, 사용자 스피치 신호의 부분의 프리-인코딩 대체보다 더욱 고속이며 더욱 효율적인 신호 프로세싱으로 귀착될 수도 있다.
도 4 및 도 5 의 양태들은 인코더 시스템에서 스피치 신호의 대체를 예시하는 반면, 도 6 및 도 7 의 양태들은 디코더 시스템에서 스피치 신호의 대체를 예시한다. 특정한 양태에서, 스피치 신호 대체는 인코더 시스템의 로컬 디코더에서 발생할 수도 있다. 예를 들어, 제 1 프로세싱된 스피치 신호는 제 1 프로세싱된 스피치 신호 및 사용자 스피치 신호 (예컨대, 제 1 사용자 스피치 신호 (130)) 의 비교에 기초하여 신호 파라미터들을 결정하기 위하여 로컬 디코더에 의해 생성될 수도 있다. 예시하자면, 로컬 디코더는 또 다른 디바이스에서 디코더의 거동을 에뮬레이팅 (emulate) 할 수도 있다. 인코더 시스템은 다른 디바이스로 송신하기 위한 신호 파라미터들을 인코딩할 수도 있다.
도 6 을 참조하면, 디코더에서 스피치 신호들의 "파라메트릭 (parametric)" 대체를 수행하도록 동작가능한 시스템의 예시적인 양태가 개시되고 600 으로 전반적으로 지시된다. 시스템 (600) 은 제 1 디바이스 (102) 를 포함한다. 제 1 디바이스 (102) 는 제 1 데이터베이스 (124), 파라미터화된 데이터베이스 (424), 데이터베이스 분석기 (410), 디코더 (626), 또는 그 조합을 포함할 수도 있다. 디코더 (626) 는 신호 프로세싱 모듈 (622) 을 포함할 수도 있거나, 신호 프로세싱 모듈 (622) 에 결합될 수도 있거나, 신호 프로세싱 모듈 (622) 과 통신할 수도 있다.
도 6 은 수신 디바이스에서 스피치 신호의 대체를 예시한다. 동작 동안, 제 1 디바이스 (102) 는 네트워크 (120) 를 통해, 이동 디바이스 (104) 로부터 제 1 데이터 (630) 를 수신할 수도 있다. 제 1 데이터 (630) 는 오디오 신호의 하나 이상의 프레임들에 대응하는 패킷 데이터를 포함할 수도 있다. 오디오 신호는 사용자 (예컨대, 도 1 의 제 2 사용자 (154)) 에 대응하는 사용자 스피치 신호일 수도 있다. 제 1 데이터 (630) 는 오디오 신호와 연관된 복수의 파라미터들을 포함할 수도 있다. 복수의 파라미터들은 피치 파라미터, 에너지 파라미터, 선형 예측 코딩 (LPC) 파라미터, 또는 그 임의의 조합을 포함할 수도 있다.
분석기 (602) 는 제 1 데이터 (630) 에 기초하여 검색 기준들 (612) 을 생성할 수도 있다. 예를 들어, 분석기 (602) 는 제 1 데이터 (630) 로부터 오디오 신호와 연관된 복수의 스피치 파라미터들을 추출할 수도 있다. 검색 기준들 (612) 은 추출된 복수의 스피치 파라미터들을 포함할 수도 있다. 분석기 (602) 는 검색 기준들 (612) 을 검색기 (604) 에 제공할 수도 있다.
검색기 (604) 는 도 4 의 스피치 파라미터들 (472, 474, 및 476) 의 하나 이상의 스피치 파라미터들을 식별할 수도 있다. 특정한 양태에서, 검색기 (604) 는 도 4 의 검색기 (404) 를 참조하여 설명된 바와 같이, 복수의 스피치 파라미터들을 스피치 파라미터들 (472, 474, 및 476) 의 각각과 비교함으로써 제 1 스피치 파라미터들 (472) 및 제 2 스피치 파라미터들 (474) 을 식별할 수도 있다. 검색기 (604) 는 스피치 파라미터들의 세트 (614) 에서 식별된 스피치 파라미터들 (예컨대, 제 1 스피치 파라미터들 (472) 및 제 2 스피치 파라미터들 (474)) 을 포함할 수도 있다. 검색기 (604) 는 스피치 파라미터들의 세트 (614) 를 제약 분석기 (606) 에 제공할 수도 있다. 제약 분석기 (606) 는 도 4 의 제약 분석기 (406) 를 참조하여 설명된 바와 같이, 제약에 기초하여 스피치 파라미터들의 세트 (614) 의 제 1 스피치 파라미터들 (472) 을 선택할 수도 있다. 제약 분석기 (606) 는 제 1 스피치 파라미터들 (472) 을 합성기 (608) 에 제공할 수도 있다.
합성기 (608) 는 제 1 데이터 (630) 에서의 복수의 스피치 파라미터들을 제 1 스피치 파라미터들 (472) 로 대체함으로써 제 2 데이터 (618) 를 생성할 수도 있다. 디코더 (626) 는 제 2 데이터 (618) 를 디코딩함으로써 제 1 프로세싱된 스피치 신호 (116) 를 생성할 수도 있다. 예를 들어, 제 1 프로세싱된 스피치 신호 (116) 는 제 1 스피치 파라미터들 (472) 에 기초하여 생성된 프로세싱된 신호일 수도 있다. 제 1 디바이스 (102) 는 제 1 프로세싱된 스피치 신호 (116) 를 스피커들 (142) 에 제공할 수도 있다.
특정한 양태에서, 분석기 (602) 는 제 1 데이터 (630) 가 제 1 대체 스피치 신호 (172) 를 표시하는 것으로 결정할 수도 있다. 예를 들어, 분석기 (602) 는 제 1 데이터 (630) 가 제 1 데이터베이스 (124) 에서의 제 1 대체 스피치 신호 (172) 에 대한 참조, 파라미터화된 데이터베이스 (424) 에서의 제 1 스피치 파라미터들 (472) 에 대한 참조, 또는 양자를 포함하는 것으로 결정할 수도 있다. 분석기 (602) 는 제 1 데이터 (630) 가 제 1 대체 스피치 신호 (172) 를 포함하는 것으로 결정하는 것에 응답하여, 제 1 스피치 파라미터들 (472) 을 합성기 (608) 에 제공할 수도 있다. 이 양태에서, 분석기 (602) 는 검색 기준들 (612) 을 생성하는 것을 금지할 수도 있다.
이에 따라, 시스템 (600) 은 대체 스피치 신호에 대응하는 스피치 파라미터들에 의한 수신된 데이터의 제 1 복수의 스피치 파라미터들의 "파라메트릭" 대체에 의해 프로세싱된 스피치 신호를 생성하는 것을 가능하게 할 수도 있다. 대체 스피치 신호에 대응하는 스피치 파라미터들을 이용하여 프로세싱된 신호를 생성하는 것은 제 1 복수의 스피치 파라미터들을 이용하여 프로세싱된 신호를 생성하는 것보다 더 높은 오디오 품질로 귀착될 수도 있다. 예를 들어, 수신된 데이터는 높은 품질의 오디오 신호를 표현하지 않을 수도 있다. 예시하자면, 수신된 데이터는 잡음 환경에서 (예컨대, 콘서트에서) 사용자로부터 수신된 사용자 스피치 신호에 대응할 수도 있고, 스피치 대체를 수행하지 않으면서, 또 다른 디바이스에 의해 생성될 수도 있다. 다른 디바이스가 스피치 대체를 수행하였다고 하더라도, 다른 디바이스에 의해 전송된 데이터의 일부는 예컨대, 패킷 손실, 대역폭 제한들, 및/또는 비트-레이트 제한들로 인해 수신되지 않을 수도 있다. 스피치 파라미터들은 제 2 사용자 (154) 가 조용한 환경에서 제공하였던, 도 2 를 참조하여 설명된 바와 같이, 트레이닝 신호로부터 생성된 대체 스피치 신호에 대응할 수도 있다. 디코더는 제 1 복수의 스피치 파라미터들을 이용하여 생성될 수도 있는 것보다 더 높은 품질의 프로세싱된 신호를 생성하기 위하여 스피치 파라미터들을 이용할 수도 있다.
도 7 을 참조하면, 디코더에서 스피치 신호들의 "파형 (waveform)" 대체를 수행하도록 동작가능한 시스템의 예시적인 양태가 개시되고 700 으로 전반적으로 지시된다. 시스템 (700) 은 제 1 데이터베이스 (124), 파라미터화된 데이터베이스 (424), 데이터베이스 분석기 (410), 디코더 (726), 또는 그 조합을 포함할 수도 있다. 디코더 (726) 는 신호 프로세싱 모듈 (722) 을 포함할 수도 있거나, 신호 프로세싱 모듈 (722) 에 결합될 수도 있거나, 신호 프로세싱 모듈 (722) 과 통신할 수도 있다.
도 7 은 수신 디바이스에서 스피치 신호의 대체를 예시한다. 도 6 의 양태는 수신된 스피치 파라미터들을 대체 스피치 신호에 대응하는 스피치 파라미터들로 대체함으로써 프로세싱된 스피치 신호를 생성하는 것을 예시하는 반면, 도 7 의 양태는 수신된 스피치 파라미터들에 기초하여 대체 스피치 신호를 식별하는 것과, 대체 스피치 신호를 이용하여 프로세싱된 스피치 신호를 생성하는 것을 예시한다.
동작 동안, 제 1 디바이스 (102) 는 제 1 데이터 (630) 를 수신할 수도 있다. 분석기 (602) 는 도 6 을 참조하여 설명된 바와 같이, 제 1 데이터 (630) 에 기초하여 검색 기준들 (612) 을 생성할 수도 있다. 검색기 (604) 는 도 4 의 검색기 (404) 를 참조하여 설명된 바와 같이, 검색 기준들 (612) 에 기초하여 대체 스피치 신호 (112) 의 서브세트 (예컨대, 복수의 대체 스피치 신호들 (714)) 를 식별할 수도 있다. 예를 들어, 복수의 대체 스피치 신호들 (714) 은 제 1 대체 스피치 신호 (172) 및 제 2 대체 스피치 신호 (174) 를 포함할 수도 있다. 제약 분석기 (706) 는 도 4 의 제약 분석기 (406) 를 참조하여 설명된 바와 같이, 제약에 기초하여 복수의 대체 스피치 신호들 (714) 의 제 1 대체 스피치 신호 (예컨대, 제 1 대체 스피치 신호 (172)) 를 선택할 수도 있다. 특정한 양태에서, 도 4 의 제약 분석기 (406) 를 참조하여 설명된 바와 같이, 제약 분석기 (706) 는 제약에 기초하여 제 1 스피치 파라미터들 (472) 을 선택할 수도 있고, 선택된 제 1 스피치 파라미터들 (472) 에 대응하는 제 1 대체 스피치 신호 (172) 를 선택할 수도 있다.
제약 분석기 (706) 는 제 1 대체 스피치 신호 (172) 를 합성기 (708) 에 제공할 수도 있다. 합성기 (708) 는 제 1 대체 스피치 신호 (172) 에 기초하여 제 1 프로세싱된 스피치 신호 (116) 를 생성할 수도 있다. 예를 들어, 합성기 (708) 는 입력 신호의 부분을 제 1 대체 스피치 신호 (172) 로 대체함으로써 제 1 프로세싱된 스피치 신호 (116) 를 생성할 수도 있다. 제 1 디바이스 (102) 는 스피커들 (142) 을 통해 제 1 프로세싱된 스피치 신호 (116) 를 출력할 수도 있다.
이에 따라, 시스템 (700) 은 사용자 스피치 신호에 대응하는 데이터를 수신함으로써 "파형" 대체를, 그리고 사용자 스피치 신호의 부분을 대체 스피치 신호로 대체함으로써 프로세싱된 신호를 생성하는 것을 가능하게 할 수도 있다. 프로세싱된 신호는 사용자 스피치 신호보다 더 높은 오디오 품질을 가질 수도 있다. 예를 들어, 수신된 데이터는 높은 품질의 오디오 신호를 표현하지 않을 수도 있다. 예시하자면, 수신된 데이터는 잡음 환경에서 (예컨대, 콘서트에서) 사용자로부터 수신된 사용자 스피치 신호에 대응할 수도 있고, 스피치 대체를 수행하지 않으면서, 또 다른 디바이스에 의해 생성될 수도 있다. 다른 디바이스가 스피치 대체를 수행하였다고 하더라도, 다른 디바이스에 의해 전송된 데이터의 일부는 예컨대, 패킷 손실, 대역폭 제한들, 및/또는 비트-레이트 제한들로 인해 수신되지 않을 수도 있다. 대체 스피치 신호는 제 2 사용자 (154) 가 조용한 환경에서 제공하였던, 도 2 를 참조하여 설명된 바와 같은 트레이닝 신호로부터 생성될 수도 있다. 디코더는 수신된 데이터를 이용하여 생성될 수도 있는 것보다 더 높은 품질의 프로세싱된 신호를 생성하기 위하여 대체 스피치 신호를 이용할 수도 있다.
도 8 을 참조하면, 스피치 신호들의 "인-디바이스 (in-device)" 대체를 수행하도록 동작가능한 시스템의 예시적인 양태가 개시되고 800 으로 전반적으로 지시된다. 시스템 (800) 은 제 1 데이터베이스 (124), 데이터베이스 분석기 (410), 신호 프로세싱 모듈 (422), 파라미터화된 데이터베이스 (424), 애플리케이션 (822), 또는 그 조합을 포함할 수도 있다.
동작 동안, 신호 프로세싱 모듈 (422) 은 애플리케이션 (822) 으로부터 입력 신호 (830) 를 수신할 수도 있다. 입력 신호 (830) 는 스피치 신호에 대응할 수도 있다. 애플리케이션 (822) 은 문서 뷰어 (document viewer) 애플리케이션, 전자 책 뷰어 애플리케이션, 텍스트-대-스피치 애플리케이션, 전자 메일 애플리케이션, 통신 애플리케이션, 인터넷 애플리케이션, 사운드 레코딩 애플리케이션, 또는 그 조합을 포함할 수도 있다. 도 4 를 참조하여 설명된 바와 같이, 분석기 (402) 는 입력 신호 (830) 에 기초하여 검색 기준들 (418) 을 생성할 수도 있고, 검색기 (404) 는 검색 기준들 (418) 에 기초하여 검색 결과들 (414) 을 생성할 수도 있고, 제약 분석기 (406) 는 선택된 결과 (416) 를 식별할 수도 있고, 합성기 (408) 는 선택된 결과 (416) 에 기초하여 입력 신호 (830) 의 부분을 대체 스피치 신호로 대체함으로써 제 1 프로세싱된 스피치 신호 (116) 를 생성할 수도 있다. 제 1 디바이스 (102) 는 스피커들 (142) 을 통해 제 1 프로세싱된 스피치 신호 (116) 를 출력할 수도 있다. 특정한 양태에서, 신호 프로세싱 모듈 (422) 은 제 1 프로세싱된 스피치 신호 (116) 를 생성하기 위하여 제 1 사용자 (152) 로부터 사용자 요청을 수신하는 것에 응답하여, 검색 기준들 (418) 을 생성할 수도 있다.
특정한 양태에서, 제 1 데이터베이스 (124) 는 대체 스피치 신호들의 다수의 세트들을 포함할 수도 있다. 대체 스피치 신호들의 각각의 세트는 특정한 유명인사 (celebrity), 특정한 캐릭터 (character) (예컨대, 만화 캐릭터, 텔레비전 캐릭터, 또는 영화 캐릭터), 특정한 사용자 (예컨대, 제 1 사용자 (152) 또는 제 2 사용자 (154)), 또는 그 조합에 대응할 수도 있다. 제 1 사용자 (152) 는 대체 스피치 신호들 (예컨대, 대체 스피치 신호들 (112)) 의 특정한 세트를 선택할 수도 있다. 예를 들어, 제 1 사용자 (152) 는 대응하는 유명인사, 대응하는 캐릭터, 대응하는 사용자, 또는 그 조합을 선택할 수도 있다. 신호 프로세싱 모듈 (422) 은 본원에서 설명된 바와 같이, 제 1 프로세싱된 스피치 신호 (116) 를 생성하기 위하여 대체 스피치 신호들 (예컨대, 대체 스피치 신호들 (112)) 의 선택된 세트를 이용할 수도 있다.
특정한 양태에서, 제 1 디바이스 (102) 는 요청을 또 다른 디바이스 (예컨대, 도 2 의 서버 (206) 또는 이동 디바이스 (104)) 로 전송할 수도 있다. 요청은 특정한 유명인사, 특정한 캐릭터, 특정한 사용자, 또는 그 조합을 식별할 수도 있다. 다른 디바이스는 요청을 수신하는 것에 응답하여, 대체 스피치 신호들 (112) 을 제 1 디바이스 (102) 로 전송할 수도 있다.
이에 따라, 시스템 (800) 은 애플리케이션에 의해 생성된 입력 스피치 신호의 부분을 대체 스피치 신호로 대체함으로써 "인-디바이스" 대체를 가능하게 할 수도 있다. 대체 스피치 신호는 입력 스피치 신호보다 더 높은 오디오 품질을 가질 수도 있다. 특정한 양태에서, 대체 스피치 신호는 제 1 사용자 (152) 의 트레이닝 스피치로부터 생성될 수도 있다. 예를 들어, 애플리케이션에 의해 생성된 입력 스피치 신호는 로봇으로 들릴 수도 이거나, 디폴트 음성에 대응할 수도 있다. 제 1 사용자 (152) 는 또 다른 음성 (예컨대, 제 1 사용자 (152), 도 1 의 제 2 사용자 (154), 특정한 유명인사, 특정한 캐릭터 등의 음성) 을 선호할 수도 있다. 대체 스피치 신호는 선호된 음성에 대응할 수도 있다.
도 4 내지 도 8 의 양태들은 로컬 데이터베이스 분석기 (410) 를 예시하지만, 특정한 양태에서, 데이터베이스 분석기 (410), 또는 그 컴포넌트들은 서버 (예컨대, 도 2 의 서버 (206)) 내에 포함될 수도 있다. 이 양태에서, 이동 디바이스 (104), 제 1 디바이스 (102), 또는 양자는 서버 (206) 로부터 파라미터화된 데이터베이스 (424) 의 적어도 부분을 수신할 수도 있다. 예를 들어, 서버 (206) 는 제 1 스피치 파라미터들 (472), 제 2 스피치 파라미터들 (474), N 스피치 파라미터들 (476), 또는 그 조합을 생성하기 위하여 대체 스피치 신호 (112) 를 분석할 수도 있다.
서버 (206) 는 파라미터화된 데이터베이스 (424) 의 적어도 부분을 이동 디바이스 (104), 제 1 디바이스 (102), 또는 양자에 제공할 수도 있다. 예를 들어, 이동 디바이스 (104), 제 1 디바이스 (102), 또는 양자는 주기적으로, 또는 도 1 의 제 1 사용자 스피치 신호 (130), 도 6 의 제 1 데이터 (630), 입력 신호 (830), 사용자 요청, 또는 그 조합을 수신하는 것에 응답하여 중의 어느 하나로, 서버 (206) 로부터 파라미터화된 데이터베이스 (424) 의 적어도 부분을 요청할 수도 있다. 대안적인 양태에서, 서버 (206) 는 파라미터화된 데이터베이스 (424) 의 적어도 부분을 이동 디바이스 (104), 제 1 디바이스 (102), 또는 양자에 주기적으로 제공할 수도 있다.
특정한 양태에서, 서버 (예컨대, 도 2 의 서버 (206)) 는 신호 프로세싱 모듈 (422) 을 포함할 수도 있다. 서버 (206) 는 이동 디바이스 (104) 로부터 제 1 사용자 스피치 신호 (130) 를 수신할 수도 있다. 도 3 및 도 4 를 참조하여 설명된 바와 같이, 서버 (206) 는 출력 신호 (430) 를 생성할 수도 있다. 서버 (206) 는 출력 신호 (430) 를 제 1 디바이스 (102) 로 전송할 수도 있다. 특정한 양태에서, 출력 신호 (430) 는 도 6 의 제 1 데이터 (630) 에 대응할 수도 있다.
도 9 를 참조하면, 스피치 신호들을 대체하도록 동작가능한 시스템의 특정한 양태의 도면이 개시되고 900 으로 전반적으로 지시된다. 특정한 양태에서, 시스템 (900) 은 제 1 디바이스 (102) 에 대응할 수도 있거나, 제 1 디바이스 (102) 내에 포함될 수도 있다.
시스템 (900) 은 합성기 (408) 에 결합된 검색 모듈 (922) 을 포함한다. 검색 모듈 (922) 은 검색기 (904) 에 결합된 데이터베이스 (924) 를 포함할 수도 있거나 데이터베이스 (924) 를 액세스할 수도 있다. 특정한 양태에서, 데이터베이스 (924) 는 도 1 의 제 1 데이터베이스 (124), 도 4 의 파라미터화된 데이터베이스 (424), 또는 양자를 포함할 수도 있다. 예를 들어, 데이터베이스 (924) 는 대체 스피치 신호들 (112) 및/또는 대체 스피치 신호들 (112) 에 대응하는 스피치 파라미터들 (예컨대, 스피치 파라미터들 (472, 474, 및/또는 476)) 의 세트를 저장할 수도 있다. 특정한 양태에서, 데이터베이스 (924) 는 대체 스피치 신호들 (112) 및 스피치 파라미터들의 세트를 수신할 수도 있고 저장할 수도 있다. 예를 들어, 데이터베이스 (924) 는 또 다른 디바이스 (예컨대, 도 2 의 서버 (206)) 로부터 대체 스피치 신호들 (112) 및 스피치 파라미터들의 세트를 수신할 수도 있다. 또 다른 예로서, 데이터베이스 (924) 는 서버 (206) 로부터 대체 스피치 신호들 (112) 을 수신할 수도 있고, 검색기 (904) 는 벡터 양자화기, 은닉 마코프 모델 (HMM), 또는 가우시안 혼합 모델 (GMM) 중의 적어도 하나를 이용하여 스피치 파라미터들의 세트를 생성할 수도 있다. 검색기 (904) 는 스피치 파라미터들의 생성된 세트를 데이터베이스 (924) 내에 저장할 수도 있다.
특정한 양태에서, 검색기 (904) 는 도 4 의 분석기 (402) 및 검색기 (404) 를 포함할 수도 있다. 합성기 (408) 는 대체기 (902) 를 포함할 수도 있다. 대체기 (902) 는 검색기 (904) 및 데이터베이스 (924) 에 결합될 수도 있다.
동작 동안, 검색기 (904) 는 입력 신호 (930) 를 수신할 수도 있다. 입력 신호 (930) 는 스피치에 대응할 수도 있다. 특정한 양태에서, 입력 신호 (930) 는 도 1 과 도 4 및 도 5 의 제 1 사용자 스피치 신호 (130), 도 6 내지 도 7 의 제 1 데이터 (630), 또는 도 8 의 입력 신호 (830) 를 포함할 수도 있다. 예를 들어, 검색기 (904) 는 사용자 (예컨대, 도 1 의 제 1 사용자 (152)), 또 다른 디바이스, 애플리케이션, 또는 그 조합으로부터 입력 신호 (930) 를 수신할 수도 있다. 애플리케이션은 문서 뷰어 애플리케이션, 전자 책 뷰어 애플리케이션, 텍스트-대-스피치 애플리케이션, 전자 메일 애플리케이션, 통신 애플리케이션, 인터넷 애플리케이션, 사운드 레코딩 애플리케이션, 또는 그 조합을 포함할 수도 있다.
검색기 (904) 는 입력 신호 (930) 를 대체 스피치 신호들 (112) 과 비교할 수도 있다. 특정한 양태에서, 검색기 (904) 는 입력 신호 (930) 의 제 1 복수의 스피치 파라미터들을 스피치 파라미터들의 세트와 비교할 수도 있다. 검색기 (904) 는 벡터 양자화기, 은닉 마코프 모델 (HMM), 또는 가우시안 혼합 모델 (GMM) 중의 적어도 하나를 이용하여 제 1 복수의 스피치 파라미터들을 결정할 수도 있다.
검색기 (904) 는 비교에 기초하여, 특정한 대체 스피치 신호 (예컨대, 제 1 대체 스피치 신호 (172)) 가 입력 신호 (930) 와 일치하는 것으로 결정할 수도 있다. 예를 들어, 검색기 (904) 는 도 4 를 참조하여 설명된 바와 같이, 제 1 복수의 스피치 파라미터들 및 대체 스피치 신호들 (112) 에 대응하는 스피치 파라미터들의 세트의 비교, 제약, 또는 양자에 기초하여, 제 1 대체 스피치 신호 (172), 제 1 스피치 파라미터들 (472), 또는 양자를 선택할 수도 있다.
검색기 (904) 는 선택된 결과 (416) 를 대체기 (902) 에 제공할 수도 있다. 선택된 결과 (416) 는 제 1 대체 스피치 신호 (172), 제 1 스피치 파라미터들 (472), 또는 양자를 표시할 수도 있다. 대체기 (902) 는 선택된 결과 (416) 에 기초하여 데이터베이스 (924) 로부터 제 1 대체 스피치 신호 (172) 를 취출할 수도 있다. 대체기 (902) 는 도 4 를 참조하여 설명된 바와 같이, 입력 신호 (930) 의 부분을 제 1 대체 스피치 신호 (172) 로 대체함으로써 제 1 프로세싱된 스피치 신호 (116) 를 생성할 수도 있다.
특정한 양태에서, 데이터베이스 (924) 는 대체 스피치 신호들 (112) 과 연관된 라벨 (label) 들을 포함할 수도 있다. 예를 들어, 제 1 라벨은 제 1 대체 스피치 신호 (172) 에 대응하는 사운드 (예컨대, 음소, 다이폰, 트라이폰, 음절, 단어, 또는 그 조합) 를 표시할 수도 있다. 제 1 라벨은 사운드와 연관된 텍스트 식별자를 포함할 수도 있다. 특정한 양태에서, 대체기 (902) 는 선택된 결과 (416) 에 기초하여 데이터베이스 (924) 로부터 제 1 라벨을 취출할 수도 있다. 예를 들어, 선택된 결과 (416) 는 제 1 대체 스피치 신호 (172) 를 표시할 수도 있고, 대체기 (902) 는 데이터베이스 (924) 로부터 대응하는 제 1 라벨을 취출할 수도 있다. 합성기 (408) 는 제 1 라벨을 포함하는 텍스트 출력을 생성할 수도 있다.
기존의 스피치 인식 시스템들은 언어 모델을 이용하고 단어들 또는 사운드들과 같은 고차 (higher-order) 구성물들에 대해 동작한다. 대조적으로, 검색 모듈 (922) 은 언어 모델을 이용하지 않고, 입력 신호 (930) 및 대체 스피치 신호들 (112) 의 비교를 수행하여 선택된 결과 (416) 를 결정하기 위하여 파라미터-레벨에서, 또는 신호-레벨에서 동작할 수도 있다.
시스템 (900) 은 제 1 프로세싱된 스피치 신호 (116) 를 생성하기 위하여 제 1 대체 스피치 신호 (172) 에 의한 입력 신호 (930) 의 부분의 대체를 가능하게 할 수도 있다. 제 1 프로세싱된 스피치 신호 (116) 는 입력 신호 (930) 보다 더 높은 오디오 품질을 가질 수도 있다.
도 10 을 참조하면, 데이터베이스의 특정한 양태의 도면이 도시되고 1024 로 전반적으로 지시된다. 특정한 양태에서, 데이터베이스 (1024) 는 도 1 의 제 1 데이터베이스 (124), 도 4 의 파라미터화된 데이터베이스 (424), 도 9 의 데이터베이스 (924), 또는 그 조합에 대응할 수도 있다.
데이터베이스 (1024) 는 멜-주파수 켑스트럴 계수들 (MFCC) (1002), 라인 스펙트럼 쌍들 (LSP) (1004), 라인 스펙트럼 주파수들 (LSF) (1006), 켑스트럴 (1010), 라인 스펙트럼 정보 (LSI) (1012), 이산 코사인 변환 (DCT) 파라미터들 (1014), 이산 푸리에 변환 (DFT) 파라미터들 (1016), 고속 푸리에 변환 (FFT) 파라미터들 (1018), 포먼트 주파수들 (1020), 펄스 코드 변조 (pulse code modulation; PCM) 샘플들 (1022), 또는 그 임의의 조합을 포함할 수도 있다.
특정한 양태에서, 디바이스 (예컨대, 도 2 의 서버 (206)) 의 아날로그-대-디지털 변환기 (analog-to-digital convertor; ADC) 는 트레이닝 스피치 신호 (예컨대, 트레이닝 스피치 신호 (272)) 에 기초하여 PCM 샘플들 (1022) 을 생성할 수도 있다. 스피치 신호 관리기 (262) 는 ADC 로부터 PCM 샘플들 (1022) 을 수신할 수도 있고, PCM 샘플들 (1022) 을 데이터베이스 (1024) 내에 저장할 수도 있다. 스피치 신호 관리기 (262) 는 PCM 샘플들 (1022) 에 기초하여, 도 2 를 참조하여 설명된 바와 같이, 대체 스피치 신호들 (112) 을 생성할 수도 있다.
스피치 신호 관리기 (262) 는 PCM 샘플들 (1022) 의 각각의 PCM 샘플의 스펙트럼의 표현을 계산할 수도 있다. 예를 들어, 스피치 신호 관리기 (262) 는 PCM 샘플들 (1022) 의 각각 (또는 대체 스피치 신호들 (112) 의 각각) 에 대응하는, MFCC (1002), LSP (1004), LSF (1006), 켑스트럴 (1010), LSI (1012), DCT 파라미터들 (1014), DFT 파라미터들 (1016), FFT 파라미터들 (1018), 포먼트 주파수들 (1020), 또는 그 조합을 생성할 수도 있다.
예를 들어, MFCC (1002) 는 특정한 PCM 샘플에 대응하는 사운드의 단기 전력 스펙트럼의 표현일 수도 있다. 스피치 신호 관리기 (262) 는 주파수의 비-선형 멜-스케일 (mel-scale) 상에서의 로그 전력 스펙트럼의 선형 코사인 변환에 기초하여 MFCC (1002) 를 결정할 수도 있다. 로그 전력 스펙트럼은 특정한 PCM 샘플에 대응할 수도 있다.
또 다른 예로서, LSP (1004) 또는 LSF (1006) 는 특정한 PCM 샘플에 대응하는 선형 예측 계수들 (LPC) 의 표현일 수도 있다. LPC 는 특정한 PCM 샘플의 스펙트럼 엔벨로프를 표현할 수도 있다. 스피치 신호 관리기 (262) 는 선형 예측 모델에 기초하여 특정한 PCM 샘플의 LPC 를 결정할 수도 있다. 스피치 신호 관리기 (262) 는 LPC 에 기초하여 LSP (1004), LSF (1006), 또는 양자를 결정할 수도 있다.
추가의 예로서, 켑스트럴 (1010) 은 특정한 PCM 샘플의 전력 스펙트럼을 표현할 수도 있다. 스피치 신호 관리기 (262) 는 역 푸리에 변환 (inverse fourier transform; IFT) 을 특정한 PCM 샘플의 추정된 스펙트럼의 로그 (logarithm) 에 적용함으로써 켑스트럴 (1010) 을 결정할 수도 있다.
추가적인 예로서, LSI (1012) 는 특정한 PCM 샘플의 스펙트럼을 표현할 수도 있다. 스피치 신호 관리기 (262) 는 LSI (1012) 를 생성하기 위하여 필터를 특정한 PCM 샘플에 적용할 수도 있다.
스피치 신호 관리기 (262) 는 DCT 파라미터들 (1014) 을 생성하기 위하여 특정한 이산 코사인 변환 (DCT) 을 특정한 PCM 샘플에 적용할 수도 있거나, DFT 파라미터들 (1016) 을 생성하기 위하여 특정한 이산 푸리에 변환 (DFT) 을 특정한 PCM 샘플에 적용할 수도 있거나, FFT 파라미터들 (1018) 을 생성하기 위하여 특정한 고속 푸리에 변환 (FFT) 을 특정한 PCM 샘플에 적용할 수도 있거나, 또는 그 조합일 수도 있다.
포먼트 주파수들 (1020) 은 특정한 PCM 샘플의 스펙트럼의 스펙트럼 피크들을 표현할 수도 있다. 스피치 신호 관리기 (262) 는 대역 통과 필터를 특정한 PCM 샘플에 적용함으로써, 특정한 PCM 샘플의 LPC 분석을 수행함으로써, 또는 그 조합에 의하여, 특정한 PCM 샘플의 위상 정보에 기초하여 포먼트 주파수들 (1020) 을 결정할 수도 있다.
특정한 양태에서, MFCC (1002), LSP (1004), LSF (1006), 켑스트럴 (1010), LSI (1012), DCT 파라미터들 (1014), DFT 파라미터들 (1016), FFT 파라미터들 (1018), 포먼트 주파수들 (1020), 또는 그 조합은 제 1 스피치 파라미터들 (472) 에 대응할 수도 있고, 특정한 PCM 샘플은 제 1 대체 스피치 신호 (172) 에 대응할 수도 있다.
데이터베이스 (1024) 는 일치하는 대체 스피치 신호에 대한 검색 동안에 입력 스피치 신호를 복수의 대체 스피치 신호들과 비교하기 위하여 신호 프로세싱 모듈에 의해 이용될 수도 있는 대체 스피치 신호의 파라미터들의 예들을 예시한다. 신호 프로세싱 모듈은 입력 스피치 신호의 부분을 일치하는 대체 스피치 신호로 대체함으로써 프로세싱된 신호를 생성할 수도 있다. 프로세싱된 신호는 입력 스피치 신호보다 더욱 양호한 오디오 품질을 가질 수도 있다.
도 11 을 참조하면, 시스템의 특정한 양태가 개시되고 1100 으로 전반적으로 지시된다. 시스템 (1100) 은 도 1 내지 도 2 및 도 4 내지 도 9 의 시스템들 (100 내지 200, 및 400 내지 900) 을 참조하여 설명된 하나 이상의 동작들을 수행할 수도 있다.
시스템 (1100) 은 네트워크 (120) 를 통해 제 1 디바이스 (102) 에 결합되거나 제 1 디바이스 (102) 와 통신하는 서버 (1106) 를 포함할 수도 있다. 서버 (1106) 는 메모리 (1176) 에 전기적으로 결합된 프로세서 (1160) 를 포함할 수도 있다. 프로세서 (1160) 는 트랜시버 (1180) 를 통해 네트워크 (120) 에 전기적으로 결합될 수도 있다. 트랜시버 (예컨대, 트랜시버 (1180)) 는 수신기, 송신기, 또는 양자를 포함할 수도 있다. 수신기는 안테나, 네트워크 인터페이스, 또는 안테나 및 네트워크 인터페이스의 조합 중의 하나 이상을 포함할 수도 있다. 송신기는 안테나, 네트워크 인터페이스, 또는 안테나 및 네트워크 인터페이스의 조합 중의 하나 이상을 포함할 수도 있다. 프로세서 (1160) 는 스피치 신호 관리기 (262) 를 포함할 수도 있거나, 또는 스피치 신호 관리기 (262) 에 전기적으로 결합될 수도 있다. 메모리 (1176) 는 제 2 데이터베이스 (264) 를 포함할 수도 있다. 제 2 데이터베이스 (264) 는 특정한 사용자 (예컨대, 도 1 의 제 2 사용자 (154)) 와 연관된 대체 스피치 신호들 (112) 을 저장하도록 구성될 수도 있다. 예를 들어, 도 2 를 참조하여 설명된 바와 같이, 스피치 신호 관리기 (262) 는 트레이닝 신호에 기초하여 대체 스피치 신호들 (112) 을 생성할 수도 있다. 대체 스피치 신호들 (112) 은 제 1 대체 스피치 신호 (172) 를 포함할 수도 있다.
메모리 (1176) 는 하나 이상의 원격 음성 프로파일들 (1178) 을 저장하도록 구성될 수도 있다. 원격 음성 프로파일들 (1178) 은 다수의 사람들과 연관될 수도 있다. 예를 들어, 원격 음성 프로파일들 (1178) 은 원격 음성 프로파일 (1174) 을 포함할 수도 있다. 원격 음성 프로파일 (1174) 은 사람 (예컨대, 도 1 의 제 2 사용자 (154)) 과 연관될 수도 있다. 예시하자면, 원격 음성 프로파일 (1174) 은 제 2 사용자 (154) 와 연관된 식별자 (1168) (예컨대, 사용자 식별자) 를 포함할 수도 있다. 원격 음성 프로파일들 (1178) 의 또 다른 원격 음성 프로파일은 또 다른 사람 (예컨대, 제 1 사용자 (152)) 과 연관될 수도 있다.
원격 음성 프로파일 (1174) 은 대체 스피치 신호들 (112) 과 연관될 수도 있다. 예를 들어, 원격 음성 프로파일 (1174) 은 대체 스피치 신호들 (112) 과 연관된 스피치 컨텐츠 (1170) 를 포함할 수도 있다. 예시하자면, 스피치 컨텐츠 (1170) 는 제 2 사용자 (154) 의 스피치 신호 또는 스피치 모델에 대응할 수도 있다. 스피치 컨텐츠 (1170) 는 대체 스피치 신호들 (112) 중의 하나 이상으로부터 추출된 특징들에 기초할 수도 있다. 원격 음성 프로파일 (1174) 은 대체 스피치 신호들 (112) 이 제 1 재생 기간을 가지는 오디오 데이터에 대응한다는 것을 표시할 수도 있다. 예를 들어, 대체 스피치 신호들 (112) 을 생성하기 위하여 이용된 트레이닝 신호는 도 2 를 참조하여 설명된 바와 같이, 제 1 재생 기간을 가질 수도 있다.
제 1 디바이스 (102) 는 트랜시버 (1150) 를 통해 네트워크 (120) 에 전기적으로 결합된 프로세서 (1152) 를 포함할 수도 있다. 프로세서 (1152) 는 메모리 (1132) 에 전기적으로 결합될 수도 있다. 메모리 (1132) 는 제 1 데이터베이스 (124) 를 포함할 수도 있다. 제 1 데이터베이스 (124) 는 로컬 대체 스피치 신호들 (1112) 을 저장하도록 구성될 수도 있다. 프로세서 (1152) 는 신호 프로세싱 모듈 (122) 을 포함할 수도 있거나, 또는 신호 프로세싱 모듈 (122) 에 전기적으로 결합될 수도 있다. 메모리 (1132) 는 하나 이상의 로컬 음성 프로파일들 (1108) 을 저장하도록 구성될 수도 있다. 예를 들어, 로컬 음성 프로파일들 (1108) 은 특정한 사용자 (예컨대, 도 1 의 제 2 사용자 (154)) 와 연관된 로컬 음성 프로파일 (1104) 을 포함할 수도 있다. 제 1 디바이스 (102) 는 적어도 하나의 스피커 (예컨대, 스피커들 (142)), 디스플레이 (1128), 입력 디바이스 (1134) (예컨대, 터치스크린, 키보드, 마우스, 또는 마이크로폰), 또는 그 조합에 전기적으로 결합될 수도 있거나, 또는 이들을 포함할 수도 있다.
동작 동안, 신호 프로세싱 모듈 (122) 은 서버 (1106) 로부터 원격 음성 프로파일들 (1178) 중의 하나 이상의 원격 음성 프로파일들 (예컨대, 원격 음성 프로파일 (1174)) 을 수신할 수도 있다. 신호 프로세싱 모듈 (122) 은 식별자 (1168), 스피치 컨텐츠 (1170), 또는 양자에 기초하여, 원격 음성 프로파일 (1174) 이 사람 (예컨대, 도 1 의 제 2 사용자 (154)) 와 연관되는 것으로 결정할 수도 있다. 예를 들어, 신호 프로세싱 모듈 (122) 은 식별자 (1168) (예컨대, 사용자 식별자) 가 제 2 사용자 (154) 에 대응하는 것으로 결정하는 것에 응답하여, 원격 음성 프로파일 (1174) 이 제 2 사용자 (154) 와 연관되는 것으로 결정할 수도 있다. 또 다른 예로서, 신호 프로세싱 모듈 (122) 은 스피치 컨텐츠 (1170) 가 제 2 사용자 (154) 에 대응하는 것으로 결정하는 것에 응답하여, 원격 음성 프로파일 (1174) 이 제 2 사용자 (154) 와 연관되는 것으로 결정할 수도 있다. 신호 프로세싱 모듈 (122) 은 로컬 대체 스피치 신호들 (1112) 에 기초하여 제 2 스피치 컨텐츠 (예컨대, 스피치 모델) 를 생성할 수도 있다. 신호 프로세싱 모듈 (122) 은 스피치 컨텐츠 (1170) 와 제 2 스피치 컨텐츠 사이의 차이가 임계치를 충족 (예컨대, 그보다 더 작음) 시키는 것으로 결정하는 것에 응답하여, 원격 음성 프로파일 (1174) 이 제 2 사용자 (154) 와 연관되는 것으로 결정할 수도 있다. 예를 들어, 스피치 컨텐츠 (1170) 는 대체 스피치 신호들 (112) 중의 하나 이상과 연관된 특징들에 대응할 수도 있다. 제 2 스피치 컨텐츠는 제 2 사용자 (154) 의 스피치 모델에 대응할 수도 있다. 신호 프로세싱 모듈 (122) 은 특징들이 스피치 모델에 대응하는지 여부를 표시하는 신뢰 값을 결정할 수도 있다. 신호 프로세싱 모듈 (122) 은 신뢰 값이 신뢰 임계치를 충족 (예컨대, 그보다 더 높음) 시키는 것으로 결정하는 것에 응답하여, 원격 음성 프로파일 (1174) 이 제 2 사용자 (154) 와 연관되는 것으로 결정할 수도 있다.
신호 프로세싱 모듈 (122) 은 로컬 음성 프로파일 (1104) 및 원격 음성 프로파일 (1174) 이 동일한 사람 (예컨대, 제 2 사용자 (154)) 과 연관되는 것으로 결정하는 것에 응답하여, 프로파일 관리를 위한 로컬 음성 프로파일 (1104) 을 선택할 수도 있다. 신호 프로세싱 모듈 (122) 은 로컬 음성 프로파일 (1104) 을 선택하는 것에 응답하여, 본원에서 설명된 바와 같이, 제 1 사용자 (152) 에 의한 프로파일 관리를 가능하게 하기 위한 그래픽 사용자 인터페이스 (graphical user interface; GUI) (1138) 를 생성할 수도 있거나, 로컬 음성 프로파일 (1104) 을 업데이트하기 위하여 업데이트 요청 (1110) 을 서버 (1106) 로 전송할 수도 있거나, 양자일 수도 있다.
특정한 구현예에서, 신호 프로세싱 모듈 (122) 은 프로파일 요청 (1120) 을 서버 (1106) 로 전송할 수도 있다. 프로파일 요청 (1120) 은 로컬 음성 프로파일 (1104), 원격 음성 프로파일 (1174), 또는 양자를 표시할 수도 있다. 예를 들어, 프로파일 요청 (1120) 은 제 2 사용자 (154) 와 연관된 식별자 (1168) 를 포함할 수도 있다. 스피치 신호 관리기 (262) 는 프로파일 요청 (1120) 을 수신하는 것에 응답하여, 원격 음성 프로파일 (1174) 을 제 1 디바이스 (102) 로 전송할 수도 있다.
특정한 양태에서, 신호 프로세싱 모듈 (122) 은 입력 디바이스 (1134) 를 통해, 프로파일 요청 (1120) 이 언제 서버 (1106) 로 전송될 것인지를 표시하는 사용자 입력 (1140) 을 수신할 수도 있다. 신호 프로세싱 모듈 (122) 은 사용자 입력 (1140) 에 기초하여 프로파일 요청 (1120) 을 전송할 수도 있다. 예를 들어, 신호 프로세싱 모듈 (122) 은 사용자 입력 (1140) 을 수신하는 것과, 특정한 시간에, 사용자 입력 (1140) 의 수신 시에, 사용자 입력 (1140) 이 프로파일 요청 (1120) 이 서버 (1106) 로 전송되어야 한다는 것을 표시하는 것으로 결정하는 것에 응답하여, 및/또는 특정한 조건이 충족되는 것에 응답하여, 프로파일 요청 (1120) 을 서버 (1106) 로 전송할 수도 있다. 또 다른 예로서, 신호 프로세싱 모듈 (122) 은 프로파일 요청 (1120) 의 다수의 사례들을 서버 (1106) 로 주기적으로 전송할 수도 있다. 특정한 양태에서, 신호 프로세싱 모듈 (122) 은 제 1 디바이스 (102) 의 특정한 애플리케이션 (예컨대, 프로파일 관리 애플리케이션) 이 활성화 모드에 있는 것으로 결정하는 것에 응답하여, 프로파일 요청 (1120) 을 서버 (1106) 로 전송할 수도 있다.
신호 프로세싱 모듈 (122) 은 로컬 음성 프로파일 (1104) 을 선택하는 것에 후속하여, GUI (1138) 를 생성할 수도 있다. 특정한 구현예에서, GUI (1138) 는 도 3 의 GUI (300) 에 대응할 수도 있다. GUI (1138) 는 로컬 음성 프로파일 (1104) 의 표현, 원격 음성 프로파일 (1174) 의 표현, 또는 양자를 포함할 수도 있다. 예를 들어, GUI (1138) 는 원격 음성 프로파일 (1174) 에 대응하는 대체 스피치 신호들 (112) 과 연관된 제 1 재생 기간을 표시할 수도 있다. 예시하자면, 도 3 의 제 1 막대 (302), 제 2 막대 (314), 또는 제 3 막대 (316) 는 원격 음성 프로파일 (1174) 이 "Randal Hughes", "Sabrina Sanders", 또는 "Brett Dean" 에 각각 대응할 때에 제 1 재생 기간을 표시할 수도 있다. 제 1 막대 (302), 제 2 막대 (314), 및 제 3 막대 (316) 의 각각은 원격 음성 프로파일들 (1178) 의 별개의 원격 음성 프로파일과 연관될 수도 있다. 예를 들어, 제 1 막대 (302) 는 원격 음성 프로파일 (1174) 과 연관될 수도 있고, 제 2 막대 (314) 는 원격 음성 프로파일들 (1178) 의 제 2 원격 음성 프로파일과 연관될 수도 있고, 제 3 막대 (316) 는 원격 음성 프로파일들 (1178) 의 제 3 원격 음성 프로파일과 연관될 수도 있다.
특정한 양태에서, GUI (1138) 는 로컬 음성 프로파일 (1104) 에 대응하는 로컬 대체 스피치 신호들 (1112) 과 연관된 제 2 재생 기간을 표시할 수도 있다. 예시하자면, 도 3 의 제 1 막대 (302), 제 2 막대 (314), 또는 제 3 막대 (316) 는 로컬 음성 프로파일 (1104) 이 "Randal Hughes", "Sabrina Sanders", 또는 "Brett Dean" 에 각각 대응할 때에 제 2 재생 기간을 표시할 수도 있다. 제 1 막대 (302), 제 2 막대 (314), 및 제 3 막대 (316) 의 각각은 로컬 음성 프로파일들 (1108) 의 별개의 로컬 음성 프로파일과 연관될 수도 있다. 예를 들어, 제 1 막대 (302) 는 로컬 음성 프로파일 (1104) 과 연관될 수도 있고, 제 2 막대 (314) 는 로컬 음성 프로파일들 (1108) 의 제 2 로컬 음성 프로파일과 연관될 수도 있고, 제 3 막대 (316) 는 로컬 음성 프로파일들 (1108) 의 제 3 로컬 음성 프로파일과 연관될 수도 있다. 특정한 구현예에서, GUI (1138) 는 원격 음성 프로파일 (1174) 과 연관된 제 1 재생 기간과, 로컬 음성 프로파일 (1104) 과 연관된 제 2 재생 기간을 표시할 수도 있고, 여기서, 원격 음성 프로파일 (1174) 및 로컬 음성 프로파일 (1104) 은 동일한 사람 (예컨대, 도 1 의 제 2 사용자 (154)) 와 연관된다. 제 1 사용자 (152) 는 GUI (1138) 에 기초하여, 로컬 음성 프로파일 (1104) 을 업데이트할 것인지 여부를 결정할 수도 있다. 예를 들어, 제 1 사용자 (152) 가 로컬 음성 프로파일 (1104) 이 짧은 재생 기간에 대응하는 것으로 결정할 경우, 제 1 사용자 (152) 는 원격 음성 프로파일 (1174) 에 기초하여, 로컬 음성 프로파일 (1104) 을 업데이트하는 것으로 판단할 수도 있다. 또 다른 예로서, 제 1 사용자 (152) 는 GUI (1138) 가 원격 음성 프로파일 (1174) 이 짧은 재생 기간에 대응한다는 것을 표시하는 것으로 결정하는 것에 응답하여, 로컬 음성 프로파일 (1104) 을 업데이트하기 위하여 원격 음성 프로파일 (1174) 을 이용하는 것을 금지함으로써, 업데이트들의 빈도를 감소시킬 수도 있다. 업데이트들의 빈도를 감소시키는 것은 자원들 (예컨대, 전력, 대역폭, 또는 양자) 을 절감할 수도 있다.
GUI (1138) 는 음성 프로파일 (예컨대, 로컬 음성 프로파일 (1104) 또는 원격 음성 프로파일 (1174)) 과 연관된 업데이트 요청 (1110) 이 언제 전송되어야 하는지를 특정하기 위한 옵션을 표시할 수도 있다. 신호 프로세싱 모듈 (122) 은 GUI (1138) 를 디스플레이 (1128) 에 제공할 수도 있다. 예를 들어, 옵션은 자동 업데이트 임계치 (312) 또는 추가 옵션 (308) 에 대응할 수도 있다. 신호 프로세싱 모듈 (122) 은 제 1 사용자 (152) 로부터, 입력 디바이스 (1134) 를 통해 옵션에 대응하는 사용자 입력 (1140) 을 수신할 수도 있다. 사용자 입력 (1140) 은 업데이트 요청 (1110) 이 언제 전송될 것인지를 표시할 수도 있다. 예를 들어, 제 1 사용자 (152) 는 자동 업데이트 임계치 (312) 를 증가시킬 수도 있거나 감소시킬 수도 있다. 신호 프로세싱 모듈 (122) 은 제 1 재생 기간이 자동 업데이트 임계치 (312) 를 충족 (예컨대, 그 이상임) 시키는 것으로 결정하는 것에 응답하여, 업데이트 요청 (1110) 을 전송할 수도 있다. 예시하자면, 신호 프로세싱 모듈 (122) 은 원격 음성 프로파일 (1174) 이 대체 스피치 신호들 (112) 에 대응하는 제 1 재생 기간이 자동 업데이트 임계치 (312) 를 충족시킨다는 것을 표시하는 것으로 결정하는 것에 응답하여, 업데이트 요청 (1110) 을 전송할 수도 있다. 이에 따라, 신호 프로세싱 모듈 (122) 은 제 1 재생 기간이 자동 업데이트 임계치 (312) 를 충족시키는 것에 실패 (예컨대, 그보다 더 낮음) 할 때에 업데이트 요청 (1110) 을 전송하는 것을 금지함으로써, 업데이트들의 빈도를 감소시킬 수도 있다. 또 다른 예로서, 제 1 사용자 (152) 는 음성 프로파일 (예컨대, 원격 음성 프로파일 (1174), 로컬 음성 프로파일 (1104), 또는 양자) 과 연관된 특정한 막대 (예컨대, 제 1 막대 (302)) 를 선택할 수도 있고, 추가 옵션 (308) 을 선택할 수도 있다. 신호 프로세싱 모듈 (122) 은 추가 옵션 (308) 및 제 1 막대 (302) 의 선택을 표시하는 사용자 입력 (1140) 을 수신하는 것에 응답하여, 음성 프로파일 (예컨대, 원격 음성 프로파일 (1174), 로컬 음성 프로파일 (1104), 또는 양자) 을 표시하는 업데이트 요청 (1110) 을 서버 (1106) 로 전송할 수도 있다.
특정한 구현예에서, GUI (1138) 는 음성 프로파일 (예컨대, 원격 음성 프로파일 (1174), 로컬 음성 프로파일 (1104), 또는 양자) 과 연관된 업데이트 요청 (예컨대, 업데이트 요청 (1110)) 이 주기적으로 (예컨대, 매일, 매주일, 또는 매월) 서버 (1106) 로 전송되어야 한다는 것을 특정하기 위한 옵션을 포함할 수도 있다. 신호 프로세싱 모듈 (122) 은 예컨대, 업데이트 요청이 주기적으로 전송되어야 한다는 것을 표시하는 사용자 입력 (1140) 을 수신하는 것에 응답하여, 업데이트 요청 (1110) 의 다수의 사례들을 서버 (1106) 로 주기적으로 전송할 수도 있다. 특정한 양태에서, 사용자 입력 (1140) 은 업데이트 시간 임계치를 표시할 수도 있다. 신호 프로세싱 모듈 (122) 은 음성 프로파일 (예컨대, 원격 음성 프로파일 (1174), 로컬 음성 프로파일 (1104), 또는 양자) 과 연관된 제 1 업데이트가 제 1 시간에 서버 (1106) 로부터 수신되었다는 것으로 결정할 수도 있다. 신호 프로세싱 모듈 (122) 은 제 2 시간에, 제 1 시간과 제 2 시간 사이의 차이를 결정할 수도 있다. 신호 프로세싱 모듈 (122) 은 차이가 사용자 입력 (1140) 에 의해 표시된 업데이트 시간 임계치를 충족시키는 것으로 결정하는 것에 응답하여, 업데이트 요청 (1110) 을 서버 (1106) 로 전송할 수도 있다.
특정한 구현예에서, GUI (1138) 는 음성 프로파일 (예컨대, 원격 음성 프로파일 (1174), 로컬 음성 프로파일 (1104), 또는 양자) 과 연관된 업데이트 요청 (예컨대, 업데이트 요청 (1110)) 을 전송하는 것을 언제 금지할 것인지를 특정하기 위한 옵션을 포함할 수도 있다. 옵션은 업데이트 정지 임계치, 자원 사용 임계치, 또는 양자에 대응할 수도 있다. 예를 들어, 신호 프로세싱 모듈 (122) 은 로컬 대체 스피치 신호들 (1112) 과 연관된 제 2 재생 기간이 업데이트 정지 임계치를 충족 (예컨대, 그 이상임) 하는 것으로 결정하는 것에 응답하여, 업데이트 요청 (1110) 을 서버 (1106) 로 전송하는 것을 금지할 수도 있다. 예시하자면, 제 1 사용자 (152) 는, 신호 프로세싱 모듈 (122) 이 로컬 대체 스피치 신호들 (1112) 에 대응하는 제 2 재생 기간이 업데이트 정지 임계치를 충족 (예컨대, 그 이상임) 할 때에 로컬 음성 프로파일 (1104) 을 자동으로 업데이트하는 것을 중단하도록, 업데이트 정지 임계치를 특정할 수도 있다. 또 다른 예로서, 신호 프로세싱 모듈 (122) 은 자원 사용 (예컨대, 잔여 배터리 전력, 이용가능한 메모리, 과금 사이클 네트워크 사용, 또는 그 조합) 이 자원 사용 임계치를 충족시키는 것으로 결정하는 것에 응답하여, 업데이트 요청 (1110) 을 서버 (1106) 로 전송하는 것을 금지할 수도 있다. 예를 들어, 신호 프로세싱 모듈 (122) 은 잔여 배터리 전력이 전력 절감 임계치를 충족 (예컨대, 그보다 더 작음) 시킬 때, 이용가능한 메모리가 메모리 절감 임계치를 충족 (예컨대, 그보다 더 작음) 시킬 때, 과금 사이클 네트워크 사용이 네트워크 사용 임계치를 충족 (예컨대, 그 이상임) 시킬 때, 또는 그 조합에서 업데이트 요청 (1110) 을 서버 (1106) 로 전송하는 것을 금지할 수도 있다.
특정한 양태에서, GUI (1138) 는 삭제 옵션 (310) 을 포함할 수도 있다. 제 1 사용자 (152) 는 제 1 막대 (302) 및 삭제 옵션 (310) 을 선택할 수도 있다. 신호 프로세싱 모듈 (122) 은 삭제 옵션 (310) 및 제 1 막대 (302) 의 선택을 표시하는 사용자 입력 (1140) 을 수신하는 것에 응답하여, 대응하는 음성 프로파일 (예컨대, 원격 음성 프로파일 (1174)) 을 표시하는 삭제 요청을 서버 (1106) 로 전송할 수도 있다. 스피치 신호 관리기 (262) 는 삭제 요청을 수신하는 것에 응답하여, 대체 스피치 신호들 (112) 을 삭제할 수도 있다. 특정한 구현예에서, 신호 프로세싱 모듈 (122) 은 삭제 옵션 (310) 및 제 1 막대 (302) 의 선택을 표시하는 사용자 입력 (1140) 을 수신하는 것에 응답하여, 로컬 대체 스피치 신호들 (1112) 을 삭제할 수도 있다.
스피치 신호 관리기 (262) 는 본원에서 설명된 바와 같이, 업데이트 요청 (1110) 을 수신하는 것에 응답하여, 업데이트 (1102) 를 제 1 디바이스 (102) 로 전송할 수도 있다. 스피치 신호 관리기 (262) 는 업데이트 (1102) 가 언제 제 1 디바이스 (102) 로 전송되는지를 표시하기 위하여, 원격 음성 프로파일 (1178) 및 제 1 디바이스 (102) 와 연관된 최종 업데이트 전송 시간을 업데이트할 수도 있다. 특정한 구현예에서, 스피치 신호 관리기 (262) 는 제 1 시간에, 삭제 요청을 수신하는 것에 응답하여 제 1 시간을 표시하기 위하여, 제 1 디바이스 (102) 및 원격 음성 프로파일 (1178) 과 연관된 최종 업데이트 전송 시간을 업데이트할 수도 있다. 예를 들어, 스피치 신호 관리기 (262) 는 원격 음성 프로파일 (1178) 과 연관된 업데이트를 또 다른 디바이스에 제공하기 위하여 대체 스피치 신호들 (112) 을 유지하면서, 본원에서 설명된 바와 같이, 대체 스피치 신호들 (112) 이 제 1 디바이스 (102) 에 대한 후속 업데이트로부터 제외되도록, 업데이트를 제 1 디바이스 (102) 전송하지 않으면서 최종 업데이트 전송 시간을 업데이트할 수도 있다.
신호 프로세싱 모듈 (122) 은 서버 (1106) 로부터 업데이트 (1102) 를 수신할 수도 있다. 업데이트 (1102) 는 로컬 음성 프로파일 (1104), 원격 음성 프로파일 (1174), 또는 양자를 표시할 수도 있다. 예를 들어, 업데이트 (1102) 는 도 1 의 제 2 사용자 (154) 에 대응하는 식별자 (1168) 를 포함할 수도 있다. 업데이트 (1102) 는 대체 스피치 신호들 (112) 에 대응하는 스피치 데이터를 포함할 수도 있다. 신호 프로세싱 모듈 (122) 은 대체 스피치 신호들 (112) 의 각각을 로컬 대체 스피치 신호들 (1112) 에 추가할 수도 있다. 예를 들어, 신호 프로세싱 모듈 (122) 은 스피치 데이터를 로컬 음성 프로파일 (1104) 에 추가할 수도 있다. 또 다른 예로서, 신호 프로세싱 모듈 (122) 은 스피치 데이터에 기초하여 대체 스피치 신호들 (112) 을 생성할 수도 있고, 생성된 대체 스피치 신호들 (112) 의 각각을 로컬 대체 스피치 신호들 (1112) 에 추가할 수도 있다.
특정한 양태에서, 신호 프로세싱 모듈 (122) 은 로컬 음성 프로파일 (1104) 의 제 1 세그먼트 (1164) 를 원격 음성 프로파일 (1174) 의 제 2 세그먼트 (1166) 로 대체할 수도 있다. 예를 들어, 제 1 세그먼트 (1164) 는 로컬 대체 스피치 신호들 (1112) 의 대체 스피치 신호 (1172) 에 대응할 수도 있다. 제 2 세그먼트 (1166) 는 대체 스피치 신호들 (112) 의 제 1 대체 스피치 신호 (172) 에 대응할 수도 있다. 신호 프로세싱 모듈 (122) 은 로컬 대체 스피치 신호들 (1112) 로부터 대체 스피치 신호 (1172) 를 제거할 수도 있고, 제 1 대체 스피치 신호 (172) 를 로컬 대체 스피치 신호들 (1112) 에 추가할 수도 있다.
제 1 대체 스피치 신호 (172) 및 대체 스피치 신호 (1172) 는 유사한 사운드들 (예컨대, 음소, 다이폰, 트라이폰, 음절, 단어, 또는 그 조합) 에 대응할 수도 있다. 특정한 양태에서, 신호 프로세싱 모듈 (122) 은 제 1 대체 스피치 신호 (172) 가 대체 스피치 신호 (1172) 보다 더 높은 오디오 품질 (예컨대, 더 높은 신호-대-잡음 비율) 을 가지는 것으로 결정하는 것에 응답하여, 대체 스피치 신호 (1172) 를 제 1 대체 스피치 신호 (172) 로 대체할 수도 있다. 또 다른 양태에서, 신호 프로세싱 모듈 (122) 은 대체 스피치 신호 (1172) 가 만료한 (예컨대, 만료 임계치를 초과하는 타임스탬프 (timestamp) 를 가짐) 것으로 결정하는 것에 응답하여, 대체 스피치 신호 (1172) 를 제 1 대체 스피치 신호 (172) 로 대체할 수도 있다.
특정한 구현예에서, 스피치 신호 관리기 (262) 는 제 1 시간에, 원격 음성 프로파일 (1174) 과 연관된 제 1 업데이트를 제 1 디바이스 (102) 로 전송할 수도 있다. 스피치 신호 관리기 (262) 는 제 1 시간을 표시하기 위하여 최종 업데이트 전송 시간을 업데이트할 수도 있다. 스피치 신호 관리기 (262) 는 원격 음성 프로파일 (1174) 과 연관된 대체 스피치 신호들 (112) 이 제 1 업데이트를 제 1 디바이스 (102) 로 전송하는 것에 후속하여 생성되었다는 것으로 추후에 결정할 수도 있다. 예를 들어, 스피치 신호 관리기 (262) 는 대체 스피치 신호들 (112) 의 각각에 대응하는 타임스탬프가 최종 업데이트 전송 시간에 후속하는 시간을 표시하는 것으로 결정하는 것에 응답하여, 대체 스피치 신호들 (112) 을 선택할 수도 있다. 스피치 신호 관리기 (262) 는 대체 스피치 신호들 (112) 이 제 1 업데이트를 제 1 디바이스 (102) 로 전송하는 것에 후속하여 생성되었다는 것으로 결정하는 것에 응답하여, 업데이트 (1102) 를 제 1 디바이스 (102) 로 전송할 수도 있다. 이 특정한 구현예에서, 업데이트 (1102) 는 원격 음성 프로파일 (1174) 과 연관된 전부보다 더 적은 대체 스피치 신호들을 포함할 수도 있다. 예를 들어, 업데이트 (1102) 는 서버 (1106) 가 제 1 디바이스 (102) 로 이전에 전송하지 않았던 그러한 대체 스피치 신호들 (112) 만을 포함할 수도 있다.
특정한 양태에서, 업데이트 요청 (1110) 은 모든 대체 스피치 신호들이 요청되는지 여부, 또는 이전에 전송되지 않았던 대체 스피치 신호들만이 요청되는지 여부를 표시할 수도 있다. 예를 들어, 신호 프로세싱 모듈 (122) 은 제 1 시간에, 제 1 업데이트를 제 1 디바이스 (102) 로 전송할 수도 있고, 제 1 시간을 표시하기 위하여 최종 업데이트 전송 시간을 업데이트할 수도 있다. 제 2 데이터베이스 (264) 는 제 1 시간 전에 생성되었던 원격 음성 프로파일 (1174) 과 연관된 제 2 대체 스피치 신호들을 포함할 수도 있다. 대체 스피치 신호들 (112) 은 제 1 시간에 후속하여 생성될 수도 있다.
신호 프로세싱 모듈 (122) 은 로컬 음성 프로파일 (1104) 과 연관된 모든 대체 스피치 신호들을 요청하기 위하여 업데이트 요청 (1110) 을 전송할 수도 있다. 특정한 양태에서, 신호 프로세싱 모듈 (122) 은 로컬 음성 프로파일 (1104) 과 연관된 스피치 데이터가 제 1 디바이스 (102) 에서 삭제되었다는 것으로 결정하는 것에 응답하여, 업데이트 요청 (1110) 을 전송할 수도 있다. 스피치 신호 관리기 (262) 는 업데이트 요청 (1110) 을 수신할 수도 있다. 스피치 신호 관리기 (262) 는 업데이트 요청 (1110) 이 제 2 사용자 (154) 와 연관된 식별자 (1168) 를 포함하는 것으로 결정하는 것에 응답하여, 업데이트 요청 (1110) 이 원격 음성 프로파일 (1174) 에 대응하는 것으로 결정할 수도 있다. 스피치 신호 관리기 (262) 는 업데이트 요청 (1110) 이 모든 대응하는 대체 스피치 신호들이 요청된다는 것을 표시하는 것으로 결정하는 것에 응답하여, 원격 음성 프로파일 (1174) 과 연관된 모든 대체 스피치 신호들을 포함하는 업데이트 (1102) 를 전송할 수도 있다. 대안적으로, 스피치 신호 관리기 (262) 는 업데이트 요청 (1110) 이 제 1 디바이스 (102) 로 이전에 전송되지 않았던 그러한 대체 스피치 신호들만이 요청된다는 것을 표시하는 것으로 결정하는 것에 응답하여, 원격 음성 프로파일 (1174) 과 연관된 전부보다 더 적은 대체 스피치 신호들을 포함하는 업데이트 (1102) 를 전송할 수도 있다. 예를 들어, 업데이트 (1102) 는 최종 업데이트 전송 시간에 후속하는 시간 (예컨대, 생성 시간) 을 표시하는 타임스탬프를 가지는 대체 스피치 신호들 (112) 을 포함할 수도 있다.
특정한 양태에서, 스피치 신호 관리기 (262) 는 업데이트 요청 (1110) 을 수신하는 것에 관계 없이, 업데이트 (1102) 를 제 1 디바이스 (102) 로 전송할 수도 있다. 예를 들어, 스피치 신호 관리기 (262) 는 업데이트 (1102) 를 주기적으로 전송할 수도 있다. 또 다른 예로서, 스피치 신호 관리기 (262) 는 최종 업데이트 전송 시간을 초과하는 시간 (예컨대, 생성 시간) 을 표시하는 타임스탬프를 가지는 대체 스피치 신호들 (예컨대, 대체 스피치 신호들 (112)) 과 연관된 재생 기간을 결정할 수도 있다. 스피치 신호 관리기 (262) 는 재생 기간이 자동 업데이트 임계치를 충족시키는 것으로 결정하는 것에 응답하여, 대체 스피치 신호들 (112) 을 전송할 수도 있다.
로컬 대체 스피치 신호들 (1112) 은 본원에서 설명된 바와 같이, 프로세싱된 스피치 신호들을 생성하기 위하여 이용될 수도 있다. 제 1 사용자 (152) 는 로컬 음성 프로파일 (1104) 을 표시하는 선택 (1136) 을 제 1 디바이스 (102) 에 제공할 수도 있다. 예를 들어, 제 1 디바이스 (102) 는 입력 디바이스 (1134) 를 통해 선택 (1136) 을 수신할 수도 있다. 특정한 양태에서, 선택 (1136) 은 로컬 음성 프로파일 (1104) 과 연관된 제 2 디바이스와의 음성 호출에 대응할 수도 있다. 예를 들어, 로컬 음성 프로파일 (1104) 은 도 1 의 제 2 사용자 (154) 의 사용자 프로파일과 연관될 수도 있다. 사용자 프로파일은 제 2 디바이스를 표시할 수도 있다. 제 1 사용자 (152) 는 음성 호출을 개시할 수도 있거나, 제 2 디바이스로부터의 음성 호출을 수락할 수도 있다. 신호 프로세싱 모듈 (122) 은 선택 (1136) 을 수신하는 것에 후속하여, 입력 오디오 신호 (1130) 를 수신할 수도 있다. 예를 들어, 신호 프로세싱 모듈 (122) 은 음성 호출 동안에 입력 오디오 신호 (1130) 를 수신할 수도 있다. 신호 프로세싱 모듈 (122) 은 입력 오디오 신호 (1130) 의 제 1 부분 (1162) 을 로컬 대체 스피치 신호들 (1112) 과 비교할 수도 있다. 로컬 대체 스피치 신호들 (1112) 은 제 1 대체 스피치 신호 (172) 를 포함할 수도 있다. 신호 프로세싱 모듈 (122) 은 제 1 부분 (1162) 이 제 1 대체 스피치 신호 (172) 와 일치 (예컨대, 이와 유사함) 하는 것으로 결정할 수도 있다. 신호 프로세싱 모듈 (122) 은 도 1 을 참조하여 설명된 바와 같이, 제 1 부분 (1162) 이 제 1 대체 스피치 신호 (172) 와 일치하는 것으로 결정하는 것에 응답하여 제 1 부분 (1162) 을 제 1 대체 스피치 신호 (172) 로 대체함으로써, 제 1 프로세싱된 스피치 신호 (116) 를 생성할 수도 있다. 제 1 대체 스피치 신호 (172) 는 제 1 부분 (1162) 보다 더 높은 오디오 품질을 가질 수도 있다. 신호 프로세싱 모듈 (122) 은 스피커들 (142) 을 통해, 제 1 프로세싱된 스피치 신호 (116) 를 제 1 사용자 (152) 에게 출력할 수도 있다.
특정한 구현예에서, 서버 (1106) 는 로컬 음성 프로파일 (1104) 과 연관된 디바이스 (예컨대, 도 1 의 이동 디바이스 (104)) 에 대응할 수도 있다. 예를 들어, 서버 (1106) 에 의해 수행되는 것으로서 본원에서 설명된 동작들 중의 하나 이상은 이동 디바이스 (104) 에 의해 수행될 수도 있다. 이 특정한 구현예에서, 제 1 디바이스 (102) 에 의해 서버 (1106) 로 전송되는 것으로서 본원에서 설명된 하나 이상의 메시지들 (예컨대, 업데이트 요청 (1110), 프로파일 요청 (1120), 또는 양자) 은 이동 디바이스 (104) 로 전송될 수도 있다. 유사하게, 서버 (1106) 로부터 제 1 디바이스 (102) 에 의해 수신되는 것으로서 본원에서 설명된 하나 이상의 메시지들 (예컨대, 업데이트 (1102), 원격 음성 프로파일 (1174), 또는 양자) 은 이동 디바이스 (104) 로부터 수신될 수도 있다.
시스템 (1100) 은 프로세싱된 스피치 신호를 사용자에게 제공함으로써 사용자 경험을 개선시킬 수도 있고, 여기서, 프로세싱된 스피치 신호는 입력 오디오 신호의 부분을 대체 스피치 신호로 대체함으로써 생성되고, 여기서, 대체 스피치 신호는 입력 오디오 신호의 부분보다 더 높은 오디오 품질을 가진다. 시스템 (1100) 은 또한, 사용자가 음성 프로파일들을 관리하는 것을 가능하게 하기 위한 GUI 를 제공할 수도 있다.
도 12 를 참조하면, 시스템의 특정한 양태가 개시되고 1200 으로 전반적으로 지시된다. 시스템 (1200) 은 도 1 내지 도 2, 도 4 내지 도 9, 및 도 11 의 시스템들 (100 내지 200, 400 내지 900, 및 1100) 을 참조하여 설명된 하나 이상의 동작들을 수행할 수도 있다. 시스템 (1200) 은 도 11 의 시스템 (1100) 의 하나 이상의 컴포넌트들을 포함할 수도 있다. 예를 들어, 시스템 (1200) 은 네트워크 (120) 를 통해 제 1 디바이스 (102) 에 결합되거나 제 1 디바이스 (102) 와 통신하는 서버 (1106) 를 포함할 수도 있다. 제 1 디바이스 (102) 는 하나 이상의 마이크로폰들 (1244) 에 결합될 수도 있거나, 또는 하나 이상의 마이크로폰들 (1244) 을 포함할 수도 있다. 제 1 디바이스 (102) 는 도 1 의 제 1 데이터베이스 (124) 를 포함할 수도 있다. 제 1 데이터베이스 (124) 는 하나 이상의 로컬 대체 스피치 신호들 (1214) 을 저장하도록 구성될 수도 있다. 로컬 대체 스피치 신호들 (1214) 은 사람 (예컨대, 제 1 사용자 (152) 와 연관되는 로컬 음성 프로파일 (1204) 에 대응할 수도 있다.
동작 동안, 신호 프로세싱 모듈 (122) 은 마이크로폰들 (1244) 을 통해, 제 1 사용자 (152) 로부터 트레이닝 스피치 신호 (예컨대, 입력 오디오 신호 (1238)) 를 수신할 수도 있다. 예를 들어, 신호 프로세싱 모듈 (122) 은 음성 호출 동안에 입력 오디오 신호 (1238) 를 수신할 수도 있다. 신호 프로세싱 모듈 (122) 은 도 2 를 참조하여 설명된 바와 같이, 입력 오디오 신호 (1238) 에 기초하여 대체 스피치 신호들 (1212) 을 생성할 수도 있다. 신호 프로세싱 모듈 (122) 은 대체 스피치 신호들 (1212) 을 로컬 대체 스피치 신호들 (1214) 에 추가할 수도 있다. 신호 프로세싱 모듈 (122) 은 업데이트 (1202) 를 서버 (206) 에 제공할 수도 있다. 업데이트 (1202) 는 대체 스피치 신호들 (1212) 에 대응하는 스피치 데이터를 포함할 수도 있다. 업데이트 (1202) 는 제 1 사용자 (152) 와 연관된 식별자, 로컬 음성 프로파일 (1204), 또는 양자를 포함할 수도 있다. 서버 (206) 는 업데이트 (1202) 를 수신할 수도 있고, 스피치 신호 관리기 (262) 는 업데이트 (1202) 의 식별자에 기초하여, 업데이트 (1202) 가 원격 음성 프로파일들 (1178) 의 원격 음성 프로파일 (1274) 과 연관되는 것으로 결정할 수도 있다.
특정한 구현예에서, 스피치 신호 관리기 (262) 는 원격 음성 프로파일들 (1178) 의 어느 것도 업데이트 (1202) 에 대응하지 않는 것으로 결정할 수도 있다. 응답하여, 스피치 신호 관리기 (262) 는 원격 음성 프로파일 (1274) 을 원격 음성 프로파일들 (1178) 에 추가할 수도 있다. 원격 음성 프로파일 (1274) 은 업데이트 (1202) 의 식별자와 연관 (예컨대, 이를 포함함) 될 수도 있다. 스피치 신호 관리기 (262) 는 대체 스피치 신호들 (1212) 을 제 2 데이터베이스 (264) 내에 저장할 수도 있고, 저장된 대체 스피치 신호들 (1212) 을 원격 음성 프로파일 (1274) 과 연관시킬 수도 있다. 예를 들어, 스피치 신호 관리기 (262) 는 스피치 데이터에 기초하여 대체 스피치 신호들 (1212) 을 생성할 수도 있고, 대체 스피치 신호들 (1212), 스피치 데이터, 또는 양자를 제 2 데이터베이스 (264) 내에 저장할 수도 있다.
스피치 신호 관리기 (262) 는 대체 스피치 신호들 (1212) 과 연관된 타임스탬프 (예컨대, 생성 타임스탬프) 를 결정할 수도 있고, 타임스탬프를 제 2 데이터베이스 (264), 메모리 (1176), 또는 양자 내에 저장할 수도 있다. 예를 들어, 타임스탬프는 입력 오디오 신호 (1238) 가 제 1 디바이스 (102) 에 의해 수신되는 시간, 대체 스피치 신호들 (1212) 이 신호 프로세싱 모듈 (122) 에 의해 생성되는 시간, 업데이트 (1202) 가 제 1 디바이스 (102) 에 의해 전송되는 시간, 업데이트 (1202) 가 서버 (1106) 에 의해 수신되는 시간, 대체 스피치 신호들 (1212) 이 제 2 데이터베이스 (264) 내에 저장되는 시간, 또는 그 조합을 표시할 수도 있다. 스피치 신호 관리기 (262) 는 대체 스피치 신호들 (1212) 과 연관된 재생 기간을 결정할 수도 있고, 재생 기간을 제 2 데이터베이스 (264), 메모리 (1176), 또는 양자 내에 저장할 수도 있다. 예를 들어, 재생 기간은 입력 오디오 신호 (1238) 의 재생 기간일 수도 있다. 특정한 구현예에서, 업데이트 (1202) 는 재생 기간을 표시할 수도 있고, 스피치 신호 관리기 (262) 는 업데이트 (1202) 에 기초하여 재생 기간을 결정할 수도 있다.
특정한 양태에서, 제 1 디바이스 (102) 는 서버 (1106) 또는 또 다른 디바이스로부터 업데이트 요청 (1210) 을 수신하는 것에 응답하여, 업데이트 (1202) 를 서버 (1106) 로 전송할 수도 있다. 예를 들어, 서버 (1106) 는 주기적으로, 또는 이벤트 (예컨대, 음성 호출의 개시) 를 검출하는 것에 응답하여, 업데이트 요청 (1210) 을 제 1 디바이스 (102) 로 전송할 수도 있다. 신호 프로세싱 모듈 (122) 은 업데이트 요청 (1210) 을 수신하는 것에 응답하여, 업데이트 (1202) 를 전송할 수도 있다.
특정한 양태에서, 신호 프로세싱 모듈 (122) 은 제 1 디바이스 (102) 의 사용자 (예컨대, 제 1 사용자 (152)) 가 대체 스피치 신호들 (1212) (또는 스피치 데이터) 을 서버 (1106) 로 전송하는 것을 허가하였던 것으로 결정하는 것에 응답하여, 업데이트 (1202) 를 전송할 수도 있다. 예를 들어, 신호 프로세싱 모듈 (122) 은 입력 디바이스 (1134) 를 통해, 제 1 사용자 (152) 로부터 사용자 입력 (1240) 을 수신할 수도 있다. 신호 프로세싱 모듈 (122) 은 사용자 입력 (1240) 이 제 1 사용자 (152) 가 서버 (1106) 로 전송되어야 할 대체 스피치 신호들 (1212) 을 허가하였다는 것을 표시하는 것으로 결정하는 것에 응답하여, 업데이트 (1202) 를 서버 (1106) 로 전송할 수도 있다.
특정한 양태에서, 신호 프로세싱 모듈 (122) 은 제 1 디바이스 (102) 의 사용자 (예컨대, 제 1 사용자 (152)) 가 특정한 사용자 프로파일 (예컨대, 도 1 의 제 2 사용자 (154) 의 사용자 프로파일) 과 연관된 하나 이상의 디바이스들로 전송되어야 할 대체 스피치 신호들 (1212) (또는 스피치 데이터) 을 허가하였다는 것으로 결정할 수도 있다. 업데이트 (1202) 는 대체 스피치 신호들 (1212) 이 공유되도록 허가되는 하나 이상의 디바이스들, 특정한 사용자 프로파일, 또는 그 조합을 표시할 수도 있다. 신호 프로세싱 모듈 (122) 은 하나 이상의 디바이스들, 특정한 사용자 프로파일, 또는 그 조합을 표시하는 허가 데이터를 제 2 데이터베이스 (264), 메모리 (1176), 또는 양자 내에 저장할 수도 있다. 신호 프로세싱 모듈 (122) 은 허가 데이터가 특정한 디바이스를 표시하는 것으로 결정하는 것에 응답하여, 도 11 을 참조하여 설명된 바와 같이, 대체 스피치 신호들 (1212) 과 연관된 데이터를 포함하는 업데이트를 특정한 디바이스로 전송할 수도 있다.
특정한 양태에서, 신호 프로세싱 모듈 (122) 은 언제 업데이트 (1202) 를 서버 (1106) 로 전송할 것인지를 선택하기 위한 옵션을 표시하는 GUI (1232) 를 생성할 수도 있다. 신호 프로세싱 모듈 (122) 은 GUI (1232) 를 디스플레이 (1128) 에 제공할 수도 있다. 신호 프로세싱 모듈 (122) 은 입력 디바이스 (1134) 를 통해, 제 1 사용자 (152) 로부터 사용자 입력 (1240) 을 수신할 수도 있다. 신호 프로세싱 모듈 (122) 은 사용자 입력 (1240) 을 수신하는 것에 응답하여, 업데이트 (1202) 를 전송할 수도 있다. 특정한 양태에서, 사용자 입력 (1240) 은 업데이트 (1202) (예컨대, 대체 스피치 신호들 (1212) 또는 스피치 데이터) 가 주기적으로 (예컨대, 매시간, 매일, 매주, 또는 매월) 전송되어야 한다는 것을 표시할 수도 있거나, 업데이트 임계치 (예컨대, 4 시간) 를 표시할 수도 있다. 응답하여, 신호 프로세싱 모듈 (122) 은 주기적으로, 또는 업데이트 임계치에 기초하여, 업데이트 (1202) 의 다수의 사례들을 서버 (1106) 로 주기적으로 전송할 수도 있다.
시스템 (1200) 은 디바이스가 사용자와 연관된 대체 스피치 신호들을 또 다른 디바이스에 제공하는 것을 가능하게 할 수도 있다. 다른 디바이스는 사용자에 대응하는 입력 오디오 신호에 기초하여 프로세싱된 스피치 신호를 생성할 수도 있다. 예를 들어, 다른 디바이스는 입력 오디오 신호의 부분을 대체 스피치 신호로 대체함으로써 프로세싱된 스피치 신호를 생성할 수도 있다. 대체 스피치 신호는 입력 오디오 신호의 부분보다 더 높은 오디오 품질을 가질 수도 있다.
도 13 을 참조하면, 시스템의 특정한 양태가 개시되고 1300 으로 전반적으로 지시된다. 시스템 (1300) 은 도 1 내지 도 2, 도 4 내지 도 9, 및 도 11 내지 도 12 의 시스템들 (100 내지 200, 400 내지 900, 및 1100 내지 1200) 을 참조하여 설명된 하나 이상의 동작들을 수행할 수도 있다.
시스템 (1300) 은 도 11 의 시스템 (1100), 도 12 의 시스템 (1200), 또는 양자의 하나 이상의 컴포넌트들을 포함할 수도 있다. 예를 들어, 시스템 (1300) 은 제 1 디바이스 (102) 및 프로세서 (1152) 를 포함한다. 제 1 디바이스 (102) 는 마이크로폰들 (1244), 스피커들 (142), 또는 양자에 결합될 수도 있다. 프로세서 (1152) 는 신호 프로세싱 모듈 (122) 에 결합될 수도 있거나, 또는 신호 프로세싱 모듈 (122) 을 포함할 수도 있다. 신호 프로세싱 모듈 (122) 은 모드 검출기 (1302), 도메인 선택기 (1304), 텍스트-대-스피치 변환기 (1322), 또는 그 조합에 결합될 수도 있다.
시스템 (1300) 의 하나 이상의 컴포넌트들은 차량, 전자 판독기 (e-판독기) 디바이스, 이동 디바이스, 음향 캡처 디바이스, 텔레비전, 통신 디바이스, 태블릿, 스마트폰, 내비게이션 디바이스, 랩톱, 웨어러블 디바이스, 또는 컴퓨팅 디바이스 중의 적어도 하나 내에 포함될 수도 있다. 예를 들어, 스피커들 (142) 중의 하나 이상은 차량 또는 이동 디바이스 내에 포함될 수도 있다. 이동 디바이스는 e-판독기, 태블릿, 통신 디바이스, 스마트폰, 내비게이션 디바이스, 랩톱, 웨어러블 디바이스, 컴퓨팅 디바이스, 또는 그 조합을 포함할 수도 있다. 메모리 (1132) 는 차량, e-판독기 디바이스, 이동 디바이스, 음향 캡처 디바이스, 텔레비전, 통신 디바이스, 태블릿, 스마트폰, 내비게이션 디바이스, 랩톱, 웨어러블 디바이스, 또는 컴퓨팅 디바이스 중의 적어도 하나에 의해 액세스가능한 저장 디바이스 내에 포함될 수도 있다.
동작 동안, 신호 프로세싱 모듈 (122) 은 마이크로폰들 (1244) 을 통해, 제 1 사용자 (152) 로부터 트레이닝 스피치 신호 (1338) 를 수신할 수도 있다. 특정한 구현예에서, 트레이닝 스피치 신호 (1338) 는 텍스트-독립적일 수도 있고, 제 1 디바이스 (102) 의 일반적 또는 "정상적" 이용 동안에 수신될 수도 있다. 예를 들어, 제 1 사용자 (152) 는 신호 프로세싱 모듈 (122) 의 "항상-온 (always-on)" 캡처 모드를 활성화할 수도 있고, 신호 프로세싱 모듈 (122) 은 제 1 사용자 (152) 가 마이크로폰들 (1244) 근처에서 말할 때에 백그라운드 (background) 에서 트레이닝 스피치 신호 (1338) 를 수신할 수도 있다. 신호 프로세싱 모듈 (122) 은 도 2 및 도 12 를 참조하여 설명된 바와 같이, 트레이닝 스피치 신호 (1338) 에 기초하여 대체 스피치 신호들 (1212) 을 생성할 수도 있다. 대체 스피치 신호들 (1212) 은 제 1 대체 스피치 신호 (1372) 를 포함할 수도 있다. 신호 프로세싱 모듈 (122) 은 도 12 를 참조하여 설명된 바와 같이, 대체 스피치 신호들 (112), 대체 스피치 신호들 (112) 과 연관된 스피치 데이터, 또는 양자를 로컬 대체 스피치 신호들 (1214) 에 추가할 수도 있다.
모드 검출기 (1302) 는 복수의 이용 모드들 (예컨대, 판독 모드, 대화 모드, 노래하기 모드 (singing mode), 커맨드 및 제어 모드, 또는 그 조합) 중의 이용 모드 (1312) 를 검출하도록 구성될 수도 있다. 이용 모드 (1312) 는 트레이닝 스피치 신호 (1338) 와 연관될 수도 있다. 예를 들어, 모드 검출기 (1302) 는 트레이닝 스피치 신호 (1338) 가 수신될 때, 신호 프로세싱 모듈 (122) 의 이용 모드 설정 (1362) 에 기초하여 이용 모드 (1312) 를 검출할 수도 있다. 예시하자면, 신호 프로세싱 모듈 (122) 은 제 1 디바이스 (102) 의 제 1 애플리케이션 (예컨대, 판독기 애플리케이션 또는 또 다른 판독 애플리케이션) 이 활성화되는 것을 검출하는 것에 응답하여, 이용 모드 설정 (1362) 을 판독 모드로 설정할 수도 있다. 신호 프로세싱 모듈 (122) 은 진행 중인 음성 호출, 또는 제 1 디바이스 (102) 의 제 2 애플리케이션 (예컨대, 오디오 채팅 애플리케이션 및/또는 비디오 화상회의 애플리케이션) 이 활성화되는 것을 검출하는 것에 응답하여, 이용 모드 설정 (1362) 을 대화 모드로 설정할 수도 있다.
신호 프로세싱 모듈 (122) 은 제 1 디바이스 (102) 의 제 3 애플리케이션 (예컨대, 노래하기 애플리케이션) 이 활성화되는 것으로 결정하는 것에 응답하여, 이용 모드 설정 (1362) 을 노래하기 모드로 설정할 수도 있다. 특정한 양태에서, 신호 프로세싱 모듈 (122) 은 트레이닝 스피치 신호 (1338) 가 노래하기에 대응하는 것으로 결정하는 것에 응답하여, 이용 모드 설정 (1362) 을 노래하기 모드로 설정할 수도 있다. 예를 들어, 신호 프로세싱 모듈 (122) 은 트레이닝 스피치 신호 (1338) 의 특징들을 추출할 수도 있고, 추출된 특징들 및 분류기 (예컨대, 지원 벡터 머신 (support vector machine; SVM)) 에 기초하여, 트레이닝 스피치 신호 (1338) 가 노래하기에 대응하는 것으로 결정할 수도 있다. 분류기는 음성 스피치 기간, 유성음 스피치의 레이트, 스피치 휴지기 (pause) 들의 레이트, (예컨대, 음절들에 대응하는) 유성음 스피치 간격들 사이의 유사성 척도, 또는 그 조합을 분석함으로써 노래하기를 검출할 수도 있다.
신호 프로세싱 모듈 (122) 은 제 1 디바이스 (102) 의 제 4 애플리케이션 (예컨대, 개인 보조 애플리케이션) 이 활성화되는 것으로 결정하는 것에 응답하여, 이용 모드 설정 (1362) 을 커맨드 및 제어 모드로 설정할 수도 있다. 특정한 양태에서, 신호 프로세싱 모듈 (122) 은 트레이닝 스피치 신호 (1338) 가 커맨드 키워드 (예컨대, "활성화") 를 포함하는 것으로 결정하는 것에 응답하여, 이용 모드 설정 (1362) 을 커맨드 및 제어 모드로 설정할 수도 있다. 예를 들어, 신호 프로세싱 모듈 (122) 은 트레이닝 스피치 신호 (1338) 가 커맨드 키워드를 포함하는 것으로 결정하기 위하여 스피치 분석 기법들을 이용할 수도 있다. 판독 모드, 대화 모드, 노래하기 모드, 또는 커맨드 및 제어 모드 중의 하나는 "디폴트 (default)" 이용 모드에 대응할 수도 있다. 이용 모드 설정 (1362) 은 무시되지 않는다면, 디폴트 이용 모드에 대응할 수도 있다. 특정한 양태에서, 신호 프로세싱 모듈 (122) 은 이용 모드 설정 (1362) 을, 사용자 입력에 의해 표시된 특정한 이용 모드로 설정할 수도 있다. 모드 검출기 (1302) 는 이용 모드 (1312) 를 신호 프로세싱 모듈 (122) 에 제공할 수도 있다.
도메인 선택기 (1304) 는 복수의 인구통계학적 도메인들 (예컨대, 언어 도메인, 성 도메인, 연령 도메인, 또는 그 조합) 중의 인구통계학적 도메인 (1314) 을 검출하도록 구성될 수도 있다. 인구통계학적 도메인 (1314) 은 트레이닝 스피치 신호 (1338) 와 연관될 수도 있다. 예를 들어, 도메인 선택기 (1304) 는 제 1 사용자 (152) 와 연관된 인구통계학적 데이터 (예컨대, 특정한 언어, 특정한 성, 특정한 연령, 또는 그 조합) 에 기초하여 인구통계학적 도메인 (1314) 을 검출할 수도 있다. 특정한 양태에서, 메모리 (1132) 는 제 1 사용자 (152) 와 연관된 사용자 프로파일에서 인구통계학적 데이터를 포함할 수도 있다. 또 다른 예로서, 도메인 선택기 (1304) 는 분류기를 이용하여 트레이닝 스피치 신호 (1338) 를 분석함으로써 인구통계학적 도메인 (1314) 을 검출할 수도 있다. 예시하자면, 분류기는 트레이닝 스피치 신호 (1338) 를 특정한 언어, 특정한 성, 특정한 연령, 또는 그 조합으로 분류할 수도 있다. 인구통계학적 도메인 (1314) 은 특정한 언어, 특정한 성, 특정한 연령, 또는 그 조합을 표시할 수도 있다. 도메인 선택기 (1304) 는 인구통계학적 도메인 (1314) 을 신호 프로세싱 모듈 (122) 에 제공할 수도 있다.
신호 프로세싱 모듈 (122) 은 이용 모드 (1312), 인구통계학적 도메인 (1314), 또는 양자를 대체 스피치 신호들 (1212) 의 각각과 연관시킬 수도 있다. 신호 프로세싱 모듈 (122) 은 대체 스피치 신호들 (1212) 과 연관된 분류 (1346) 를 결정할 수도 있다. 분류 (1346) 는 대체 스피치 신호들 (1212) 이 신호 프로세싱 모듈 (122) 에 의해 생성되었던 시간 및/또는 날짜를 표시하는 타임스탬프를 포함할 수도 있다. 분류 (1346) 는 트레이닝 스피치 신호 (1338) 가 제 1 디바이스 (102) 에 의해 수신되었을 때에 활성화되었던 애플리케이션 (예컨대, 판독 애플리케이션) 또는 애플리케이션의 컴포넌트 (예컨대, 특정한 스토리) 를 표시할 수도 있다. 분류 (1346) 는 트레이닝 스피치 신호 (1338) 에 대응하는 단어, 어구, 텍스트, 또는 그 조합을 표시할 수도 있다. 신호 프로세싱 모듈 (122) 은 트레이닝 스피치 신호 (1338) 를 하나 이상의 감정들 (예컨대, 기쁨, 분노, 슬픔 등) 로 분류하기 위하여 스피치 분석 기법들을 이용할 수도 있다. 분류 (1346) 는 하나 이상의 감정들을 표시할 수도 있다. 신호 프로세싱 모듈 (122) 은 분류 (1346) 를 대체 스피치 신호들 (1212) 의 각각과 연관시킬 수도 있다.
로컬 대체 스피치 신호들 (1214) 은 도 2 를 참조하여 설명된 바와 같이, 제 2 트레이닝 스피치 신호에 기초하여 신호 프로세싱 모듈 (122) 에 의해 생성된 하나 이상의 추가적인 대체 스피치 신호들 (예컨대, 제 2 대체 스피치 신호 (1374)) 을 포함할 수도 있다. 제 2 대체 스피치 신호 (1374) 는 제 2 이용 모드, 제 2 인구통계학적 도메인, 제 2 분류, 또는 그 조합과 연관될 수도 있다.
신호 프로세싱 모듈 (122) 은 텍스트-대-스피치 변환기 (1322) 로부터 스피치 신호 (1330) 를 수신할 수도 있다. 예를 들어, 제 1 사용자 (152) 는 텍스트-대-스피치 변환기 (1322) 를 활성화할 수도 있고, 텍스트-대-스피치 변환기 (1322) 는 스피치 신호 (1330) 를 신호 프로세싱 모듈 (122) 에 제공할 수도 있다. 신호 프로세싱 모듈 (122) 은 본원에서 설명된 바와 같이, 사용자 모드 설정 (1362) 에 기초하여 특정한 이용 모드를 검출할 수도 있다. 신호 프로세싱 모듈 (122) 은 또한, 특정한 인구통계학적 도메인을 선택할 수도 있다. 예를 들어, 신호 프로세싱 모듈 (122) 은 제 1 사용자 (152) 로부터, 특정한 사용자 프로파일을 표시하는 사용자 입력을 수신할 수도 있다. 신호 프로세싱 모듈 (122) 은 특정한 사용자 프로파일에 대응하는 인구통계학적 데이터에 기초하여 특정한 인구통계학적 도메인을 선택할 수도 있다. 또 다른 예로서, 사용자 입력은 특정한 언어, 특정한 연령, 특정한 성, 또는 그 조합을 표시할 수도 있다. 신호 프로세싱 모듈 (122) 은 특정한 언어, 특정한 연령, 특정한 성, 또는 그 조합에 대응하는 특정한 인구통계학적 도메인을 선택할 수도 있다.
신호 프로세싱 모듈 (122) 은 검출된 특정된 이용 모드, 선택된 특정한 인구통계학적 도메인, 또는 양자에 기초하여 로컬 대체 스피치 신호들 (1214) 의 특정한 대체 스피치 신호 (예컨대, 제 1 대체 스피치 신호 (1372) 또는 제 2 대체 스피치 신호 (1374)) 를 선택할 수도 있다. 예를 들어, 신호 프로세싱 모듈 (122) 은 스피치 신호 (1330) 의 부분을 로컬 대체 스피치 신호들 (1214) 의 각각과 비교할 수도 있다. 제 1 대체 스피치 신호 (1372), 제 2 대체 스피치 신호 (1374), 및 스피치 신호 (1330) 의 부분의 각각은 유사한 사운드들에 대응할 수도 있다. 신호 프로세싱 모듈 (122) 은 특정한 이용 모드가 이용 모드 (1312) 에 대응 (예컨대, 일치함) 하는 것, 특정한 인구통계학적 도메인이 인구통계학적 도메인 (1314) 에 대응 (예컨대, 적어도 부분적으로 이와 일치함) 하는 것, 또는 양자로 결정하는 것에 기초하여 제 1 대체 스피치 신호 (1372) 를 선택할 수도 있다. 이에 따라, 이용 모드들 및 인구통계학적 도메인들은 스피치 신호 (1330) 의 부분이 유사한 맥락에서 생성되었던 대체 스피치 신호 (예컨대, 제 1 대체 스피치 신호 (1372)) 에 의해 대체된다는 것을 보장하기 위하여 이용될 수도 있다. 예를 들어, 스피치 신호 (1330) 가 노래하기 모드에 대응할 때, 스피치 신호 (1330) 의 부분은 더 높은 오디오 품질 대화 스피치가 아니라, 더 높은 오디오 품질 노래하기에 대응하는 대체 스피치 신호에 의해 대체될 수도 있다.
특정한 양태에서, 로컬 대체 스피치 신호들 (1214) 은 분류들과 연관될 수도 있다. 분류들의 각각은 우선순위를 가질 수도 있다. 신호 프로세싱 모듈 (122) 은 우선순위의 순서로 스피치 신호 (1330) 의 부분을 로컬 대체 스피치 신호들 (1214) 과 비교함으로써 제 1 대체 스피치 신호 (1372) 를 선택할 수도 있다. 예를 들어, 신호 프로세싱 모듈 (122) 은 분류 (1346) 에 의해 표시된 제 1 타임스탬프가 제 2 대체 스피치 신호 (1374) 와 연관된 제 2 분류에 의해 표시된 제 2 타임스탬프에 후속하는 것으로 결정하는 것에 적어도 부분적으로 기초하여, 제 1 대체 스피치 신호 (1372) 를 선택할 수도 있다. 또 다른 예로서, 신호 프로세싱 모듈 (122) 은 특정한 애플리케이션 (예컨대, e-판독기 애플리케이션) 이 활성화되고 특정한 애플리케이션이 제 2 분류에 의해 표시되는 것이 아니라, 분류 (1346) 에 의해 표시되는 것으로 결정하는 것에 적어도 부분적으로 기초하여, 제 1 대체 스피치 신호 (1372) 를 선택할 수도 있다.
신호 프로세싱 모듈 (122) 은 스피치 신호 (1330) 의 부분을 제 1 대체 스피치 신호 (1372) 로 대체함으로써 제 1 프로세싱된 스피치 신호 (116) 를 생성할 수도 있다. 신호 프로세싱 모듈 (122) 은 제 1 프로세싱된 스피치 신호 (116) 를 메모리 (1132) 내에 저장할 수도 있다. 대안적으로, 또는 추가적으로, 신호 프로세싱 모듈 (122) 은 스피커들 (142) 을 통해, 제 1 프로세싱된 스피치 신호 (116) 를 제 1 사용자 (152) 에게 출력할 수도 있다.
특정한 양태에서, 트레이닝 스피치 신호 (1338) 는 특정한 사용자 (예컨대, 제 1 사용자 (152)) 로부터 수신될 수도 있고, 제 1 프로세싱된 스피치 신호 (116) 는 동일한 사용자 (예컨대, 제 1 사용자 (152)) 에게 출력될 수도 있다. 예를 들어, 제 1 프로세싱된 스피치 신호 (116) 는 제 1 사용자 (152) 의 스피치와 유사하게 들릴 수도 있다.
또 다른 양태에서, 트레이닝 스피치 신호 (1338) 는 특정한 사용자 (예컨대, 부모) 로부터 수신될 수도 있고, 제 1 프로세싱된 스피치 신호 (116) 는 또 다른 사용자 (예컨대, 부모의 자녀) 에게 출력될 수도 있다. 예를 들어, 부모는 e-판독기 애플리케이션을 활성화할 수도 있고, 제 1 일에 특정한 스토리를 판독할 수도 있다. 트레이닝 스피치 신호 (1338) 는 부모의 스피치에 대응할 수도 있다. 신호 프로세싱 모듈 (122) 은 도 2 및 도 12 를 참조하여 설명된 바와 같이, 트레이닝 스피치 신호 (1338) 에 기초하여 대체 스피치 신호들 (1212) 을 생성할 수도 있다. 신호 프로세싱 모듈 (122) 은 이용 모드 (1312) (예컨대, 판독 모드) 를 대체 스피치 신호들 (1212) 의 각각과 연관시킬 수도 있다. 신호 프로세싱 모듈 (122) 은 인구통계학적 도메인 (1314) (예컨대, 성인, 여성, 및 영어) 을 대체 스피치 신호들 (1212) 의 각각과 연관시킬 수도 있다. 신호 프로세싱 모듈 (122) 은 분류 (1346) (예컨대, 특정한 스토리, e-판독기 애플리케이션, 제 1 일에 대응하는 타임스탬프, 트레이닝 스피치 신호에 대응하는 텍스트, 및 트레이닝 스피치 신호 (1338) 에 대응하는 하나 이상의 감정들) 를 대체 스피치 신호들 (1212) 의 각각과 연관시킬 수도 있다.
다른 사용자 (예컨대, 자녀) 는 제 2 일에 텍스트-대-스피치 변환기 (1322) 를 활성화할 수도 있다. 예를 들어, 자녀는 특정한 스토리를 선택할 수도 있고, 부모의 사용자 프로파일을 선택할 수도 있다. 예시하자면, 자녀는 부모에 의해 이전에 판독된 것보다 특정한 스토리의 후속 부분을 선택할 수도 있다. 텍스트-대-스피치 변환기 (1322) 는 특정한 스토리의 텍스트에 기초하여 스피치 신호 (1330) 를 생성할 수도 있다. 신호 프로세싱 모듈 (122) 은 스피치 신호 (1330) 를 수신할 수도 있다. 신호 프로세싱 모듈 (122) 은 특정한 사용자 모드 (예컨대, 판독 모드) 를 검출할 수도 있고, 부모의 사용자 프로파일에 대응하는 특정한 인구통계학적 도메인 (예컨대, 성인, 여성, 및 영어) 을 선택할 수도 있다. 신호 프로세싱 모듈 (122) 은 특정한 분류 (예컨대, 특정한 스토리) 를 결정할 수도 있다. 신호 프로세싱 모듈 (122) 은 우선순위의 순서로 스피치 신호 (1330) 의 부분을 로컬 대체 스피치 신호들 (1214) 과 비교한다. 신호 프로세싱 모듈 (122) 은 이용 모드 (1312) 가 특정한 이용 모드와 일치하는 것, 분류 (1346) 가 특정한 분류와 일치하는 것, 또는 양자로 결정하는 것에 기초하여, 제 1 대체 스피치 신호 (1372) 를 선택할 수도 있다. 신호 프로세싱 모듈 (122) 은 스피치 신호 (1330) 의 부분을 제 1 대체 스피치 신호 (1372) 로 대체함으로써 제 1 프로세싱된 스피치 신호 (116) 를 생성할 수도 있다. 신호 프로세싱 모듈 (122) 은 제 1 프로세싱된 스피치 신호 (116) 를 스피커들 (142) 을 통해 자녀에게 출력할 수도 있다. 제 1 프로세싱된 스피치 신호 (116) 는 부모의 스피치와 유사하게 들릴 수도 있다. 이에 따라, 자녀는 부모가 이용가능하지 않을 때 (예컨대, 도시를 떠남), 부모의 음성으로 특정한 스토리의 후속 챕터 (chapter) 들을 청취할 수 있을 수도 있다.
이에 따라, 시스템 (1300) 은 사용자로부터 수신된 오디오 신호에 기초하여 사용자의 스피치에 대응하는 대체 스피치 신호들의 생성을 가능하게 할 수도 있다. 대체 스피치 신호들은 사용자의 스피치와 유사하게 들리는 프로세싱된 스피치를 생성하기 위하여 이용될 수도 있다. 예를 들어, 프로세싱된 스피치 신호는 텍스트-대-스피치 변환기에 의해 생성된 스피치 신호의 부분을 대체 스피치 신호로 대체함으로써 생성될 수도 있다.
도 14 를 참조하면, 스피치 신호를 대체하는 방법의 특정한 예시적인 양태의 플로우차트가 도시되고 1400 으로 전반적으로 지시된다. 방법 (1400) 은 도 1 의 신호 프로세싱 모듈 (122), 도 4 의 신호 프로세싱 모듈 (422), 도 6 의 신호 프로세싱 모듈 (622), 도 7 의 신호 프로세싱 모듈 (722), 또는 그 조합에 의해 실행될 수도 있다.
방법 (1400) 은 1402 에서, 복수의 대체 스피치 신호들을 포착하는 것을 포함한다. 예를 들어, 제 1 디바이스 (102) 는 도 2 를 참조하여 추가로 설명된 바와 같이, 대체 스피치 신호들 (112) 을 포착할 수도 있다.
방법 (1400) 은 또한, 1404 에서, 사용자와 연관된 사용자 스피치 신호를 디바이스에서 수신하는 것을 포함할 수도 있다. 사용자 스피치 신호는 음성 호출 동안에 수신될 수도 있다. 예를 들어, 제 1 디바이스 (102) 는 도 1 을 참조하여 추가로 설명된 바와 같이, 이동 디바이스 (104) 와의 음성 호출 동안에 제 1 사용자 스피치 신호 (130) 를 수신할 수도 있다.
방법 (1400) 은 1406 에서, 사용자 스피치 신호의 부분을, 사용자와 연관된 복수의 대체 스피치 신호들과 비교하는 것을 더 포함할 수도 있다. 복수의 대체 스피치 신호들은 데이터베이스 내에 저장될 수도 있다. 예를 들어, 도 1 의 신호 프로세싱 모듈 (122) 은 도 1 을 참조하여 추가로 설명된 바와 같이, 제 1 사용자 스피치 신호 (130) 의 제 1 부분 (162) 을, 제 1 데이터베이스 (124) 내에 저장된 대체 스피치 신호들 (112) 과 비교할 수도 있다.
방법 (1400) 은 또한, 1408 에서, 비교에 기초하여, 사용자 스피치 신호의 부분이 복수의 대체 스피치 신호들 중의 제 1 대체 스피치 신호와 일치하는 것으로 결정하는 것을 포함할 수도 있다. 예를 들어, 도 1 의 신호 프로세싱 모듈 (122) 은 도 1 을 참조하여 설명된 바와 같이, 제 1 부분 (162) 이 제 1 대체 스피치 신호 (172) 와 일치하는 것으로 결정할 수도 있다.
방법 (1400) 은 1410 에서, 결정에 응답하여 사용자 스피치 신호의 부분을 제 1 대체 스피치 신호로 대체함으로써 프로세싱된 스피치 신호를 생성하는 것을 더 포함할 수도 있다. 프로세싱된 스피치 신호는 음성 호출 동안에 생성될 수도 있다. 예를 들어, 신호 프로세싱 모듈 (122) 은 결정에 응답하여, 제 1 부분 (162) 을 제 1 대체 스피치 신호 (172) 로 대체함으로써 제 1 프로세싱된 스피치 신호 (116) 를 생성할 수도 있다. 특정한 양태에서, 신호 프로세싱 모듈 (122) 은 도 1 을 참조하여 추가로 설명된 바와 같이, 제 1 대체 스피치 신호 (172) 와 제 1 프로세싱된 스피치 신호 (116) 의 또 다른 부분 사이의 천이에 대응하는 스피치 파라미터 변동을 감소시키기 위하여 평활화 알고리즘을 이용할 수도 있다.
방법 (1400) 은 또한, 1412 에서, 스피커를 통해 프로세싱된 스피치 신호를 출력하는 것을 포함할 수도 있다. 예를 들어, 도 1 의 제 1 디바이스 (102) 는 스피커들 (142) 을 통해 제 1 프로세싱된 스피치 신호 (116) 를 출력할 수도 있다.
방법 (1400) 은 1414 에서, 사용자 스피치 신호의 복수의 스피치 파라미터들에 기초하여 제 1 대체 스피치 신호를 수정하는 것과, 1416 에서, 수정된 제 1 대체 스피치 신호를 데이터베이스 내에 저장하는 것을 더 포함할 수도 있다. 예를 들어, 신호 프로세싱 모듈 (122) 은 도 1 을 참조하여 추가로 설명된 바와 같이, 수정된 대체 스피치 신호 (176) 를 생성하기 위하여, 제 1 사용자 스피치 신호 (130) 의 복수의 스피치 파라미터들에 기초하여 제 1 대체 스피치 신호 (172) 를 수정할 수도 있다. 신호 프로세싱 모듈 (122) 은 수정된 대체 스피치 신호 (176) 를 제 1 데이터베이스 (124) 내에 저장할 수도 있다.
이에 따라, 방법 (1400) 은 사용자와 연관된 사용자 스피치 신호의 부분을 동일한 사용자와 연관된 대체 스피치 신호로 대체함으로써, 프로세싱된 스피치 신호의 생성을 가능하게 할 수도 있다. 프로세싱된 스피치 신호는 사용자 스피치 신호보다 더 높은 오디오 품질을 가질 수도 있다.
도 14 의 방법 (1400) 은 필드-프로그래밍가능한 게이트 어레이 (field-programmable gate array; FPGA) 디바이스, 애플리케이션-특정 집적 회로 (application-specific integrated circuit; ASIC), 중앙 프로세싱 유닛 (central processing unit; CPU) 과 같은 프로세싱 유닛, 디지털 신호 프로세서 (digital signal processor; DSP), 제어기, 또 다른 하드웨어 디바이스, 펌웨어 디바이스, 또는 그 임의의 조합에 의해 구현될 수도 있다. 일 예로서, 도 14 의 방법 (1400) 은 도 19 에 대하여 설명된 바와 같이, 명령들을 실행하는 프로세서에 의해 수행될 수도 있다.
도 15 를 참조하면, 복수의 대체 스피치 신호들을 포착하는 방법의 특정한 예시적인 양태의 플로우차트가 도시되고 1500 으로 전반적으로 지시된다. 특정한 양태에서, 방법 (1500) 은 도 14 의 동작 (1402) 에 대응할 수도 있다. 방법 (1500) 은 도 2 의 스피치 신호 관리기 (262) 에 의해 실행될 수도 있다.
방법 (1500) 은 1502 에서, 사용자와 연관된 트레이닝 스피치 신호를 수신하는 것을 포함할 수도 있다. 예를 들어, 도 2 의 서버 (206) 는 도 2 를 참조하여 추가로 설명된 바와 같이, 제 2 사용자 (154) 와 연관된 트레이닝 스피치 신호 (272) 를 수신할 수도 있다.
방법 (1500) 은 또한, 1504 에서, 트레이닝 스피치 신호로부터 복수의 대체 스피치 신호들을 생성하는 것과, 1506 에서, 복수의 대체 스피치 신호들을 데이터베이스 내에 저장하는 것을 포함할 수도 있다. 예를 들어, 스피치 신호 관리기 (262) 는 도 2 를 참조하여 추가로 설명된 바와 같이, 트레이닝 스피치 신호 (272) 로부터 대체 스피치 신호들 (112) 을 생성할 수도 있다. 스피치 신호 관리기 (262) 는 대체 스피치 신호들 (112) 을 제 2 데이터베이스 (264) 내에 저장할 수도 있다.
이에 따라, 방법 (1500) 은 사용자 스피치 신호의 부분을 대체하기 위하여 이용될 수도 있는 대체 스피치 신호들의 포착을 가능하게 할 수도 있다.
도 15 의 방법 (1500) 은 필드-프로그래밍가능한 게이트 어레이 (FPGA) 디바이스, 애플리케이션-특정 집적 회로 (ASIC), 중앙 프로세싱 유닛 (CPU) 과 같은 프로세싱 유닛, 디지털 신호 프로세서 (DSP), 제어기, 또 다른 하드웨어 디바이스, 펌웨어 디바이스, 또는 그 임의의 조합에 의해 구현될 수도 있다. 일 예로서, 도 15 의 방법 (1500) 은 도 19 에 대하여 설명된 바와 같이, 명령들을 실행하는 프로세서에 의해 수행될 수도 있다.
도 16 을 참조하면, 스피치 신호를 대체하는 방법의 특정한 예시적인 양태의 플로우차트가 도시되고 1600 으로 전반적으로 지시된다. 방법 (1600) 은 도 1 의 신호 프로세싱 모듈 (122), 도 4 의 신호 프로세싱 모듈 (422), 도 6 의 신호 프로세싱 모듈 (622), 도 7 의 신호 프로세싱 모듈 (722), 또는 그 조합에 의해 실행될 수도 있다.
방법 (1600) 은 1602 에서, 입력 스피치 신호에 기초하여 검색 기준들을 디바이스에서 생성하는 것을 포함할 수도 있다. 예를 들어, 분석기 (402) 는 도 4 를 참조하여 설명된 바와 같이, 제 1 사용자 스피치 신호 (130) 에 기초하여 검색 기준들 (418) 을 생성할 수도 있다. 또 다른 예로서, 분석기 (602) 는 도 6 을 참조하여 설명된 바와 같이, 제 1 데이터 (630) 에 기초하여 검색 기준들 (612) 을 생성할 수도 있다.
방법 (1600) 은 또한, 1604 에서, 검색 기준들에 기초하여 데이터베이스를 검색함으로써 검색 결과들을 생성하는 것을 포함할 수도 있다. 데이터베이스는 복수의 대체 스피치 신호와 연관된 스피치 파라미터들의 세트를 저장할 수도 있다. 예를 들어, 검색기 (404) 는 도 4 를 참조하여 설명된 바와 같이, 검색 기준들 (418) 에 기초하여 파라미터화된 데이터베이스 (424) 를 검색함으로써 검색 결과들 (414) 을 생성할 수도 있다. 또 다른 예로서, 검색기 (604) 는 도 6 을 참조하여 설명된 바와 같이, 검색 기준들 (612) 에 기초하여 복수의 스피치 파라미터들 (614) 의 세트를 생성할 수도 있다. 추가의 예로서, 검색기 (704) 는 검색 기준들 (612) 에 기초하여 복수의 대체 스피치 신호들 (714) 을 생성할 수도 있다. 파라미터화된 데이터베이스 (424) 는 스피치 파라미터들 (472, 474, 및 476) 을 포함할 수도 있다.
방법 (1600) 은 1606 에서, 제약에 기초하여 검색 결과들의 특정한 검색 결과를 선택하는 것을 더 포함할 수도 있다. 특정한 검색 결과는 복수의 대체 스피치 신호들 중의 제 1 대체 스피치 신호와 연관될 수도 있다. 예를 들어, 제약 분석기 (406) 는 도 4 를 참조하여 설명된 바와 같이, 제약에 기초하여 검색 결과들 (414) 중의 선택된 결과 (416) 를 선택할 수도 있다. 선택된 결과 (416) 는 제 1 대체 스피치 신호 (172), 제 1 스피치 파라미터들 (472), 또는 양자를 포함할 수도 있다. 또 다른 예로서, 제약 분석기 (606) 는 도 6 을 참조하여 설명된 바와 같이, 복수의 스피치 파라미터들 (614) 의 세트 중의 제 1 복수의 스피치 파라미터들 (472) 을 선택할 수도 있다. 추가의 예로서, 제약 분석기 (706) 는 도 7 을 참조하여 설명된 바와 같이, 복수의 대체 스피치 신호들 (714) 중의 제 1 대체 스피치 신호 (172) 를 선택할 수도 있다.
방법 (1600) 은 또한, 1608 에서, 사용자 스피치 신호의 부분을 대체 스피치 신호로 대체함으로써 프로세싱된 스피치 신호를 생성하는 것을 포함할 수도 있다. 대체 스피치 신호는 특정한 검색 결과에 기초하여 결정될 수도 있다. 예를 들어, 합성기 (408) 는 도 4 를 참조하여 설명된 바와 같이, 제 1 사용자 스피치 신호 (130) 의 부분을 대체 스피치 신호로 대체함으로써 제 1 프로세싱된 스피치 신호 (116) 를 생성할 수도 있다. 또 다른 예로서, 합성기 (608) 는 도 6 을 참조하여 설명된 바와 같이, 제 1 데이터 (603) 의 입력 신호의 부분을 대체 스피치 신호로 대체함으로써 제 1 프로세싱된 스피치 신호 (116) 를 생성할 수도 있다. 추가의 예로서, 합성기 (708) 는 도 7 을 참조하여 설명된 바와 같이, 제 1 데이터 (603) 의 입력 신호의 부분을 대체 스피치 신호로 대체함으로써 제 1 프로세싱된 스피치 신호 (116) 를 생성할 수도 있다.
이에 따라, 방법 (1600) 은 입력 스피치 신호의 부분을 대체 스피치 신호로 대체함으로써 프로세싱된 스피치 신호의 생성을 가능하게 할 수도 있다. 프로세싱된 스피치 신호는 입력 스피치 신호보다 더 높은 오디오 품질을 가질 수도 있다.
도 16 의 방법 (1600) 은 필드-프로그래밍가능한 게이트 어레이 (FPGA) 디바이스, 애플리케이션-특정 집적 회로 (ASIC), 중앙 프로세싱 유닛 (CPU) 과 같은 프로세싱 유닛, 디지털 신호 프로세서 (DSP), 제어기, 또 다른 하드웨어 디바이스, 펌웨어 디바이스, 또는 그 임의의 조합에 의해 구현될 수도 있다. 일 예로서, 도 16 의 방법 (1600) 은 도 19 에 대하여 설명된 바와 같이, 명령들을 실행하는 프로세서에 의해 수행될 수도 있다.
도 17 을 참조하면, 사용자 인터페이스를 생성하는 방법의 특정한 예시적인 양태의 플로우차트가 도시되고 1700 으로 전반적으로 지시된다. 방법 (1700) 은 도 1 의 신호 프로세싱 모듈 (122), 도 4 의 신호 프로세싱 모듈 (422), 도 6 의 신호 프로세싱 모듈 (622), 도 7 의 신호 프로세싱 모듈 (722), 또는 그 조합에 의해 실행될 수도 있다.
방법 (1700) 은 1702 에서, 디바이스에서 사용자 인터페이스를 생성하는 것을 포함할 수도 있다. 사용자 인터페이스는 사용자의 하나 이상의 스피치 신호들과 연관된 시간 기간을 표시할 수도 있다. 사용자 인터페이스는 추가 옵션을 포함할 수도 있다. 예를 들어, 도 1 의 신호 프로세싱 모듈 (122) 은 도 3 을 참조하여 설명된 바와 같이, 사용자 인터페이스 (300) 를 생성할 수도 있다. 사용자 인터페이스 (300) 의 제 1 막대 (302) 는 도 3 을 참조하여 설명된 바와 같이, 사용자 (예컨대, "Randal Hughes") 의 하나 이상의 스피치 신호들과 연관된 시간 기간을 표시할 수도 있다. 사용자 인터페이스 (300) 는 도 3 을 참조하여 설명된 바와 같이, 추가 옵션 (308) 을 포함할 수도 있다.
방법 (1700) 은 또한, 1704 에서, 사용자 인터페이스를 디스플레이에 제공하는 것을 포함할 수도 있다. 예를 들어, 도 1 의 신호 프로세싱 모듈 (122) 은 도 3 을 참조하여 설명된 바와 같이, 사용자 인터페이스 (300) 를 제 1 디바이스 (102) 의 디스플레이에 제공할 수도 있다.
방법 (1700) 은 1706 에서, 추가 옵션의 선택을 수신하는 것에 응답하여 하나 이상의 스피치 신호들에 대응하는 복수의 대체 스피치 신호들을 생성하는 것을 더 포함할 수도 있다. 예를 들어, 신호 프로세싱 모듈 (122) 은 도 3 의 추가 옵션 (308) 의 선택을 수신하는 것에 응답하여 하나 이상의 스피치 신호들에 대응하는 복수의 대체 스피치 신호들 (112) 을 생성할 수도 있다. 예시하자면, 도 3 을 참조하여 설명된 바와 같이, 신호 프로세싱 모듈 (122) 은 추가 옵션 (308) 의 선택을 수신하는 것에 응답하여 요청을 스피치 신호 관리기 (262) 로 전송할 수도 있고, 스피치 신호 관리기 (262) 로부터 복수의 대체 스피치 신호들 (112) 을 수신할 수도 있다.
이에 따라, 방법 (1700) 은 대체 스피치 신호들의 관리를 가능하게 할 수도 있다. 방법 (1700) 은 사용자들과 연관된 스피치 신호들의 모니터링을 가능하게 할 수도 있다. 방법 (1700) 은 선택된 사용자와 연관된 대체 스피치 신호들의 생성을 가능하게 할 수도 있다.
도 17 의 방법 (1700) 은 필드-프로그래밍가능한 게이트 어레이 (FPGA) 디바이스, 애플리케이션-특정 집적 회로 (ASIC), 중앙 프로세싱 유닛 (CPU) 과 같은 프로세싱 유닛, 디지털 신호 프로세서 (DSP), 제어기, 또 다른 하드웨어 디바이스, 펌웨어 디바이스, 또는 그 임의의 조합에 의해 구현될 수도 있다. 일 예로서, 도 17 의 방법 (1700) 은 도 19 에 대하여 설명된 바와 같이, 명령들을 실행하는 프로세서에 의해 수행될 수도 있다.
도 18 을 참조하면, 스피치 신호를 대체하는 방법의 특정한 예시적인 양태의 플로우차트가 도시되고 1800 으로 전반적으로 지시된다. 방법 (1800) 은 도 1 의 신호 프로세싱 모듈 (122), 도 4 의 신호 프로세싱 모듈 (422), 도 6 의 신호 프로세싱 모듈 (622), 도 7 의 신호 프로세싱 모듈 (722), 또는 그 조합에 의해 실행될 수도 있다.
방법 (1800) 은 1802 에서, 로컬 음성 프로파일을 저장하는 디바이스에서 원격 음성 프로파일을 수신하는 것으로서, 로컬 음성 프로파일은 사람과 연관되는 것을 포함할 수도 있다. 예를 들어, 제 1 디바이스 (102) 의 신호 프로세싱 모듈 (122) 은 도 11 을 참조하여 설명된 바와 같이, 제 2 사용자 (154) 와 연관된 원격 음성 프로파일 (1174) 을 수신할 수도 있다. 제 1 디바이스 (102) 는 제 2 사용자 (154) 와 연관된 로컬 음성 프로파일 (1104) 을 저장할 수도 있다.
방법 (1800) 은 또한, 1804 에서, 원격 음성 프로파일 및 로컬 음성 프로파일의 비교에 기초하여, 또는 원격 음성 프로파일과 연관된 식별자에 기초하여, 원격 음성 프로파일이 사람과 연관되는 것으로 결정하는 것을 포함할 수도 있다. 예를 들어, 신호 프로세싱 모듈 (122) 은 도 11 을 참조하여 설명된 바와 같이, 원격 음성 프로파일 (1174) 과 연관된 스피치 컨텐츠와, 로컬 음성 프로파일 (1104) 과 연관된 스피치 컨텐츠와의 비교에 기초하여, 원격 음성 프로파일 (1174) 이 제 2 사용자 (154) 와 연관되는 것으로 결정할 수도 있다. 또 다른 예로서, 신호 프로세싱 모듈 (122) 은 도 11 을 참조하여 설명된 바와 같이, 원격 음성 프로파일 (1174) 이 제 2 사용자 (154) 와 연관된 식별자 (1168) 를 포함하는 것으로 결정하는 것에 응답하여, 원격 음성 프로파일 (1174) 이 제 2 사용자 (154) 와 연관되는 것으로 결정할 수도 있다.
방법 (1800) 은 1806 에서, 결정에 기초하여, 디바이스에서, 프로파일 관리를 위한 로컬 음성 프로파일을 선택하는 것을 더 포함할 수도 있다. 예를 들어, 제 1 디바이스 (102) 의 신호 프로세싱 모듈 (122) 은 도 11 을 참조하여 설명된 바와 같이, 원격 음성 프로파일 (1174) 이 제 2 사용자 (154) 에 대응하는 것으로 결정하는 것에 기초하여 로컬 음성 프로파일 (1104) 을 선택할 수도 있다. 프로파일 관리의 예들은 원격 음성 프로파일 (1174) 에 기초하여 로컬 음성 프로파일 (1104) 을 업데이트하는 것과, 원격 음성 프로파일 (1174) 의 표현, 로컬 음성 프로파일 (1104) 의 표현, 또는 양자를 포함하는 GUI 를 생성함으로써 음성 프로파일 정보를 사용자에게 제공하는 것ㅇ을 포함할 수도 있지만, 이것으로 제한되지는 않는다.
이에 따라, 방법 (1800) 은 또 다른 디바이스로부터 사람의 원격 음성 프로파일을 수신하는 것에 응답하여, 사람의 로컬 음성 프로파일이 프로파일 관리를 위하여 선택되는 것을 가능하게 할 수도 있다. 예를 들어, 로컬 음성 프로파일은 원격 음성 프로파일과 비교될 수도 있다. 또 다른 예로서, 로컬 음성 프로파일은 원격 음성 프로파일에 기초하여 업데이트될 수도 있다.
도 18 의 방법 (1800) 은 필드-프로그래밍가능한 게이트 어레이 (FPGA) 디바이스, 애플리케이션-특정 집적 회로 (ASIC), 중앙 프로세싱 유닛 (CPU) 과 같은 프로세싱 유닛, 디지털 신호 프로세서 (DSP), 제어기, 또 다른 하드웨어 디바이스, 펌웨어 디바이스, 또는 그 임의의 조합에 의해 구현될 수도 있다. 일 예로서, 도 18 의 방법 (1800) 은 도 18 에 대하여 설명된 바와 같이, 명령들을 실행하는 프로세서에 의해 수행될 수도 있다.
도 19 를 참조하면, 디바이스 (예컨대, 무선 통신 디바이스) 의 특정한 예시적인 양태의 블록도가 도시되고 1900 으로 전반적으로 지시된다. 다양한 양태들에서, 디바이스 (1900) 는 도 19 에서 예시된 것보다 더 많거나 더 적은 컴포넌트들을 가질 수도 있다. 예시적인 양태에서, 디바이스 (1900) 는 도 1 의 제 1 디바이스 (102), 이동 디바이스 (104), 데스크톱 컴퓨터 (106), 또는 도 2 의 서버 (206) 에 대응할 수도 있다. 예시적인 양태에서, 디바이스 (1900) 는 도 1 내지 도 18 을 참조하여 본원에서 설명된 하나 이상의 동작들을 수행할 수도 있다.
특정한 양태에서, 디바이스 (1900) 는 프로세서 (1906) (예컨대, 중앙 프로세싱 유닛 (central processing unit; CPU)) 를 포함한다. 프로세서 (1906) 는 프로세서 (1152), 도 11 의 프로세서 (1160), 또는 양자에 대응할 수도 있다. 디바이스 (1900) 는 하나 이상의 추가적인 프로세서들 (1910) (예컨대, 하나 이상의 디지털 신호 프로세서 (DSP) 들) 을 포함할 수도 있다. 프로세서들 (1910) 은 스피치 및 음악 코더-디코더 (coder-decoder; CODEC) (1908) 및 에코 상쇄기 (1912) 를 포함할 수도 있다. 스피치 및 음악 코덱 (1908) 은 보코더 인코더 (1936), 보코더 디코더 (1938), 또는 양자를 포함할 수도 있다.
디바이스 (1900) 는 메모리 (1932) 및 CODEC (1934) 을 포함할 수도 있다. 메모리 (1932) 는 메모리 (1132), 도 11 의 메모리 (1176), 또는 양자에 대응할 수도 있다. 디바이스 (1900) 는 라디오 주파수 (radio frequency; RF) 모듈 (1950) 을 통해, 안테나 (1942) 에 결합된 무선 제어기 (1940) 를 포함할 수도 있다. 디바이스 (1900) 는 디스플레이 제어기 (1926) 에 결합된 디스플레이 (1128) 를 포함할 수도 있다. 도 1 의 스피커들 (142), 하나 이상의 마이크로폰들 (1946), 또는 그 조합은 CODEC (1934) 에 결합될 수도 있다. CODEC (1934) 은 디지털-대-아날로그 변환기 (1902) 및 아날로그-대-디지털 변환기 (1904) 를 포함할 수도 있다. 예시적인 양태에서, 마이크로폰들 (1946) 은 도 1 의 마이크로폰 (144), 마이크로폰 (146), 도 2 의 마이크로폰 (246), 도 12 의 마이크로폰들 (1244), 또는 그 조합에 대응할 수도 있다. 특정한 양태에서, CODEC (1934) 은 마이크로폰들 (1946) 로부터 아날로그 신호들을 수신할 수도 있고, 아날로그-대-디지털 변환기 (1904) 를 이용하여 아날로그 신호들을 디지털 신호들로 변환할 수도 있고, 디지털 신호들을 스피치 및 음악 코덱 (1908) 에 제공할 수도 있다. 스피치 및 음악 코덱 (1908) 은 디지털 신호들을 프로세싱할 수도 있다. 특정한 양태에서, 스피치 및 음악 코덱 (1908) 은 디지털 신호들을 CODEC (1934) 에 제공할 수도 있다. CODEC (1934) 은 디지털-대-아날로그 변환기 (1902) 를 이용하여 디지털 신호들을 아날로그 신호들로 변환할 수도 있고, 아날로그 신호들을 스피커들 (142) 에 제공할 수도 있다.
메모리 (1932) 는 도 1 의 제 1 데이터베이스 (124), 도 2 의 제 2 데이터베이스 (264), 도 4 의 파라미터화된 데이터베이스 (424), 도 11 의 로컬 음성 프로파일들 (1108), 원격 음성 프로파일들 (1178), 입력 오디오 신호 (1130), 도 13 의 분류 (1346), 이용 모드 설정 (1362), 또는 그 조합을 포함할 수도 있다. 디바이스 (1900) 는 신호 프로세싱 모듈 (1948), 도 2 의 스피치 신호 관리기 (262), 도 4 의 데이터베이스 분석기 (410), 도 8 의 애플리케이션 (822), 도 9 의 검색 모듈 (922), 도 13 의 모드 검출기 (1302), 도메인 선택기 (1304), 텍스트-대-스피치 변환기 (1322), 또는 그 조합을 포함할 수도 있다. 신호 프로세싱 모듈 (1948) 은 도 1 의 신호 프로세싱 모듈 (122), 도 4 의 신호 프로세싱 모듈 (422), 도 6 의 신호 프로세싱 모듈 (622), 도 7 의 신호 프로세싱 모듈 (722), 또는 그 조합에 대응할 수도 있다. 특정한 양태에서, 스피치 신호 관리기 (262), 데이터베이스 분석기 (410), 도 8 의 애플리케이션 (822), 도 9 의 검색 모듈 (922), 도 13 의 모드 검출기 (1302), 도메인 선택기 (1304), 텍스트-대-스피치 변환기 (1322), 및/또는 신호 프로세싱 모듈 (1948) 의 하나 이상의 컴포넌트들은 프로세서 (1906), 프로세서들 (1910), CODEC (1934), 또는 그 조합 내에 포함될 수도 있다. 특정한 양태에서, 스피치 신호 관리기 (262), 데이터베이스 분석기 (410), 도 8 의 애플리케이션 (822), 도 9 의 검색 모듈 (922), 도 13 의 모드 검출기 (1302), 도메인 선택기 (1304), 텍스트-대-스피치 변환기 (1322), 및/또는 신호 프로세싱 모듈 (1948) 의 하나 이상의 컴포넌트들은 보코더 인코더 (1936), 보코더 디코더 (1938), 또는 양자 내에 포함될 수도 있다.
신호 프로세싱 모듈 (1948), 스피치 신호 관리기 (262), 데이터베이스 분석기 (410), 애플리케이션 (822), 검색 모듈 (922), 모드 검출기 (1302), 도메인 선택기 (1304), 텍스트-대-스피치 변환기 (1322), 또는 그 조합은 본원에서 설명된 스피치 신호 대체 기법의 하드웨어 양태를 구현하기 위하여 이용될 수도 있다. 대안적으로, 또는 추가적으로, 소프트웨어 양태 (또는 조합된 소프트웨어/하드웨어 양태) 가 구현될 수도 있다. 예를 들어, 메모리 (1932) 는 프로세서들 (1910) 또는 디바이스 (1900) 의 다른 프로세싱 유닛 (예컨대, 프로세서 (1906), CODEC (1934), 또는 양자) 에 의해 실행가능한 명령들 (1956) 을 포함할 수도 있다. 명령들 (1956) 은 스피치 신호 관리기 (262), 데이터베이스 분석기 (410), 애플리케이션 (822), 검색 모듈 (922), 모드 검출기 (1302), 도메인 선택기 (1304), 텍스트-대-스피치 변환기 (1322), 신호 프로세싱 모듈 (1948), 또는 그 조합에 대응할 수도 있다.
특정한 양태에서, 디바이스 (1900) 는 시스템-인-패키지 (system-in-package) 또는 시스템-온-칩 (system-on-chip) 디바이스 (1922) 내에 포함될 수도 있다. 특정한 양태에서, 프로세서 (1906), 프로세서들 (1910), 디스플레이 제어기 (1926), 메모리 (1932), CODEC (1934), 및 무선 제어기 (1940) 는 시스템-인-패키지 또는 시스템-온-칩 디바이스 (1922) 내에 포함된다. 특정한 양태에서, 입력 디바이스 (1134) 및 전력 공급 장치 (1944) 는 시스템-온-칩 디바이스 (1922) 에 결합된다. 또한, 특정한 양태에서는, 도 19 에서 예시된 바와 같이, 디스플레이 (1128), 입력 디바이스 (1134), 스피커들 (142), 마이크로폰들 (1946), 안테나 (1942), 및 전력 공급 장치 (1944) 가 시스템-온-칩 디바이스 (1922) 의 외부에 있다. 특정한 양태에서, 디스플레이 (1128), 입력 디바이스 (1134), 스피커들 (142), 마이크로폰들 (1946), 안테나 (1942), 및 전력 공급 장치 (1944) 의 각각은 인터페이스 또는 제어기와 같은, 시스템-온-칩 디바이스 (1922) 의 컴포넌트에 결합될 수도 있다.
디바이스 (1900) 는 이동 통신 디바이스, 스마트폰, 셀룰러 전화, 랩톱 컴퓨터, 컴퓨터, 태블릿, 개인 정보 단말, 디스플레이 디바이스, 텔레비전, 게임용 콘솔, 음악 플레이어, 라디오, 디지털 비디오 플레이어, 디지털 비디오 디스크 (DVD) 플레이어, 튜너, 카메라, 내비게이션 디바이스, 또는 그 임의의 조합을 포함할 수도 있다.
예시적인 양태에서, 프로세서들 (1910) 은 도 1 내지 도 18 을 참조하여 설명된 방법들 또는 동작들의 전부 또는 부분을 수행하도록 동작가능할 수도 있다. 예를 들어, 마이크로폰들 (1946) 은 사용자 스피치 신호에 대응하는 오디오 신호를 캡처할 수도 있다. ADC (1904) 는 캡처된 오디오 신호를 아날로그 파형으로부터, 디지털 오디오 샘플들로 구성된 디지털 파형으로 변환할 수도 있다. 프로세서들 (1910) 은 디지털 오디오 샘플들을 프로세싱할 수도 있다. 이득 조절기는 디지털 오디오 샘플들을 조절할 수도 있다. 에코 상쇄기 (1912) 는 마이크로폰들 (1946) 에 진입하는 스피커들 (142) 의 출력에 의해 생성되었을 수도 있는 임의의 에코를 감소시킬 수도 있다.
프로세서들 (1910) 은 사용자 스피치 신호의 부분을 복수의 대체 스피치 신호들과 비교할 수도 있다. 예를 들어, 프로세서들 (1910) 은 디지털 오디오 샘플들의 부분을 복수의 스피치 신호들과 비교할 수도 있다. 프로세서들 (1910) 은 복수의 대체 스피치 신호들 중의 제 1 대체 스피치 신호가 사용자 스피치 신호의 부분과 일치하는 것으로 결정할 수도 있다. 프로세서들 (1910) 은 사용자 스피치 신호의 부분을 제 1 대체 스피치 신호로 대체함으로써 프로세싱된 스피치 신호를 생성할 수도 있다.
보코더 인코더 (1936) 는 프로세싱된 스피치 신호에 대응하는 디지털 오디오 샘플들을 압축할 수도 있고, 송신 패킷 (예컨대, 디지털 오디오 샘플들의 압축된 비트들의 표현) 을 형성할 수도 있다. 송신 패킷은 메모리 (1932) 내에 저장될 수도 있다. RF 모듈 (1950) 은 송신 패킷의 일부 형태를 변조할 수도 있고 (예컨대, 다른 정보는 송신 패킷에 첨부될 수도 있음), 안테나 (1942) 를 통해 변조된 데이터를 송신할 수도 있다. 또 다른 예로서, 프로세서 (1910) 는 마이크로폰들 (1946) 을 통해 트레이닝 신호를 수신할 수도 있고, 트레이닝 신호로부터 복수의 대체 스피치 신호들을 생성할 수도 있다.
추가의 예로서, 안테나 (1942) 는 수신 패킷을 포함하는 착신되는 패킷들을 수신할 수도 있다. 수신 패킷은 네트워크를 통해 또 다른 디바이스에 의해 전송될 수도 있다. 예를 들어, 수신 패킷은 사용자 스피치 신호에 대응할 수도 있다. 보코더 디코더 (1938) 는 수신 패킷을 압축해제할 수도 있다. 압축해제된 파형은 재구성된 오디오 샘플들로서 지칭될 수도 있다. 에코 상쇄기 (1912) 는 재구성된 오디오 샘플들로부터 에코를 제거할 수도 있다.
프로세서들 (1910) 은 사용자 스피치 신호의 부분을 복수의 대체 스피치 신호들과 비교할 수도 있다. 예를 들어, 프로세서들 (1910) 은 재구성된 오디오 샘플들의 부분을 복수의 스피치 신호들과 비교할 수도 있다. 프로세서들 (1910) 은 복수의 대체 스피치 신호들 중의 제 1 대체 스피치 신호가 사용자 스피치 신호의 부분과 일치하는 것으로 결정할 수도 있다. 프로세서들 (1910) 은 사용자 스피치 신호의 부분을 제 1 대체 스피치 신호로 대체함으로써 프로세싱된 스피치 신호를 생성할 수도 있다. 이득 조절기는 프로세싱된 스피치 신호를 증폭할 수도 있거나 억압할 수도 있다. DAC (1902) 는 프로세싱된 스피치 신호를 디지털 파형으로부터 아날로그 파형으로 변환할 수도 있고, 변환된 신호를 스피커들 (142) 에 제공할 수도 있다.
설명된 양태들과 함께, 장치는 원격 음성 프로파일을 수신하기 위한 수단을 포함할 수도 있다. 예를 들어, 원격 음성 프로파일을 수신하기 위한 수단은 신호 프로세싱 모듈 (1948), 프로세서 (1906), 프로세서들 (1910), RF 모듈 (1950), 원격 음성 프로파일을 수신하도록 구성된 하나 이상의 다른 디바이스들 또는 회로들, 또는 그 임의의 조합을 포함할 수도 있다.
장치는 또한, 사람과 연관된 로컬 음성 프로파일을 저장하기 위한 수단을 포함할 수도 있다. 예를 들어, 저장하기 위한 수단은 메모리 (1932), 신호 프로세싱 모듈 (1948), 프로세서 (1906), 프로세서들 (1910), 로컬 음성 프로파일을 저장하도록 구성된 하나 이상의 다른 디바이스들 또는 회로들, 또는 그 임의의 조합을 포함할 수도 있다.
장치는 원격 음성 프로파일과 연관된 스피치 컨텐츠 또는 원격 음성 프로파일의 식별자에 기초하여 원격 음성 프로파일이 사람과 연관되는 것으로 결정하는 것에 기초하여, 프로파일 관리를 위한 로컬 음성 프로파일을 선택하기 위한 수단을 더 포함할 수도 있다. 예를 들어, 로컬 음성 프로파일을 선택하기 위한 수단은 신호 프로세싱 모듈 (1948), 프로세서 (1906), 프로세서들 (1910), 로컬 음성 프로파일을 선택하도록 구성된 하나 이상의 다른 디바이스들 또는 회로들, 또는 그 임의의 조합을 포함할 수도 있다.
수신하기 위한 수단, 저장하기 위한 수단, 및 선택하기 위한 수단은 차량, 전자 판독기 디바이스, 음향 캡처 디바이스, 이동 통신 디바이스, 스마트폰, 셀룰러 전화, 랩톱 컴퓨터, 컴퓨터, 인코더, 디코더, 태블릿, 개인 정보 단말, 디스플레이 디바이스, 텔레비전, 게임용 콘솔, 음악 플레이어, 라디오, 디지털 비디오 플레이어, 디지털 비디오 디스크 플레이어, 튜너, 카메라, 또는 내비게이션 디바이스 중의 적어도 하나 내로 통합될 수도 있다.
숙련자들은, 본원에서 개시된 양태들과 관련하여 설명된 다양한 예시적인 논리적 블록들, 구성들, 모듈들, 회로들, 및 알고리즘 단계들이 전자 하드웨어, 프로세서에 의해 실행된 컴퓨터 소프트웨어, 또는 양자의 조합들로서 구현될 수도 있다는 것을 추가로 인식할 것이다. 다양한 예시적인 컴포넌트들, 블록들, 구성들, 모듈들, 회로들, 및 단계들은 그 기능성의 측면에서 일반적으로 위에서 설명되었다. 이러한 기능성이 하드웨어 또는 프로세서 실행가능 명령들로서 구현되는지 여부는 특정한 애플리케이션과, 전체적인 시스템에 대해 부과된 설계 제약들에 종속된다. 당업자들은 각각의 특정한 애플리케이션을 위한 다양한 방법들로 설명된 기능성을 구현할 수도 있고, 이러한 구현 판단들은 본 개시물의 범위로부터의 이탈을 야기시키는 것으로 해석되지 않아야 한다.
상기한 예들 중의 하나 이상은 특정 사람들과 연관되는 원격 음성 프로파일들 및 로컬 음성 프로파일들을 설명하지만, 이러한 예들은 오직 예시적인 목적들을 위한 것이고, 제한하는 것으로 고려되지 않아야 한다는 것에 주목해야 한다. 특정한 양태들에서, 디바이스는 "보편적인 (universal)" (또는 디폴트) 음성 프로파일을 저장할 수도 있다. 예를 들어, 보편적인 음성 프로파일은 통신 기반구조 또는 환경이 개별적인 사람들과 연관된 음성 프로파일들을 교환하는 것을 지원하지 않을 때에 이용될 수도 있다. 이에 따라, 보편적인 음성 프로파일은, 특정 호출자 (caller) 또는 피호출자 (callee) 와 연관된 음성 프로파일이 이용불가능할 때, 대체 (예컨대, 더욱 높은 품질) 스피치 데이터가 특정한 이용 모드 또는 인구통계학적 도메인을 위하여 이용불가능할 때 등을 포함하지만, 이것으로 제한되지는 않는 어떤 상황들에서 디바이스에서 선택될 수도 있다. 일부 구현예들에서, 보편적인 음성 프로파일은 특정한 사람과 연관된 음성 프로파일을 보충하기 위하여 이용될 수도 있다. 예시하자면, 특정한 사람과 연관된 음성 프로파일이 특정한 사운드, 이용 모드, 인구통계학적 도메인, 또는 그 조합을 위한 대체 스피치 데이터를 포함하지 않을 때, 그 대신에, 대체 스피치 데이터는 보편적인 음성 프로파일에 기초하여 유도될 수도 있다. 특정한 양태들에서, 디바이스는 다수의 보편적인 또는 디폴트 음성 프로파일들 (예컨대, 대화 대 노래하기, 영어 대 프랑스어 등에 대한 별도의 보편적인 또는 디폴트 음성 프로파일들) 을 저장할 수도 있다.
본원에서 개시된 양태들과 관련하여 설명된 방법 또는 알고리즘의 단계들은 하드웨어로, 프로세서에 의해 실행된 소프트웨어 모듈로, 또는 둘의 조합으로 직접적으로 구체화될 수도 있다. 소프트웨어 모듈은 랜덤 액세스 메모리 (RAM), 플래시 메모리, 판독-전용 메모리 (ROM), 프로그래밍가능한 판독-전용 메모리 (programmable read-only memory; PROM), 소거가능 프로그래밍가능한 판독-전용 메모리 (erasable programmable read-only memory; EPROM), 전기적 소거가능 프로그래밍가능한 판독-전용 메모리 (electrically erasable programmable read-only memory; EEPROM), 레지스터들, 하드 디스크, 분리가능한 디스크, 컴팩트 디스크 판독-전용 메모리 (compact disc read-only memory; CD-ROM), 또는 당해 분야에서 알려진 임의의 다른 형태의 비-순시적 저장 매체 내에 상주할 수도 있다. 예시적인 저장 매체는, 프로세서가 저장 매체로부터 정보를 판독할 수도 있고 정보를 저장 매체에 기록할 수도 있도록 프로세서에 결합된다. 대안적으로, 저장 매체는 프로세서에 일체적일 수도 있다. 프로세서 및 저장 매체는 애플리케이션-특정 집적 회로 (ASIC) 내에 상주할 수도 있다. ASIC 은 컴퓨팅 디바이스 또는 사용자 단말 내에 상주할 수도 있다. 대안적으로, 프로세서 및 저장 매체는 컴퓨팅 디바이스 또는 사용자 단말에서 개별 컴포넌트들로서 상주할 수도 있다.
개시된 양태들의 이전의 설명은 당해 분야의 숙련자가 개시된 양태들을 제조하거나 이용하는 것을 가능하게 하도록 제공된다. 이 양태들에 대한 다양한 변형들은 당해 분야의 숙련자들에게 용이하게 명백할 것이고, 본원에서 정의된 원리들은 개시물의 범위로부터 이탈하지 않으면서 다른 양태들에 적용될 수도 있다. 이에 따라, 본 개시물은 본원에서 도시된 양태들에 제한되도록 의도된 것이 아니고, 다음의 청구항들에 의해 정의된 바와 같은 원리들 및 신규한 특징들과 일치하는 가능한 가장 넓은 범위를 따르도록 하기 위한 것이다.

Claims (34)

  1. 대체 스피치 신호들에 대응하는 대체 스피치 데이터를 저장하도록 구성된 메모리; 및
    프로세서를 포함하며,
    상기 프로세서는,
    입력 스피치 신호에 대응하는 입력 스피치 데이터에 기초하여 상기 메모리의 검색을 통한 검색 결과 데이터를 생성하고,
    제약에 기초하여 특정 검색 결과 데이터를 선택하는 것으로서, 상기 특정 검색 결과 데이터는 특정 대체 스피치 데이터와 연관되는, 상기 특정 검색 결과 데이터를 선택하며, 그리고
    교체 스피치 데이터로 상기 입력 스피치 데이터의 부분을 교체함으로써 프로세싱된 스피치 데이터를 생성하는 것으로서, 상기 교체 스피치 데이터는 상기 특정 검색 결과 데이터에 기초하여 결정되는, 상기 프로세싱된 스피치 데이터를 생성하도록
    구성되는, 디바이스.
  2. 제 1 항에 있어서,
    상기 입력 스피치 신호는 왜곡된 신호를 포함하고,
    상기 프로세서는 추가로, 상기 입력 스피치 데이터가 왜곡을 포함하는 것을 결정하도록 구성되는, 디바이스.
  3. 제 2 항에 있어서,
    상기 프로세서는 추가로, 상기 입력 스피치 데이터에 기초하여 검색 기준 데이터를 생성하도록 구성되고,
    상기 검색 기준 데이터는 상기 입력 스피치 데이터와 연관된 스피치 파라미터 데이터를 포함하는, 디바이스.
  4. 제 3 항에 있어서,
    상기 검색 결과 데이터는 상기 입력 스피치 데이터, 상기 검색 기준 데이터, 또는 이들 양자를 이용하여 생성되고,
    상기 검색 결과 데이터는 대체 스피치 데이터의 세트를 포함하며,
    상기 대체 스피치 데이터의 세트는 실질적으로 상기 입력 스피치 데이터와 매칭되는, 디바이스.
  5. 제 1 항에 있어서,
    상기 대체 스피치 데이터는 펄스 코드 변조 (PCM) 파형들을 포함하는, 디바이스.
  6. 제 1 항에 있어서,
    상기 메모리는 추가로, 상기 대체 스피치 데이터와 연관된 스피치 파라미터 데이터를 저장하도록 구성되고,
    상기 스피치 파라미터 데이터는 피치 파라미터, 에너지 파라미터, 선형 예측 코딩 (LPC) 파라미터, 멜-주파수 켑스트럴 (mel-frequency cepstral) 계수들 (MFCC), 라인 스펙트럼 쌍들 (LSP), 라인 스펙트럼 주파수들 (LSF), 켑스트럴 (cepstral), 라인 스펙트럼 정보 (LSI), 이산 코사인 변환 (DCT) 파라미터들, 펄스 코드 변조 (PCM), 이산 푸리에 변환 (DFT) 파라미터들, 고속 푸리에 변환 (FFT) 파라미터들, 포만트 (formant) 주파수들, 또는 이들의 조합을 포함하는, 디바이스.
  7. 제 1 항에 있어서,
    상기 프로세서는 추가로, 상기 입력 스피치 데이터와 스피치 파라미터 데이터의 비교에 기초하여 상기 검색 결과 데이터를 생성하도록 구성되는, 디바이스.
  8. 제 1 항에 있어서,
    상기 프로세서는 추가로,
    상기 입력 스피치 데이터를 카피하여 카피된 스피치 데이터를 생성하고,
    상기 카피된 스피치 데이터의 특정 위치로부터 상기 입력 스피치 데이터의 상기 부분을 제거하고, 그리고
    상기 특정 위치에서 상기 교체 스피치 데이터 및 상기 카피된 스피치 데이터를 연접하여 상기 교체 스피치 데이터를 생성하도록
    구성되는, 디바이스.
  9. 제 1 항에 있어서,
    상기 제약은 비용 제약, 에러 제약, 또는 이들 양자를 포함하는, 디바이스.
  10. 복수의 대체 스피치 신호들에 대응하는 복수의 대체 스피치 데이터를 저장하도록 구성된 메모리; 및
    상기 메모리에 전기적으로 결합된 프로세서를 포함하며,
    상기 프로세서는,
    적어도 스피치 데이터의 부분을 식별하는 것으로서, 상기 스피치 데이터는 스피치 신호들에 대응하는, 상기 스피치 데이터의 부분을 식별하고,
    상기 대체 스피치 데이터에 기초하여, 상기 스피치 데이터의 상기 부분과 매칭되는 상기 대체 스피치 데이터의 부분을 선택하고, 그리고
    적어도 상기 스피치 데이터의 상기 부분을 상기 대체 스피치 데이터의 선택된 상기 부분으로 교체하여 출력 스피치 데이터를 생성하도록
    구성되는, 디바이스.
  11. 제 10 항에 있어서,
    상기 프로세서는 추가로, 상기 출력 스피치 데이터를 인코딩하여 인코딩된 출력 스피치 데이터를 생성하도록 구성되고,
    상기 디바이스는 상기 인코딩된 출력 스피치 데이터를 송신하도록 구성된 송신기를 더 포함하는, 디바이스.
  12. 제 11 항에 있어서,
    상기 인코딩된 출력 스피치 데이터는 패킷화된 스피치 데이터를 포함하고,
    상기 디바이스는 상기 출력 스피치 데이터를 투영하도록 구성된 출력 디바이스를 더 포함하며,
    상기 출력 디바이스는 스피커 디바이스를 포함하는, 디바이스.
  13. 제 10 항에 있어서,
    인코딩된 스피치 데이터를 수신하도록 구성된 수신기를 더 포함하고,
    상기 프로세서는 추가로, 상기 인코딩된 스피치 데이터를 디코딩하여 복원된 스피치 데이터를 생성하도록 구성되며,
    상기 복원된 스피치 데이터는 상기 스피치 데이터에 대응하는, 디바이스.
  14. 제 10 항에 있어서,
    상기 스피치 데이터는 순차적인 스피치 데이터 프레임들을 포함하고,
    제 1 스피치 데이터 프레임은 순차적으로, 상기 스피치 데이터의 상기 부분에 대응하는 제 2 스피치 데이터 프레임 이전이며,
    상기 프로세서는 추가로,
    상기 대체 스피치 데이터의 상기 부분과 상기 제 2 스피치 데이터 프레임 간의 제 1 매치의 제 1 품질의 표시인 제 1 매치 값을 생성하고, 그리고
    상기 제 1 매치 값이 임계값 미만이라는 결정에 응답하여, 상기 대체 스피치 데이터의 상기 부분, 상기 제 1 스피치 데이터 프레임 및 상기 제 2 스피치 데이터 프레임 중에서의 제 2 매치의 제 2 품질의 표시인 제 2 매치 값을 생성하도록
    구성되는, 디바이스.
  15. 제 14 항에 있어서,
    상기 프로세서는 추가로, 상기 제 2 매치 값을 제 2 임계치와 비교하도록 구성되고,
    상기 출력 스피치 데이터의 생성은 상기 대체 스피치 데이터의 상기 부분의 상기 제 1 스피치 데이터 프레임으로의 연접에 대응하는, 디바이스.
  16. 대체 스피치 데이터와 연관된 로케이터 값의 표현인 표시자를 수신하도록 구성된 수신기;
    복수의 대체 스피치 신호들에 대응하는 상기 대체 스피치 데이터를 저장하도록 구성된 메모리; 및
    상기 메모리에 전기적으로 결합된 프로세서를 포함하며,
    상기 프로세서는,
    상기 로케이터 값에 기초하여 상기 대체 스피치 데이터의 부분을 선택하는 것으로서, 상기 부분은 특정 대체 스피치 신호와 연관되는, 상기 대체 스피치 데이터의 부분을 선택하고, 그리고
    상기 대체 스피치 데이터의 상기 부분에 기초하여 출력 스피치 데이터를 생성하도록
    구성되는, 디바이스.
  17. 제 16 항에 있어서,
    상기 대체 스피치 데이터는 왜곡이 실질적으로 결여된 복수의 대체 스피치 데이터 부분들을 포함하는, 디바이스.
  18. 제 16 항에 있어서,
    상기 수신기는 추가로, 스피치 신호에 대응하는 스피치 데이터의 표현을 수신하도록 구성되고,
    상기 출력 스피치 데이터는 상기 대체 스피치 데이터의 상기 부분의 컴포넌트들의 복원된 스피치 데이터의 부분과의 오버랩을 포함하며,
    상기 복원된 스피치 데이터는 상기 스피치 데이터의 표현에 기초하는, 디바이스.
  19. 제 16 항에 있어서,
    상기 출력 스피치 데이터는 상기 대체 스피치 데이터의 상기 부분 및 스피치 데이터에 대응하는 제 1 스피치 프레임의 연접을 포함하는, 디바이스.
  20. 제 19 항에 있어서,
    상기 연접은 상기 스피치 데이터의 제 2 스피치 프레임의 상기 대체 스피치 데이터의 상기 부분으로의 대체 및 상기 대체 스피치 데이터의 상기 부분의 상기 제 1 스피치 프레임과의 접합을 포함하며,
    상기 제 2 스피치 프레임은 왜곡된 스피치 데이터를 포함하는, 디바이스.
  21. 복수의 대체 스피치 신호들에 대응하는 대체 스피치 데이터를 저장하고 복수의 로케이터 값들을 저장하도록 구성되는 메모리로서, 각각의 로케이터 값은 상기 대체 스피치 데이터의 대응하는 부분과 연관되는, 상기 메모리;
    스피치 신호를 수신하고 상기 스피치 신호를 스피치 데이터로 컨버팅하도록 구성된 마이크로폰; 및
    상기 메모리에 전기적으로 결합된 프로세서를 포함하며,
    상기 프로세서는,
    상기 마이크로폰으로부터 상기 스피치 데이터를 수신하고,
    적어도 상기 스피치 데이터의 부분에 기초하여, 상기 스피치 데이터의 상기 부분과 매칭되는 상기 대체 스피치 데이터의 특정 부분에 대응하는 로케이터 값을 식별하며, 그리고
    상기 로케이터 값의 표시를 포함하는 출력 데이터를 생성하도록
    구성되는, 디바이스.
  22. 제 21 항에 있어서,
    상기 로케이터 값은 상기 대체 스피치 데이터의 상기 특정 부분이 저장되는 상기 메모리의 메모리 위치의 표시인 인덱스 값에 대응하는, 디바이스.
  23. 제 21 항에 있어서,
    상기 로케이터 값은 상기 대체 스피치 데이터의 상기 특정 부분이 저장되는 상기 메모리의 메모리 위치의 표시인 포인터에 대응하는, 디바이스.
  24. 제 21 항에 있어서,
    상기 로케이터 값의 상기 표시를 포함하는 상기 출력 데이터를 송신하도록 구성된 송신기를 더 포함하는, 디바이스.
  25. 제 21 항에 있어서,
    상기 프로세서는 추가로, 상기 대체 스피치 데이터의 제 1 오디오 파라미터들 및 상기 스피치 데이터의 상기 부분의 제 2 오디오 파라미터들의 비교에 기초하여 상기 스피치 데이터의 상기 부분과 매칭되는 상기 대체 스피치 데이터의 상기 특정 부분을 선택하도록 구성되는, 디바이스.
  26. 제 21 항에 있어서,
    상기 프로세서는 추가로,
    상기 대체 스피치 데이터의 상기 특정 부분과 상기 스피치 데이터의 상기 부분 간의 매치의 품질의 표시인 제 1 매치 값을 결정하고, 그리고
    상기 제 1 매치 값을 임계값에 비교하도록
    구성되는, 디바이스.
  27. 제 26 항에 있어서,
    상기 프로세서는 추가로, 상기 제 1 매치 값이 상기 임계값과 동일하거나 초과한다는 결정에 응답하여 상기 대체 스피치 데이터의 상기 특정 부분을 선택하도록 구성되는, 디바이스.
  28. 복수의 대체 스피치 신호들에 대응하는 대체 스피치 데이터를 저장하도록 구성된 메모리;
    상기 대체 스피치 데이터의 재생 기간 (playback duration) 을 표시하는 그래픽 사용자 인터페이스 (GUI) 를 생성하도록 구성된 프로세서; 및
    상기 GUI 를 디스플레이하도록 구성된 인터페이스를 포함하는, 디바이스.
  29. 제 28 항에 있어서,
    상기 재생 기간은 대체 스피치 데이터의 다량의 프레임들과 연관되고,
    상기 메모리는 추가로, 상기 대체 스피치 데이터와 복수의 사용자 식별자들 간의 연관을 저장하도록 구성되고,
    각각의 사용자 식별자는 상이한 사람에 대응하며,
    상기 대체 스피치 데이터는 제 1 사용자 식별자에 대응하는 제 1 대체 스피치 데이터, 제 2 사용자 식별자에 대응하는 제 2 대체 스피치 데이터, 및 제 3 사용자 식별자에 대응하는 제 3 대체 스피치 데이터를 포함하는, 디바이스.
  30. 제 29 항에 있어서,
    상기 프로세서는 추가로, 제 1 대체 스피치 데이터의 제 1 재생 기간이 업데이트 임계치를 만족한다는 결정에 응답하여 상기 복수의 사용자 식별자들 중 특정 사용자 식별자와 연관된 추가의 대체 스피치 데이터에 대한 요청을 송신하도록 구성되는, 디바이스.
  31. 제 29 항에 있어서,
    상기 GUI 는 상기 제 1 대체 스피치 데이터의 삭제를 표시하는 제 1 커맨드를 수신하도록 구성되는, 디바이스.
  32. 제 29 항에 있어서,
    상기 GUI 는 제 1 대체 스피치 데이터의 제 1 수명, 제 2 대체 스피치 데이터의 제 2 수명, 및 제 3 대체 스피치 데이터의 제 3 수명을 표시하고,
    상기 대체 스피치 데이터는 실질적으로 왜곡되지 않은 스피치 신호들에 대응하는, 디바이스.
  33. 제 31 항에 있어서,
    상기 대체 스피치 데이터의 수명은 상기 대체 스피치 데이터의 포착 날짜에 대응하는, 디바이스.
  34. 제 29 항에 있어서,
    상기 GUI 는 상기 복수의 사용자 식별자들 중 제 4 사용자 식별자와 연관된 제 4 대체 스피치 데이터의 추가를 표시하는 제 2 커맨드를 수신하도록 구성되는, 디바이스.
KR1020187003160A 2014-04-30 2015-04-30 음성 프로파일 관리 및 스피치 신호 생성 KR102053553B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020197014853A KR102317296B1 (ko) 2014-04-30 2015-04-30 음성 프로파일 관리 및 스피치 신호 생성

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201461986701P 2014-04-30 2014-04-30
US61/986,701 2014-04-30
US14/700,009 2015-04-29
US14/700,009 US9666204B2 (en) 2014-04-30 2015-04-29 Voice profile management and speech signal generation
PCT/US2015/028584 WO2015168444A1 (en) 2014-04-30 2015-04-30 Voice profile management and speech signal generation

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020167032808A Division KR101827670B1 (ko) 2014-04-30 2015-04-30 음성 프로파일 관리 및 스피치 신호 생성

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020197014853A Division KR102317296B1 (ko) 2014-04-30 2015-04-30 음성 프로파일 관리 및 스피치 신호 생성

Publications (2)

Publication Number Publication Date
KR20180014879A true KR20180014879A (ko) 2018-02-09
KR102053553B1 KR102053553B1 (ko) 2019-12-06

Family

ID=54355675

Family Applications (3)

Application Number Title Priority Date Filing Date
KR1020167032808A KR101827670B1 (ko) 2014-04-30 2015-04-30 음성 프로파일 관리 및 스피치 신호 생성
KR1020187003160A KR102053553B1 (ko) 2014-04-30 2015-04-30 음성 프로파일 관리 및 스피치 신호 생성
KR1020197014853A KR102317296B1 (ko) 2014-04-30 2015-04-30 음성 프로파일 관리 및 스피치 신호 생성

Family Applications Before (1)

Application Number Title Priority Date Filing Date
KR1020167032808A KR101827670B1 (ko) 2014-04-30 2015-04-30 음성 프로파일 관리 및 스피치 신호 생성

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020197014853A KR102317296B1 (ko) 2014-04-30 2015-04-30 음성 프로파일 관리 및 스피치 신호 생성

Country Status (7)

Country Link
US (2) US9666204B2 (ko)
EP (2) EP3138097B1 (ko)
JP (2) JP6374028B2 (ko)
KR (3) KR101827670B1 (ko)
CN (1) CN106463142B (ko)
BR (1) BR112016025110B1 (ko)
WO (1) WO2015168444A1 (ko)

Families Citing this family (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9666204B2 (en) * 2014-04-30 2017-05-30 Qualcomm Incorporated Voice profile management and speech signal generation
JP6721298B2 (ja) 2014-07-16 2020-07-15 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America 音声情報制御方法及び端末装置
WO2016133319A1 (en) * 2015-02-16 2016-08-25 Samsung Electronics Co., Ltd. Method and device for providing information
US10334518B2 (en) * 2015-10-20 2019-06-25 Qualcomm Incorporated Power gains and capacity gains for a relaxed frame erasure rate
US9818427B2 (en) * 2015-12-22 2017-11-14 Intel Corporation Automatic self-utterance removal from multimedia files
JP6639285B2 (ja) * 2016-03-15 2020-02-05 株式会社東芝 声質嗜好学習装置、声質嗜好学習方法及びプログラム
US10127908B1 (en) 2016-11-11 2018-11-13 Amazon Technologies, Inc. Connected accessory for a voice-controlled device
US10204098B2 (en) * 2017-02-13 2019-02-12 Antonio GONZALO VACA Method and system to communicate between devices through natural language using instant messaging applications and interoperable public identifiers
US10789948B1 (en) 2017-03-29 2020-09-29 Amazon Technologies, Inc. Accessory for a voice controlled device for output of supplementary content
EP3577860B1 (en) * 2017-04-07 2023-07-26 Microsoft Technology Licensing, LLC Voice forwarding in automated chatting
US10366692B1 (en) * 2017-05-15 2019-07-30 Amazon Technologies, Inc. Accessory for a voice-controlled device
KR102394912B1 (ko) * 2017-06-09 2022-05-06 현대자동차주식회사 음성 인식을 이용한 주소록 관리 장치, 차량, 주소록 관리 시스템 및 음성 인식을 이용한 주소록 관리 방법
US10909978B2 (en) * 2017-06-28 2021-02-02 Amazon Technologies, Inc. Secure utterance storage
US10140089B1 (en) * 2017-08-09 2018-11-27 2236008 Ontario Inc. Synthetic speech for in vehicle communication
US10438594B2 (en) * 2017-09-08 2019-10-08 Amazon Technologies, Inc. Administration of privileges by speech for voice assistant system
US10403288B2 (en) * 2017-10-17 2019-09-03 Google Llc Speaker diarization
US10715604B1 (en) 2017-10-26 2020-07-14 Amazon Technologies, Inc. Remote system processing based on a previously identified user
US10567515B1 (en) * 2017-10-26 2020-02-18 Amazon Technologies, Inc. Speech processing performed with respect to first and second user profiles in a dialog session
KR102018110B1 (ko) 2017-11-20 2019-09-04 주식회사 이명수디자인랩 음성파일 생성방법 및 장치
CN110797004B (zh) * 2018-08-01 2021-01-26 百度在线网络技术(北京)有限公司 数据传输方法和装置
WO2020090995A1 (ja) 2018-10-31 2020-05-07 富士フイルム株式会社 平版印刷版原版、平版印刷版の作製方法、及び、平版印刷方法
US10763885B2 (en) * 2018-11-06 2020-09-01 Stmicroelectronics S.R.L. Method of error concealment, and associated device
US11222621B2 (en) * 2019-05-23 2022-01-11 Google Llc Variational embedding capacity in expressive end-to-end speech synthesis
KR102436985B1 (ko) 2019-05-31 2022-08-29 애플 인크. 오디오 미디어 제어를 위한 사용자 인터페이스
US11533313B2 (en) * 2019-05-31 2022-12-20 Apple Inc. Multi-user devices in a connected home environment
US11010121B2 (en) 2019-05-31 2021-05-18 Apple Inc. User interfaces for audio media control
US10867608B1 (en) * 2019-05-31 2020-12-15 Apple Inc. Multi-user configuration
US11138981B2 (en) * 2019-08-21 2021-10-05 i2x GmbH System and methods for monitoring vocal parameters
US11184477B2 (en) 2019-09-06 2021-11-23 International Business Machines Corporation Gapless audio communication via discourse gap recovery model
DE102019135799A1 (de) * 2019-12-27 2021-07-01 Sennheiser Electronic Gmbh & Co. Kg Verfahren zum Verbessern von Sprachverständlichkeit einer elektronischen Sprechverbindung und Headset zur Durchführung des Verfahrens
KR102164306B1 (ko) 2019-12-31 2020-10-12 브레인소프트주식회사 디제이변환에 기초한 기본주파수 추출 방법
US10965806B1 (en) * 2020-01-31 2021-03-30 Noble Systems Corporation Auto-correcting voice quality in real-time
KR102530669B1 (ko) * 2020-10-07 2023-05-09 네이버 주식회사 앱과 웹의 연동을 통해 음성 파일에 대한 메모를 작성하는 방법, 시스템, 및 컴퓨터 판독가능한 기록 매체
US11626104B2 (en) * 2020-12-08 2023-04-11 Qualcomm Incorporated User speech profile management
KR102548618B1 (ko) * 2021-01-25 2023-06-27 박상래 음성인식 및 음성합성을 이용한 무선통신장치
TWI755328B (zh) * 2021-05-24 2022-02-11 中華電信股份有限公司 孩童聲音偵測系統、方法及電腦可讀媒介
US11960615B2 (en) 2021-06-06 2024-04-16 Apple Inc. Methods and user interfaces for voice-based user profile management

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101827670B1 (ko) * 2014-04-30 2018-02-08 퀄컴 인코포레이티드 음성 프로파일 관리 및 스피치 신호 생성

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04158397A (ja) 1990-10-22 1992-06-01 A T R Jido Honyaku Denwa Kenkyusho:Kk 声質変換方式
AU720511B2 (en) 1995-08-24 2000-06-01 British Telecommunications Public Limited Company Pattern recognition
US5960389A (en) 1996-11-15 1999-09-28 Nokia Mobile Phones Limited Methods for generating comfort noise during discontinuous transmission
JP3198969B2 (ja) 1997-03-28 2001-08-13 日本電気株式会社 デジタル音声無線伝送システム、デジタル音声無線送信装置およびデジタル音声無線受信再生装置
AU4394300A (en) 1999-05-19 2000-12-12 Noisecom Aps A method and apparatus for noise reduction in speech signals
US20020174188A1 (en) 2001-04-30 2002-11-21 Objectsoft, Inc. Method and apparatus for exchanging contact information
JP3762327B2 (ja) 2002-04-24 2006-04-05 株式会社東芝 音声認識方法および音声認識装置および音声認識プログラム
US8311822B2 (en) 2004-11-02 2012-11-13 Nuance Communications, Inc. Method and system of enabling intelligent and lightweight speech to text transcription through distributed environment
JP4464797B2 (ja) * 2004-11-17 2010-05-19 日本電信電話株式会社 音声認識方法、この方法を実施する装置、プログラムおよびその記録媒体
KR20070018203A (ko) * 2005-08-09 2007-02-14 엘지전자 주식회사 광디스크 장치에서의 오디오 대체 재생방법
US7720681B2 (en) * 2006-03-23 2010-05-18 Microsoft Corporation Digital voice profiles
JP4734155B2 (ja) 2006-03-24 2011-07-27 株式会社東芝 音声認識装置、音声認識方法および音声認識プログラム
KR101233167B1 (ko) * 2006-04-14 2013-02-15 엘지전자 주식회사 녹화물 표시 장치 및 방법
JP4946293B2 (ja) 2006-09-13 2012-06-06 富士通株式会社 音声強調装置、音声強調プログラムおよび音声強調方法
US8214208B2 (en) 2006-09-28 2012-07-03 Reqall, Inc. Method and system for sharing portable voice profiles
US7813924B2 (en) 2007-04-10 2010-10-12 Nokia Corporation Voice conversion training and data collection
JP2011064913A (ja) * 2009-09-16 2011-03-31 Ntt Docomo Inc 電話システム、端末装置、音声モデル更新装置、および音声モデル更新方法
US20120105719A1 (en) 2010-10-29 2012-05-03 Lsi Corporation Speech substitution of a real-time multimedia presentation
US20120265533A1 (en) 2011-04-18 2012-10-18 Apple Inc. Voice assignment for text-to-speech output
US9799328B2 (en) 2012-08-03 2017-10-24 Veveo, Inc. Method for using pauses detected in speech input to assist in interpreting the input during conversational interaction for information retrieval

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101827670B1 (ko) * 2014-04-30 2018-02-08 퀄컴 인코포레이티드 음성 프로파일 관리 및 스피치 신호 생성

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Chyi-an Yang et al., ‘Computer-assisted speech mimicking’, IEEE TENCON 1997, pp.579~582, 1997.* *

Also Published As

Publication number Publication date
KR102317296B1 (ko) 2021-10-26
US20150317977A1 (en) 2015-11-05
BR112016025110A2 (pt) 2017-08-15
CN106463142B (zh) 2018-08-03
EP3138097B1 (en) 2018-04-04
JP6374028B2 (ja) 2018-08-15
KR20190060004A (ko) 2019-05-31
BR112016025110B1 (pt) 2022-10-11
EP3138097A1 (en) 2017-03-08
US20170256268A1 (en) 2017-09-07
KR101827670B1 (ko) 2018-02-08
KR102053553B1 (ko) 2019-12-06
KR20170003587A (ko) 2017-01-09
EP3416166A1 (en) 2018-12-19
JP6790029B2 (ja) 2020-11-25
JP2018205751A (ja) 2018-12-27
US9875752B2 (en) 2018-01-23
CN106463142A (zh) 2017-02-22
EP3416166B1 (en) 2020-08-26
US9666204B2 (en) 2017-05-30
JP2017515395A (ja) 2017-06-08
WO2015168444A1 (en) 2015-11-05

Similar Documents

Publication Publication Date Title
KR101827670B1 (ko) 음성 프로파일 관리 및 스피치 신호 생성
US10540979B2 (en) User interface for secure access to a device using speaker verification
JP4870313B2 (ja) 可変レート音声符号器におけるフレーム消去補償方法
US8600740B2 (en) Systems, methods and apparatus for context descriptor transmission
US9852741B2 (en) Methods, encoder and decoder for linear predictive encoding and decoding of sound signals upon transition between frames having different sampling rates
JP2007523388A (ja) エンコーダ、エンコーダを有するデバイス、エンコーダを有するシステム、オーディオ信号を符号化する方法、モジュール、およびコンピュータプログラム製品
RU2636685C2 (ru) Решение относительно наличия/отсутствия вокализации для обработки речи
JP2015507222A (ja) 複数コーディングモード信号分類
US9293143B2 (en) Bandwidth extension mode selection
JP2002544551A (ja) 遷移音声フレームのマルチパルス補間的符号化
TW201434033A (zh) 用於判定音調脈衝週期信號界限之系統及方法
Sun et al. Speech compression
Chazan et al. Low bit rate speech compression for playback in speech recognition systems
Huong et al. A new vocoder based on AMR 7.4 kbit/s mode in speaker dependent coding system
Gersho Linear prediction techniques in speech coding

Legal Events

Date Code Title Description
A107 Divisional application of patent
AMND Amendment
E902 Notification of reason for refusal
AMND Amendment
E90F Notification of reason for final refusal
AMND Amendment
E601 Decision to refuse application
X091 Application refused [patent]
AMND Amendment
X701 Decision to grant (after re-examination)
GRNT Written decision to grant