KR20210083222A - 음성 데이터 처리 방법, 장치, 기기 및 저장매체 - Google Patents

음성 데이터 처리 방법, 장치, 기기 및 저장매체 Download PDF

Info

Publication number
KR20210083222A
KR20210083222A KR1020210077445A KR20210077445A KR20210083222A KR 20210083222 A KR20210083222 A KR 20210083222A KR 1020210077445 A KR1020210077445 A KR 1020210077445A KR 20210077445 A KR20210077445 A KR 20210077445A KR 20210083222 A KR20210083222 A KR 20210083222A
Authority
KR
South Korea
Prior art keywords
audio data
thread
voice
microphone
wake
Prior art date
Application number
KR1020210077445A
Other languages
English (en)
Inventor
징웨이 펭
셩용 주오
이 저우
치에 인
Original Assignee
베이징 바이두 넷컴 사이언스 앤 테크놀로지 코., 엘티디.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 베이징 바이두 넷컴 사이언스 앤 테크놀로지 코., 엘티디. filed Critical 베이징 바이두 넷컴 사이언스 앤 테크놀로지 코., 엘티디.
Publication of KR20210083222A publication Critical patent/KR20210083222A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/16Sound input; Sound output
    • G06F3/167Audio in a user interface, e.g. using voice commands for navigating, audio feedback
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/485Task life-cycle, e.g. stopping, restarting, resuming execution
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4418Suspend and resume; Hibernate and awake
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/16Sound input; Sound output
    • G06F3/162Interface to dedicated audio devices, e.g. audio drivers, interface to CODECs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/448Execution paradigms, e.g. implementations of programming paradigms
    • G06F9/4482Procedural
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • G06F9/5022Mechanisms to release resources
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/28Constructional details of speech recognition systems
    • G10L15/32Multiple recognisers used in sequence or in parallel; Score combination systems therefor, e.g. voting systems
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L25/00Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
    • G10L25/48Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 specially adapted for particular use
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/28Constructional details of speech recognition systems
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • G10L2015/223Execution procedure of a spoken command

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Health & Medical Sciences (AREA)
  • Multimedia (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • Acoustics & Sound (AREA)
  • General Health & Medical Sciences (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Navigation (AREA)
  • Stored Programmes (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

본 출원은 음성 데이터 처리 방법, 장치, 기기 및 저장매체를 개시하며, 스마트 교통, 음성 기술 등 인공지능 분야에 관한 것이다. 구체적인 구현 방안은, 음성 인터랙션 앱의 프로세스에서, 마이크로폰 관리 쓰레드를 가동시켜 마이크로폰에 의해 획득된 오디오 데이터를 수집하고, 음성 인터랙션 앱의 상태에 기반하여, 음성 인터랙션 앱이 비 웨이크업 상태에 있으면, 웨이크업 쓰레드를 가동하고 오디오 데이터를 기초로 음성 인터랙션 앱에 대해 웨이크업 처리를 수행하여, 웨이크업 엔진이 단독으로 마이크로폰을 신청할 필요가 없고; 웨이크업에 성공하여 비 웨이크업 상태에 진입한 후, 인식 엔진이 마이크로폰을 단독으로 신청할 필요가 없으며, 마이크로폰 관리 쓰레드에 의해 수집된 오디오 데이터에 대해 음성 인식을 수행하여, 동일한 프로세스에서 웨이크업 엔진과 인식 엔진을 구현할 수 있으며, 웨이크업 엔진과 인식 엔진이 마이크로폰을 요청할 필요가 없으며, 마이크로폰의 준비를 대기함으로 인해 부분 데이터를 분실하는 문제를 방지하고, 음성 인터랙션 앱의 효율과 정확성을 향상시킨다.

Description

음성 데이터 처리 방법, 장치, 기기 및 저장매체{METHOD, APPARATUS, DEVICE AND STORAGE MEDIUM FOR PROCESSING VOICE DATA}
본 출원은 스마트 교통, 음성 기술 등 인공지능 분야에 관한 것으로, 특히 음성 데이터 처리 방법, 장치, 기기 및 저장매체에 관한 것이다.
현재, 대부분의 차량의 차량 머신 시스템은 Android 시스템이고, Android 시스템은 마이크로폰의 사용에 대해 제한이 있으며, 시스템 응용 프로그래밍 인터페이스(Application Programming Interface, API로 약칭)를 호출하여 마이크로폰 데이터를 기록하고자 할 때, 예컨대 하나의 프로세스에서 이미 마이크로폰이 사용되고 있는 경우, 기타 프로세스가 마이크로폰을 사용할 것을 요청하면 Android 시스템은 다른 프로세스가 현재 마이크로폰을 사용하고 있음을 나타내는 오류 코드를 반환한다. 마이크로폰의 활용 및 해제는 모두 시간을 소모해야 한다.
차량의 음성 인터랙션 앱의 웨이크업 엔진과 인식 엔진은 모두 마이크로폰에 의존하여 작동하며, 웨이크업 엔진과 인식 엔진은 마이크로폰이 수집한 오디오 데이터를 능동적으로 획득해야 한다. 마이크로폰의 활용과 해제는 시간을 소모해야 하기에, 웨이크업 엔진과 인식 엔진이 작동해야 할 때 마이크로폰이 아직 준비되지 않아, 웨이크업 엔진과 인식 엔진이 획득한 오디오 데이터는 사용자 음성의 일부가 분실될 수 있다.
본 출원은 음성 데이터 처리 방법, 장치, 기기 및 저장매체를 제공한다.
본 출원의 일 측면에 따르면, 음성 데이터 처리 방법을 제공하는 바,
음성 인터랙션 앱의 프로세스에서, 마이크로폰 관리 쓰레드를 가동시켜 마이크로폰에 의해 획득된 오디오 데이터를 수집하는 단계;
상기 음성 인터랙션 앱이 비 웨이크업 상태에 있으면, 웨이크업 쓰레드를 가동하고 상기 오디오 데이터를 기초로 상기 음성 인터랙션 앱에 대해 웨이크업 처리를 수행하는 단계를 포함한다.
본 출원의 다른 측면에 따르면, 음성 데이터 처리 장치를 제공하는 바,
음성 인터랙션 앱의 프로세스에서, 마이크로폰 관리 쓰레드를 가동시켜 마이크로폰에 의해 획득된 오디오 데이터를 수집하는 마이크로폰 관리모듈;
상기 음성 인터랙션 앱이 비 웨이크업 상태에 있으면, 웨이크업 쓰레드를 가동하고 상기 오디오 데이터를 기초로 상기 음성 인터랙션 앱에 대해 웨이크업 처리를 수행하는 오디오 데이터 처리모듈을 포함한다.
본 출원의 다른 측면에 따르면, 전자기기를 제공하는 바,
적어도 하나의 프로세서; 및
상기 적어도 하나의 프로세서와 통신 연결되는 메모리;를 포함하되,
상기 메모리에는 상기 적어도 하나의 프로세서에 의해 실행 가능한 명령이 저장되고, 상기 명령은 상기 적어도 하나의 프로세서에 의해 실행되어, 상기 적어도 하나의 프로세서가 상술한 방법을 수행할 수 있도록 한다.
본 출원의 다른 측면에 따르면, 컴퓨터 명령이 저장된 비일시적 컴퓨터 판독 가능 저장매체를 제공하는 바, 상기 컴퓨터 명령은 컴퓨터가 상술한 방법을 수행하도록 하기 위한 것이다.
본 출원의 다른 측면에 따르면, 컴퓨터 프로그램 제품을 제공하는 바, 상기 프로그램 제품은 컴퓨터 프로그램을 포함하고, 상기 컴퓨터 프로그램은 판독 가능 저장매체에 저장되고, 전자기기의 적어도 하나의 프로세서는 상기 판독 가능 저장매체로부터 상기 컴퓨터 프로그램을 판독할 수 있고, 상기 적어도 하나의 프로세서는 상기 컴퓨터 프로그램을 실행하여 전자기기가 상술한 방법을 수행하도록 한다.
본 출원의 다른 측면에 따르면, 컴퓨터 판독 가능 저장매체에 저장된 컴퓨터 프로그램을 제공하며, 상기 컴퓨터 프로그램 중의 명령이 프로세서에 의해 실행될 때, 전자 기기가 상술한 방법을 실행하도록 한다.
본 출원의 기술방안에 따르면 음성 인터랙션 앱의 효율과 정확성을 향상시킨다.
본 부분에서 설명된 내용은 본 출원의 실시예의 핵심 또는 중요한 특징을 식별하기 위한 것이 아니며, 본 출원의 범위를 제한하려는 의도가 아님을 이해해야 한다. 본 출원의 다른 특징은 다음 설명에 의해 쉽게 이해될 것이다.
첨부된 도면은 본 방안을 더 잘 이해할 수 있도록 하기 위한 것으로서, 본 출원에 대한 한정은 아니다.
도 1은 본 출원의 실시예에 따르면 음성 데이터 처리의 프레임워크를 나타내는 도면이다.
도 2는 본 출원의 실시예에 따른 음성 데이터 처리 방법의 흐름도이다.
도 3은 본 출원은 실시예에 따른 음성 데이터 처리 방법의 흐름도이다.
도 4는 본 출원은 실시예에 따르면 음성 데이터 처리의 전반적인 프로세스 프레임워크 도면이다.
도 5는 본 출원은 실시예에 따른 음성 데이터 처리 장치를 나타내는 도면이다.
도 6은 본 출원의 실시예의 음성 데이터 처리 방법을 구현하기 위한 전자기기의 블록도이다.
아래에서는 첨부 도면과 결합하여 본 출원의 예시적인 실시예에 대해 설명하며, 이해를 돕기 위하여 본 출원의 실시예의 다양한 세부 사항을 포함하며, 이들을 단지 예시적인 것으로만 간주되어야 한다. 따라서, 본 분야의 통상적인 지식을 가진 자라면, 여기에 설명된 실시예에 대하여 다양한 변경과 수정을 가할 수 있으며, 이는 본 출원의 범위와 정신을 벗어나지 않음을 이해해야 한다. 마찬가지로, 명확성과 간결성을 위하여, 아래의 설명에서 공지 기능과 구조에 대한 설명을 생략한다.
현재, 대부분의 차량의 차량 머신 시스템은 Android 시스템이고, Android 시스템은 마이크로폰의 사용에 대해 제한이 있으며, 시스템 응용 프로그래밍 인터페이스(Application Programming Interface, API로 약칭)를 호출하여 마이크로폰 데이터를 기록하고자 할 때, 예컨대 하나의 프로세스에서 이미 마이크로폰이 사용되고 있는 경우, 기타 프로세스가 마이크로폰을 사용할 것을 요청하면 Android 시스템은 다른 프로세스가 현재 마이크로폰을 사용하고 있음을 나타내는 오류 코드를 반환한다. 마이크로폰의 활용 및 해제는 모두 시간을 소모해야 한다.
차량의 음성 인터랙션 앱의 웨이크업 엔진과 인식 엔진은 모두 마이크로폰에 의존하여 작동하며, 웨이크업 엔진과 인식 엔진은 각각 하나의 프로세스에 대응되고, 각각 마이크로폰이 수집한 오디오 데이터를 능동적으로 획득해야 한다. 통상적으로, 차량 머신 시스템은 하나의 쓰레드 풀을 유지하고 있으며, 웨이크업 엔진을 가동해야 할 때, 웨이크업 엔진에 대응되는 프로세스는 쓰레드 풀을 이용하여 하나의 새로운 쓰레드를 생성하는 동시에, 쓰레드 내에서 AudioRecord(Android시스템의 녹음 관련 클래스를 시작) 대상을 초기화 하고(즉 마이크로폰을 초기화 함), 마이크로폰을 활용하여, 오디오 데이터를 수집하고 웨이크업 엔진에 입력한다. 웨이크업 엔진은 웨이크업 성공이 검출된 후, 현재 쓰레드를 종료하고, AudioRecord 대상을 해제하여 마이크로폰을 해제한다. 그 다음 인식 엔진에 대응되는 프로세스는 쓰레드 풀을 이용하여 새로운 하나의 쓰레드를 생성하여, 해당 쓰레드에선 AudioRecord 대상을 다시 초기화 하고, 마이크로폰을 활용하여 오디오 데이터를 수집하고 인식 엔진에 입력하며, 인식 엔진은 인식결과를 리턴한 후, 현재 쓰레드를 종료하고, AudioRecord 대상을 해제하여 마이크로폰을 해제한다. 그 다음 웨이크업 또는 인식이 필요할 때, 쓰레드 재가동, 마이크로폰 초기화, 오디오 데이터 수집, 마이크로폰 해제의 과정을 반복한다. 마이크로폰의 활용과 해제는 모두 시간을 소모해야 하므로, 웨이크업 엔진, 인식 엔진이 작동해야 할 때 마이크로폰이 아직 준비되지 않을 수 있으며, 웨이크업 엔진과 인식 엔진이 획득한 오디오 데이터는 사용자 음성이 일부 분실될 수 있다. 쓰레드 풀을 유지하고, 마이크로폰 대상을 여러 번 생성하고 소비함으로써 CPU와 메모리의 낭비를 야기한다.
본 출원은 스마트 교통, 음성 기술 등 인공지능 분야에 응용되고, 음성 인터랙션 앱의 효율과 정확성을 향상시키기 위한 음성 데이터 처리 방법, 장치, 기기 및 저장매체를 제공한다.
본 출원에 따른 음성 데이터 처리 방법은, 구체적으로 음성 인터랙션 앱에 응용되고, 차량 머신 시스템, 스마트 스피커 등 Android시스템 기반 음성 인터랙션 앱의 기기일 수 있다. 음성 인터랙션 앱은 일반적으로 두 개의 모듈, 즉 웨이크업 엔진과 음성 인식 엔진을 포함한다. 본 출원의 실시예에서, 도 1에 도시된 바와 같이, 음성 인터랙션 앱의 동일 프로세스(10)는, 웨이크업 쓰레드(11)와 음성 인식 쓰레드(12)를 이용하여 각각 웨이크업 엔진과 음성 인식 엔진과 같은 두 모듈을 구현한다. 마이크로폰 관리 쓰레드(13)를 이용하여 마이크로폰에 의해 획득된 오디오 데이터를 수집하는데 전문적으로 사용하고, 오디오 데이터를 음성 관리 쓰레드(14)에 발송하며, 음성 관리 쓰레드(14)는 음성 인터랙션 앱의 상태를 기초로, 웨이크업 쓰레드와 음성 인식 쓰레드에 오디오 데이터를 배포하기에, 웨이크업 엔진과 인식 엔진이 단독으로 마이크로폰을 신청하여 사용할 필요가 없으므로, 오디오 데이터의 수집 효율을 향상시키고, 마이크로폰 기기의 준비를 대기함으로 인해, 획득된 오디오 데이터에 부분 데이터가 분실되는 문제를 방지하고, 한번의 마이크로폰의 신청으로 장기적으로 사용하고, 쓰레드 풀의 유지와 마이크로폰 대상의 여러번 생성과 소비에 따른 CPU와 메모리의 낭비를 감소한다.
도 2는 본 출원의 실시예에 따른 음성 데이터 처리 방법의 흐름도이다. 본 실시예에 따른 방법은 음성 데이터 처리 장치에 응용되며, 상기 장치는 음성 인터랙션 기능을 구현하기 위한 전자기기일 수 있다. 도 2에 도시된 바와 같이, 해당 방법의 구체적인 단계는 아래와 같다.
단계(S201), 음성 인터랙션 앱의 프로세스에서, 마이크로폰 관리 쓰레드를 가동시켜 마이크로폰에 의해 획득된 오디오 데이터를 수집한다.
본 실시예에서, 음성 인터랙션 앱의 동일한 프로세스에서, 두 모듈, 즉 웨이크업 엔진과 음성 인식 엔진을 구현하고, 웨이크업 엔진과 음성 인식 엔진은 각각 하나의 쓰레드에 대응되고, 웨이크업 쓰레드를 이용하여 웨이크업 기능을 구현하고, 음성 인식 쓰레드를 이용하여 음성 인식 기능을 구현한다. 마이크로폰 관리 쓰레드는 마이크로폰을 신청하고, 마이크로폰에 의해 획득된 오디오 데이터를 수집하며, 웨이크업 엔진과 음성 인식 엔진은 단독으로 마이크로폰을 신청하여 마이크로폰에 의해 획득된 오디오 데이터를 수집할 필요가 없다.
단계(S202), 음성 인터랙션 앱이 비 웨이크업 상태에 있으면, 웨이크업 쓰레드를 가동하고 오디오 데이터를 기초로 음성 인터랙션 앱에 대해 웨이크업 처리를 수행한다.
마이크로폰 관리 쓰레드는 마이크로폰에 의해 획득된 오디오 데이터를 수집한 후, 음성 인터랙션 앱의 현재 상태에 따라, 음성 인터랙션 앱이 비 웨이크업 상태에 있으면, 웨이크업 엔진에 대응되는 웨이크업 쓰레드를 가동하고, 오디오 데이터를 기초로 음성 인터랙션 앱에 대해 웨이크업 처리를 수행한다.
음성 인터랙션 앱에 대해 성공적으로 웨이크업한 후, 음성 인터랙션 앱이 비 웨이크업 상태에 진입하고, 그 후 마이크로폰에 의해 획득된 오디오 데이터를 수집할 때, 음성 인식 쓰레드가 직접 오디오 데이터에 대해 음성 인식을 수행할 수 있다.
본 출원의 실시예는 음성 인터랙션 앱의 프로세스에서, 마이크로폰 관리 쓰레드가 전문적으로 마이크로폰에 의해 획득된 오디오 데이터를 수집하고, 그 다음 음성 인터랙션 앱의 상태에 기반하여, 음성 인터랙션 앱이 비 웨이크업 상태에 있으면, 웨이크업 쓰레드를 가동하고 오디오 데이터를 기초로 음성 인터랙션 앱에 대해 웨이크업 처리를 수행하고, 웨이크업 엔진이 단독으로 마이크로폰을 신청할 필요가 없으며, 나아가, 웨이크업에 성공하여 비 웨이크업 상태에 진입한 후에도 인식 엔진이 마이크로폰을 단독으로 신청할 필요가 없으며, 직접 마이크로폰 관리 쓰레드에 의해 수집된 오디오 데이터에 대해 음성 인식을 수행하여, 동일한 프로세스에서 웨이크업 엔진과 인식 엔진을 구현할 수 있으며, 웨이크업 엔진과 인식 엔진이 번갈아 마이크로폰의 사용을 요청할 필요가 없기에, 웨이크업 엔진과 인식 엔진이 마이크로폰에 의해 획득된 오디오 데이터를 획득하는 효율을 향상시키고, 마이크로폰 기기의 준비를 대기함으로 인해 획득된 오디오 데이터에 부분 데이터가 분실되는 문제를 방지하고, 음성 인터랙션 앱의 효율과 정확성을 향상시킨다.
도 3은 본 출원은 실시예에 따른 음성 데이터 처리 방법의 흐름도이다. 상술한 실시예의 기초상에서, 본 실시예에서, 음성 인터랙션 앱이 웨이크업 상태에 있으면, 음성 인식 쓰레드를 가동하여 오디오 데이터에 대해 음성 인식을 수행하고, 또는 음성 인터랙션 앱이 웨이크업 상태에 있으면, 음성 인식 쓰레드를 가동하여 오디오 데이터에 대해 음성 인식을 수행하고, 웨이크업 쓰레드를 가동하고 오디오 데이터를 기초로 음성 인터랙션 앱에 대해 다시 웨이크업 처리를 수행한다.
도 3에 도시된 바와 같이, 해당 방법의 구체적인 단계는 아래와 같다.
단계(S301), 음성 인터랙션 앱의 가동 명령에 응답하여, 음성 인터랙션 앱의 프로세스에서 마이크로폰 관리 쓰레드를 가동한다.
본 실시예에서, 음성 인터랙션 앱을 가동 시, 음성 인터랙션 앱의 프로세스에서 마이크로폰 관리 쓰레드를 가동한다. 마이크로폰 관리 쓰레드는 전문적으로 마이크로폰을 신청하고, 마이크로폰에 의해 획득된 오디오 데이터를 수집하고, 마이크로폰의 쓰레드를 해제한다.
예시적으로, 사용자가 음성 인터랙션 앱을 개시할 때, 음성 데이터 처리 장치에 가동 명령을 발송한다. 예컨대, 일반적으로 사용자가 차량, 차량 머신 시스템의 전원을 온하여 가동할 때, 또는 사용자가 스마트 스피커 기기에 전원을 인가할 때, 차량 머신 시스템 또는 스마트 스피커의 음성 인터랙션 앱이 가동되며, 이때 음성 인터랙션 앱에 대한 가동 명령을 수신한 것으로 간주할 수 있으며, 음성 인터랙션 앱의 프로세스에서 마이크로폰 관리 쓰레드를 가동한다.
음성 인터랙션 앱에 대한 가동 명령에 응답하여, 음성 데이터 처리 장치는 음성 인터랙션 앱의 프로세스에서 마이크로폰 관리 쓰레드를 가동한다.
단계(S302), 마이크로폰 관리 쓰레드를 통해, 마이크로폰에 대응되는 응용 프로그래밍 인터페이스(API)를 호출하여, 마이크로폰을 초기화 하고, 마이크로폰에 의해 획득된 오디오 데이터를 수집한다.
프로세스에서 마이크로폰 관리 쓰레드를 가동한 후, 마이크로폰 관리 쓰레드를 통해 마이크로폰에 대응되는 응용 프로그래밍 인터페이스(API)를 호출하고, 마이크로폰의 사용을 신청하고, 마이크로폰을 초기화 하고, 마이크로폰이 신청된 후, 마이크로폰에 의해 획득된 오디오 데이터를 수집한다.
본 실시예에서, 마이크로폰 관리 쓰레드를 통해 마이크로폰을 신청하고, 마이크로폰에 의해 획득된 오디오 데이터를 수집하는 구체적인 구현 방법은, 종래기술에서 프로세스를 통해 또는 현장에서 마이크로폰을 신청하고 마이크로폰에 의해 획득된 오디오 데이터를 수집하는 방법과 유사하기에, 본 실시예는 여기서 더 이상 중복 설명하지 않는다.
또한, 본 실시예에서, 마이크로폰을 신청한 후, 마이크로폰 관리 쓰레드는 마이크로폰을 지속적으로 사용하여, 마이크로폰에 의해 획득된 오디오 데이터를 수집하고, 음성 인터랙션 앱에 대한 종료 명령이 수신될 때, 마이크로폰을 해제한다.
예를 들면, 차량 머신 시스템의 전원을 차단할 때, 또는 사용자가 스마트 스피커 기기의 전원을 차단할 때, 차량 머신 시스템 또는 스마트 스피커의 음성 인터랙션 앱은 종료될 것이며, 이때 음성 인터랙션 앱에 대한 종료 명령을 받은 것으로 간주할 수 있으며, 마이크로폰 관리 쓰레드는 마이크로폰을 해제한다.
상술한 단계(S301-S302)를 통해 마이크로폰 관리 쓰레드를 가동시켜 마이크로폰에 의해 획득된 오디오 데이터를 수집하고, 음성 인터랙션 앱을 가동 시, 음성 인터랙션 앱의 프로세스에서 마이크로폰 관리 쓰레드를 가동할 수 있으며, 마이크로폰을 신청하고, 마이크로폰 관리 쓰레드는 지속적으로 마이크로폰을 사용하여, 마이크로폰에 의해 획득된 오디오 데이터를 수집하고, 음성 인터랙션 앱이 종료될 때, 마이크로폰 관리 쓰레드는 마이크로폰을 해제함으로써, 마이크로폰을 한번 신청하여 장기적으로 사용하고, 쓰레드 풀의 유지 및 마이크로폰의 여러번 신청과 해제에 따른 CPU와 메모리의 낭비를 감소할 수 있다.
본 실시예에서, 동일한 프로세스의 음성 관리 쓰레드는, 마이크로폰 관리 쓰레드가 수집한 마이크로폰에 의해 획득된 오디오 데이터를, 마이크로폰에 의해 획득된 오디오 데이터를 필요로 하는 웨이크업 엔진과 음성 인식 엔진에 대응되는 쓰레드에 배포하는 것을 담당할 수 있다.
마이크로폰 관리 쓰레드를 가동시켜 마이크로폰에 의해 획득된 오디오 데이터를 수집한 후, 마이크로폰 관리 쓰레드는 아래와 같은 단계(S303-S305)를 통해, 오디오 데이터를 음성 관리 쓰레드에 전송할 수 있다.
단계(S303), 마이크로폰 관리 쓰레드를 통해 오디오 데이터의 소비자가 존재하는지 여부를 확정한다.
여기서, 오디오 데이터의 소비자는 오디오 데이터를 사용할 것을 요청하는 쓰레드, 즉 오디오 데이터를 사용해야 하는 기능모듈(웨이크업 엔진과 음성 인식 엔진을 포함)에 대응되는 쓰레드를 가리킨다.
오디오 데이터의 소비자가 존재하는 것으로 확정되면, 단계(S304)를 실행한다.
오디오 데이터의 소비자가 존재하지 않는 것으로 확정되면, 단계(S305)를 실행한다.
예시적으로, 마이크로폰에 의해 획득된 오디오 데이터를 사용해야 할 때, 기능모듈을 등록할 수 있으며, 마이크로폰 관리 쓰레드는 한 프레임의 오디오 데이터를 수집할 때마다, 등록 정보에 따라 현재 오디오 데이터의 소비자가 존재하는지 여부를 확정할 수 있다.
선택적으로, 웨이크업 엔진 또는 음성 인식 엔진이 마이크로폰에 의해 획득된 오디오 데이터를 사용해야 할 때, 마이크로폰 관리 쓰레드 또는 음성 데이터 처리 장치에 콜백 함수를 등록할 수 있으며, 마이크로폰 관리 쓰레드는 등록된 콜백 함수를 검색할 수 있다. 마이크로폰 관리 쓰레드는 한 프레임을 수집할 때마다, 등록된 정보를 검색하여 등록된 콜백 함수가 존재하는지 여부를 확정할 수 있고, 만약 이미 등록된 콜백 함수가 존재하면, 오디오 데이터의 소비자가 존재하는 것으로 확정하고, 만약 이미 등록된 콜백 함수가 존재하지 않으면, 오디오 데이터의 소비자가 존재하지 않는 것으로 확정한다. 선택적으로, 음성 관리 쓰레드는 등록된 콜백 함수를 호출하여 오디오 데이터를 대응되는 기능모듈에 전송할 수 있다.
단계(S304), 오디오 데이터의 소비자가 존재하는 것으로 확정되면, 오디오 데이터를 음성 관리 쓰레드에 발송한다.
만약 상술한 단계(S303)에서 마이크로폰 관리 쓰레드를 통해 오디오 데이터의 소비자가 존재하는 것으로 확정되면, 해당 단계에서 마이크로폰 관리 쓰레드는 오디오 데이터를 음성 관리 쓰레드에 발송하고, 추후에 음성 관리 쓰레드가 오디오 데이터를 해당 오디오 데이터를 사용해야 하는 소비자에게 배포한다.
단계(S305), 오디오 데이터의 소비자가 존재하지 않는 것으로 확정되면, 오디오 데이터를 폐기하고 다음 프레임의 오디오 데이터를 획득한다.
상술한 단계(S303)에서, 마이크로폰 관리 쓰레드를 통해 오디오 데이터의 소비자가 존재하지 않는 것으로 확정되면, 해당 단계에서 마이크로폰 관리 쓰레드는 오디오 데이터를 폐기하고, 계속하여 다음 프레임의 오디오 데이터를 수집한다.
단계(S306), 음성 관리 쓰레드를 통해, 음성 인터랙션 앱의 현재 상태를 확정한다.
선택적으로, 상태 표지 비트를 이용하여 음성 인터랙션 앱의 상태 표지 정보를 저장할 수 있다.
해당 단계에서, 음성 관리 쓰레드를 통해, 음성 인터랙션 앱의 상태 표지 정보를 획득하고, 상태 표지 정보에 따라, 음성 인터랙션 앱의 현재 상태를 확정한다.
또한, 음성 인터랙션 앱의 상태 표지 정보는 종래기술 중의 상태 정보를 저장하는 임의의 한가지 방식으로 구현할 수도 있으며, 본 실시예는 여기서 더 이상 중복 설명하지 않는다.
음성 인터랙션 앱의 현재 상태를 확정한 후, 음성 관리 쓰레드는 아래와 같은 단계(S307-S310)를 통해, 음성 인터랙션 앱의 현재 상태에 따라, 오디오 데이터를 사용해야 하는 웨이크업 엔진 및/또는 인식 엔진에 오디오 데이터를 배포한다.
단계(S307), 음성 인터랙션 앱이 비 웨이크업 상태에 있으면, 음성 관리 쓰레드를 통해 오디오 데이터를 웨이크업 쓰레드에 발송한다.
음성 인터랙션 앱이 비 웨이크업 상태에 있으면, 먼저 웨이크업 음성 인터랙션 앱을 웨이크업 시켜야 하고, 음성 관리 쓰레드를 통해 오디오 데이터를 웨이크업 쓰레드에 발송한다.
단계(S308), 웨이크업 쓰레드를 통해 오디오 데이터를 기초로 음성 인터랙션 앱에 대해 웨이크업 처리를 수행한다.
오디오 데이터를 획득한 후, 웨이크업 쓰레드는 오디오 데이터를 기초로 음성 인터랙션 앱에 대해 웨이크업 처리를 수행한다.
음성 인터랙션 앱이 성공적으로 웨이크업 된 후, 상태 표지 정보를 웨이크업 상태로 설정하고, 음성 인터랙션 앱이 웨이크업 상태에 진입한다.
단계(S309), 음성 인터랙션 앱이 웨이크업 상태에 있으면, 음성 관리 쓰레드를 통해 오디오 데이터를 음성 인식 쓰레드에 발송한다.
음성 인터랙션 앱이 웨이크업 상태에 있으면, 인식 엔진은 오디오 데이터 중의 사용자 명령 정보를 인식해야 하고, 이때 음성 관리 쓰레드를 통해 오디오 데이터를 음성 인식 쓰레드에 발송한다.
단계(S310), 음성 인식 쓰레드를 통해 오디오 데이터에 대해 음성 인식을 수행한다.
오디오 데이터를 획득한 후, 음성 인식 쓰레드는 오디오 데이터에 대해 음성 인식을 수행하여, 오디오 데이터 중의 사용자 명령 정보를 인식해 낸다.
하지만 한가지 응용 시나리오에서, 사용자가 인터랙션 명령을 발송한 후, 인식 엔진이 음성 인식을 수행하는 과정 중에 또는 해당 인터랙션 명령에 대한 응답 정보를 재생하고 있을 때, 이번 인터랙션을 인터럽트하고 직접 다음 인터랙션에 진입하고자 할 때, 이때 다시 음성 인터랙션 앱을 웨이크업 해야 한다. 하지만 종래의 음성 인터랙션 앱은 웨이크업을 성공하고 인식 엔진이 가동된 후, 인식 엔진이 마이크로폰을 점용할 것이며, 웨이크업 엔진이 동작하지 못하기에 인식 과정에 웨이크업 워드로 인터럽트하거나 현재 인식을 취소하여, 직접 웨이크업하여 다음 인터랙션에 진입하는 수요를 만족할 수 없다.
한가지 선택 가능한 실시 방식에서, 음성 인터랙션 앱이 비 웨이크업 상태에 있으면, 음성 관리 쓰레드를 통해 오디오 데이터를 웨이크업 쓰레드와 음성 인식 쓰레드에 발송하고; 웨이크업 쓰레드를 통해 오디오 데이터를 기초로 음성 인터랙션 앱에 대해 웨이크업 처리를 수행하고, 음성 인식 쓰레드를 통해 오디오 데이터에 대해 음성 인식을 수행한다. 이렇게, 만약 사용자가 현재의 인터랙션 과정을 인터럽트하고, 다시 웨이크업하여, 직접 다음 인터랙션에 진입하고자 할 때, 웨이크업 워드를 말할 수 있으며, 마이크로폰에 의해 획득된 오디오 데이터에는 사용자의 웨이크업 워드가 포함된다. 오디오 데이터를 획득한 후 웨이크업 상태에서, 음성 관리 쓰레드는 또한 오디오 데이터를 웨이크업 엔진에 대응되는 웨이크업 쓰레드에 발송하여, 웨이크업 쓰레드를 통해 다시 음성 인터랙션 앱에 대해 웨이크업 처리를 수행함으로써, 사용자의 이런 상술한 시나리오에서의 요구를 만족시킨다.
예시적으로, 이러한 실시 방식에서, 마이크로폰 관리 클래스를 캡슐화하여, 마이크로폰 관리 쓰레드를 개시하고, 마이크로폰 관리 쓰레드를 통해 마이크로폰을 초기화 하고, 마이크로폰에 의해 획득된 오디오 데이터를 수집하고, 설정된 인터페이스를 통해 오디오 데이터를 음성 관리 클래스에 전송할 수 있고; 음성 관리 클래스를 캡슐화하여, 인식 엔진과 웨이크업 엔진을 통합 관리하고, 음성 관리 쓰레드를 개시하여, 마이크로폰 관리 쓰레드로부터 오디오 데이터를 획득하고, 오디오 데이터를 오디오 데이터를 필요로 하는 기능모듈(웨이크업 엔진 및/또는 인식 엔진을 포함)에 배포하여, 마이크로폰에 의해 획득된 오디오 데이터를 수집하는 관리를 구현한다. 도 4에 도시된 바와 같이, 음성 데이터 처리의 전반적인 프로세스 프레임워크는 아래와 같다. 즉, 마이크로폰 관리 클래스는 마이크로폰 관리 쓰레드를 초기화 하고, 마이크로폰 관리 쓰레드를 통해 마이크로폰을 초기화 하고, 마이크로폰에 의해 획득된 오디오 데이터를 수집하여, 소비자가 존재하는지 여부를 판단하고; 만약 소비자가 없으면, 현재의 오디오 데이터를 폐기하고, 계속 다음 프레임의 오디오 데이터를 수집하고; 만약 소비자가 존재하면, 오디오 데이터를 음성 관리 쓰레드에 전송한다. 음성 관리 클래스는 음성 관리 쓰레드를 초기화하고, 웨이크업 엔진과 인식 엔진은 음성 관리 쓰레드를 통해 오디오 데이터를 사용하고, 음성 인터랙션 앱이 웨이크업 상태에 있든지, 비 웨이크업 상태에 있든지 관계없이, 모두 오디오 데이터를 웨이크업 엔진에 발송한다. 그 다음 음성 인터랙션 앱이 성공적으로 웨이크업 되면, 음성 인터랙션 앱이 인식 상태에 진입한 후 또한 오디오 데이터를 인식 엔진에 발송한다.
본 출원의 실시예에서, 음성 인터랙션 앱의 동일한 프로세스에서, 마이크로폰 관리 쓰레드가 전문적으로 마이크로폰에 의해 획득된 오디오 데이터를 수집하고, 오디오 데이터를 음성 관리 쓰레드에 전송하고, 그 다음 음성 관리 쓰레드가 음성 인터랙션 앱의 상태에 기반하여, 오디오 데이터를 오디오 데이터를 필요로 하는 기능모듈(웨이크업 엔진 및/또는 인식 엔진을 포함)에 배포함으로써, 동일한 프로세스에서 웨이크업 엔진과 인식 엔진을 구현할 수 있고, 웨이크업 엔진과 인식 엔진이 단독으로 마이크로폰을 신청할 필요가 없으며, 웨이크업 엔진과 인식 엔진이 마이크로폰에 의해 획득된 오디오 데이터를 수집하는 효율을 향상시키고, 마이크로폰 기기의 준비를 대기함으로 인해, 획득된 오디오 데이터의 부분 데이터가 분실되는 문제를 방지하고, 음성 인터랙션 앱의 효율과 정확성을 향상시킨다. 또한, 음성 인터랙션 앱을 가동 시, 음성 인터랙션 앱의 프로세스에서 마이크로폰 관리 쓰레드를 가동하여, 마이크로폰을 신청하고, 마이크로폰 관리 쓰레드가 지속적으로 마이크로폰을 사용하여, 마이크로폰에 의해 획득된 오디오 데이터를 수집하고, 음성 인터랙션 앱이 종료될 때 마이크로폰 관리 쓰레드가 마이크로폰을 해제함으로써, 한번의 마이크로폰 신청으로 장기적으로 사용하기에, 쓰레드 풀을 유지하고 마이크로폰의 여러번 신청과 해제에 따른 CPU와 메모리의 낭비를 감소할 수 있다. 나아가, 음성 인터랙션 앱이 비 웨이크업 상태에 있으면, 오디오 데이터를 웨이크업 쓰레드와 음성 인식 쓰레드에 발송하여, 웨이크업 엔진을 통해 인식 엔진의 현재의 음성 인식을 인터럽트하고, 다시 음성 인터랙션 앱을 웨이크업 시켜, 직접 다음 인터랙션에 진입하여, 사용자의 수요를 만족시킬 수 있다.
도 5는 본 출원은 실시예에 따른 음성 데이터 처리 장치를 나타내는 도면이다. 본 출원의 실시예에 따른 음성 데이터 처리 장치는 음성 데이터 처리 방법의 실시예에 따른 처리 프로세스를 실행할 수 있다. 도 5에 도시된 바와 같이, 해당 음성 데이터 처리 장치(50)는 마이크로폰 관리모듈(501)과 오디오 데이터 처리모듈(502)을 포함한다.
구체적으로, 마이크로폰 관리모듈(501)은 음성 인터랙션 앱의 프로세스에서, 마이크로폰 관리 쓰레드를 가동시켜 마이크로폰에 의해 획득된 오디오 데이터를 수집한다.
오디오 데이터 처리모듈(502)은 음성 인터랙션 앱이 비 웨이크업 상태에 있으면, 웨이크업 쓰레드를 가동하고 오디오 데이터를 기초로 음성 인터랙션 앱에 대해 웨이크업 처리를 수행한다.
본 출원의 실시예에 따른 장치는 구체적으로 상술한 실시예에 따른 방법 실시예를 실행하는데 사용될 수 있으며, 구체적인 기능에 대해 여기서 더 이상 중복 설명하지 않는다.
본 출원의 실시예는 음성 인터랙션 앱의 프로세스에서, 마이크로폰 관리 쓰레드가 전문적으로 마이크로폰에 의해 획득된 오디오 데이터를 수집하고, 그 다음 음성 인터랙션 앱의 상태에 기반하여, 음성 인터랙션 앱이 비 웨이크업 상태에 있으면, 웨이크업 쓰레드를 가동하고, 오디오 데이터를 기초로 음성 인터랙션 앱에 대해 웨이크업 처리를 수행하고, 웨이크업 엔진이 단독으로 마이크로폰을 신청할 필요가 없다. 나아가, 웨이크업에 성공하여 비 웨이크업 상태에 진입한 후에도 인식 엔진이 마이크로폰을 단독으로 신청할 필요가 없으며, 직접 마이크로폰 관리 쓰레드에 의해 수집된 오디오 데이터에 대해 음성 인식을 수행할 수 있고, 이로부터 동일한 프로세스에서 웨이크업 엔진과 인식 엔진을 구현할 수 있으며, 웨이크업 엔진과 인식 엔진이 번갈아 마이크로폰 사용을 요청할 필요가 없기에, 웨이크업 엔진과 인식 엔진이 마이크로폰에 의해 획득된 오디오 데이터를 획득하는 효율을 향상시키고, 마이크로폰 기기의 준비를 대기함으로 인해, 획득된 오디오 데이터의 일부 데이터가 분실되는 문제를 방지하고, 음성 인터랙션 앱의 효율과 정확성을 향상시킨다.
상술한 실시예의 기초상에서, 본 출원의 실시예의 한가지 선택 가능한 실시 방식에서, 오디오 데이터 처리모듈은 또한,
만약 음성 인터랙션 앱이 웨이크업 상태에 있으면, 음성 인식 쓰레드를 가동하여 오디오 데이터에 대해 음성 인식을 수행한다.
한가지 선택 가능한 실시 방식에서, 오디오 데이터 처리모듈은 또한,
음성 인터랙션 앱이 웨이크업 상태에 있으면, 음성 인식 쓰레드를 가동하여 오디오 데이터에 대해 음성 인식을 수행하고, 웨이크업 쓰레드를 가동하여 오디오 데이터를 기초로 음성 인터랙션 앱에 대해 다시 웨이크업 처리를 수행한다.
한가지 선택 가능한 실시 방식에서, 오디오 데이터 처리모듈은 또한,
음성 인터랙션 앱이 비 웨이크업 상태에 있으면, 음성 관리 쓰레드를 통해 오디오 데이터를 웨이크업 쓰레드에 발송하고; 웨이크업 쓰레드를 통해 오디오 데이터를 기초로 음성 인터랙션 앱에 대해 웨이크업 처리를 수행한다.
한가지 선택 가능한 실시 방식에서, 오디오 데이터 처리모듈은 또한,
음성 인터랙션 앱이 웨이크업 상태에 있으면, 음성 관리 쓰레드를 통해 오디오 데이터를 음성 인식 쓰레드에 발송하고; 음성 인식 쓰레드를 통해 오디오 데이터에 대해 음성 인식을 수행한다.
한가지 선택 가능한 실시 방식에서, 오디오 데이터 처리모듈은 또한,
음성 인터랙션 앱이 비 웨이크업 상태에 있으면, 음성 관리 쓰레드를 통해 오디오 데이터를 웨이크업 쓰레드와 음성 인식 쓰레드에 발송하고; 웨이크업 쓰레드를 통해 오디오 데이터를 기초로 음성 인터랙션 앱에 대해 웨이크업 처리를 수행하고, 음성 인식 쓰레드를 통해 오디오 데이터에 대해 음성 인식을 수행한다.
한가지 선택 가능한 실시 방식에서, 마이크로폰 관리모듈은 또한,
음성 인터랙션 앱에 대한 가동 명령에 응답하여, 프로세스에서 마이크로폰 관리 쓰레드를 가동하고; 마이크로폰 관리 쓰레드를 통해, 마이크로폰에 대응되는 응용 프로그래밍 인터페이스(API)를 호출하여, 마이크로폰을 초기화 하고, 마이크로폰에 의해 획득된 오디오 데이터를 수집한다.
한가지 선택 가능한 실시 방식에서, 마이크로폰 관리모듈은 또한,
마이크로폰 관리 쓰레드를 통해 오디오 데이터를 음성 관리 쓰레드에 전송한다.
한가지 선택 가능한 실시 방식에서, 마이크로폰 관리모듈은 또한,
마이크로폰 관리 쓰레드를 통해 오디오 데이터의 소비자가 존재하는지 여부를 확정하고, 소비자는 오디오 데이터를 사용할 것을 요청하는 쓰레드이고; 오디오 데이터의 소비자가 존재하는 것으로 확정되면, 오디오 데이터를 음성 관리 쓰레드에 발송하고; 오디오 데이터의 소비자가 존재하지 않는 것으로 확정되면, 오디오 데이터를 폐기하고, 다음 프레임의 오디오 데이터를 수집한다.
한가지 선택 가능한 실시 방식에서, 오디오 데이터 처리모듈은 또한,
음성 관리 쓰레드를 통해, 음성 인터랙션 앱의 상태 표지 정보를 획득하고, 상태 표지 정보를 기초로, 음성 인터랙션 앱의 현재 상태를 확정한다.
한가지 선택 가능한 실시 방식에서, 오디오 데이터 처리모듈은 또한,
음성 인터랙션 앱이 성공적으로 웨이크업 된 후, 상태 표지 정보를 웨이크업 상태로 설정한다.
본 출원의 실시예에 따른 장치는 구체적으로 상술한 실시예에 따른 방법 실시예를 실행하는데 사용될 수 있으며, 구체적인 기능은 여기서 더 이상 중복 설명하지 않는다.
본 출원의 실시예에서, 음성 인터랙션 앱의 동일한 프로세스에서, 마이크로폰 관리 쓰레드가 전문적으로 마이크로폰에 의해 획득된 오디오 데이터를 수집하고, 오디오 데이터를 음성 관리 쓰레드에 전송하고, 그 다음 음성 관리 쓰레드가 음성 인터랙션 앱의 상태에 기반하여, 오디오 데이터를 오디오 데이터를 필요로 하는 기능모듈(웨이크업 엔진 및/또는 인식 엔진을 포함)에 배포함으로써, 동일한 프로세스에서 웨이크업 엔진과 인식 엔진을 구현할 수 있고, 웨이크업 엔진과 인식 엔진이 단독으로 마이크로폰을 신청할 필요가 없으며, 웨이크업 엔진과 인식 엔진이 마이크로폰에 의해 획득된 오디오 데이터를 수집하는 효율을 향상시키고, 마이크로폰 기기의 준비를 대기함으로 인해, 획득된 오디오 데이터의 부분 데이터가 분실되는 문제를 방지하고, 음성 인터랙션 앱의 효율과 정확성을 향상시킨다. 또한, 음성 인터랙션 앱을 가동 시, 음성 인터랙션 앱의 프로세스에서 마이크로폰 관리 쓰레드를 가동하여 마이크로폰을 신청하고, 마이크로폰 관리 쓰레드가 지속적으로 마이크로폰을 사용하여 마이크로폰에 의해 획득된 오디오 데이터를 수집하고, 음성 인터랙션 앱이 종료될 때 마이크로폰 관리 쓰레드를 마이크로폰을 해제함으로써, 한번의 마이크로폰 신청으로 장기적으로 사용하기에, 쓰레드 풀을 유지하고 마이크로폰의 여러번 신청과 해제에 따른 CPU와 메모리의 낭비를 감소할 수 있다. 나아가, 음성 인터랙션 앱이 비 웨이크업 상태에 있으면, 오디오 데이터를 웨이크업 쓰레드와 음성 인식 쓰레드에 발송하여, 웨이크업 엔진을 통해 인식 엔진의 현재의 음성 인식을 인터럽트하고, 다시 음성 인터랙션 앱을 웨이크업시켜, 직접 다음 인터랙션에 진입하여, 사용자의 수요를 만족시킬 수 있다.
본 출원의 실시예에 따르면, 본 출원은 전자기기와 판독 가능 저장매체를 더 제공한다.
본 출원의 실시예에 따르면, 본 출원은 컴퓨터 프로그램 제품을 더 제공하는 바, 프로그램 제품은 컴퓨터 프로그램을 포함하고, 컴퓨터 프로그램은 판독 가능 저장매체에 저장되고, 전자기기의 적어도 하나의 프로세서는 판독 가능 저장매체로부터 컴퓨터 프로그램을 판독하여, 적어도 하나의 프로세서가 컴퓨터 프로그램을 실행함으로써 전자기기가 상술한 임의의 실시예에 따른 방안을 실행하도록 한다.
본 출원의 실시예에 따르면, 본 출원은 또한 컴퓨터 판독 가능 저장매체에 저장된 컴퓨터 프로그램을 제공하며, 상기 컴퓨터 프로그램 중의 명령이 프로세서에 의해 실행될 때, 상술한 실시예에 따른 방법을 구현한다.
도 6은 본 출원의 실시예를 구현하는데 사용될 수 있는 예시적인 전자기기를 나타내는 블럭도이다. 전자기기는 다양한 형태의 디지털 컴퓨터, 예컨대, 랩톱 컴퓨터, 데스크톱 컴퓨터, 워크스테이션, 개인 정보 단말기, 서버, 블레이드 서버, 대형 컴퓨터, 및 기타 적합한 컴퓨터를 나타내기 위한 것이다. 전자기기는 다양한 형태의 이동장치, 예컨대, 개인 정보 단말기, 셀폰, 스마트 폰, 웨어러블 기기 및 기타 유사한 컴퓨팅 장치를 더 나타낼 수 있다. 본문에 개시된 부재, 이들의 연결 및 관계, 및 이들의 기능은 단지 예시적인 것이며, 본문에 개시된 것 및/또는 요구하는 본 출원의 구현을 한정하려는 의도가 아니다.
도 6에 도시된 바와 같이, 전자기기(600)는, 판독 전용 메모리(ROM, 602)에 저장된 컴퓨터 프로그램 또는 저장유닛(608)으로부터 랜덤 액세스 메모리(RAM, 603)에 로딩된 컴퓨터 프로그램에 따라, 다양한 적합한 동작과 처리를 실행하는 컴퓨팅 유닛(601)을 포함한다. RAM(603)에는, 기기(600)의 동작에 필요한 다양한 프로그램과 데이터가 저장될 수도 있다. 컴퓨팅 유닛(601), ROM(602) 및 RAM(603)은 버스(604)를 통해 서로 연결된다. 입출력(I/O) 인터페이스(605)도 버스(604)에 연결된다.
기기(600)의 여러 부재는 I/O 인터페이스(605)에 연결되는 바, 예를 들면 키보드, 마우스 등 입력유닛(606); 예를 들면 다양한 유형의 디스플레이, 스피커 등 출력유닛(607); 예를 들면 마그네트 디스크, 광 디스크 등 저장유닛(608); 및 예를 들면 네트워크 카드, 모뎀, 무선통신 송수신기 등 통신유닛(609)을 포함한다. 통신유닛(609)은 기기(600)가 인터넷과 같은 컴퓨터 네트워크 및/또는 다양한 전신 네트워크를 통해 기타 기기와 정보/데이터를 교환한다.
컴퓨팅 유닛(601)은 처리와 컴퓨팅 능력을 구비한 다양한 통용 및/또는 전용 처리 모듈일 수 있다. 컴퓨팅 유닛(601)의 일부 예시는 중앙 처리유닛(CPU), 그래픽 처리유닛(GPU), 다양한 전용 인공지능(AI) 컴퓨팅 칩, 다양한 머신 러닝 모델 알고리즘을 실행하는 컴퓨팅 유닛, 디지털 신호 프로세서(DSP) 및 임의의 적합한 프로세서, 컨트롤러, 마이크로 컨트롤러 등을 포함하지만 이에 한정되지 않는다. 컴퓨팅 유닛(601)은 예컨대, 음성 데이터 처리 방법과 같은 상기 설명된 각 방법과 처리를 실행하기 위한 것이다. 예를 들면, 일부 실시예에서, 음성 데이터 처리 방법은 머신 판독 가능 매체, 예를 들면 저장유닛(608)에 유형적으로 포함되는 컴퓨터 소프트웨어 프로그램으로 구현될 수 있다. 일부 실시예에서, 컴퓨터 프로그램의 부분 또는 전부는ROM(602) 및/또는 통신유닛(609)을 거쳐 기기(600)에 로딩 및/또는 장착될 수 있다. 컴퓨터 프로그램이 RAM(603)에 로딩되어 컴퓨팅 유닛(601)에 의해 실행될 때, 상기 설명된 음성 데이터 처리 방법의 하나 또는 복수의 단계를 실행할 수 있다. 선택적으로, 기타 실시예에서, 컴퓨팅 유닛(601)은 기타 임의의 적합한 방식으로(예를 들면, 펌웨어를 통해) 음성 데이터 처리 방법을 실행하도록 구성될 수 있다.
본 문에서 이상 설명된 시스템과 기술의 다양한 구현 방식은 디지털 전자 회로 시스템, 집적 회로 시스템, 필드 프로그램 가능 게이트 어레이(FPGA), 전용 집적회로(ASIC), 전용 표준 제품(ASSP), 시스템 온 칩의 시스템(SOC), 캐리어 프로그램 가능 로직 기기(CPLD), 컴퓨터 하드웨어, 펌웨어, 소프트웨어 및/또는 이들의 조합에서 구현될 수 있다. 이러한 다양한 구현 방식은, 하나 또는 복수의 컴퓨터 프로그램에 구현하는 것을 포함할 수 있으며, 해당 하나 또는 복수의 컴퓨터 프로그램은 적어도 하나의 프로그램 가능 프로세서를 포함하는 시스템에서 실행 및/또는 해석될 수 있고, 해당 프로그램 가능 프로세서는 전용 또는 통용 프로그램 가능 프로세서일 수 있고, 저장 시스템, 적어도 하나의 입력 장치 및 적어도 하나의 출력 장치로부터 데이터 및 명령을 수신할 수 있으며, 또한, 데이터 및 명령을 해당 저장 시스템, 해당 적어도 하나의 입력 장치 및 해당 적어도 하나의 출력 장치에 전송할 수 있다.
본 출원의 방법을 구현하기 위한 프로그램 코드는 하나 또는 복수의 프로그램 언어 중 임의의 조합을 사용하여 작성될 수 있다. 이러한 프로그램 코드는 통용 컴퓨터, 전용 컴퓨터 또는 기타 프로그램 가능 데이터 처리 장치의 프로세서 또는 제어기에 제공되어, 프로그램 코드가 프로세서 또는 제어기에 의해 실행될 때 흐름도 및/또는 블록도에 규정된 기능/동작이 실시되도록 할 수 있다. 프로그램 코드는 완전하게 머신에서 실행될 수 있고, 부분적으로 머신에서 실행될 수도 있으며, 독립된 소프트웨어 패키지로서 부분적으로 머신에서 실행되고 부분적으로 원격 머신에서 실행되거나, 또는 완전하게 원격 머신 또는 서버에서 실행될 수 있다.
본 출원의 상하문에서 머신 판독 가능 매체는 명령 실행 시스템, 장치 또는 기기에 사용되거나, 또는 명령 실행 시스템, 장치 또는 기기와 결합적으로 사용되는 프로그램을 포함하거나 저장할 수 있는 유형인 매체일 수 있다. 머신 판독 가능 매체는 머신 판독 가능 신호 매체 또는 머신 판독 가능 저장매체일 수 있다. 머신 판독 가능 매체는 전자, 마그네트, 광학, 적외선 또는 반도체 시스템, 장치 또는 기기, 또는 상술한 내용의 임의의 적합한 결합을 포함하지만 이에 한정되지 않는다. 머신 판독 가능 저장매체의 더욱 구체적인 예시는 하나 또는 복수의 와이어 기반 전기 연결, 휴대용 컴퓨터 디스크, 하드 디스크, 랜덤 액세스 메모리(RAM), 판독 전용 메모리(ROM), 삭제 가능 프로그램 가능 롬(EPROM 또는 플래시 메모리), 광케이블, 휴대용 콤팩트 디스크 롬(CD-ROM), 광학 저장기기, 자기 저장 기기 또는 상술한 내용의 임의의 적합한 조합을 포함할 수 있다.
사용자와의 인터랙션을 제공하기 위하여, 컴퓨터 상에서 여기에 설명되는 시스템 및 기술을 실시할 수 있으며, 해당 컴퓨터는 사용자에게 정보를 표시하기 위한 표시장치(예를 들어, CRT(캐소드레이 튜브) 또는 LCD(액정 디스플레이) 모니터); 및 키보드 지향 장치(예를 들어, 마우스 또는 트랙볼)를 구비하고, 사용자는 해당 키보드와 해당 지향장치를 통해 입력을 컴퓨터로 제공할 수 있다. 기타 종류의 장치는 또한 사용자와의 인터랙션을 제공할 수도 있다. 예를 들어, 사용자에게 제공되는 피드백은 임의의 형태의 센싱 피드백(예를 들어, 시각적 피드백, 청각적 피드백, 또는 촉각적 피드백)일 수 있고; 임의의 형태(사운드 입력, 음성 입력 또는 촉각 입력)을 통해 사용자로부터의 입력을 수신할 수 있다.
여기에 설명되는 시스템과 기술은 백그라운드 부재를 포함하는 컴퓨팅 시스템(예를 들어, 데이터 서버로서), 또는 중간부재를 포함하는 컴퓨팅 시스템(예를 들어, 응용 서버), 또는 프론트 엔드 부재를 포함하는 컴퓨팅 시스템(예를 들어, 그래픽 유저 인터페이스 또는 인터넷 브라우저를 구비하는 사용자 컴퓨터, 사용자는 해당 그래픽 유저 인터페이스 또는 해당 인터넷 브라우저를 통해 여기에 설명되는 시스템 및 기술의 실시방식과 인터랙션할 수 있다), 또는 이러한 백그라운드 부재, 중간 부재, 또는 프론트 엔드 부재를 포함하는 임의의 컴퓨팅 시스템에서 실시될 수 있다. 임의의 형태 또는 매체의 디지털 데이터 통신(예를 들어, 통신망)을 통해 시스템의 부재를 서로 연결시킬 수 있다. 통신망의 예시로서, 랜(LAN), 광역 통신망(WAN) 및 인터넷을 포함한다.
컴퓨터 시스템은 클라이언트와 서버를 포함할 수 있다. 클라이언트와 서버는 일반적으로 서로 멀리 떨어져 있으며 통상적으로 통신망을 통해 인터랙션한다. 상응한 컴퓨터 상에서 실행되며 서로 클라이언트-서버 관계를 가지는 컴퓨터 프로그램을 통해 클라이언트와 서버의 관계를 생성한다. 서버는 클라우드 서버일 수 있고, 클라우드 컴퓨팅 서버 또는 클라우드 호스트라고 불리우며, 클라우드 컴퓨팅 서버 시스템 중의 하나의 호스트 제품으로서, 종래의 물리적인 호스트와 VPS 서버(“Virtual Private Server”, 또는 “VPS”로 약칭)에서 관리 난이도가 크고, 서비스 확장성이 약한 결함을 해결한다. 서버는 분포식 시스템 서버일 수 있고, 또는 블록 체인을 결합한 서버일 수 있다.
상술한 다양한 형태의 프로세스를 사용하여 단계를 재배열, 추가 또는 삭제할 수 있음을 이해해야 한다. 예를 들어, 본 출원에 기재된 각 단계는 병열로 수행될 수 있고 순차적으로 수행될 수도 있고 서로 다른 순서로 수행될 수도 있으며, 본 출원에 개시된 기술 솔루션이 원하는 결과를 얻을 수만 있다면, 본문에서는 여기서 한정하지 않는다.
상술한 구체적인 실시형태는, 본 출원의 보호범위에 대한 한정이 아니다. 본 분야의 통상의 지식을 가진 자라면, 설계 수요와 기타 요소를 기초로, 다양한 수정, 조합, 서브 조합 및 대체를 가할 수 있음을 이해할 수 있을 것이다. 본 출원의 정신과 원칙 내에서 이루어진 모든 수정, 동등한 대체와 개진 등은 모두 본 출원의 보호 범위 내에 속한다.

Claims (25)

  1. 음성 인터랙션 앱의 프로세스에서, 마이크로폰 관리 쓰레드를 가동시켜 마이크로폰에 의해 획득된 오디오 데이터를 수집하는 단계;
    상기 음성 인터랙션 앱이 비 웨이크업 상태에 있으면, 웨이크업 쓰레드를 가동하고 상기 오디오 데이터를 기초로 상기 음성 인터랙션 앱에 대해 웨이크업 처리를 수행하는 단계를 포함하는 음성 데이터 처리 방법.
  2. 제1항에 있어서,
    상기 음성 인터랙션 앱이 웨이크업 상태에 있으면, 음성 인식 쓰레드를 가동하여 상기 오디오 데이터에 대해 음성 인식을 수행하는 단계를 더 포함하는 방법.
  3. 제1항에 있어서, 상기 음성 인터랙션 앱이 웨이크업 상태에 있으면, 음성 인식 쓰레드를 가동하여 상기 오디오 데이터에 대해 음성 인식을 수행하고, 상기 웨이크업 쓰레드를 가동하여 상기 오디오 데이터를 기초로 상기 음성 인터랙션 앱에 대해 다시 웨이크업 처리를 수행하는 단계를 더 포함하는 방법.
  4. 제1항에 있어서, 상기 음성 인터랙션 앱이 비 웨이크업 상태에 있으면, 웨이크업 쓰레드를 가동하고 상기 오디오 데이터를 기초로 상기 음성 인터랙션 앱에 대해 웨이크업 처리를 수행하는 상기 단계는,
    상기 음성 인터랙션 앱이 비 웨이크업 상태에 있으면, 음성 관리 쓰레드를 통해 상기 오디오 데이터를 상기 웨이크업 쓰레드에 발송하는 단계;
    상기 웨이크업 쓰레드를 통해 상기 오디오 데이터를 기초로 상기 음성 인터랙션 앱에 대해 웨이크업 처리를 수행하는 단계를 포함하는 방법.
  5. 제2항에 있어서, 상기 음성 인터랙션 앱이 웨이크업 상태에 있으면, 음성 인식 쓰레드를 가동하여 상기 오디오 데이터에 대해 음성 인식을 수행하는 상기 단계는,
    상기 음성 인터랙션 앱이 웨이크업 상태에 있으면, 음성 관리 쓰레드를 통해 상기 오디오 데이터를 상기 음성 인식 쓰레드에 발송하는 단계;
    상기 음성 인식 쓰레드를 통해 상기 오디오 데이터에 대해 음성 인식을 수행하는 단계를 포함하는 방법.
  6. 제3항에 있어서, 상기 음성 인터랙션 앱이 웨이크업 상태에 있으면, 음성 인식 쓰레드를 가동하여 상기 오디오 데이터에 대해 음성 인식을 수행하고, 상기 웨이크업 쓰레드를 가동하여 상기 오디오 데이터를 기초로 상기 음성 인터랙션 앱에 대해 다시 웨이크업 처리를 수행하는 상기 단계는,
    상기 음성 인터랙션 앱이 비 웨이크업 상태에 있으면, 음성 관리 쓰레드를 통해 상기 오디오 데이터를 상기 웨이크업 쓰레드와 상기 음성 인식 쓰레드에 발송하는 단계;
    상기 웨이크업 쓰레드를 통해 상기 오디오 데이터를 기초로 상기 음성 인터랙션 앱에 대해 웨이크업 처리를 수행하고, 상기 음성 인식 쓰레드를 통해 상기 오디오 데이터에 대해 음성 인식을 수행하는 단계를 포함하는 방법.
  7. 제1항에 있어서, 상기 마이크로폰 관리 쓰레드를 가동시켜 마이크로폰에 의해 획득된 오디오 데이터를 수집하는 단계는,
    상기 음성 인터랙션 앱에 대한 가동 명령에 응답하여, 상기 프로세스에서 상기 마이크로폰 관리 쓰레드를 가동하는 단계;
    상기 마이크로폰 관리 쓰레드를 통해, 상기 마이크로폰에 대응되는 응용 프로그래밍 인터페이스(API)를 호출하여, 상기 마이크로폰을 초기화 하고, 상기 마이크로폰에 의해 획득된 오디오 데이터를 수집하는 단계를 포함하는 방법.
  8. 제4항에 있어서, 상기 마이크로폰 관리 쓰레드를 가동시켜 마이크로폰에 의해 획득된 오디오 데이터를 수집하는 단계 후에,
    상기 마이크로폰 관리 쓰레드를 통해 상기 오디오 데이터를 상기 음성 관리 쓰레드에 전송하는 단계를 더 포함하는 방법.
  9. 제8항에 있어서, 상기 마이크로폰 관리 쓰레드를 통해 상기 오디오 데이터를 음성 관리 쓰레드에 전송하는 상기 단계는,
    상기 마이크로폰 관리 쓰레드를 통해 상기 오디오 데이터의 소비자가 존재하는지 여부를 확정하되, 상기 소비자는 상기 오디오 데이터를 사용할 것을 요청하는 쓰레드인 것인 단계;
    상기 오디오 데이터의 소비자가 존재하는 것으로 확정되면, 상기 오디오 데이터를 상기 음성 관리 쓰레드에 발송하는 단계;
    상기 오디오 데이터의 소비자가 존재하지 않는 것으로 확정되면, 상기 오디오 데이터를 폐기하고, 다음 프레임의 오디오 데이터를 수집하는 단계를 포함하는 방법.
  10. 제8항에 있어서,
    상기 음성 관리 쓰레드를 통해, 상기 음성 인터랙션 앱의 상태 표지 정보를 획득하고, 상기 상태 표지 정보에 따라, 상기 음성 인터랙션 앱의 현재 상태를 확정하는 단계를 더 포함하는 방법.
  11. 제10항에 있어서,
    상기 음성 인터랙션 앱이 웨이크업 성공한 후, 상기 상태 표지 정보를 웨이크업 상태로 설정하는 단계를 더 포함하는 방법.
  12. 음성 인터랙션 앱의 프로세스에서, 마이크로폰 관리 쓰레드를 가동시켜 마이크로폰에 의해 획득된 오디오 데이터를 수집하는 마이크로폰 관리모듈;
    상기 음성 인터랙션 앱이 비 웨이크업 상태에 있으면, 웨이크업 쓰레드를 가동하고 상기 오디오 데이터를 기초로 상기 음성 인터랙션 앱에 대해 웨이크업 처리를 수행하는 오디오 데이터 처리모듈을 포함하는 음성 데이터 처리 장치.
  13. 제12항에 있어서, 상기 오디오 데이터 처리모듈은 또한,
    상기 음성 인터랙션 앱이 웨이크업 상태에 있으면, 음성 인식 쓰레드를 가동하여 상기 오디오 데이터에 대해 음성 인식을 수행하는 장치.
  14. 제12항에 있어서, 상기 오디오 데이터 처리모듈은 또한,
    상기 음성 인터랙션 앱이 웨이크업 상태에 있으면, 음성 인식 쓰레드를 가동하여 상기 오디오 데이터에 대해 음성 인식을 수행하고, 상기 웨이크업 쓰레드를 가동하고 상기 오디오 데이터를 기초로 상기 음성 인터랙션 앱에 대해 다시 웨이크업 처리를 수행하는 장치.
  15. 제12항에 있어서, 상기 오디오 데이터 처리모듈은 또한,
    상기 음성 인터랙션 앱이 비 웨이크업 상태에 있으면, 음성 관리 쓰레드를 통해 상기 오디오 데이터를 상기 웨이크업 쓰레드에 발송하고;
    상기 웨이크업 쓰레드를 통해 상기 오디오 데이터를 기초로 상기 음성 인터랙션 앱에 대해 웨이크업 처리를 수행하는 장치.
  16. 제13항에 있어서, 상기 오디오 데이터 처리모듈은 또한,
    상기 음성 인터랙션 앱이 웨이크업 상태에 있으면, 음성 관리 쓰레드를 통해 상기 오디오 데이터를 상기 음성 인식 쓰레드에 발송하고;
    상기 음성 인식 쓰레드를 통해 상기 오디오 데이터에 대해 음성 인식을 수행하는 장치.
  17. 제14항에 있어서, 상기 오디오 데이터 처리모듈은 또한,
    상기 음성 인터랙션 앱이 비 웨이크업 상태에 있으면, 음성 관리 쓰레드를 통해 상기 오디오 데이터를 상기 웨이크업 쓰레드와 상기 음성 인식 쓰레드에 발송하고;
    상기 웨이크업 쓰레드를 통해 상기 오디오 데이터를 기초로 상기 음성 인터랙션 앱에 대해 웨이크업 처리를 수행하고, 상기 음성 인식 쓰레드를 통해 상기 오디오 데이터에 대해 음성 인식을 수행하는 장치.
  18. 제12항에 있어서, 상기 마이크로폰 관리모듈은 또한,
    상기 음성 인터랙션 앱에 대한 가동 명령에 응답하여, 상기 프로세스에서 상기 마이크로폰 관리 쓰레드를 가동하고;
    상기 마이크로폰 관리 쓰레드를 통해, 상기 마이크로폰에 대응되는 응용 프로그래밍 인터페이스(API)를 호출하여, 상기 마이크로폰을 초기화 하고, 상기 마이크로폰에 의해 획득된 오디오 데이터를 수집하는 장치.
  19. 제15항 내지 제17항 중 어느 한 항에 있어서, 상기 마이크로폰 관리모듈은 또한,
    상기 마이크로폰 관리 쓰레드를 통해 상기 오디오 데이터를 상기 음성 관리 쓰레드에 전송하는 장치.
  20. 제19항에 있어서, 상기 마이크로폰 관리모듈은 또한,
    상기 마이크로폰 관리 쓰레드를 통해 상기 오디오 데이터의 소비자가 존재하는지 여부를 확정하고, 상기 소비자는 상기 오디오 데이터를 사용할 것을 요청하는 쓰레드이고;
    상기 오디오 데이터의 소비자가 존재하는 것으로 확정되면, 상기 오디오 데이터를 상기 음성 관리 쓰레드에 발송하고;
    상기 오디오 데이터의 소비자가 존재하지 않는 것으로 확정되면, 상기 오디오 데이터를 폐기하고, 다음 프레임의 오디오 데이터를 수집하는 장치
  21. 제19항에 있어서, 상기 오디오 데이터 처리모듈은 또한,
    상기 음성 관리 쓰레드를 통해, 상기 음성 인터랙션 앱의 상태 표지 정보를 획득하고, 상기 상태 표지 정보에 따라, 상기 음성 인터랙션 앱의 현재 상태를 확정하는 장치.
  22. 제21항에 있어서, 상기 오디오 데이터 처리모듈은 또한,
    상기 음성 인터랙션 앱이 웨이크업 성공한 후, 상기 상태 표지 정보를 웨이크업 상태로 설정하는 장치.
  23. 적어도 하나의 프로세서; 및
    상기 적어도 하나의 프로세서와 통신 연결되는 메모리;를 포함하고, 여기서,
    상기 메모리에는 상기 적어도 하나의 프로세서에 의해 실행될 수 있는 명령이 저장되고, 상기 명령이 상기 적어도 하나의 프로세서에 의해 실행되어, 상기 적어도 하나의 프로세서가 제1항 내지 제11항 중 어느 한 항에 따른 방법을 수행할 수 있도록 하는 전자기기.
  24. 컴퓨터 명령이 저장된 비일시적 컴퓨터 판독 가능 저장매체에 있어서, 상기 컴퓨터 명령은 컴퓨터가 제1항 내지 제11항 중 어느 한 항에 따른 방법을 수행하도록 하는 비일시적 컴퓨터 판독 가능 저장매체.
  25. 컴퓨터 판독 가능 저장매체에 저장된 컴퓨터 프로그램에 있어서, 상기 컴퓨터 프로그램 중의 명령이 프로세서에 의해 실행될 때 제1항 내지 제11항 중 어느 한 항에 따른 방법을 구현하는 컴퓨터 프로그램.
KR1020210077445A 2020-12-21 2021-06-15 음성 데이터 처리 방법, 장치, 기기 및 저장매체 KR20210083222A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202011522032.XA CN112698872A (zh) 2020-12-21 2020-12-21 语音数据处理的方法、装置、设备及存储介质
CN202011522032.X 2020-12-21

Publications (1)

Publication Number Publication Date
KR20210083222A true KR20210083222A (ko) 2021-07-06

Family

ID=75510141

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210077445A KR20210083222A (ko) 2020-12-21 2021-06-15 음성 데이터 처리 방법, 장치, 기기 및 저장매체

Country Status (5)

Country Link
US (1) US20210365285A1 (ko)
EP (1) EP3869324A3 (ko)
JP (1) JP7371075B2 (ko)
KR (1) KR20210083222A (ko)
CN (1) CN112698872A (ko)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113784073A (zh) * 2021-09-28 2021-12-10 深圳万兴软件有限公司 一种录音录像声音和画面同步方法、装置及相关介质
CN114071318B (zh) * 2021-11-12 2023-11-14 阿波罗智联(北京)科技有限公司 语音处理方法、终端设备及车辆
CN115065574B (zh) * 2022-05-25 2024-01-23 阿波罗智能技术(北京)有限公司 车辆控制器的唤醒方法、装置、电子设备和自动驾驶车辆
CN115497457A (zh) * 2022-09-29 2022-12-20 贵州小爱机器人科技有限公司 语音识别方法、装置、电子设备及存储介质

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001216131A (ja) 2000-02-04 2001-08-10 Sony Corp 情報処理装置および方法、並びにプログラム格納媒体
JP2009059310A (ja) * 2007-09-03 2009-03-19 Panasonic Corp プログラム制御装置
CN101827242B (zh) 2010-05-10 2013-01-02 南京邮电大学 一种基于网络电视机顶盒的可视电话系统实现方法
US9117449B2 (en) 2012-04-26 2015-08-25 Nuance Communications, Inc. Embedded system for construction of small footprint speech recognition with user-definable constraints
KR20130133629A (ko) * 2012-05-29 2013-12-09 삼성전자주식회사 전자장치에서 음성명령을 실행시키기 위한 장치 및 방법
US9245527B2 (en) * 2013-10-11 2016-01-26 Apple Inc. Speech recognition wake-up of a handheld portable electronic device
US9959129B2 (en) 2015-01-09 2018-05-01 Microsoft Technology Licensing, Llc Headless task completion within digital personal assistants
US10452339B2 (en) 2015-06-05 2019-10-22 Apple Inc. Mechanism for retrieval of previously captured audio
CN105702257A (zh) * 2015-08-12 2016-06-22 乐视致新电子科技(天津)有限公司 语音处理方法与装置
KR102642666B1 (ko) * 2016-02-05 2024-03-05 삼성전자주식회사 음성인식 장치 및 방법, 음성인식시스템
US10474946B2 (en) 2016-06-24 2019-11-12 Microsoft Technology Licensing, Llc Situation aware personal assistant
US11250844B2 (en) * 2017-04-12 2022-02-15 Soundhound, Inc. Managing agent engagement in a man-machine dialog
CN107360327B (zh) 2017-07-19 2021-05-07 腾讯科技(深圳)有限公司 语音识别方法、装置和存储介质
KR102374910B1 (ko) * 2017-08-22 2022-03-16 삼성전자주식회사 음성 데이터 처리 방법 및 이를 지원하는 전자 장치
CN107591151B (zh) * 2017-08-22 2021-03-16 百度在线网络技术(北京)有限公司 远场语音唤醒方法、装置和终端设备
CN110741339B (zh) 2017-10-03 2023-09-05 谷歌有限责任公司 具有延迟考虑的显示模式相关响应生成
CN107808670B (zh) * 2017-10-25 2021-05-14 百度在线网络技术(北京)有限公司 语音数据处理方法、装置、设备及存储介质
JP6900403B2 (ja) 2018-03-28 2021-07-07 ボン ウォン,キン 車両ロック状態検出器、検出システム及び検出方法
CN109508230A (zh) * 2018-09-29 2019-03-22 百度在线网络技术(北京)有限公司 音频数据的采集方法、装置与存储介质
CN109741740B (zh) * 2018-12-26 2021-04-16 苏州思必驰信息科技有限公司 基于外部触发的语音交互方法及装置
CN109830249B (zh) * 2018-12-29 2021-07-06 百度在线网络技术(北京)有限公司 数据处理方法、装置和存储介质
CN109785845B (zh) * 2019-01-28 2021-08-03 百度在线网络技术(北京)有限公司 语音处理方法、装置及设备
CN112016084A (zh) 2019-05-31 2020-12-01 腾讯科技(深圳)有限公司 终端多媒体器件的调用管理方法、装置和存储介质
KR20210009596A (ko) * 2019-07-17 2021-01-27 엘지전자 주식회사 지능적 음성 인식 방법, 음성 인식 장치 및 지능형 컴퓨팅 디바이스
KR102229562B1 (ko) * 2019-07-25 2021-03-18 엘지전자 주식회사 음성 인식 서비스를 제공하는 인공 지능 장치 및 그의 동작 방법
CN111524512A (zh) * 2020-04-14 2020-08-11 苏州思必驰信息科技有限公司 低延时开启one-shot语音对话的方法、外围设备及低延时响应的语音交互装置

Also Published As

Publication number Publication date
US20210365285A1 (en) 2021-11-25
EP3869324A2 (en) 2021-08-25
JP7371075B2 (ja) 2023-10-30
JP2022028879A (ja) 2022-02-16
EP3869324A3 (en) 2022-01-12
CN112698872A (zh) 2021-04-23

Similar Documents

Publication Publication Date Title
KR20210083222A (ko) 음성 데이터 처리 방법, 장치, 기기 및 저장매체
KR101618476B1 (ko) 휴대용 컴퓨팅 디바이스에서 분산 리소스 관리
WO2023109138A1 (zh) Linux系统中启动安卓应用的方法、装置和电子设备
CN110489440B (zh) 数据查询方法和装置
US20120284730A1 (en) System to provide computing services
CN113656179B (zh) 云计算资源的调度方法及装置、电子设备和存储介质
US10802753B2 (en) Distributed compute array in a storage system
CN103970520A (zh) MapReduce架构中的资源管理方法、装置和架构系统
WO2021022710A1 (zh) 消息队列处理方法、装置、电子设备及计算机非易失性可读存储介质
US20150254119A1 (en) Application dehydration and rehydration during application-to-application calls
CN112346834A (zh) 数据库的请求处理方法和装置、电子设备和介质
CN111488492A (zh) 用于检索图数据库的方法和装置
CN112905314A (zh) 异步处理方法、装置、电子设备、存储介质、及路侧设备
WO2021012795A1 (zh) 网络节点的调度方法、装置、电子设备和存储介质
CN113778644B (zh) 任务的处理方法、装置、设备及存储介质
CN112948081B (zh) 延时处理任务的方法、装置、设备以及存储介质
CN113961289A (zh) 一种数据处理方法、装置、设备以及存储介质
CN106911784B (zh) 一种执行异步事件的方法和装置
CN113051055A (zh) 一种任务处理方法和装置
CN114500443B (zh) 消息推送方法、装置、系统、电子设备和存储介质
WO2019109922A1 (zh) 资源处理方法及系统、存储介质、电子设备
CN114296916A (zh) 一种提高释放rdma性能的方法、装置及介质
CN113722037A (zh) 一种用户界面的刷新方法、装置、电子设备及存储介质
CN112711602A (zh) 一种存储过程的运行方法、装置,数据库系统及存储介质
CN114362968B (zh) 区块链获取随机数的方法、装置、设备和介质