[go: up one dir, main page]

WO2018077987A1 - Procédé de traitement de données audio issues d'un échange vocal, système et programme d'ordinateur correspondant - Google Patents

Procédé de traitement de données audio issues d'un échange vocal, système et programme d'ordinateur correspondant Download PDF

Info

Publication number
WO2018077987A1
WO2018077987A1 PCT/EP2017/077373 EP2017077373W WO2018077987A1 WO 2018077987 A1 WO2018077987 A1 WO 2018077987A1 EP 2017077373 W EP2017077373 W EP 2017077373W WO 2018077987 A1 WO2018077987 A1 WO 2018077987A1
Authority
WO
WIPO (PCT)
Prior art keywords
audio data
current
speaker
voice
data
Prior art date
Legal status (The legal status 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 status listed.)
Ceased
Application number
PCT/EP2017/077373
Other languages
English (en)
Inventor
Xavier Priem
Yvan RIDE
Ahmed GABAL
Xingjun Wang
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Voxpass
Original Assignee
Voxpass
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 Voxpass filed Critical Voxpass
Publication of WO2018077987A1 publication Critical patent/WO2018077987A1/fr
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L17/00Speaker identification or verification techniques
    • G10L17/06Decision making techniques; Pattern matching strategies
    • 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/26Speech to text systems

Definitions

  • a method of processing audio data from a voice exchange, system and corresponding computer program is a method of processing audio data from a voice exchange, system and corresponding computer program.
  • the present technique relates to the processing of voice data of users.
  • the present technique relates more particularly to the voice identification of users who wish to have access to a set of services via their voice prints. More specifically, it is presented a technique of access to an online service including segregation and multi-voice segmentation.
  • the techniques implemented are not particularly aimed at recognizing a specific user, but are adapted to the recognition of any type of user, without requiring any particular learning.
  • the "specific" techniques implemented for example in desktop recognition software, are based on prior learning of the voice, the diction and more generally the manner of speaking of a user, and this in order to transcribe in the most faithful way, the texts dictated by the user.
  • the proposed technique does not have these disadvantages of the prior art. More particularly, the proposed technique relates to a method for processing audio data, said audio data being derived from a voice exchange between at least two speakers, said method comprising an audio data processing phase comprising a step of identifying audio data. speaker which comprises a step of cutting said data audio, according to at least one pause pattern, delivering a segmented audio data set. Said method comprises, for at least current audio data of said segmented audio data set:
  • At least one voice recognition step of said current audio data implemented via at least one voice recognition engine, delivering at least one recognized word or an indicator of absence of recognition; when at least one speech recognition engine delivers at least one recognized word:
  • the step of obtaining, from said current audio data item, a current voice identification data item comprises:
  • an application step on said current audio data item, which takes the form of a one-dimensional audio signal x (t), of a short-term Fourier transform (TFCT), delivering a matrix X, called energy matrix , of size m ⁇ n, m frequency channels and n time frames and whose frequency scale is between 0 and 1 kHz;
  • a step of normalizing the values of said matrix X delivering a standardized matrix which constitutes the current voice identification data.
  • the application of said short-term four-way transform to said mono-dimensional audio signal x (t) is carried out at a time step of 40 ms.
  • the values of the elements of the standardized matrix are between 0 and 100.
  • said at least one reference voice identification data is also in the form of a standardized energy matrix, previously recorded within said database.
  • the step of calculating at least one correspondence, delivering the match score comprises a step of determining a Pearson correlation value of the current voice identification data item and said at least one voice reference identification data.
  • the method comprises, prior to said processing phase, a phase of obtaining, for each of said at least two speakers, an individual voiceprint comprising said voice identification data of reference.
  • said treatment phase further comprises the following steps:
  • time stamping in said at least one main audio stream and in said own audio stream, using data representative of said current speaker.
  • the present technique also relates to a system designed for implementing the method described above.
  • the various steps of the methods according to the proposed technique are implemented by one or more software or computer programs, comprising software instructions intended to be executed by a user.
  • data processor of a relay module according to the proposed technique and being designed to control the execution of the different steps of the processes.
  • the proposed technique is also directed to a program that can be executed by a computer or a data processor, which program includes instructions for controlling the execution of the steps of a method as mentioned above.
  • This program can use any programming language, and be in the form of source code, object code, or intermediate code between source code and object code, such as in a partially compiled form, or in any other form desirable shape.
  • the proposed technique is also aimed at a data carrier readable by a data processor, and including instructions of a program as mentioned above.
  • the information carrier may be any entity or device capable of storing the program.
  • the medium may comprise storage means, such as a ROM, for example a CD ROM or a microelectronic circuit ROM, or a magnetic recording medium, for example a floppy disk or a disk. hard.
  • the information medium may be a transmissible medium such as an electrical or optical signal, which may be conveyed via an electrical or optical cable, by radio or by other means.
  • the program according to the proposed technique can be downloaded in particular on an Internet type network.
  • the information carrier may be an integrated circuit in which the program is incorporated, the circuit being adapted to execute or to be used in the execution of the method in question.
  • the proposed technique is implemented by means of software and / or hardware components.
  • module may correspond in this document as well to a software component, a hardware component or a set of hardware and software components.
  • a software component corresponds to one or more computer programs, one or more subroutines of a program, or more generally to any element of a program or software capable of implementing a function or a program. together functions, as described below for the module concerned.
  • Such a software component is executed by a data processor of a physical entity (terminal, server, gateway, router, etc.) and is capable of accessing the hardware resources of this physical entity (memories, recording media, bus communication cards, input / output electronic cards, user interfaces, etc.).
  • a hardware component corresponds to any element of a hardware set (or hardware) able to implement a function or a set of functions, as described below for the module concerned. It may be a hardware component that is programmable or has an integrated processor for executing software, for example an integrated circuit, a smart card, a memory card, an electronic card for executing a firmware ( firmware), etc.
  • Figure 1 shows the architecture of a system object of the present
  • FIG. 1 shows the different phases of processing an audio stream
  • FIG. 3 shows the identification of one of two possible speakers
  • Figure 4 shows an example of energy matrix
  • the general principle of the invention is to implement several processing and voice recognition engines, and this within a speech processing system accessible online and can meet general needs .
  • the system object of the present is implemented for example using a distributed processing architecture (cloud type) in which access to resources (computer processing) is done on demand.
  • the system comprises on the one hand a set of speech recognition engines, these engines being configured to perform on the one hand voice identification tasks for identifying a speaker (the voice identification feature is described later). ) and on the other hand voice recognition tasks (the voice recognition feature is described later).
  • the system that is the subject of the present invention also comprises a speaker processing engine. This processing engine comprises on the one hand a registered speaker management component and a non-registered speaker processing component.
  • This speaker processing engine comprises a set of communication interfaces (of "API" type) with the speech recognition engines.
  • the registered speaker processing component allows the recording, updating of voice data (and in particular the recording and updating of voice signatures) of speakers of the system.
  • the unregistered speaker processing component enables the automatic recording and processing of voice data from unknown speakers.
  • Figure 1 globally illustrates the architecture of the system object of the present.
  • the processing system includes a speaker processing engine (MTrtUsrs) that includes at least one connection interface (IC) to at least one media processing server (SrvTTMed).
  • the media processing server (SrvTTMed) is in charge of the processing (recording, multiplexing, equalization) of the audio signals that it receives.
  • the media processing server (SrvTTMed) is directly or indirectly, via a communication network (WNTWK) to one (or more) VoIP server (s) (VOIP) comprising appropriate IP telephony software.
  • WNTWK communication network
  • VoIP server VoIP server
  • the VoIP server is itself connected, via an optional gateway (GTWY) to sound production devices (micro, octopus conference room conference, smart phone, computer) that are implemented by example during conference calls.
  • GTWY optional gateway
  • the speaker processing engine (MTrtUsrs) also includes access and processing interfaces (APIs) to at least one voice recognition engine (ASR # 1, ASR # 2, etc.), each of which includes access to a voice data processing database (DB1, DB2, etc.).
  • the speaker processing engine (MTrtUsrs) also includes access to its own database of speakers (DBU) which includes profiles of speakers (registered or unregistered) who have access to the system to which the registered and unregistered speaker processing components (CTUe and CTUne) have access.
  • DBU database of speakers
  • the speaker processing engine also includes an access interface to a voice recorder server (SRVEU), the server comprising components for implementing a speaker registration service.
  • SRVEU voice recorder server
  • Such a service allows speakers (who wish) to register in the system, as described below.
  • the speaker processing engine MrtUsrs
  • ASR # 1, ASR # 2, etc. . the speaker identification
  • voiceprint identification assumes that certain physical characteristics of vocal organs, which influence the quality of speech sound, are not exactly identical from one person to another. These features are the size of the vocal cavities, the throat, the nose and the mouth, and the shape of the articulating muscles of the tongue, jaw, lips and soft palate.
  • the voice recognition engine (s) is used to generate (at least on the fly) at least one voice print of a speaker. This is then used by the system during different tasks, and especially when separating several speakers in the same conversation.
  • voice recognition the purpose of which is to allow a recognition of the words spoken by speakers, for example, to make a written transcription of their speech.
  • the techniques used are conventional, with the exception of a selection algorithm adapted for the purposes of the present technique, which algorithm, as presented hereinafter, allows not only to use recognition results from the recognition engine or engines, but also other parameters.
  • the speaker identification database includes information relating to the various speakers that are recorded in the system; more particularly, this database includes at least one unique voiceprint, from each speaker, which identifies it, among all registered speakers. This unique voiceprint is generated either at the end of a speaker's (voluntary) enrollment phase with the system, or when the system is used by an unregistered speaker (for example at a conference with several speakers, some or all of whom are not registered) or both.
  • the purpose of this database is notably to allow a differentiation of the speakers in order to improve the speech recognition of each of these speakers.
  • the database also relates to the processing, grouping and classification of the various audio streams allocated to the user.
  • the unique voiceprint that is recorded in the system for a given speaker can be obtained in at least two different ways.
  • This manual recording includes for example a creation of a talker account (user) in the system, via a web service.
  • the creation of this account is accompanied by the provision by the speaker of a set of voice data.
  • This set of voice data can either be obtained directly by reading one or more predetermined sentences at the time of recording. In order to allow a simple and time consuming recording, the number of sentences to be read is voluntarily reduced (a dozen sentences at most).
  • Another possibility, when recording manually, is to download a sound file that the speaker has pre-recorded by reading a certain number of sentences (as in the live online recording).
  • This type of service registration makes it possible, on the one hand, as indicated above, to generate a unique fingerprint for the speaker, this fingerprint being subsequently used to identify the speaker; the recording also allows, on the other hand, to train one or more recognition system, to recognize the voice of the speaker.
  • the online service has a plurality of speech recognition engines (different editors).
  • the voice stream live or pre-recorded
  • the voice stream that is provided to the system during speaker registration is automatically transmitted to these speech recognition engines, which perform speech independently, learning the speaker's voice, based on the sentences read by the speaker.
  • This embodiment in which several speech recognition engines are used, is particularly suitable insofar as it makes it possible to benefit from several different recognition technologies.
  • the modules used are commercial modules, each providing an open interface (API) for exchanging data with the system.
  • a key element of the system of the invention resides in the ability of the system to separate the speakers and to recognize the words and sentences pronounced by these speakers.
  • the identification of the speaker is implemented via one or more voiceprints of this speaker, which have been prerecorded (in a prior phase). Voice prints are obtained by known techniques and do not require further description.
  • Speech recognition is implemented via one or more voice recognition engines that deliver, based on an input stream, recognition results to which the speaker processing engine (MTrtUsrs) accesses.
  • MTRtUsrs speaker processing engine
  • each recognition module is called via its interface (API).
  • API interface
  • Each provides, as output, the recognized word (or phrase), as well as a possible probability of success of the recognition, which is then used by the system to determine and select the most likely result, based on in particular other parameters and obtain a truth score which, when it exceeds a determined threshold, is considered as the result of the transcription.
  • the selection parameters are for example:
  • the exchange if a term has already been spoken by the speaker, the probability of occurrence of that term is increased for the rest of the conversation. the conversation ;
  • the exchange if a term has already been spoken by another speaker, the probability of occurrence of that term is increased for the rest conversation; the number of occurrences of a word or term during an archived conversation or exchange: if a term has already been spoken by the speaker, in the past, the probability of occurrence of that term is increased for the rest of the conversation; the number of recognition modules that deliver the same result (when multiple modules are used);
  • the speaker processing engine uses past data, whether it is past conversation or current exchange or past data of conversations, exchanges or previous recordings, which have been stored and archived, in the speaker database.
  • a voice data processing method implemented by the present system comprises:
  • a obtaining phase (P10) for each speaker, of an individual voice print; the manner of obtaining this imprint is described infra and supra in examples of implementation;
  • a processing phase (P20) of at least one audio stream derived from a verbal exchange between the speakers comprising at least one iteration of the following steps:
  • This method allows, for a given exchange or conversation, to record, separately, the different streams from different speakers. They are marked temporally, in order to be able to segment the exchanges and to allow an individualisation of speaking during the exchanges.
  • speaker identification is presented below.
  • recognition phase is implemented. Depending on the embodiments it is implemented in real time or deferred. This recognition phase comprises at least one iteration of the following steps:
  • the determination of the truth score is implemented according to the various embodiments and in particular the presence (or not) of several recognition engines and the presence (or not) of a recognition probability (provided by the ( s) recognition engine (s) and the availability of previous transcription results 5.3 Voice recognition of a speaker
  • Voice identification of a speaker is implemented through a plurality of energy matrix.
  • These energy matrices are stored in the speaker identification database (DBU), either by being directly associated with a user who is registered within the system, or by being associated with an unregistered user (temporary user). , which is for example identified during a meeting or during a verbal exchange.
  • DBU speaker identification database
  • it is sorted between registered users and non-registered users (unknown system).
  • Energy matrices are created on the one hand to register the user and on the other hand to recognize the user when he speaks.
  • the principle of user identification consists in creating, from the speech flow of a speaker, one or more energy matrices associated with this speaker.
  • a short-term Fourier transform TFCT
  • the advantage of the TFCT is to be able to represent the frequency domain information in the time domain.
  • the choice of the time step of the TFCT is complex. If the time step is too small, the number of samples is not sufficient, therefore, the results of the Fourier transform are unreliable. If the time step is too big, some information is missing in the time domain. For this reason, the time step is chosen as 40 ms.
  • the energy matrix is calculated as shown in FIG. 3.
  • the word 'la' is ten times that is to say that the user has pronounced ten times the word 'la' with a more or less different intonation.
  • the abscissa represents time
  • the unit is the second.
  • the ordinate represents the frequency
  • the unit is the Hertz (Hz).
  • the time step is 40 ms.
  • the frequency step is 50 Hz. Since most of the energy is distributed in frequencies between 0 and 1000 Hz, the frequency band is between 0 and 1000 Hz.
  • each matrix has 24 lines for the frequency step and 8 columns for the time step. These matrices are recorded in the database of identification of speakers (DBU), in connection with the given user (whether registered or not).
  • DBU identification of speakers
  • the speech imprint of a speaker is constructed from a plurality of energies matrix, pertaining to one or more several words uttered by the speaker.
  • Other elements than the energy matrices can also be integrated and / or used to generate a speaker's voiceprint.
  • the system searches for the matrices corresponding to the word "la" that were previously generated. This search is performed for all "potential" users (that is, a list of possible users, given the circumstances of the registration): if, for example, the registration concerns four users registered in the system, the search for the matrices is performed on these four users in order to shorten the processing times.
  • the identification of the user is implemented using a Pearson correlation to compare these energy matrices.
  • the Pearson correlation coefficient is used to compare the energy matrices. This coefficient is calculated as represented in the following equation:
  • Y ⁇ yl, ... yn ⁇ is the matrix to compare, the current matrix:
  • N is the number of values in the matrices.
  • the similarity of two matrices is decided.
  • the speaker identification is performed on the correlation calculations that result in the highest (among the results above the predetermined threshold).
  • the method used to carry out a speaker identification comprises a step of cutting (not shown) the audio data, according to at least one pause model, delivering a set of segmented audio data.
  • the method is implemented on the basis of the segmented data and includes, for at least current audio data of said segmented audio data set:
  • At least one voice recognition step (10) of said current audio data implemented via at least one voice recognition engine, delivering at least one recognized word or an indicator of absence of recognition; when at least one speech recognition engine delivers at least one recognized word
  • this method makes it possible to distinguish between the various speakers who intervene during the voice exchange.
  • this identification method can advantageously be coupled with other identification methods. (especially sound spatialization), in particular to produce more convincing results and / or to obtain these results more quickly.
  • a conference is implemented and processed at least indirectly by the system.
  • a conference begins, for the system, a phase of recording a voice print of each of the participants in the conference. This phase comprises several stages, among which:
  • the recording phase is implemented via the computer, either locally, on the computer, or on the system, by transmitting the audio stream resulting from the enunciation;
  • the system requires, for each, the stated name and / or surname of the participant; in addition, the system implements a location algorithm allowing, according to the statement made, to obtain a spatial location of the speaker;
  • the calculated fingerprint is then used during the conference
  • the speaker is known to the system (because he has previously registered): in this case the stated one of his name and / or first name (and the recognition that is made of it) is used to search the prerecorded imprint of the speaker ; this allows one or other of these fingerprints to be used for speaker recognition;
  • the audio stream from the microphone of this phone is recorded continuously and can be decoded (possibly continuously also); the speaker's fingerprint is used to assign that flow to the speaker in question;
  • the speaker participates via a computer or a tablet, an IP connection of a smartphone
  • the process is the same as for a telephone connection;
  • this recognition also takes into account the spatialization of the sound picked up by the microphone or microphones;
  • the identification is performed in real time on the basis of previously calculated fingerprints; it is a matter of creating the audio streams of each speaker and marking (temporally) the flows to determine the moments at which the different speakers have spoken; a temporal synchronization of the audio streams is then implemented, which makes it possible, in particular, to assign a set of sounds picked up to a given user;
  • this recognition phase can either be implemented in real time, for example to perform a real-time transcription of the conference (for example to people who have lost hearing) or deferred time;
  • the advantage of real time is to provide participants with an immediate record of verbal exchanges; the disadvantage is that it requires significant computing resources, and the risk of errors is higher;
  • the advantage of delayed time is that it requires less computing resources because the streams can be processed one after the other;
  • the system of the invention performs either direct processing of the conference or indirect processing thereof.
  • direct processing and idirect of the conference is as follows:
  • the system in charge of the multiplexing of the conference, that is to say to mount the possible telephone bridges with the various interlocutors (when there is a conference call), in addition to the recording and the processing of audio streams;
  • the system In indirect processing, the system is in charge of the recording and processing of audio streams, including the identification and processing of speech speakers: it records the possible telephone flows and flows from the microphone or microphones the room in which the conference is held.

Landscapes

  • Engineering & Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Computational Linguistics (AREA)
  • Business, Economics & Management (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Game Theory and Decision Science (AREA)
  • Telephonic Communication Services (AREA)

Abstract

L'invention se rapporte à un procédé et à un système de traitement de données audio, lesdites données audio étant issues d'un échange vocal entre au moins deux locuteurs. Le procédé comprend une phase de traitement (P20) des données audio qui comprenant une étape d'identification de locuteur (P202) laquelle comprend une étape de découpage desdites données audio, en fonction d'au moins un modèle de pause, délivrant un ensemble de données audio segmentées. Selon l'invention le procédé comprend, pour au moins donnée audio courante dudit ensemble de données audio segmentées, la reconnaissance d'au moins un mot prononcé et l'identification du locuteur ayant prononcé de mot en fonction de données d'identification vocale de référence et de données d'identification vocale courantes issues des données audio segmentées.

Description

Procédé de traitement de données audio issues d'un échange vocal, système et programme d'ordinateur correspondant.
1. Domaine
La présente technique se rapporte au traitement de données vocales d'utilisateurs. La présente technique se rapporte plus particulièrement à l'identification vocale d'utilisateurs qui souhaitent avoir accès à un ensemble de services par l'intermédiaire de leurs empreintes vocales. Plus spécifiquement encore, il est présenté une technique d'accès à un service en ligne comprenant une ségrégation et une segmentation multi voix.
2. Art Antérieur
L'interaction grandissante de l'homme avec le monde numérique va requérir une utilisation renforcée de la reconnaissance vocale, notamment en s'étendant à la relation entre l'être humain et les objets. Les modes d'interaction les plus connus sont les claviers, les souris, les écrans et surfaces tactiles... La voix n'est aujourd'hui utilisée que comme outil de contrôle de services simples (réponse vocale interactive IVR, de l'anglais pour « Interactive Voice Response », sélection de choix sur des automates vocaux ayant remplacé les standardistes). Le contrôle vocal pénètre également les usages automobiles, pour les fonctions non vitales comme la sélection de destination du système de navigation ou le contrôle du volume sonore de l'autoradio. Ainsi, l'introduction massive d'intelligence numérique dans des objets de la vie courante, du réfrigérateur connecté à la voiture, en passant par des services de type « Smart City » (ville intelligente), entraine un besoin crucial d'un interfaçage efficace et acceptable par tout type de public avec son environnement.
Il n'est pas possible de converser de façon complexe avec un objet ou un automate comme de nombreux auteurs de science-fiction ont pu l'imaginer. Des progrès ont été faits, mais à la fois le taux de reconnaissance et la prise en compte de la complexité de la conversation sont encore à améliorer. Le monde numérique ne sera vraiment accessible à tout le monde que lorsque tout le monde peut interagir naturellement et intuitivement avec celui- ci. Pour ce faire, il est nécessaire d'améliorer le taux de la reconnaissance vocale d'une part et d'améliorer la capacité d'un système l'utilisant à rendre une transcription correcte de l'échange vocal. L'objet de la présente n'est pas de décrire de nouveaux algorithmes de reconnaissance mais plutôt de se concentrer sur le système de reconnaissance et sur son fonctionnement. La problématique de traitement audiovisuel de conférence est investiguée depuis de nombreuses années, notamment pour le traitement informatisé de conférence comprenant des participants locaux et des participants distants. On a plus particulièrement décrit et présenté des systèmes de spatialisation de conférences audio visuelles, comprenant un suivi des participants, notamment un suivi des participants prenant la parole (intervenants) par rapport à des participants spectateurs, chaque participants pouvant alternativement jouer le rôle d'intervenant et de spectateur. Par ailleurs, la problématique d'identification et de reconnaissance de la parole a également été investiguée depuis de nombreuses années, essentiellement selon deux axes qui sont d'une part la reconnaissance et la retranscription de la parole en texte et d'autre part l'identification vocale de locuteur. Les techniques de reconnaissance et la retranscription de la parole se divise essentiellement en deux catégories : d'une part les techniques « universelles » qui ne visent pas particulièrement un utilisateur et qui permettent de reconnaître des ordres ou des instructions simples (il s'agit des IVR ou des assistants vocaux de type SI RI™ ou Google Talk™). Les techniques mises en œuvre en visent pas particulièrement à reconnaître un utilisateur spécifique, mais sont adaptées à la reconnaissance de tout type d'utilisateur, et ce sans nécessiter d'apprentissage particulier. A l'inverse, les techniques « spécifiques », mises en œuvre par exemple dans des logiciels bureautiques de reconnaissance, sont basées sur un apprentissage préalable de la voix, de la diction et plus généralement de la manière de parler d'un utilisateur, et ce dans le but de retranscrire de la manière la plus fidèle possible, les textes dictés par l'utilisateur.
Chacune des techniques décrites précédemment est associée à une problématique donnée et indépendante. IL n'existe pas de solution multiplexée qui puisse répondre à d'autres besoins. Il existe donc un besoin de fournir une solution de reconnaissance flexible, pouvant s'adapter en fonction d'un contexte donné, et plus particulièrement en fonction d'un contexte de conférence.
3. Résumé de l'invention
La technique proposée ne présente pas ces inconvénients de l'art antérieur. Plus particulièrement, la technique proposée se rapporte à un procédé de traitement de données audio, lesdites données audio étant issues d'un échange vocal entre au moins deux locuteurs, ledit procédé comprenant une phase de traitement des données audio comprenant une étape d'identification de locuteur laquelle comprend une étape de découpage desdites données audio, en fonction d'au moins un modèle de pause, délivrant un ensemble de données audio segmentées. Ledit procédé comprend, pour au moins donnée audio courante dudit ensemble de données audio segmentées :
au moins une étape de reconnaissance vocale de ladite donnée audio courante, mise en œuvre par l'intermédiaire d'au moins un moteur de reconnaissance vocale, délivrant au moins un mot reconnu ou un indicateur d'absence de reconnaissance ; lorsqu'au moins un moteur de reconnaissance vocale délivre au moins un mot reconnu :
une étape de recherche, au sein d'une basse de données, d'au moins un mot de référence correspondant audit au moins un mot reconnu, délivrant au moins une donnée d'identification vocale de référence ;
une étape d'obtention, à partir de ladite donnée audio courante, d'une donnée d'identification vocale courante ;
une étape de calcul d'au moins une correspondance entre ladite donnée d'identification vocale courante et ladite au moins une donnée d'identification vocale de référence, délivrant au moins un score de correspondance ; et lorsqu'un score de correspondance excède un seuil prédéterminé, une étape d'attribution de ladite donnée audio courante à l'un desdits au moins deux interlocuteurs.
Selon une caractéristique particulière, l'étape d'obtention, à partir de ladite donnée audio courante, d'une donnée d'identification vocale courante comprend :
une étape d'application, sur ladite donnée audio courante, laquelle prend la forme d'un signal audio x(t) monodimensionnel, d'une transformée de Fourier à court terme (TFCT), délivrant une matrice X, dite matrice d'énergie, de taille mxn, m canaux fréquentiels et n trames temporelles et dont l'échelle de fréquence est comprise entre O et 1kHz ;
une étape de normalisation des valeurs de ladite matrice X, délivrant une matrice normalisée laquelle constitue la donnée d'identification vocale courante. Selon une caractéristique particulière, l'application de ladite transformée de fourrier à court terme sur ledit signal audio x(t) mono dimensionnel est effectué à un pas de temps de 40 ms.
Selon une caractéristique particulière, les valeurs des éléments de la matrice normalisée sont comprises entre 0 et 100.
Selon une caractéristique particulière, ladite au moins une donnée d'identification vocale de référence se présente également sou la forme d'une matrice d'énergie normalisée, préalablement enregistrée au sein de ladite base de données.
Selon une caractéristique particulière, l'étape de calcul d'au moins une correspondance, délivrant le score de correspondance, comprend une étape de détermination d'une valeur de corrélation de Pearson de la donnée d'identification vocale courante et de ladite au moins une donnée d'identification vocale de référence.
Selon une caractéristique particulière le procédé comprend, préalablement à ladite phase de traitement, une phase d'obtention, pour chacun desdits au moins deux locuteurs, d'une empreinte vocale individuelle comprenant lesdites données d'identification vocale de référence.
Selon une caractéristique particulière, ladite phase de traitement comprend en outre les étapes suivantes :
enregistrement, sous la forme d'au moins un flux audio principal dudit échange verbal ;
lorsqu'aucun flux audio n'existe pour le locuteur courant, création d'un flux audio propre au locuteur courant ;
marquage temporel, dans ledit au moins un flux audio principal et dans ledit flux audio propre, en utilisant une donnée représentative dudit locuteur courant.
Selon un autre aspect, la présente technique se rapporte également à système conçu pour la mise en œuvre de la méthode précédemment décrite.
Selon une implémentation préférée, les différentes étapes des procédés selon la technique proposée sont mises en œuvre par un ou plusieurs logiciels ou programmes d'ordinateur, comprenant des instructions logicielles destinées à être exécutées par un processeur de données d'un module relais selon la technique proposée et étant conçu pour commander l'exécution des différentes étapes des procédés.
En conséquence, la technique proposée vise aussi un programme, susceptible d'être exécuté par un ordinateur ou par un processeur de données, ce programme comportant des instructions pour commander l'exécution des étapes d'un procédé tel que mentionné ci- dessus.
Ce programme peut utiliser n'importe quel langage de programmation, et être sous la forme de code source, code objet, ou de code intermédiaire entre code source et code objet, tel que dans une forme partiellement compilée, ou dans n'importe quelle autre forme souhaitable.
La technique proposée vise aussi un support d'informations lisible par un processeur de données, et comportant des instructions d'un programme tel que mentionné ci-dessus.
Le support d'informations peut être n'importe quelle entité ou dispositif capable de stocker le programme. Par exemple, le support peut comporter un moyen de stockage, tel qu'une ROM, par exemple un CD ROM ou une ROM de circuit microélectronique, ou encore un moyen d'enregistrement magnétique, par exemple une disquette (floppy dise) ou un disque dur.
D'autre part, le support d'informations peut être un support transmissible tel qu'un signal électrique ou optique, qui peut être acheminé via un câble électrique ou optique, par radio ou par d'autres moyens. Le programme selon la technique proposée peut être en particulier téléchargé sur un réseau de type Internet.
Alternativement, le support d'informations peut être un circuit intégré dans lequel le programme est incorporé, le circuit étant adapté pour exécuter ou pour être utilisé dans l'exécution du procédé en question.
Selon un mode de réalisation, la technique proposée est mise en œuvre au moyen de composants logiciels et/ou matériels. Dans cette optique, le terme "module" peut correspondre dans ce document aussi bien à un composant logiciel, qu'à un composant matériel ou à un ensemble de composants matériels et logiciels.
Un composant logiciel correspond à un ou plusieurs programmes d'ordinateur, un ou plusieurs sous-programmes d'un programme, ou de manière plus générale à tout élément d'un programme ou d'un logiciel apte à mettre en œuvre une fonction ou un ensemble de fonctions, selon ce qui est décrit ci-dessous pour le module concerné. Un tel composant logiciel est exécuté par un processeur de données d'une entité physique (terminal, serveur, passerelle, routeur, etc.) et est susceptible d'accéder aux ressources matérielles de cette entité physique (mémoires, supports d'enregistrement, bus de communication, cartes électroniques d'entrées/sorties, interfaces utilisateur, etc.).
De la même manière, un composant matériel correspond à tout élément d'un ensemble matériel (ou hardware) apte à mettre en œuvre une fonction ou un ensemble de fonctions, selon ce qui est décrit ci-dessous pour le module concerné. Il peut s'agir d'un composant matériel programmable ou avec processeur intégré pour l'exécution de logiciel, par exemple un circuit intégré, une carte à puce, une carte à mémoire, une carte électronique pour l'exécution d'un micrologiciel (firmware), etc.
Chaque composante du système précédemment décrit met bien entendu en œuvre ses propres modules logiciels.
Les différents modes de réalisation mentionnés ci-dessus ainsi que les différentes caractéristiques qui les constituent, sont combinables entre eux pour la mise en œuvre de la technique proposée.
4. Figures
D'autres caractéristiques et avantages de l'invention apparaîtront plus clairement à la lecture de la description suivante d'un mode de réalisation préférentiel, donné à titre de simple exemple illustratif et non limitatif, et des dessins annexés, parmi lesquels :
la figure 1 expose l'architecture d'un système objet de la présente ;
la figure 2 expose les différentes phases de traitement d'un flux audio ;
la figure 3 expose l'identification d'un locuteur parmi deux locuteurs possible ;
la figure 4 présente un exemple de matrice d'énergie.
5. Description
5.1. Éléments Généraux.
Comme explicité précédemment, le principe général de l'invention consiste à mettre en œuvre plusieurs moteurs de traitement et de reconnaissance de la voix, et ce au sein d'un système de traitement de la parole accessible en ligne et pouvant répondre à des besoins généraux. Le système objet de la présente est implémenté par exemple à l'aide d'une architecture de traitement distribuée (de type « cloud ») dans laquelle l'accès aux ressources (de traitement informatique) est effectué à la demande. Le système comprend d'une part un ensemble de moteurs de reconnaissance vocale, ces moteurs étant conformés pour effectuer d'une part des tâches d'identification vocale, permettant d'identifier un locuteur (la fonctionnalité d'identification vocale est décrite par la suite) et d'autre part des tâches de reconnaissance vocale (la fonctionnalité de reconnaissance vocale est décrite par la suite). Le système objet de la présente comprend également un moteur de traitement de locuteurs. Ce moteur de traitement comprend d'une part un composant de gestion de locuteurs enregistrés et un composant de traitement de locuteurs non enregistrés. Ce moteur de traitement de locuteurs comprend un ensemble d'interfaces de communication (de type « API ») avec les moteurs de reconnaissance vocale. Le composant de traitement de locuteurs enregistrés permet l'enregistrement, la mise à jour des données vocales (et notamment l'enregistrement et la mise à jour de signatures vocales) de locuteurs du système. Le composant de traitement de locuteurs non enregistrés permet l'enregistrement et le traitement, de manière automatique, de données vocales en provenance de locuteurs inconnus. La figure 1 illustre globalement l'architecture du système objet de la présente.
Le système de traitement (SystTt) comprend un moteur de traitement de locuteur (MTrtUsrs) qui comprend au moins une interface de connexion (IC) à au moins un serveur de traitement de médias (SrvTTMed). Le serveur de traitement de médias (SrvTTMed) est en charge des traitements (enregistrements, multiplexage, égalisation) des signaux audio qu'il reçoit. Le serveur de traitement de médias (SrvTTMed) est directement ou indirectement, par l'intermédiaire d'un réseau de communication (WNTWK) à un (ou plusieurs) serveur(s) de VoIP (VOIP) comprenant un logiciel de téléphonie IP idoine. Le serveur VoIP est lui-même connecté, par l'intermédiaire d'une passerelle optionnelle (GTWY) à des dispositifs de production sonore (micro, pieuvre de conférence pour salle de conférence, téléphone intelligent, ordinateur) qui sont mis en œuvre, par exemple lors de conférences téléphoniques.
Le moteur de traitement de locuteur (MTrtUsrs) comprend également des interfaces d'accès et de traitement (API) à au moins un moteur de reconnaissance vocal (ASR#1, ASR#2, etc.), lesquels comprennent chacun un accès à une base de données de traitement de données vocales (DBl, DB2, etc.). Le moteur de traitement de locuteur (MTrtUsrs) comprend également un accès à sa propre base de données de locuteurs (DBU) qui comprend notamment des profils de locuteurs (enregistrés ou non) qui ont accès au système auxquels les composants de traitement de locuteurs enregistré et non enregistrés (CTUe et CTUne) ont accès.
Le moteur de traitement de locuteur (MTrtUsrs) comprend également une interface d'accès à un serveur d'enregistrement de locuteurs (SRVEU), ce serveur comprenant des composants de mise en œuvre d'un service d'enregistrement de locuteurs. Un tel service permet aux locuteurs (qui le souhaitent) de s'enregistrer dans le système, comme cela est décrit par la suite.
Dans le cadre de la présente technique, on distingue deux tâches complémentaires qui sont mises en œuvre par le système et plus particulièrement par le moteur de traitement de locuteur (MTrtUsrs) couplé aux moteurs de reconnaissance vocale (ASR#1, ASR#2, etc.) : en premier lieu, il s'agit de l'identification de locuteur, dont l'objet est de permettre une distinction entre les locuteurs pour lesquels un flux vocal est traité. L'identification par empreinte vocale suppose que certaines caractéristiques physiques des organes vocaux, qui influencent la qualité du son de la parole, ne sont pas exactement identiques d'une personne à une autre. Ces caractéristiques sont la taille des cavités vocales, la gorge, le nez et la bouche, et la forme des muscles d'articulation de la langue, la mâchoire, les lèvres et le voile du palais. Le ou les moteurs de reconnaissance vocaux sont utilisés pour d'une part générer (éventuellement à la volée), au moins une empreinte vocale d'un locuteur. Celle-ci est par la suite utilisée par le système lors de différentes tâches, et notamment lors de la séparation de plusieurs locuteurs dans une même conversation.
En deuxième lieu, il s'agit de la reconnaissance vocale, dont l'objet est de permettre une reconnaissance des paroles prononcées par des locuteurs, afin par exemple, d'effectuer une transcription écrite de leurs de leur discours. Pour effectuer une telle reconnaissance, les techniques mises en œuvre sont classiques, à l'exception d'un algorithme de sélection adapté pour les besoins de la présente technique, algorithme, qui comme cela est présenté par la suite, permet non seulement d'utiliser des résultats de reconnaissances issus du ou des moteurs de reconnaissance, mais également d'autres paramètres.
La base de données d'identification de locuteurs (DBU) comprend notamment des informations relatives aux différents locuteurs qui sont enregistrés dans le système ; plus particulièrement, cette base de données comprend au moins une empreinte vocale unique, issue de chaque locuteur, qui permet d'identifier celui-ci, parmi tous les locuteurs enregistrés. Cette empreinte vocale unique est générée soit à l'issue d'une phase d'inscription (volontaire) du locuteur auprès du système, soit lors de l'utilisation du système par un locuteur non enregistré (par exemple lors d'une conférence comprenant plusieurs locuteurs, dont certains ou tous, ne sont pas enregistré) ou les deux. L'objet de cette base de données est notamment de permettre une différenciation des locuteurs afin d'améliorer la reconnaissance vocale de chacun de ces locuteurs. La base de données a également pour objet le traitement, le regroupement, la classification des différents flux audio attribués à l'utilisateur. En effet, on ne se contente pas de transcrire sous forme de texte, les paroles prononcées par les locuteurs : ces paroles, dialogues échanges sont également conservés dans l'objectif de pouvoir être réutilisés par la suite, par exemple pour effectuer une deuxième reconnaissance vocale, qui pourrait être de meilleure qualité, ou à des fins d'analyse statistique et de comparaison.
Ainsi, l'empreinte vocale unique qui est enregistrée dans le système pour un locuteur donné peut être obtenue d'au moins deux manières différentes.
Une première façon d'obtenir une empreinte vocale unique consiste à s'enregistrer manuellement auprès du système. Cet enregistrement manuel comprend par exemple une création d'un compte locuteur (utilisateur) dans le système, par l'intermédiaire d'un service web. La création de ce compte s'accompagne de la fourniture, par le locuteur, d'un ensemble de données vocales. Cet ensemble de données vocale peut soit être obtenu directement par la lecture d'une ou plusieurs phrases prédéterminées au moment de l'enregistrement. Afin de permettre un enregistrement simple et peu consommateur de temps, le nombre de phrases à lire est volontairement réduit (une dizaine de phrases au maximum). Une autre possibilité, lors de l'enregistrement manuel consiste à télécharger un fichier sonore que le locuteur a préenregistré en lisant un certain nombre de phrases (comme dans l'enregistrement direct en ligne). Ce type d'enregistrement au service permet d'une part, comme indiqué précédemment, de générer une empreinte unique pour le locuteur, cette empreinte étant par la suite utilisée pour identifier le locuteur ; l'enregistrement permet également, d'autre part, d'entraîner un ou plusieurs système de reconnaissance, à reconnaître la voix du locuteur.
Dans un mode de réalisation spécifique, le service en ligne dispose d'une pluralité de moteurs de reconnaissance vocale (d'éditeurs différents). Le flux vocal (en direct ou préenregistré) qui est fourni au système lors de l'enregistrement du locuteur est automatiquement transmis à ces moteurs de reconnaissance vocale, lesquels effectuent, de manière indépendante, des apprentissages de la voix du locuteur, sur la base des phrases lues par le locuteur. Ce mode de réalisation, dans lequel plusieurs moteurs de reconnaissance vocale sont utilisés, est particulièrement adapté dans la mesure où il permet de bénéficier de plusieurs technologies de reconnaissance différentes. Les modules utilisés sont des modules du commerce, fournissant chacun une interface ouverte (API) permettant d'échanger des données avec le système.
5.2. Identification et reconnaissance vocale
Un élément clé du système de l'invention réside dans la capacité du système à séparer les locuteurs puis à reconnaître les mots et phrases prononcés par ces locuteurs. L'identification du locuteur est mise en œuvre par l'intermédiaire d'une ou plusieurs empreintes vocales de ce locuteur, qui ont été préenregistrées (dans une phase préalable). Les empreintes vocales sont obtenues par l'intermédiaire de techniques connues et ne nécessitent pas de description complémentaire.
La reconnaissance vocale est quant à elle mise en œuvre par l'intermédiaire d'un ou plusieurs moteurs de reconnaissance vocale qui délivre(nt), en fonction d'un flux d'entrée, des résultats de reconnaissance auquel le moteur de traitement de locuteur (MTrtUsrs) accède. Ainsi, par exemple, pour la reconnaissance d'un mot (ou d'une phrase) prononcé(e) par un locuteur, chaque module de reconnaissance est appelé par l'intermédiaire de son interface (API). Chacun fournit, en sortie, le mot (ou la phrase), reconnu(e), ainsi qu'une éventuelle probabilité de succès de la reconnaissance, qui est ensuite utilisé par le système pour déterminer et sélectionner le résultat le plus probable, en fonction notamment d'autres paramètres et obtenir un score de véracité qui, lorsqu'il excède un seuil déterminé, est considéré comme le résultat de la transcription.
Les paramètres de sélection sont par exemple :
le nombre d'occurrences d'un mot ou d'un terme au cours de la conversation, de l'échange : si un terme a déjà été prononcé par le locuteur, la probabilité d'occurrence de ce terme est augmenté pour le reste de la conversation ;
le nombre d'occurrences d'un mot ou d'un terme au cours de la conversation, de l'échange : si un terme a déjà été prononcé par un autre locuteur, la probabilité d'occurrence de ce terme est augmenté pour le reste de la conversation ; le nombre d'occurrences d'un mot ou d'un terme au cours d'une conversation ou d'un échange archivé : si un terme a déjà été prononcé par le locuteur, par le passé, la probabilité d'occurrence de ce terme est augmenté pour le reste de la conversation ; le nombre de modules de reconnaissance qui délivrent un résultat identique (lorsque plusieurs modules sont utilisés) ;
En d'autres termes, plutôt que de se baser sur uniquement sur les résultats fournis par le(s) moteurs de reconnaissance vocale utilisés par le système, le moteur de traitement de locuteur utilise des données passées, que ce soit des données passées de la conversation ou de l'échange courant ou des données passées de conversations, d'échange ou d'enregistrements précédents, qui ont été conservés et archivés, dans la base de données de locuteurs. On présente, en relation avec la figure 2, un procédé de traitement de données vocales mis en œuvre par le présent système. Un tel procédé comprend :
une phase d'obtention (P10), pour chaque locuteur, d'une empreinte vocale individuelle ; la manière d'obtenir cette empreinte est décrite infra et supra dans des exemples de mise en œuvre ;
une phase de traitement (P20) d'au moins un flux audio issu d'un échange verbal entre les locuteurs comprenant au moins une itération des étapes suivantes :
enregistrement (P201), sous la forme d'au moins un flux audio principal dudit échange verbal ;
- identification (P202), à l'aide de l'empreinte vocale individuelle, d'un locuteur courant, parmi la pluralité de locuteur ;
lorsqu'aucun flux audio n'existe pour le locuteur courant (P203), création (P204) d'un flux audio propre au locuteur courant ;
marquage temporel (P205), dans ledit au moins un flux audio principal et dans ledit flux audio propre, en utilisant une donnée représentative dudit locuteur courant ; cette donnée représentative du locuteur courant peut avantageusement être un hasché de l'empreinte vocale du locuteur courant ; Ce procédé permet, pour un échange ou une conversation donnée, d'enregistrer, de manière séparée, les différents flux issus des différents locuteurs. Ils sont marqués temporellement, afin de pouvoir segmenter les échanges et permettre une individualisation de la prise de parole lors des échanges. Un mode de réalisation de l'identification du locuteur est présenté infra.
À l'aide des flux audio, phase de reconnaissance est mise en œuvre. En fonction des modes de réalisation elle est mise en œuvre en temps réel ou en différé. Cette phase de reconnaissance comprend au moins une itération des étapes suivantes :
transmission, à au moins un moteur de reconnaissance vocal, d'au moins une portion d'un flux audio propre (à un locuteur courant) ;
obtention, à partir dudit au moins un moteur de reconnaissance vocal, d'au moins un résultat de reconnaissance, prenant la forme d'au moins un mot reconnu ;
détermination d'un score de véracité dudit au moins un mot reconnu en fonction d'au moins un précédent résultat de reconnaissance ;
lorsque ledit score de véracité excède un seuil déterminé, ajout dudit mot reconnu à une structure de donnée de reconnaissance.
La détermination du score de véracité est mise en œuvre en fonction des différents modes de réalisation et notamment de la présence (ou non) de plusieurs moteurs de reconnaissance et de la présence (ou non) d'une probabilité de reconnaissance (fournie par le(s) moteur(s) de reconnaissance et de la disponibilité de résultats de transcription antérieurs. 5.3. Identification vocale d'un locuteur
On décrit ci-après l'identification vocale d'un locuteur, mise en œuvre par le moteur de traitement de locuteur (MTrtUsrs). L'identification vocale d'un locuteur est mise en œuvre par l'intermédiaire d'une pluralité de matrice d'énergie. Ces matrices d'énergie sont enregistrées dans la base de données d'identification de locuteurs (DBU), soit en étant directement associées à un utilisateur qui est enregistré au sein du système, soit en étant associées à un utilisateur non enregistré (utilisateur temporaire), qui est par exemple identifié durant une réunion ou durant un échange verbal. Comme explicité plus haut, lors de la mise en œuvre du système, on fait le tri entre les utilisateurs enregistrés et les utilisateurs non enregistrés (inconnu du système). Les matrices d'énergies sont créées d'une part pour enregistrer l'utilisateur et d'autre part pour reconnaître l'utilisateur lorsqu'il parle.
Enregistrement préalable du locuteur
Le principe d'identification des utilisateurs consiste à créer, à partir du flot de parole d'un locuteur, une ou plusieurs matrices d'énergie associées à ce locuteur. Supposons, à titre illustratif, nous disposons de plusieurs échantillons ou fichiers audio contenant le mot "la", à chaque fois prononcé par un même utilisateur (par exemple un utilisateur en cours d'enregistrement). Ces fichiers ou échantillon sont dans le domaine temporel. Pour l'analyse (et la classification) de ces signaux, une transformée de Fourier à court terme (TFCT) est utilisée. L'avantage de la TFCT est de pouvoir représenter les informations de domaine fréquentiel dans le domaine temporel.
Le choix du pas de temps de la TFCT est complexe. Si le pas de temps est trop faible, le nombre d'échantillons ne suffit pas, donc, les résultats de la transformée de Fourier ne sont pas fiables. Si le pas de temps est trop grand, certaines informations sont manquantes dans le domaine temporel. Pour cette raison, le pas de temps est choisi comme 40 ms.
À l'aide de la TFCT, la matrice d'énergie est calculée comme représentée dans la figure 3. Dans cette représentation illustrative, on dispose de dix fois le mot 'la', c'est-à-dire que l'utilisateur a prononcé dix fois le mot 'la' avec une intonation plus ou moins différente. Pour chacune de ces matrices, l'abscisse représente le temps, l'unité est la seconde. L'ordonnée représente la fréquence, l'unité est le Hertz (Hz). Le pas de temps est de 40 ms. Le pas de fréquence est de 50 Hz. Comme la plupart de l'énergie se trouve distribuée dans les fréquences entre 0 et 1000 Hz, la bande de fréquences est comprise entre 0 et 1000 Hz.
Après l'analyse de la TFCT, pour chaque mot, on obtient une matrice d'énergie. Nous avons choisi comme matrice d'énergie une matrice avec 24 lignes de bande de fréquence et 8 colonnes correspondent au temps. Pour comparer ces matrices, on normalise ces matrices d'énergie. La value maximale est fixée à 100.
Dans l'exemple de la figure 3, on dispose de dix matrices d'énergies. Chaque matrice dispose de 24 lignes pour le pas de la fréquence et de 8 colonnes pour le pas de temps. Ces matrices sont enregistrées dans la base de données d'identification de locuteurs (DBU), en lien avec l'utilisateur donné (qu'il soit enregistré ou non). Chaque matrice peut être enregistrée avec un nombre relativement faible de données : un octet suffit pour chaque valeur de la matrice (valeur normalisée à 100), soit au maximum 24x8=192 octets par matrice (sans optimisation), auxquels il est possible d'appliquer un algorithme de compression.
Dans un mode de réalisation particulier de la présente technique, l'empreinte vocale d'un locuteur est construite à partir d'une pluralité de matrice énergies, se rapportant à un ou plusieurs mots prononcés par le locuteur. D'autres éléments que les matrices énergies peuvent également être intégrés et/ou utiliser pour générer l'empreinte vocale d'un locuteur.
Reconnaissance du locuteur
On suppose que l'on dispose, dans la dans la base de données d'identification de locuteurs (DBU), d'une pluralité de matrices d'énergie associées à un utilisateur, et que cet utilisateur est en cours de discussion et enregistré par le système. Pour reconnaître cet utilisateur, le système sa base sur les matrices issue des mots prononcés par l'utilisateur. Dans une première phase, on suppose qu'un certain nombre de mots ont été reconnus par le système et que l'on dispose d'un échantillon audio pour ces mots reconnus. À titre illustratif, on suppose qu'un des mots reconnus est le mot « la ». Le système dispose déjà de matrices d'énergies issues de la prononciation de ce mot « la » (comme explicité précédemment).
Dans une deuxième phase, le système recherche donc les matrices correspondants au mot « la » qui ont été précédemment générées. Cette recherche est effectuée pour tous les utilisateurs « potentiels » (c'est-à-dire une liste d'utilisateurs possible, compte tenu des circonstances de l'enregistrement) : si par exemple l'enregistrement concerne quatre utilisateurs enregistrés dans le système, la recherche des matrices est effectuée sur ces quatre utilisateurs afin de raccourcir les délais de traitement.
Sur la base des matrices d'énergies obtenues à l'issue de la recherche, l'identification de l'utilisateur est mise en œuvre en utilisant une corrélation de Pearson pour comparer ces matrices d'énergies. Plus précisément, on utilise le coefficient de corrélation de Pearson pour comparer les matrices d'énergies. Ce coefficient est calculé comme représenté dans l'équation suivante :
Figure imgf000016_0001
dans laquelle :
- X {xl,... xn} est une matrice présente dans la base de donnée, que l'on va comparer ;
Y {yl,... yn} est la matrice à comparer, soit la matrice courante :
N est le nombre de valeurs dans les matrices.
La valeur « r » est comprise entre 0 et 1. Si /r/ < 0,4 les deux matrices ont une faible corrélation. Lorsque 0,4 =< \r\ < 0,7 les deux matrices ont une corrélation moyenne. Lorsque 0, 7 < Irl <= 1, les deux matrices ont une corrélation beaucoup plus forte : ce dernier cas est considéré dans le cadre de la présente.
Ainsi en utilisant la valeur du coefficient de corrélation de Pearson, avec un seuil prédéterminé égal à 0,7 (ou proche de 0,7), on décide de la similarité de deux matrices. L'identification du locuteur est effectuée sur les calculs de corrélation dont le résultat est le plus élevés (parmi les résultats supérieurs au seuil prédéterminé).
On présente, en relation avec la figure 4, le procédé mise en œuvre pour réaliser une identification de locuteur. Le procédé mis en œuvre comprend une étape de découpage (non représentée) des données audio, en fonction d'au moins un modèle de pause, délivrant un ensemble de données audio segmentées. Le procédé est mis en œuvre sur la base des données segmentées et il comprend, pour au moins donnée audio courante dudit ensemble de données audio segmentées :
au moins une étape de reconnaissance vocale (10) de ladite donnée audio courante, mise en œuvre par l'intermédiaire d'au moins un moteur de reconnaissance vocale, délivrant au moins un mot reconnu ou un indicateur d'absence de reconnaissance ; lorsqu'au moins un moteur de reconnaissance vocale délivre au moins un mot reconnu
(20) :
une étape de recherche (201), au sein d'une basse de données, d'au moins un mot de référence correspondant audit au moins un mot reconnu, délivrant au moins une donnée d'identification vocale de référence ;
une étape d'obtention (202), à partir de ladite donnée audio courante, d'une donnée d'identification vocale courante ;
une étape de calcul (203) d'au moins une correspondance entre ladite donnée d'identification vocale courante et ladite au moins une donnée d'identification vocale de référence, délivrant au moins un score de correspondance ; et lorsqu'un score de correspondance excède un seuil prédéterminé (205), une étape d'attribution (206) de ladite donnée audio courante à l'un desdits au moins deux interlocuteurs.
Ainsi, ce procédé permet de réaliser une distinction entre les différents locuteurs qui interviennent lors de l'échange vocal. Comme cela a été indiqué précédemment, ce procédé d'identification peut avantageusement être couplé à d'autres méthodes d'identification (notamment la spatialisation sonore), afin notamment de produire des résultats plus probant et/ou d'obtenir ces résultats de manière plus rapide.
5.4. Description d'un cas d'usage
On décrit, dans ce cas d'usage, une mise en œuvre du système pour la reconnaissance et la retranscription des minutes d'une conférence de type conférence téléphonique à laquelle participe une pluralité de locuteurs, certains d'entre eux étant situés dans une même pièce, autour d'un dispositif de type pieuvre de conférence (par exemple deux locuteurs) et un troisième participant à distance par l'intermédiaire d'un combiné téléphonique, d'un ordinateur, etc. Une conférence est mise en œuvre et traitée au moins de manière indirecte par le système. Une conférence débute, pour le système, par une phase d'enregistrement d'une empreinte vocale de chacun des participants à la conférence. Cette phase comprend plusieurs étapes, parmi lesquelles :
une étape de transmission, à chaque locuteur participant à la conférence, d'une requête pour l'énonciation, par ce locuteur, de son nom et/ou de son prénom ; la requête prend par exemple la forme d'un message du type « vous entrez en conférence, veuillez prononcer vos noms et prénoms » :
lorsque le locuteur participe à la conférence par téléphone, la phase d'enregistrement de l'empreinte est mise en œuvre au niveau de cette ligne téléphonique ;
lorsque le locuteur participe à la conférence depuis un ordinateur, la phase d'enregistrement est mise en œuvre par l'intermédiaire de celui-ci, soit en local, sur l'ordinateur, soit sur le système, par transmission du flux audio résultant de l'énonciation ;
lorsque le locuteur participe depuis une salle de conférence, le procédé mis en œuvre est le suivant :
le système requiert l'énoncé du nombre de participant autour de la table par une phrase du type « veuillez indiquer combien de participant se trouvent autour de la table »
une fois le nombre de participants obtenu (soit par saisie sur un clavier, soit par énoncée vocale), et pour chacun des participants, le système requiert, pour chacun, l'énoncée du nom et/ou du prénom de celui-ci ; de plus, le système met en œuvre un algorithme de localisation permettant, en fonction de l'énoncée réalisée, d'obtenir une localisation spatiale du locuteur ;
pour chaque locuteur, s'en suit une étape de calcul d'une empreinte vocale sur la base de l'énonciation précédente ; plusieurs cas sont possibles :
soit le locuteur est inconnu du système : l'empreinte calculée est alors utilisée durant la conférence ;
soit le locuteur est connu du système (car il s'est enregistré précédemment) : en ce cas l'énoncée de son nom et/ou prénom (et la reconnaissance qui en est faite) est utilisée pour rechercher l'empreinte préenregistrée de le locuteur ; ceci permet d'utiliser l'une ou l'autre de ces empreintes pour la reconnaissance du locuteur ;
La conférence se poursuit, pour le système, par l'enregistrement automatique et la reconnaissance des participants à la conférence. À nouveau, plusieurs cas de figure se présentent :
lorsque le locuteur participe via téléphone, le flux audio issu du micro de ce téléphone est enregistré en continu et peut être décodé (éventuellement en continu également) ; l'empreinte du locuteur est utilisée pour attribuer ce flux au locuteur en question ; lorsque le locuteur participe via un ordinateur (ou une tablette, une connexion IP d'un smartphone), le processus est le même que pour une connexion téléphonique ;
lorsque le locuteur participe autour d'une table de conférence, plusieurs procédés sont mise en œuvre de manière concomitante :
a. une reconnaissance de l'empreinte du locuteur à l'aide de l'empreinte préenregistrée : cette reconnaissance tient également compte de la spatialisation du son capté par le ou les micros ;
b. un enregistrement du flux audio issu de la conférence (tous les locuteurs confondus) ;
c. un enregistrement du flux audio issu de la conférence par locuteur :
par exemple si deux locuteurs sont autour de la table pour la conférence, deux flux audio distincts sont enregistrés et les portions audio sont distribuées sur les deux flux en fonction de la reconnaissance de l'empreinte de du locuteur ;
D'un point de vue général, le système de l'invention intervient en deux temps :
il reconnaît les locuteurs en temps réel lors de la tenue de la conférence : l'identification est effectuée en temps réel sur la base des empreintes précédemment calculées ; il s'agit de créer les flux audio de chaque locuteur et de marquer (temporellement) les flux pour déterminer les instants auxquels les différents locuteurs ont pris la parole ; on met alors en œuvre une synchronisation temporelle des flux audio qui permet notamment d'attribuer un ensemble de sons captés à un utilisateur donné ;
il reconnaît les paroles prononcées par chacun des locuteurs : cette phase de reconnaissance peut soit être mise en œuvre en temps réel, pour effectuer par exemple une transcription en temps réel de la conférence (par exemple à destination de personnes ayant perdues l'audition) ou en temps différé ; l'avantage du temps réel est de disposer, pour les participants, d'une trace immédiate des échanges verbaux ; l'inconvénient est que cela nécessite des ressources informatiques importantes, et que les risques d'erreurs sont plus élevés ; l'avantage du temps différé est qu'il nécessite moins de ressources informatiques, car les flux peuvent être traités les uns après les autres ;
D'un point de vue général, le système de l'invention effectue soit un traitement direct e la conférence soit un traitement indirect de celle-ci. La distinction entre traitement direct et idirect de la conférence est la suivante :
en traitement direct, le système est en charge du multiplexage de la conférence, c'est- à-dire de monter les éventuels ponts téléphoniques avec les différents interlocuteurs (lorsqu'il y a une conférence téléphonique), en plus de l'enregistrement et du traitement des flux audio ;
en traitement indirect, le système est en charge de l'enregistrement et du traitement des flux audio, comprenant notamment l'identification et le traitement de la parole des interlocuteurs : il enregistre les éventuels flux téléphoniques et les flux en provenance du ou des micros de la salle dans laquelle se tient la conférence.

Claims

REVENDICATIONS
Procédé de traitement de données audio, lesdites données audio étant issues d'un échange vocal entre au moins deux locuteurs, ledit procédé comprenant une phase de traitement (P20) des données audio comprenant une étape d'identification de locuteur (P202) laquelle comprend une étape de découpage desdites données audio, en fonction d'au moins u n modèle de pause, délivrant un ensemble de données audio segmentées, ledit procédé étant caractérisé en ce qu'il comprend, pour au moins donnée audio courante dudit ensemble de données audio segmentées :
au moins une étape de reconnaissance vocale (10) de ladite donnée audio courante, mise en œuvre par l'intermédiaire d'au moins un moteur de reconnaissance vocale, délivrant au moins un mot reconnu ou un indicateur d'absence de reconnaissance ; lorsqu'au moins un moteur de reconnaissance vocale délivre au moins un mot reconnu (20) :
une étape de recherche (201), au sein d'une basse de données, d'au moins un mot de référence correspondant audit au moins u n mot reconnu, délivrant au moins une donnée d'identification vocale de référence ;
une étape d'obtention (202), à partir de ladite donnée aud io courante, d'une donnée d'identification vocale courante ;
une étape de calcul (203) d'au moins une correspondance entre ladite donnée d'identification vocale courante et ladite au moins une donnée d'identification vocale de référence, délivrant au moins un score de correspondance ; et lorsqu'un score de correspondance excède un seuil prédéterminé (205), une étape d'attribution (206) de ladite donnée audio courante à l'un desdits au moins deux interlocuteurs.
Procédé selon la revendication 1, caractérisé en ce que l'étape d'obtention (202), à partir de ladite donnée audio courante, d'une donnée d'identification vocale courante comprend :
une étape d'application, sur ladite donnée audio courante, laquelle prend la forme d'un signal audio x(t) monodimensionnel, d'une transformée de Fourier à court terme (TFCT), délivrant une matrice X, dite matrice d'énergie, de taille mxn, m canaux fréquentiels et n trames temporelles et dont l'échelle de fréquence est comprise entre O et 1kHz ;
une étape de normalisation des valeurs de ladite matrice X, délivrant une matrice normalisée laquelle constitue la donnée d'identification vocale courante.
Procédé selon la revendication 2, caractérisé en ce que l'application de ladite transformée de fourrier à court terme sur ledit signal audio x(t) mono dimensionnel est effectué à un pas de temps de 40 ms.
Procédé selon la revendication 2, caractérisé en ce que les valeurs des éléments de la matrice normalisée sont comprises entre 0 et 100.
Procédé selon la revendication 2, caractérisé en ce que ladite au moins une donnée d'identification vocale de référence se présente également sou la forme d'une matrice d'énergie normalisée, préalablement enregistrée au sein de ladite base de données. Procédé selon la revendication 1, caractérisé en ce que l'étape de calcul (203) d'au moins une correspondance, délivrant le score de correspondance, comprend une étape de détermination d'une valeur de corrélation de Pearson de la donnée d'identification vocale courante et de ladite au moins une donnée d'identification vocale de référence.
Procédé selon la revendication 1, caractérisé en ce qu'il comprend, préalablement à ladite phase de traitement (20), une phase d'obtention (P10), pour chacun desdits au moins deux locuteurs, d'une empreinte vocale individuelle comprenant lesdites données d'identification vocale de référence.
Procédé selon la revendication 1, caractérisé en ce que ladite phase de traitement comprend en outre les étapes suivantes :
enregistrement (P201), sous la forme d'au moins un flux audio principal dudit échange verbal ;
lorsqu'aucun flux audio n'existe pour le locuteur courant (P203), création (P204) d'un flux audio propre au locuteur courant ;
marquage temporel (P205), dans ledit au moins un flux audio principal et dans ledit flux audio propre, en utilisant une donnée représentative dudit locuteur courant. Système de traitement (SystTt) traitement de données audio, lesdites données audio étant issues d'un échange vocal entre au moins deux locuteurs, ledit système comprenant un moteur de traitement de locuteur (MTrtUsrs), qui comprend des moyens d'identification de locuteur comprenant des moyens de découpage desdites données audio, en fonction d'au moins un modèle de pause, délivrant un ensemble de données audio segmentées, ledit système étant caractérisé en ce qu'il comprend, pour au moins donnée audio courante dudit ensemble de données audio segmentées : des moyens de reconnaissance vocale de ladite donnée audio courante, mise en œuvre par l'intermédiaire d'au moins un moteur de reconnaissance vocale, délivrant au moins un mot reconnu ou un indicateur d'absence de reconnaissance ;
des moyens de recherche, au sein d'une basse de données, d'au moins un mot de référence correspondant audit au moins un mot reconnu, délivrant au moins une donnée d'identification vocale de référence ;
des moyens d'obtention à partir de ladite donnée audio courante, d'une donnée d'identification vocale courante ;
des moyens de calcul d'au moins une correspondance entre ladite donnée d'identification vocale courante et ladite au moins une donnée d'identification vocale de référence, délivrant au moins un score de correspondance ; et des moyens d'attribution (206) de ladite donnée audio courante à l'un desdits au moins deux interlocuteurs, mis en œuvre lorsqu'un score de correspondance excède un seuil prédéterminé.
Produit programme d'ordinateur téléchargeable depuis un réseau de communication et/ou stocké sur un support lisible par ordinateur et/ou exécutable par un microprocesseur, caractérisé en ce qu'il comprend des instructions de code de programme pour l'exécution d'un procédé de traitement selon la revendication 1 à 8, lorsqu'il est exécuté sur un processeur.
PCT/EP2017/077373 2016-10-28 2017-10-25 Procédé de traitement de données audio issues d'un échange vocal, système et programme d'ordinateur correspondant Ceased WO2018077987A1 (fr)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR1660550 2016-10-28
FR1660550A FR3058253B1 (fr) 2016-10-28 2016-10-28 Procede de traitement de donnees audio issues d'un echange vocal, systeme et programme d'ordinateur correspondant.

Publications (1)

Publication Number Publication Date
WO2018077987A1 true WO2018077987A1 (fr) 2018-05-03

Family

ID=57750237

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2017/077373 Ceased WO2018077987A1 (fr) 2016-10-28 2017-10-25 Procédé de traitement de données audio issues d'un échange vocal, système et programme d'ordinateur correspondant

Country Status (2)

Country Link
FR (1) FR3058253B1 (fr)
WO (1) WO2018077987A1 (fr)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110491370A (zh) * 2019-07-15 2019-11-22 北京大米科技有限公司 一种语音流识别方法、装置、存储介质及服务器

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6081782A (en) * 1993-12-29 2000-06-27 Lucent Technologies Inc. Voice command control and verification system
US20160217792A1 (en) * 2015-01-26 2016-07-28 Verint Systems Ltd. Word-level blind diarization of recorded calls with arbitrary number of speakers

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6081782A (en) * 1993-12-29 2000-06-27 Lucent Technologies Inc. Voice command control and verification system
US20160217792A1 (en) * 2015-01-26 2016-07-28 Verint Systems Ltd. Word-level blind diarization of recorded calls with arbitrary number of speakers

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
GERALDINE DAMNATI ET AL: "Robust speaker turn role labeling of TV Broadcast News shows", 2011 IEEE INTERNATIONAL CONFERENCE ON ACOUSTICS, SPEECH AND SIGNAL PROCESSING : (ICASSP 2011) ; PRAGUE, CZECH REPUBLIC, 22 - 27 MAY 2011, IEEE, PISCATAWAY, NJ, 22 May 2011 (2011-05-22), pages 5684 - 5687, XP032001975, ISBN: 978-1-4577-0538-0, DOI: 10.1109/ICASSP.2011.5947650 *
HAN K J ET AL: "Forensically inspired approaches to automatic speaker recognition", 2011 IEEE INTERNATIONAL CONFERENCE ON ACOUSTICS, SPEECH AND SIGNAL PROCESSING : (ICASSP 2011) ; PRAGUE, CZECH REPUBLIC, 22 - 27 MAY 2011, IEEE, PISCATAWAY, NJ, 22 May 2011 (2011-05-22), pages 5160 - 5163, XP032001844, ISBN: 978-1-4577-0538-0, DOI: 10.1109/ICASSP.2011.5947519 *
KOFI BOAKYE ET AL: "Text-Constrained Speaker Recognition on a Text-Independent Task", ODYSSEY04 -- THE SPEAKER AND LANGUAGE RECOGNITION WORKSHOP, 31 March 2004 (2004-03-31), XP055391877, Retrieved from the Internet <URL:https://pdfs.semanticscholar.org/f3a5/db7a56fb6d43a77b4f1132a59ee83fffaab3.pdf> [retrieved on 20170718] *
TRIDIBESH DUTTA: "Text Dependent Speaker Identification Based on Spectrograms", PROCEEDINGS OF OF IMAGE AND VISION COMPUTING NEW ZEALAND 2007, 1 December 2007 (2007-12-01), pages 238 - 243, XP055391959 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110491370A (zh) * 2019-07-15 2019-11-22 北京大米科技有限公司 一种语音流识别方法、装置、存储介质及服务器

Also Published As

Publication number Publication date
FR3058253A1 (fr) 2018-05-04
FR3058253B1 (fr) 2019-07-12

Similar Documents

Publication Publication Date Title
US11894014B2 (en) Audio-visual speech separation
US10878824B2 (en) Speech-to-text generation using video-speech matching from a primary speaker
EP1362343B1 (fr) Procede, module, dispositif et serveur de reconnaissance vocale
Czyzewski et al. An audio-visual corpus for multimodal automatic speech recognition
US10771627B2 (en) Personalized support routing based on paralinguistic information
US7788095B2 (en) Method and apparatus for fast search in call-center monitoring
US8798255B2 (en) Methods and apparatus for deep interaction analysis
US9390725B2 (en) Systems and methods for noise reduction using speech recognition and speech synthesis
CN112804400A (zh) 客服呼叫语音质检方法、装置、电子设备及存储介质
US9058384B2 (en) System and method for identification of highly-variable vocalizations
US9311914B2 (en) Method and apparatus for enhanced phonetic indexing and search
US9711167B2 (en) System and method for real-time speaker segmentation of audio interactions
CN112148922A (zh) 会议记录方法、装置、数据处理设备及可读存储介质
CN113205793A (zh) 音频生成方法、装置、存储介质及电子设备
US20240428816A1 (en) Audio-visual hearing aid
WO2009071795A1 (fr) Systeme d&#39;interpretation simultanee automatique
CN109346057A (zh) 一种智能儿童玩具的语音处理系统
WO2024114303A1 (fr) Procédé et appareil de reconnaissance de phonèmes, dispositif électronique et support de stockage
EP4636761A1 (fr) Procédé et appareil de traitement de la parole, dispositif, support, et produit-programme
CN119719391A (zh) 一种结合计算机视觉的多模态智能客服交互方法及系统
Chakroun et al. Efficient text-independent speaker recognition with short utterances in both clean and uncontrolled environments
FR3058253B1 (fr) Procede de traitement de donnees audio issues d&#39;un echange vocal, systeme et programme d&#39;ordinateur correspondant.
CN114514576A (zh) 数据处理方法、装置和存储介质
US20250078574A1 (en) Automatic sign language interpreting
CN117763524A (zh) 目标用户确认方法、装置、电子设备和可读存储介质

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 17797270

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 17797270

Country of ref document: EP

Kind code of ref document: A1