System
The system addresses hybrid meeting audio challenges by collecting voice data, learning user profiles, and correcting audio to enhance speaker identification and transcript generation, ensuring clear and efficient communication.
Patent Information
- Application Number
- JP2024118164
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-07-23
- Publication Date
- 2026-02-04
AI Technical Summary
In hybrid meetings, it is difficult to hear audio from multiple speakers due to conventional automatic speech transcription functions' inability to identify speakers, and issues with audio quality from distant microphones hinder smooth progression and information sharing.
A system that collects voice data, extracts voice features, learns user profiles, identifies speakers in real-time, corrects audio by removing noise and adjusting volume, and generates transcripts categorized by speaker.
Improves audio intelligibility and enables efficient creation of meeting minutes by accurately identifying speakers and enhancing audio quality in hybrid conferences.
Smart Images

Figure 2026017382000001_ABST
Abstract
Description
[Technical Field]
[0001] The technology of the present disclosure relates to a system. [Background technology]
[0002] Patent document 1 discloses a persona chatbot control method performed by at least one processor, the method including the steps of receiving a user utterance, adding the user utterance to a prompt including an instruction sentence related to a description of the chatbot character, encoding the prompt, and inputting the encoded prompt into a language model to generate a chatbot utterance in response to the user utterance. [Prior art documents] [Patent documents]
[0003] [Patent Document 1] Japanese Patent Publication No. 2022-180282 Summary of the Invention [Problem to be solved by the invention]
[0004] In hybrid meetings, when multiple people participate from a conference room, it can be difficult to hear the audio. Conventional automatic speech transcription functions are unable to identify speakers, making it difficult to create minutes. Furthermore, it is difficult to hear the audio of speakers who are far from the microphone, making it difficult to smoothly progress the meeting and share information. [Means for solving the problem]
[0005] The present invention includes a means for collecting voice data, a means for extracting voice features from the collected voice data, and a means for learning a voice profile for each user using the extracted voice features. It also includes a means for registering conference schedule information and a means for creating a conference participant list based on the registered schedule information. It also includes a means for capturing voices during a conference in real time and identifying speakers, a means for correcting the voices of the identified speakers, and a means for classifying recognized text data by speaker and generating a transcript. This improves the intelligibility of voices in hybrid conferences and enables efficient creation of minutes.
[0006] "Audio data" refers to data in which audio signals such as conversations and speeches are recorded in digital format.
[0007] "Audio features" refer to numerical representations of audio characteristics, such as Mel-Frequency Cepstrum Coefficients (MFCC), pitch, and formants, extracted from audio data.
[0008] A "voice profile" is a set of data that learns and identifies the voice features of a specific user.
[0009] "Meeting schedule information" is planning information about a meeting, including the date and time of the meeting, participants, agenda, and so on.
[0010] A "conference participant list" is a list that includes the names and contact information of users who plan to participate in a conference.
[0011] "Audio correction" refers to the process of making the audio clearer by removing noise from collected audio data and adjusting the volume.
[0012] "Text data" is character information converted by speech recognition.
[0013] A "minutes" is a document that records what is said during a meeting.
[0014] "Real-time capture" refers to the instantaneous capture and processing of audio data generated during a meeting. [Brief explanation of the drawings]
[0015] [Figure 1] 1 is a conceptual diagram showing an example of the configuration of a data processing system according to a first embodiment. [Figure 2] 1 is a conceptual diagram showing an example of main functions of a data processing device and a smart device according to a first embodiment. [Figure 3] FIG. 10 is a conceptual diagram showing an example of the configuration of a data processing system according to a second embodiment. [Figure 4] FIG. 10 is a conceptual diagram showing an example of main functions of a data processing device and smart glasses according to a second embodiment. [Figure 5] FIG. 10 is a conceptual diagram showing an example of the configuration of a data processing system according to a third embodiment. [Figure 6] FIG. 11 is a conceptual diagram showing an example of main functions of a data processing device and a headset-type terminal according to a third embodiment. [Figure 7] FIG. 10 is a conceptual diagram showing an example of the configuration of a data processing system according to a fourth embodiment. [Figure 8] FIG. 10 is a conceptual diagram showing an example of main functions of a data processing device and a robot according to a fourth embodiment. [Figure 9] 1 shows an emotion map onto which multiple emotions are mapped. [Figure 10] 1 shows an emotion map onto which multiple emotions are mapped. [Figure 11] FIG. 3 is a sequence diagram showing a processing flow of the data processing system according to the first embodiment. [Figure 12] FIG. 10 is a sequence diagram showing the flow of processing in the data processing system in Application Example 1. [Figure 13] FIG. 10 is a sequence diagram showing the flow of processing in the data processing system according to the second embodiment when an emotion engine is combined. [Figure 14]FIG. 10 is a sequence diagram showing the flow of processing in the data processing system in Application Example 2 when an emotion engine is combined. DETAILED DESCRIPTION OF THE INVENTION
[0016] An example of an embodiment of a system according to the technology of the present disclosure will be described below with reference to the accompanying drawings.
[0017] First, the terms used in the following description will be explained.
[0018] In the following embodiments, a coded processor (hereinafter simply referred to as a "processor") may be a single arithmetic device or a combination of multiple arithmetic devices. Furthermore, a processor may be a single type of arithmetic device or a combination of multiple types of arithmetic devices. Examples of arithmetic devices include a CPU (Central Processing Unit), a GPU (Graphics Processing Unit), a GPGPU (General-Purpose computing on Graphics Processing Units), and an APU (Accelerated Processing Unit).
[0019] In the following embodiments, a coded RAM (Random Access Memory) is a memory in which information is temporarily stored and is used as a working memory by a processor.
[0020] In the following embodiments, the coded storage is one or more non-volatile storage devices that store various programs, various parameters, etc. Examples of non-volatile storage devices include flash memory (SSD (Solid State Drive)), magnetic disks (e.g., hard disks), and magnetic tapes.
[0021] In the following embodiments, a communication I / F (Interface) with a symbol is an interface including a communication processor, an antenna, etc. The communication I / F controls communication between multiple computers. Examples of communication standards applied to the communication I / F include wireless communication standards including 5G (5th Generation Mobile Communication System), Wi-Fi (registered trademark), Bluetooth (registered trademark), etc.
[0022] In the following embodiments, "A and / or B" is synonymous with "at least one of A and B." In other words, "A and / or B" means that it may be only A, only B, or a combination of A and B. Furthermore, in this specification, the same concept as "A and / or B" is also applied when three or more things are expressed connected by "and / or."
[0023] [First embodiment]
[0024] FIG. 1 shows an example of the configuration of a data processing system 10 according to the first embodiment.
[0025] 1, a data processing system 10 includes a data processing device 12 and a smart device 14. An example of the data processing device 12 is a server.
[0026] The data processing device 12 includes a computer 22, a database 24, and a communication I / F 26. The computer 22 is an example of a "computer" according to the technology of the present disclosure. The computer 22 includes a processor 28, a RAM 30, and a storage 32. The processor 28, the RAM 30, and the storage 32 are connected to a bus 34. The database 24 and the communication I / F 26 are also connected to the bus 34. The communication I / F 26 is connected to a network 54. Examples of the network 54 include a WAN (Wide Area Network) and / or a LAN (Local Area Network).
[0027] The smart device 14 includes a computer 36, a reception device 38, an output device 40, a camera 42, and a communication I / F 44. The computer 36 includes a processor 46, a RAM 48, and a storage 50. The processor 46, the RAM 48, and the storage 50 are connected to a bus 52. The reception device 38, the output device 40, and the camera 42 are also connected to the bus 52.
[0028] The reception device 38 includes a touch panel 38A, a microphone 38B, and the like, and receives user input. The touch panel 38A detects contact with an indicator (for example, a pen or a finger) to receive user input by the touch of the indicator. The microphone 38B detects the user's voice to receive user input by voice. The control unit 46A transmits data indicating the user input received by the touch panel 38A and the microphone 38B to the data processing device 12. In the data processing device 12, the specific processing unit 290 acquires the data indicating the user input.
[0029] The output device 40 includes a display 40A and a speaker 40B, and presents data to the user 20 by outputting the data in a form of expression that the user 20 can perceive (for example, audio and / or text). The display 40A displays visible information such as text and images in accordance with instructions from the processor 46. The speaker 40B outputs audio in accordance with instructions from the processor 46. The camera 42 is a compact digital camera equipped with an optical system including a lens, aperture, and shutter, and an imaging element such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor.
[0030] The communication I / F 44 is connected to a network 54. The communication I / Fs 44 and 26 control the exchange of various information between the processor 46 and the processor 28 via the network 54.
[0031] FIG. 2 shows an example of the main functions of the data processing device 12 and the smart device 14.
[0032] 2, in the data processing device 12, a specific process is performed by the processor 28. A specific processing program 56 is stored in the storage 32. The specific processing program 56 is an example of a "program" according to the technology of the present disclosure. The processor 28 reads the specific processing program 56 from the storage 32 and executes the read specific processing program 56 on the RAM 30. The specific process is realized by the processor 28 operating as a specific processing unit 290 in accordance with the specific processing program 56 executed on the RAM 30.
[0033] The storage 32 stores a data generation model 58 and an emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290.
[0034] In the smart device 14, the processor 46 performs the reception output process. The storage 50 stores a reception output program 60. The reception output program 60 is used in conjunction with the specific processing program 56 by the data processing system 10. The processor 46 reads the reception output program 60 from the storage 50 and executes the read reception output program 60 on the RAM 48. The reception output process is realized by the processor 46 operating as the control unit 46A in accordance with the reception output program 60 executed on the RAM 48.
[0035] Next, a description will be given of the specific processing performed by the specific processing unit 290 of the data processing device 12. In the following description, the data processing device 12 will be referred to as a "server" and the smart device 14 will be referred to as a "terminal."
[0036] The system of the present invention collects voice data in a hybrid conference, learns the voice characteristics of users, identifies speakers, and generates transcripts. The program processing of this system will be described in detail below.
[0037] Audio data collection and learning phase
[0038] The server automatically acquires and stores voice data from the conferencing system. For example, each time a user speaks, the voice data is sent to the server and stored. The server extracts voice features such as Mel-Frequency Cepstrum Coefficients (MFCC) and pitch from the collected voice data. The extracted voice features are used to learn a voice profile for each user. Specifically, a machine learning algorithm (e.g., a support vector machine or a deep neural network) is used to incorporate each user's voice features into a model, which is then saved as a profile.
[0039] Setting up and managing meetings
[0040] Users input the schedule and participant information for their next hybrid meeting. This information is sent to the server via their device and stored in a database. The server then creates a meeting participant list based on the meeting title, date, and participant list, and sends necessary reminders.
[0041] Speaker identification and voice correction during meetings
[0042] When a conference starts, the server captures voice data in real time from a microphone or other voice input device. The captured voice data is compared with a pre-trained voice profile to identify the speaker. For example, if user A speaks during a conference, the server extracts the voice features in real time, compares them with user A's voice profile, and identifies user A as the speaker.
[0043] After identifying the speaker, the server then corrects the audio data, for example by removing noise and adjusting the volume to make the voice clearer. This corrected audio is then streamed in real time to online participants, making it easier to hear.
[0044] Generate transcripts
[0045] After the meeting ends, the server sends the audio data collected during the meeting to a transcription engine and converts it into text data. This text data is classified by speaker and organized as a transcript. Specifically, the server tags each statement and saves the text data for each speaker separately. The saved text data is compiled into a transcript and converted into a PDF or Word document. The transcript is then sent to the relevant parties via email and uploaded to cloud storage.
[0046] For example, when a meeting is held with users A, B, and C, each speech is recognized and identified in real time, and clear audio data is generated with noise removal and volume adjustment. After the meeting, this audio data is automatically transcribed and a transcript is generated that is categorized by the speech of users A, B, and C. This transcript is shared with all parties involved and can be used for future reference.
[0047] The processing flow will be explained below.
[0048] Step 1:
[0049] The server automatically acquires and stores voice data from the conference system. Specifically, every time someone speaks during a conference, that voice data is sent to the server.
[0050] Step 2:
[0051] The server extracts speech features such as Mel-Frequency Cepstrum Coefficients (MFCC) and pitch from the collected speech data, which quantifies the characteristics of the speaker's speech.
[0052] Step 3:
[0053] The server uses the extracted voice features to learn a voice profile for each user. Specifically, it uses machine learning algorithms (e.g., support vector machines and deep neural networks) to build the voice profile.
[0054] Step 4:
[0055] Users enter schedules and participant information for their next hybrid meeting, which sends information such as the meeting title, date and time, and participant names and email addresses to the server.
[0056] Step 5:
[0057] The server creates a list of participants for the meeting based on the schedule information entered, stores the list in a database, and sends reminder emails before the meeting begins.
[0058] Step 6:
[0059] When a meeting starts, the server captures audio data in real time from microphones and other audio input devices installed in the meeting room, capturing each utterance in real time.
[0060] Step 7:
[0061] The server compares the captured voice data with a pre-trained voice profile. It extracts voice features and inputs them into a trained model to identify the speaker. In this step, if user A speaks, for example, the voice will match user A's voice profile and be identified.
[0062] Step 8:
[0063] After identifying the speaker, the server corrects the audio data, for example by removing noise and adjusting the volume to make the audio clearer, and the resulting clear audio is streamed in real time to online participants.
[0064] Step 9:
[0065] After the meeting, the server sends the collected audio data to a transcription engine and converts it into text, eliminating the need for manual transcription each time.
[0066] Step 10:
[0067] The server categorizes the transcribed text data by speaker, and stores each speaker's text data separately based on the tag information added to the audio data.
[0068] Step 11:
[0069] The server generates transcripts based on the classified text data, converts the transcripts into documents such as PDF and Word, and finally sends the transcripts to the relevant parties via email and uploads them to cloud storage.
[0070] By going through the above steps, the difficulty of hearing audio during hybrid meetings is eliminated, and accurate minutes are automatically generated for each speaker.
[0071] Example 1
[0072] Next, a description will be given of Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the smart device 14 will be referred to as a "terminal."
[0073] In hybrid conferences, there is a need to effectively collect and manage the speech of multiple participants, accurately identify speakers, and generate transcripts. Current conference systems are prone to recognition errors due to low audio quality, making it difficult to clearly distinguish the content of each speaker's speech. It is also difficult to identify speakers in real time and reflect their comments in transcripts. A system that can solve this problem is needed.
[0074] The specific processing by the specific processing unit 290 of the data processing device 12 in the first embodiment is realized by the following means.
[0075] In this invention, the server includes means for collecting voice data, means for extracting voice features from the collected voice data, means for learning a voice profile for each user using the extracted voice features, means for registering conference schedule information, means for creating a conference participant list based on the registered schedule information, means for capturing voices during the conference in real time and identifying speakers, means for correcting the voices of the identified speakers, means for sending the collected voice data to a transcription engine and converting it into text data, means for classifying the recognized text data by speaker and generating transcripts, and means for uploading the generated transcripts to cloud storage and sharing them with conference participants. This makes it possible to accurately identify speakers in real time, efficiently manage speech content, and generate high-quality transcripts.
[0076] "Audio data" refers to data in which audio is recorded in digital format.
[0077] "Audio features" are numerical values that indicate features such as frequency components and volume extracted from audio data.
[0078] A "voice profile" is data that is learned from a user's individual voice characteristics and stored as a model.
[0079] "Meeting schedule information" is information such as the date and time of the meeting, the title, and the list of participants.
[0080] The "conference participant list" is data showing a list of users who are scheduled to participate in the conference.
[0081] A "transcription engine" is software or a system for converting audio data into text data.
[0082] "Text data" is data recorded as character information.
[0083] A "transcript" is a document that organizes and classifies the content of comments made during a meeting by user.
[0084] "Cloud storage" is an online storage service for storing and managing data via the Internet.
[0085] The system of the present invention collects voice data in a hybrid conference, learns the voice characteristics of users, identifies speakers, and generates speech transcripts. A specific implementation method of this system will be described in detail below.
[0086] The server automatically acquires and stores audio data from the conference system. The hardware used is assumed to be ordinary server equipment (e.g., data center server, cloud server, etc.). First, each time a user speaks, the audio data is sent to the server. This acquired audio data is stored in a database. The server uses an audio processing library (e.g., librosa) to extract audio features such as Mel-Frequency Cepstrum Coefficients (MFCC) and pitch from the collected audio data. This allows the frequency and timing characteristics of the audio data to be analyzed.
[0087] The server then uses the extracted voice features to learn a voice profile for each user. This process uses machine learning algorithms such as support vector machines and deep neural networks (e.g., TensorFlow, PyTorch), and stores each user's voice features as a model.
[0088] A user enters scheduling information for an upcoming hybrid meeting. The user enters the information from their device using a web form or a meeting application, which is then sent to the server. This information includes the meeting title, date and time, and a list of participants. The server stores this information in a database, creates a meeting participant list, and sends reminders to participants.
[0089] When a conference starts, the server captures voice data in real time from microphones and other voice input devices. This voice data is compared with pre-trained voice profiles to identify the speaker. Specifically, if User A speaks at any moment during the conference, the server extracts the voice features in real time and compares them with User A's voice profile to identify User A as the speaker.
[0090] After identifying the speaker, the server applies noise reduction filters and automatic volume adjustment algorithms (e.g., SpectralGate) to enhance the audio data, removing background noise and adjusting the volume of the voices evenly. The enhanced audio data is then streamed in real time to online meeting participants.
[0091] After the meeting ends, the server sends the collected audio data to a transcription engine (e.g., Google Cloud Speech-to-Text, IBM Watson Speech to Text) and converts it into text data. The generated text data is classified by speaker and organized as a transcript. Specifically, each utterance is tagged with the speaker's name, and the text data is classified by speaker. The transcript is converted into a PDF or Word document and uploaded to cloud storage (e.g., Google Drive, Dropbox). The transcript is also sent to the relevant parties by email.
[0092] For example, here's how to schedule your next hybrid meeting:
[0093] Meeting title: Progress check of next project
[0094] Date and time: November 5, 2023 10:00 AM - 12:00 PM
[0095] Participant information:
[0096] User A: Yamada Ichiro
[0097] User B: Jiro Sato
[0098] User C: Saburo Suzuki
[0099] In this way, a system is realized that can accurately identify speakers in real time, efficiently manage speech content, and generate high-quality speech transcripts.
[0100] The flow of the identification process in the first embodiment will be described with reference to FIG.
[0101] System program processing steps
[0102] Step 1: Collecting audio data
[0103] The server collects audio data from the conference system in real time.
[0104] Input: The audio signal from your microphone or other audio input device during a meeting.
[0105] Data processing: The voice data is converted into a digital format and stored in a database on the server.
[0106] Output: Stored digital audio data.
[0107] Step 2: Extracting audio features
[0108] The server extracts speech features from the collected speech data.
[0109] Input: The digital audio data collected in step 1.
[0110] Data calculation: Use an open-source audio processing library (e.g., librosa) to calculate Mel-Frequency Cepstrum Coefficients (MFCCs), pitch, etc.
[0111] Output: Extracted speech features.
[0112] Step 3: Learning your voice profile
[0113] The server uses the extracted speech features to learn a speech profile for each user.
[0114] Input: Speech feature data extracted in step 2.
[0115] Data computation: Using support vector machines or deep neural networks (e.g., TensorFlow, PyTorch), we incorporate audio features into our models.
[0116] Output: A trained voice profile for each user.
[0117] Step 4: Registering meeting schedule information
[0118] A user enters scheduling information for an upcoming hybrid meeting.
[0119] Input: Meeting title, date and time, participant list.
[0120] Data processing: Information entered through the terminal is sent to the server and stored in a database.
[0121] Output: Saved meeting schedule information.
[0122] Step 5: Create a meeting participant list
[0123] The server creates a conference participant list based on the registered schedule information.
[0124] Input: Meeting schedule information registered in step 4.
[0125] Data calculation: Generate a list based on the meeting title, date and time, and participant information.
[0126] Output: The generated conference participant list.
[0127] Step 6: Real-time audio capture and speaker identification during meetings
[0128] The server captures the audio during the conference in real time and identifies the speaker.
[0129] Input: Real-time audio data during the meeting.
[0130] Data computation: Apply a matching algorithm to match the pre-trained voice profile and identify the speaker.
[0131] Output: Identified speaker information and audio data.
[0132] Step 7: Correcting the voice of the identified speaker
[0133] The server corrects the voice of the identified speaker.
[0134] Input: Audio data of the speakers identified in step 6.
[0135] Data processing: Noise removal, automatic volume adjustment, and application of audio correction algorithms (e.g., SpectralGate) to convert the audio into clearer audio.
[0136] Output: Corrected, clear audio data.
[0137] Step 8: Transcribe and classify audio data
[0138] The server sends the collected audio data to a transcription engine and converts it into text data.
[0139] Input: The audio data corrected in step 7.
[0140] Data processing: Convert to text using a transcription engine (e.g., Google Cloud Speech-to-Text, IBM Watson Speech to Text).
[0141] Output: The generated text data.
[0142] Step 9: Generate and share your transcript
[0143] The server classifies the recognized text data by speaker, generates a transcript, and uploads the transcript to cloud storage to share with conference participants.
[0144] Input: The text data generated in step 8.
[0145] Data processing: Tag and categorize each statement to efficiently organize the text data.
[0146] Output: PDF or Word document transcript, upload to cloud storage or email to participants.
[0147] (Application example 1)
[0148] Next, a description will be given of Application Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the smart device 14 will be referred to as a "terminal."
[0149] Conventional customer support systems have difficulty identifying customer voices in real time and providing appropriate service. Furthermore, noise removal from voice data was insufficient, making it difficult to provide clear voice service. Furthermore, there was a lack of a way to convert customer comments into text for later reference, making it difficult to provide effective customer support.
[0150] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 1 is realized by the following means.
[0151] In this invention, the server includes means for collecting voice data, means for extracting voice features from the collected voice data, means for learning a voice profile for each user using the extracted voice features, means for registering schedule information, means for creating a specific target list based on the registered schedule information, means for capturing voices from the targets in real time and identifying speakers, means for correcting the voices of the identified speakers, means for classifying recognized text data by speaker and generating records, means for identifying customer voices in real time and aiming to improve customer service and the customer experience, means for removing noise and adjusting volume to generate clear voice, and means for converting speech content into text for later reference. This makes it possible to identify customer voices in real time, provide appropriate services with clear voice, and convert speech content into text for later reference.
[0152] "Audio data" is data that represents audio in digital form.
[0153] A "speech feature" is a specific parameter extracted from a speech signal, and represents the characteristics of the speech.
[0154] A "voice profile" is a data set that statistically summarizes the voice features of a specific user.
[0155] "Schedule information" is information relating to specific dates and times or events.
[0156] A "specific target list" is a list of interested parties that is generated based on schedule information.
[0157] "Real time" refers to a state in which processing is carried out immediately without delay.
[0158] "Speaker" refers to the person speaking in the audio data.
[0159] "Correcting audio" means performing processes such as noise removal and volume adjustment on audio data.
[0160] "Recognized text data" is text information generated by analyzing voice data.
[0161] "Record" refers to the storage and classification of recognized text data.
[0162] Identifying "customer voice" means analyzing customer voice data and identifying individual customers.
[0163] "Noise reduction" is a process of removing unnecessary background sounds from audio data.
[0164] "Volume adjustment" is a process of appropriately changing the volume of audio data.
[0165] "Clear audio" refers to audio with little noise and that is easy to hear.
[0166] The system for implementing this invention is a customer support system using smart glasses. This system performs the following processes.
[0167] Generating a Program
[0168] The server collects voice data and extracts voice features from the collected data. These features include Mel-Frequency Cepstrum Coefficients (MFCC) and pitch. This is used to learn each user's voice profile. By registering meeting schedule information, a specific target list is created and specific events are managed based on that list.
[0169] Processing Description
[0170] The server collects real-time audio data from the microphone of the smart glasses using the pyaudio library, and converts the audio data into audio features (e.g., MFCCs) using the librosa library.
[0171] The converted voice features are then fed into a pre-trained model (e.g., a deep neural network model) and matched to the user's voice profile. This matching process identifies the customer's voice.
[0172] The collected audio data is then processed to remove noise and adjust the volume, which is an important step in generating clear audio data, which is then reported to support staff in real time.
[0173] The server then converts the recognized speech data into text data, which is then classified by speaker using a speech recognition library (e.g., some_speech_recognition_lib) and saved in a record for future reference.
[0174] Adding specific examples
[0175] For example, if a customer visits a store and asks, "Do you have this item in stock?", the microphone in the smart glasses will collect the voice. This voice data will be immediately sent to the server, where voice features will be extracted and classified. The customer's speech will be cleared by noise reduction and volume adjustment, and then transmitted to the support staff. At the same time, the speech will be converted into text and saved as a record for future reference.
[0176] Prompt Sentence Examples
[0177] An example of a prompt sentence to input to the generative AI model is as follows:
[0178] "Design an application for real-time customer service using smart glasses. I would like to build a system that collects voice data, learns the user's voice characteristics, and identifies the speaker. Specific program code would be helpful."
[0179] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[0180] Step 1: Collecting audio data
[0181] The server collects audio data in real time through the microphone of the smart glasses. The input is the audio signal obtained from the smart glasses, and the output is digital audio data. Specifically, the server uses the pyaudio library to buffer the audio signal and send it to the server as digital data.
[0182] Step 2: Preprocessing the audio data
[0183] The server removes noise from the collected audio data and adjusts the volume. The input is digital audio data, and the output is clear audio data that has been noise-removed and volume-adjusted. Specifically, it uses a filtering algorithm to remove unwanted background sounds and maintain a constant volume.
[0184] Step 3: Extract audio features
[0185] The server extracts speech features from the preprocessed speech data. The input is clear speech data, and the output is speech features (e.g., Mel-Frequency Cepstrum Coefficients (MFCCs)). Specifically, it uses the librosa library to analyze the speech data and calculate the features.
[0186] Step 4: Learning your voice profile
[0187] The server uses the extracted voice features to learn a voice profile for each user. The input is the voice features, and the output is the user's voice profile. Specifically, the server generates the profile using a machine learning algorithm (e.g., a deep neural network) and stores it in a database.
[0188] Step 5: Real-time customer voice identification
[0189] The server compares the voice data collected in real time with the voice profile to identify the customer. The input is real-time voice features, and the output is identified customer information. Specifically, the voice features are input into a model to identify the profile that best matches.
[0190] Step 6: Recognizing and converting audio data into text
[0191] The server converts the identified customer's voice data into text. The input is clear voice data and the output is text data. Specifically, it uses a voice recognition library to analyze the voice data and convert it into text data.
[0192] Step 7: Record and categorize what is said
[0193] The server categorizes the textual content of the comments by customer and saves it in a record. The input is text data, and the output is a record of the categorized content of the comments. Specifically, the server tags the text data based on customer information and saves it in a database.
[0194] The above steps make it possible to identify customer voices in real time, provide appropriate services with clear voice, and convert what is said into text for later reference.
[0195] Furthermore, an emotion engine that estimates the user's emotion may be combined. That is, the identification processing unit 290 may estimate the user's emotion using the emotion identification model 59 and perform identification processing using the user's emotion.
[0196] The system of the present invention collects voice data from hybrid conferences, identifies speakers by learning the voice characteristics of users, and combines it with an emotion engine that recognizes the user's emotions to add emotional information to the transcript and visually present the atmosphere of the conference. The program processing of this system is described in detail below.
[0197] Audio data collection and learning phase
[0198] The server automatically acquires and stores voice data from the conferencing system. For example, each time a user speaks, the voice data is sent to the server and stored. The server extracts voice features such as Mel-Frequency Cepstrum Coefficients (MFCC) and pitch from the collected voice data. The extracted voice features are used to learn a voice profile for each user. Specifically, a machine learning algorithm (e.g., support vector machine or deep neural network) is used to incorporate each user's voice features into a model, which is then saved as a profile.
[0199] Setting up and managing meetings
[0200] Users input the schedule and participant information for their next hybrid meeting. This information is sent to the server via their device and stored in a database. The server then creates a meeting participant list based on the meeting title, date, and participant list, and sends necessary reminders.
[0201] Speaker identification and voice correction during meetings
[0202] When a conference starts, the server captures voice data in real time from a microphone or other voice input device. The captured voice data is compared with a pre-trained voice profile to identify the speaker. For example, if user A speaks during a conference, the server extracts the voice features in real time, compares them with user A's voice profile, and identifies user A as the speaker.
[0203] After identifying the speaker, the server then corrects the audio data, for example by removing noise and adjusting the volume to make the voice clearer. This corrected audio is then streamed in real time to online participants, making it easier to hear.
[0204] Introducing the Emotion Engine
[0205] The server sends the captured voice data in real time to the emotion engine to recognize the user's emotions. The emotion engine analyzes the pitch, volume, speed, and tone of the voice data to identify the user's emotional state (e.g., joy, anger, sadness, surprise, etc.).
[0206] Generate transcripts
[0207] After the meeting ends, the server sends the audio data collected during the meeting to a transcription engine and converts it into text data. This text data is categorized by speaker and organized as a transcript. The server also adds emotional information recognized by the emotion engine to the text data and records the emotional state of each statement. The saved text data is compiled into a transcript and converted into a PDF or Word document. This transcript is sent to the relevant parties by email and also uploaded to cloud storage.
[0208] Specific examples
[0209] For example, in a meeting involving users A, B, and C, each speech is recognized and identified in real time, and clear audio data is generated with noise removal and volume adjustment. If user B expresses anger during speech, the emotion engine identifies that emotion and tags the transcript as "anger." After the meeting, this audio data is automatically transcribed, and a transcript is generated that categorizes each speech by user A, B, and C. The transcript also includes the emotional state of each speaker and is shared with all parties involved for future reference. The server can also visually analyze the overall emotional information and display the meeting atmosphere on an online dashboard.
[0210] The processing flow will be explained below.
[0211] Step 1:
[0212] The server automatically acquires and stores voice data from the conference system. Specifically, every time a user speaks during a conference, the voice data is sent to the server, which then stores it in storage.
[0213] Step 2:
[0214] The server extracts voice features such as Mel-Frequency Cepstrum Coefficients (MFCC) and pitch from the collected voice data. The extracted features represent the characteristics of the user's voice in numerical form.
[0215] Step 3:
[0216] The server uses the extracted voice features to learn a voice profile for each user. Specifically, it uses machine learning algorithms such as support vector machines and deep neural networks to incorporate each user's voice features into a model and saves this as a profile.
[0217] Step 4:
[0218] Users enter schedule and participant information for their next hybrid meeting. This information is sent to the server and stored in a database. The input includes the meeting title, date and time, and participant names and email addresses.
[0219] Step 5:
[0220] The server creates a meeting participant list based on the schedule information entered, stores the list in a database, and sends reminders before the meeting, including meeting details and how to join.
[0221] Step 6:
[0222] When a meeting starts, the server captures audio data in real time from microphones and other audio input devices installed in the meeting room, thereby recording all audio occurring during the meeting in real time.
[0223] Step 7:
[0224] The server compares the captured voice data with a pre-trained voice profile. It then extracts voice features again and compares them with the trained model to identify the speaker. For example, if user A speaks, the voice will match user A's voice profile and the speaker will be identified.
[0225] Step 8:
[0226] After identifying the speaker, the server corrects the audio data, specifically filtering out noise and adjusting the volume to convert it into clear, intelligible audio that is then streamed in real time to online participants.
[0227] Step 9:
[0228] The server sends the captured voice data in real time to the emotion engine to recognize the user's emotions. The emotion engine analyzes the pitch, volume, speed, and tone of the voice data to identify the user's emotional state (e.g., joy, anger, sadness, surprise, etc.).
[0229] Step 10:
[0230] After the meeting ends, the server sends the audio data collected during the meeting to a transcription engine and converts it into text data, which automatically records the audio data as text.
[0231] Step 11:
[0232] The server categorizes the transcribed text data by speaker, adds emotional information recognized by the emotion engine to the text data, and records the emotional state of each utterance.
[0233] Step 12:
[0234] The server generates transcripts based on the text data with added classification and emotion information, converts the transcripts into PDF or Word documents, and sends them to relevant parties via email or uploads them to cloud storage.
[0235] Step 13:
[0236] The server visually analyzes the overall emotional information and displays the atmosphere of the meeting on an online dashboard, allowing meeting participants to intuitively grasp the overall emotional flow.
[0237] By going through the above steps, the difficulty of hearing audio in hybrid meetings is eliminated, and the emotional state of each speaker is also recorded and analyzed, allowing more detailed minutes to be automatically generated.
[0238] Example 2
[0239] Next, a description will be given of Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the smart device 14 will be referred to as a "terminal."
[0240] In hybrid conferences, it is difficult to identify the speaker's voice and process the voice data efficiently and accurately. Furthermore, conventional systems have not been able to recognize the speaker's emotional state and visually convey the atmosphere of the conference. Another issue is the time-consuming process of generating a transcript of the speech after the conference and sharing it with the relevant parties.
[0241] The specific processing by the specific processing unit 290 of the data processing device 12 in the second embodiment is realized by the following means.
[0242] In this invention, the server includes means for collecting voice data, means for extracting voice features from the collected voice data, means for learning a voice profile for each user using the extracted voice features, means for registering conference schedule information, means for creating a conference participant list based on the registered schedule information, means for capturing voices during the conference in real time and identifying speakers, means for correcting the voices of the identified speakers, means for sending the utterance data to an emotion engine and performing emotion analysis, means for classifying recognized text data by speaker and adding emotion information to generate a transcript, and means for converting the generated transcript into a document format and sharing it with relevant parties. This makes it possible to efficiently and accurately perform a series of processes such as identifying speakers, correcting the voice data, analyzing emotions, and generating and sharing transcripts.
[0243] "Audio data" refers to digital information of the voices uttered by participants during a conference.
[0244] "Audio features" are characteristic parameters such as Mel-Frequency Cepstrum Coefficients (MFCCs) and pitch extracted from audio data.
[0245] A "voice profile" is model information that summarizes the voice features of each user.
[0246] "Meeting schedule information" is information such as the date and start time of the next meeting, and a list of participants.
[0247] A "conference participant list" is a list of people who plan to attend a conference.
[0248] "Capture in real time" means that the moment a speaker speaks, the voice data is immediately sent to the server and processed.
[0249] "Identifying the speaker" means identifying which user made the comment by matching the voice profile.
[0250] "Correcting the voice" refers to processing that makes the speaker's voice data easier to hear by performing noise removal, volume adjustment, etc.
[0251] An "emotion engine" is a system that analyzes voice data to recognize the speaker's emotional state.
[0252] A "transcript" is a record of statements made during a meeting organized as text data, categorized by speaker, and with emotional information added.
[0253] "Converting to document format" means converting the generated transcript into a document format such as PDF or Word.
[0254] "Sharing with stakeholders" means distributing the generated transcript to meeting participants and stakeholders via email or cloud storage.
[0255] The system of the present invention collects voice data from a hybrid conference, identifies speakers by learning the voice characteristics of the users, and combines it with an emotion engine that recognizes the users' emotions to add emotional information to the transcripts and visually present the atmosphere of the conference. This system is specifically implemented as follows.
[0256] First, the server collects and stores voice data from the conference system. Every time a user speaks, the voice data is sent to the server and stored. The server extracts voice features such as Mel-Frequency Cepstrum Coefficients (MFCC) and pitch from the collected voice data. This can be done, for example, using a voice analysis library (e.g., Librosa). Using these extracted voice features, a voice profile for each user is learned using a machine learning algorithm (e.g., support vector machine, deep neural network), and the profile is saved.
[0257] Next, the user enters the schedule and participant information for the next hybrid meeting through the terminal. This information is sent to the server and stored in a database. The server creates a meeting participant list based on the meeting title, date and time, and participant list, and sends reminders. For example, it can send reminder emails one hour and 30 minutes before the meeting starts.
[0258] When a conference starts, the server captures voice data in real time from microphones and other voice input devices. This voice data is compared in real time with pre-trained voice profiles to identify the speaker. Matching involves real-time analysis of voice features and comparison with the profile. For example, when user A speaks, the server analyzes the voice features and compares them with user A's voice profile to identify the speaker.
[0259] After identifying the speaker, the server applies noise reduction and volume adjustment to the audio, applying noise-canceling filters and voice normalization algorithms to produce clearer audio, which is then streamed in real time to online participants.
[0260] Furthermore, the server sends the captured voice data in real time to the emotion engine, which analyzes the user's emotions by analyzing the pitch, volume, speed, and tone of the voice data to identify the user's emotional state (e.g., joy, anger, sadness, surprise, etc.).
[0261] After the meeting ends, the server sends the audio data collected during the meeting to a transcription engine and converts it into text data. This text data is categorized by speaker and organized as a transcript. The server also adds emotional information recognized by the emotion engine to the text data, recording the emotional state of each utterance. Finally, the saved text data is converted into a PDF or Word document, sent to the relevant parties via email, and uploaded to cloud storage. This is done using a PDF generation library (e.g., PDFKit) and a cloud storage API (e.g., AWS S3).
[0262] Specific examples
[0263] For example, in a meeting involving users A, B, and C, each speech is recognized and identified in real time, and clear audio data is generated with noise reduction and volume adjustment. If user B expresses anger during speech, the emotion engine identifies that emotion and tags the transcript as "anger." After the meeting, this audio data is automatically transcribed, and a transcript is generated that categorizes each speech by user A, B, and C. The transcript also includes the emotional state of each speaker and is shared with all parties involved for future reference. The server can also visually analyze the overall emotional information and display the meeting atmosphere on an online dashboard.
[0264] Example prompts to input to the generative AI model
[0265] "Collect audio data from the next hybrid meeting, identify speakers, and generate a transcript including emotional states. User A, User B, and User C will be participating."
[0266] The flow of the identification process in the second embodiment will be described with reference to FIG.
[0267] Step 1:
[0268] Audio data collection
[0269] The server automatically acquires and stores audio data from the conference system. The input is the speech of the conference participants. The server collects each speech as digital data and stores it in a database. Specifically, it uses an audio input device (such as a microphone) to collect each speech at a sampling rate of 44.1 kHz.
[0270] Step 2:
[0271] Extraction of speech features
[0272] The server extracts audio features such as Mel Frequency Cepstrum Coefficients (MFCC) and pitch from the collected audio data. The saved audio data is used as input. The server uses an audio analysis library (e.g., Librosa) to extract features from each audio data and output them to a feature database. Specifically, it performs MFCC conversion and pitch analysis.
[0273] Step 3:
[0274] Voice profile training
[0275] The server uses the extracted voice features to learn a voice profile for each user. The voice feature data is used as input. Using a machine learning algorithm (e.g., support vector machine, deep neural network), the server incorporates each user's voice features into a model and stores the profile in a database. The output is a voice profile for each user. Specifically, the model is trained using a training dataset to generate a voice profile.
[0276] Step 4:
[0277] Registering conference settings
[0278] The user enters the schedule and participant information for the next hybrid meeting. Input includes the meeting title, date and time, and participant list. This information is sent to the server via the terminal. The server stores the received information in a database and creates a list of meeting participants. The output is the registered schedule information and the list of meeting participants. Specifically, the information is entered using a web form or application.
[0279] Step 5:
[0280] Meeting reminders
[0281] The server checks the date and time of the meeting based on the registered schedule information and sets a reminder. The input is the date and time of the meeting and the list of participants. The server sends a reminder email 1 hour, 30 minutes, 10 minutes, etc. before the start of the meeting. The output is the sent reminder. Specifically, an email sending API (e.g., SendGrid) is used.
[0282] Step 6:
[0283] Recording audio data during a meeting
[0284] When a meeting starts, the server captures audio data in real time from a microphone or other audio input device. As input, it has real-time audio data. The server captures the audio data using WebSocket or a real-time protocol and generates a data stream for processing. The output is the real-time captured audio data. Specifically, it buffers and streams the audio data.
[0285] Step 7:
[0286] Identifying the speaker
[0287] The captured voice data is matched with a pre-trained voice profile to identify the speaker. The input is real-time voice data, and the output is the ID of the identified speaker. The server uses a matching algorithm to analyze the MFCC of the voice data in real time and identify the user with the closest voice profile as the speaker.
[0288] Step 8:
[0289] Audio data correction
[0290] After identifying the speaker, the server performs audio correction such as noise reduction and volume adjustment. The input is the identified speaker's audio data. The server applies noise-cancelling filters and audio normalization algorithms to generate clear audio data as output. Specifically, it uses an FFT (Fast Fourier Transform) filter to remove noise.
[0291] Step 9:
[0292] emotion recognition
[0293] The server sends the corrected voice data to the emotion engine to recognize the user's emotion. The input is the corrected voice data, and the output is the recognized emotion information. The server analyzes the pitch, volume, speed, tone, etc. of the voice data, and stores the emotion information in a database.
[0294] Step 10:
[0295] Generate transcripts
[0296] After the meeting ends, the server sends the audio data collected during the meeting to a transcription engine and converts it into text data. The inputs are audio data and emotional information. The server uses a speech recognition library (e.g., Google Speech-to-Text API) to convert the audio into text and add emotional information. The output is a transcript. Specifically, it generates a transcript with emotional tags added to the text data.
[0297] Step 11:
[0298] Save and share transcripts
[0299] The generated transcripts are converted into PDF or Word format documents, sent to the relevant parties via email, and also uploaded to cloud storage. The input is the generated transcript, and the output is a PDF or Word format document. Specifically, a PDF generation library (e.g., PDFKit) and a cloud storage API (e.g., AWS S3) are used to generate and store the documents.
[0300] (Application example 2)
[0301] Next, a description will be given of Application Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the smart device 14 will be referred to as a "terminal."
[0302] Conventional factory robots have difficulty properly identifying instructions from staff and understanding changes in their emotions while working. This has led to issues such as reduced work efficiency and the quality of communication. Furthermore, there has been a lack of systems that can identify speakers in real time and organize information, including their emotions. To solve these problems, there has been a need to develop a system that enables factory robots to quickly and accurately understand staff instructions and adapt to changes in their emotions.
[0303] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 2 is realized by the following means.
[0304] In this invention, the server includes means for collecting voice data, means for extracting voice features from the collected voice data, means for learning a voice profile for each user using the extracted voice features, means for registering conference schedule information, means for creating a conference participant list based on the registered schedule information, means for capturing voices during the conference in real time and identifying speakers, means for correcting the voices of the identified speakers, means for classifying recognized text data by speaker and generating a transcript, and means for recognizing emotional information from the collected voice data and adding an emotional state to the transcript. This enables factory robots to accurately understand staff instructions, identify speakers in real time, and engage in advanced communication that takes emotional information into account.
[0305] "Audio data" refers to recordings of sounds collected in meetings, work sites, etc.
[0306] "Speech features" are specific parameters extracted from speech data, such as Mel-Frequency Cepstral Coefficients (MFCCs) and pitch.
[0307] A "voice profile" is a voice recognition model created based on the voice features of a specific user.
[0308] "Conference schedule information" is schedule information such as the date and time of the conference, a list of participants, and the conference title.
[0309] The "conference participant list" is a list of all members who are scheduled to participate in the conference.
[0310] A "speaker" is a user who speaks during a meeting or during work.
[0311] "Correcting audio" means removing noise and adjusting the volume to improve the quality of the audio data.
[0312] "Text data" is digital information that has been converted from voice data into text.
[0313] A "transcript" is a record of a meeting that includes the content of each speaker's remarks.
[0314] "Emotional information" refers to the speaker's emotional state (joy, anger, sadness, surprise, etc.) analyzed from the voice data.
[0315] This invention realizes a communication support system for factory robots. It is a system that collects voice data, analyzes voice characteristics, identifies the speaker, and recognizes emotions. Below, we will explain the program processing flow of this system and the hardware and software used.
[0316] Audio data collection and learning phase
[0317] The server automatically acquires and stores voice data from microphones and other voice input devices used on the factory floor. When collecting voice data, it records audio using the sounddevice library. The server extracts voice features such as Mel Frequency Cepstrum Coefficients (MFCC) and pitch from the collected voice data. This is done using the Python library librosa. Using the extracted voice features, a voice profile for each staff member is trained using a machine learning algorithm (e.g., SVM in scikit-learn), and the profile is saved.
[0318] Speaker identification and voice correction during meetings
[0319] When work begins in the factory, the server captures voice data in real time from microphones and other voice input devices. The captured voice data is compared with pre-trained voice profiles to identify the speaker. For example, when a specific staff member gives instructions to a robot, the server extracts the voice features in real time and compares them with the profile to identify the speaker. It then performs noise removal and volume adjustment to make the voice clearer. The nltk library is used for this correction.
[0320] Introducing the Emotion Engine
[0321] The server sends the captured voice data in real time to the emotion engine to recognize the staff's emotions. The emotion engine analyzes the pitch, volume, speed, and tone of the voice data to identify the emotional state (e.g., joy, anger, sadness, surprise, etc.). This is done using pyaudio and a specific emotion recognition library.
[0322] Generate transcripts
[0323] After completing the task, the server sends the collected audio data to a transcription engine (e.g., Google Speech-to-Text API) and converts it into text data. This text data is categorized by speaker and organized as a transcript. The server also adds emotional information recognized by the emotion engine to the text data, recording the emotional state of each utterance. The saved text data is compiled into a transcript, which is ultimately sent by email to the relevant staff and uploaded to cloud storage.
[0324] Specific examples
[0325] For example, three workers, Staff A, B, and C, are working in a factory. Staff A instructs a robot to "take out the next part." The server records this voice in real time and matches it with Staff A's voice profile to identify the speaker. Furthermore, the emotion engine recognizes Staff A's hurried tone as indicating "high alert." The voice data is corrected and transmitted clearly to other staff and robots. The content and emotions of the conversation are also recorded, and a transcript is generated for future reference.
[0326] Prompt Sentence Examples
[0327] Take out the next part (express)
[0328] Speaker: UserA
[0329] Emotion: High alert
[0330] By inputting such prompt sentences into a generative AI model, the robot can respond quickly and carry out instructions that take emotions into consideration.
[0331] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[0332] Step 1: Collecting audio data
[0333] The server automatically captures and stores audio data from microphones and other audio input devices used on the factory floor. The input is real-time audio data from the microphone, which is sent to the server. The output is a saved audio file. Specifically, the sounddevice library is used to record audio and the data is saved in a file format (e.g., WAV file).
[0334] Step 2: Extracting audio features
[0335] The server extracts audio features such as Mel-Frequency Cepstral Coefficients (MFCC) and pitch from the collected audio data. The input is a saved audio file, which is analyzed using the librosa library. The output is a vector of audio features. Specific operations include reading the audio data and calculating the MFCC and pitch.
[0336] Step 3: Learning your voice profile
[0337] The server uses the extracted voice features to learn a voice profile for each user. The input is the voice feature data and the corresponding user ID, which are trained using scikit-learn's SVM (support vector machine) algorithm. The output is a voice profile model for each user. Specifically, the feature data is scaled and the SVM model is trained.
[0338] Step 4: Real-time audio capture and speaker identification
[0339] When the operation starts, the server captures audio data in real time from a microphone or other audio input device. The input is the real-time audio data, which is matched with a trained audio profile. The output is the identified speaker ID. Specific operations include feature extraction from the real-time audio data and speaker identification using a trained model.
[0340] Step 5: Correcting the audio
[0341] The server corrects the identified speaker's voice by noise removal, volume adjustment, etc. The input is real-time collected voice data, which is processed using the nltk library. The output is corrected, clear voice data. Specifically, this includes noise filtering and gain adjustment.
[0342] Step 6: Recognize emotions
[0343] The server sends the captured voice data in real time to the emotion engine to recognize the staff's emotions. The input is the corrected voice data, which is analyzed by a specific emotion recognition library. The output is the recognized emotional state (e.g., joy, anger, sadness, surprise, etc.). Specifically, the pitch, volume, speed, and tone of the voice data are analyzed.
[0344] Step 7: Generate a transcript
[0345] After completing the task, the server sends the collected voice data to a transcription engine (e.g., Google Speech-to-Text API) and converts it into text data. The input is the saved voice file, which is processed by the voice transcription API. The output is text data for each utterance. The server then adds emotional information to the text data to generate a transcript. Specifically, the voice data is converted into text, and each utterance is tagged with emotional information to create a transcript.
[0346] Step 8: Save and share your transcript
[0347] The server converts the generated transcripts into documents in PDF or Word format, uploads them to cloud storage, and sends them by email to relevant staff. The input is the transcript text data, which is converted into a document format. The output is a saved and shared transcript document. Specifically, this includes converting the text data format, uploading it to a cloud service, and sending it by email.
[0348] The specific processing unit 290 transmits the result of the specific processing to the smart device 14. In the smart device 14, the control unit 46A causes the output device 40 to output the result of the specific processing. The microphone 38B acquires audio indicating a user input regarding the result of the specific processing. The control unit 46A transmits audio data indicating the user input acquired by the microphone 38B to the data processing device 12. In the data processing device 12, the specific processing unit 290 acquires the audio data.
[0349] The data generation model 58 is a so-called generative AI (Artificial Intelligence). An example of the data generation model 58 is ChatGPT (Internet Search<URL: https: / / openai.com / blog / chatgpt> ), Gemini (Internet search <url: https: gemini.google.com ?hl="ja">) and other generation AIs. The data generation model 58 is obtained by performing deep learning on a neural network. A prompt including an instruction is input to the data generation model 58, and inference data such as voice data indicating voice, text data indicating text, and image data indicating an image is also input. The data generation model 58 performs inference on the input inference data in accordance with the instruction indicated by the prompt, and outputs the inference result in a data format such as voice data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.
[0350] In the above embodiment, an example in which the specific process is performed by the data processing device 12 has been given, but the technology of the present disclosure is not limited to this, and the specific process may be performed by the smart device 14.
[0351] [Second embodiment]
[0352] FIG. 3 shows an example of the configuration of a data processing system 210 according to the second embodiment.
[0353] 3, the data processing system 210 includes the data processing device 12 and smart glasses 214. An example of the data processing device 12 is a server.
[0354] The data processing device 12 includes a computer 22, a database 24, and a communication I / F 26. The computer 22 is an example of a "computer" according to the technology of the present disclosure. The computer 22 includes a processor 28, a RAM 30, and a storage 32. The processor 28, the RAM 30, and the storage 32 are connected to a bus 34. The database 24 and the communication I / F 26 are also connected to the bus 34. The communication I / F 26 is connected to a network 54. Examples of the network 54 include a WAN (Wide Area Network) and / or a LAN (Local Area Network).
[0355] The smart glasses 214 include a computer 36, a microphone 238, a speaker 240, a camera 42, and a communication I / F 44. The computer 36 includes a processor 46, a RAM 48, and a storage 50. The processor 46, the RAM 48, and the storage 50 are connected to a bus 52. The microphone 238, the speaker 240, and the camera 42 are also connected to the bus 52.
[0356] The microphone 238 receives instructions and the like from the user 20 by receiving voice uttered by the user 20. The microphone 238 captures the voice uttered by the user 20, converts the captured voice into audio data, and outputs it to the processor 46. The speaker 240 outputs audio in accordance with instructions from the processor 46.
[0357] Camera 42 is a small digital camera equipped with an optical system including a lens, aperture, and shutter, and an imaging element such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor, and captures images of the surroundings of user 20 (for example, an imaging range defined by an angle of view equivalent to the field of vision of a typical healthy person).
[0358] The communication I / F 44 is connected to a network 54. The communication I / Fs 44 and 26 are responsible for the exchange of various information between the processor 46 and the processor 28 via the network 54. The exchange of various information between the processor 46 and the processor 28 using the communication I / Fs 44 and 26 is carried out in a secure state.
[0359] Fig. 4 shows an example of the main functions of the data processing device 12 and the smart glasses 214. As shown in Fig. 4, in the data processing device 12, a specific process is performed by the processor 28. A specific process program 56 is stored in the storage 32.
[0360] The specific processing program 56 is an example of a "program" according to the technology of the present disclosure. The processor 28 reads the specific processing program 56 from the storage 32 and executes the read specific processing program 56 on the RAM 30. The specific processing is realized by the processor 28 operating as a specific processing unit 290 in accordance with the specific processing program 56 executed on the RAM 30.
[0361] The storage 32 stores a data generation model 58 and an emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290.
[0362] In the smart glasses 214, the reception output process is performed by the processor 46. A reception output program 60 is stored in the storage 50. The processor 46 reads the reception output program 60 from the storage 50 and executes the read reception output program 60 on the RAM 48. The reception output process is realized by the processor 46 operating as the control unit 46A in accordance with the reception output program 60 executed on the RAM 48.
[0363] Next, a description will be given of the identification process performed by the identification processing unit 290 of the data processing device 12. In the following description, the data processing device 12 will be referred to as the "server" and the smart glasses 214 will be referred to as the "terminal."
[0364] The system of the present invention collects voice data in a hybrid conference, learns the voice characteristics of users, identifies speakers, and generates transcripts. The program processing of this system will be described in detail below.
[0365] Audio data collection and learning phase
[0366] The server automatically acquires and stores voice data from the conferencing system. For example, each time a user speaks, the voice data is sent to the server and stored. The server extracts voice features such as Mel-Frequency Cepstrum Coefficients (MFCC) and pitch from the collected voice data. The extracted voice features are used to learn a voice profile for each user. Specifically, a machine learning algorithm (e.g., a support vector machine or a deep neural network) is used to incorporate each user's voice features into a model, which is then saved as a profile.
[0367] Setting up and managing meetings
[0368] Users input the schedule and participant information for their next hybrid meeting. This information is sent to the server via their device and stored in a database. The server then creates a meeting participant list based on the meeting title, date, and participant list, and sends necessary reminders.
[0369] Speaker identification and voice correction during meetings
[0370] When a conference starts, the server captures voice data in real time from a microphone or other voice input device. The captured voice data is compared with a pre-trained voice profile to identify the speaker. For example, if user A speaks during a conference, the server extracts the voice features in real time, compares them with user A's voice profile, and identifies user A as the speaker.
[0371] After identifying the speaker, the server then corrects the audio data, for example by removing noise and adjusting the volume to make the voice clearer. This corrected audio is then streamed in real time to online participants, making it easier to hear.
[0372] Generate transcripts
[0373] After the meeting ends, the server sends the audio data collected during the meeting to a transcription engine and converts it into text data. This text data is classified by speaker and organized as a transcript. Specifically, the server tags each statement and saves the text data for each speaker separately. The saved text data is compiled into a transcript and converted into a PDF or Word document. The transcript is then sent to the relevant parties via email and uploaded to cloud storage.
[0374] For example, when a meeting is held with users A, B, and C, each speech is recognized and identified in real time, and clear audio data is generated with noise removal and volume adjustment. After the meeting, this audio data is automatically transcribed and a transcript is generated that is categorized by the speech of users A, B, and C. This transcript is shared with all parties involved and can be used for future reference.
[0375] The processing flow will be explained below.
[0376] Step 1:
[0377] The server automatically acquires and stores voice data from the conference system. Specifically, every time someone speaks during a conference, that voice data is sent to the server.
[0378] Step 2:
[0379] The server extracts speech features such as Mel-Frequency Cepstrum Coefficients (MFCC) and pitch from the collected speech data, which quantifies the characteristics of the speaker's speech.
[0380] Step 3:
[0381] The server uses the extracted voice features to learn a voice profile for each user. Specifically, it uses machine learning algorithms (e.g., support vector machines and deep neural networks) to build the voice profile.
[0382] Step 4:
[0383] Users enter schedules and participant information for their next hybrid meeting, which sends information such as the meeting title, date and time, and participant names and email addresses to the server.
[0384] Step 5:
[0385] The server creates a list of participants for the meeting based on the schedule information entered, stores the list in a database, and sends reminder emails before the meeting begins.
[0386] Step 6:
[0387] When a meeting starts, the server captures audio data in real time from microphones and other audio input devices installed in the meeting room, capturing each utterance in real time.
[0388] Step 7:
[0389] The server compares the captured voice data with a pre-trained voice profile. It extracts voice features and inputs them into a trained model to identify the speaker. In this step, if user A speaks, for example, the voice will match user A's voice profile and be identified.
[0390] Step 8:
[0391] After identifying the speaker, the server corrects the audio data, for example by removing noise and adjusting the volume to make the audio clearer, and the resulting clear audio is streamed in real time to online participants.
[0392] Step 9:
[0393] After the meeting, the server sends the collected audio data to a transcription engine and converts it into text, eliminating the need for manual transcription each time.
[0394] Step 10:
[0395] The server categorizes the transcribed text data by speaker, and stores each speaker's text data separately based on the tag information added to the audio data.
[0396] Step 11:
[0397] The server generates transcripts based on the classified text data, converts the transcripts into documents such as PDF and Word, and finally sends the transcripts to the relevant parties via email and uploads them to cloud storage.
[0398] By going through the above steps, the difficulty of hearing audio during hybrid meetings is eliminated, and accurate minutes are automatically generated for each speaker.
[0399] Example 1
[0400] Next, a description will be given of Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the smart glasses 214 will be referred to as a "terminal."
[0401] In hybrid conferences, there is a need to effectively collect and manage the speech of multiple participants, accurately identify speakers, and generate transcripts. Current conference systems are prone to recognition errors due to low audio quality, making it difficult to clearly distinguish the content of each speaker's speech. It is also difficult to identify speakers in real time and reflect their comments in transcripts. A system that can solve this problem is needed.
[0402] The specific processing by the specific processing unit 290 of the data processing device 12 in the first embodiment is realized by the following means.
[0403] In this invention, the server includes means for collecting voice data, means for extracting voice features from the collected voice data, means for learning a voice profile for each user using the extracted voice features, means for registering conference schedule information, means for creating a conference participant list based on the registered schedule information, means for capturing voices during the conference in real time and identifying speakers, means for correcting the voices of the identified speakers, means for sending the collected voice data to a transcription engine and converting it into text data, means for classifying the recognized text data by speaker and generating transcripts, and means for uploading the generated transcripts to cloud storage and sharing them with conference participants. This makes it possible to accurately identify speakers in real time, efficiently manage speech content, and generate high-quality transcripts.
[0404] "Audio data" refers to data in which audio is recorded in digital format.
[0405] "Audio features" are numerical values that indicate features such as frequency components and volume extracted from audio data.
[0406] A "voice profile" is data that is learned from a user's individual voice characteristics and stored as a model.
[0407] "Meeting schedule information" is information such as the date and time of the meeting, the title, and the list of participants.
[0408] The "conference participant list" is data showing a list of users who are scheduled to participate in the conference.
[0409] A "transcription engine" is software or a system for converting audio data into text data.
[0410] "Text data" is data recorded as character information.
[0411] A "transcript" is a document that organizes and classifies the content of comments made during a meeting by user.
[0412] "Cloud storage" is an online storage service for storing and managing data via the Internet.
[0413] The system of the present invention collects voice data in a hybrid conference, learns the voice characteristics of users, identifies speakers, and generates speech transcripts. A specific implementation method of this system will be described in detail below.
[0414] The server automatically acquires and stores audio data from the conference system. The hardware used is assumed to be ordinary server equipment (e.g., data center server, cloud server, etc.). First, each time a user speaks, the audio data is sent to the server. This acquired audio data is stored in a database. The server uses an audio processing library (e.g., librosa) to extract audio features such as Mel-Frequency Cepstrum Coefficients (MFCC) and pitch from the collected audio data. This allows the frequency and timing characteristics of the audio data to be analyzed.
[0415] The server then uses the extracted voice features to learn a voice profile for each user. This process uses machine learning algorithms such as support vector machines and deep neural networks (e.g., TensorFlow, PyTorch), and stores each user's voice features as a model.
[0416] A user enters scheduling information for an upcoming hybrid meeting. The user enters the information from their device using a web form or a meeting application, which is then sent to the server. This information includes the meeting title, date and time, and a list of participants. The server stores this information in a database, creates a meeting participant list, and sends reminders to participants.
[0417] When a conference starts, the server captures voice data in real time from microphones and other voice input devices. This voice data is compared with pre-trained voice profiles to identify the speaker. Specifically, if User A speaks at any moment during the conference, the server extracts the voice features in real time and compares them with User A's voice profile to identify User A as the speaker.
[0418] After identifying the speaker, the server applies noise reduction filters and automatic volume adjustment algorithms (e.g., SpectralGate) to enhance the audio data, removing background noise and adjusting the volume of the voices evenly. The enhanced audio data is then streamed in real time to online meeting participants.
[0419] After the meeting ends, the server sends the collected audio data to a transcription engine (e.g., Google Cloud Speech-to-Text, IBM Watson Speech to Text) and converts it into text data. The generated text data is classified by speaker and organized as a transcript. Specifically, each utterance is tagged with the speaker's name, and the text data is classified by speaker. The transcript is converted into a PDF or Word document and uploaded to cloud storage (e.g., Google Drive, Dropbox). The transcript is also sent to the relevant parties by email.
[0420] For example, here's how to schedule your next hybrid meeting:
[0421] Meeting title: Progress check of next project
[0422] Date and time: November 5, 2023 10:00 AM - 12:00 PM
[0423] Participant information:
[0424] User A: Yamada Ichiro
[0425] User B: Jiro Sato
[0426] User C: Saburo Suzuki
[0427] In this way, a system is realized that can accurately identify speakers in real time, efficiently manage speech content, and generate high-quality speech transcripts.
[0428] The flow of the identification process in the first embodiment will be described with reference to FIG.
[0429] System program processing steps
[0430] Step 1: Collecting audio data
[0431] The server collects audio data from the conference system in real time.
[0432] Input: The audio signal from your microphone or other audio input device during a meeting.
[0433] Data processing: The voice data is converted into a digital format and stored in a database on the server.
[0434] Output: Stored digital audio data.
[0435] Step 2: Extracting audio features
[0436] The server extracts speech features from the collected speech data.
[0437] Input: The digital audio data collected in step 1.
[0438] Data calculation: Use an open-source audio processing library (e.g., librosa) to calculate Mel-Frequency Cepstrum Coefficients (MFCCs), pitch, etc.
[0439] Output: Extracted speech features.
[0440] Step 3: Learning your voice profile
[0441] The server uses the extracted speech features to learn a speech profile for each user.
[0442] Input: Speech feature data extracted in step 2.
[0443] Data computation: Using support vector machines or deep neural networks (e.g., TensorFlow, PyTorch), we incorporate audio features into our models.
[0444] Output: A trained voice profile for each user.
[0445] Step 4: Registering meeting schedule information
[0446] A user enters scheduling information for an upcoming hybrid meeting.
[0447] Input: Meeting title, date and time, participant list.
[0448] Data processing: Information entered through the terminal is sent to the server and stored in a database.
[0449] Output: Saved meeting schedule information.
[0450] Step 5: Create a meeting participant list
[0451] The server creates a conference participant list based on the registered schedule information.
[0452] Input: Meeting schedule information registered in step 4.
[0453] Data calculation: Generate a list based on the meeting title, date and time, and participant information.
[0454] Output: The generated conference participant list.
[0455] Step 6: Real-time audio capture and speaker identification during meetings
[0456] The server captures the audio during the conference in real time and identifies the speaker.
[0457] Input: Real-time audio data during the meeting.
[0458] Data computation: Apply a matching algorithm to match the pre-trained voice profile and identify the speaker.
[0459] Output: Identified speaker information and audio data.
[0460] Step 7: Correcting the voice of the identified speaker
[0461] The server corrects the voice of the identified speaker.
[0462] Input: Audio data of the speakers identified in step 6.
[0463] Data processing: Noise removal, automatic volume adjustment, and application of audio correction algorithms (e.g., SpectralGate) to convert the audio into clearer audio.
[0464] Output: Corrected, clear audio data.
[0465] Step 8: Transcribe and classify audio data
[0466] The server sends the collected audio data to a transcription engine and converts it into text data.
[0467] Input: The audio data corrected in step 7.
[0468] Data processing: Convert to text using a transcription engine (e.g., Google Cloud Speech-to-Text, IBM Watson Speech to Text).
[0469] Output: The generated text data.
[0470] Step 9: Generate and share your transcript
[0471] The server classifies the recognized text data by speaker, generates a transcript, and uploads the transcript to cloud storage to share with conference participants.
[0472] Input: The text data generated in step 8.
[0473] Data processing: Tag and categorize each statement to efficiently organize the text data.
[0474] Output: PDF or Word document transcript, upload to cloud storage or email to participants.
[0475] (Application example 1)
[0476] Next, a description will be given of Application Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the smart glasses 214 will be referred to as a "terminal."
[0477] Conventional customer support systems have difficulty identifying customer voices in real time and providing appropriate service. Furthermore, noise removal from voice data was insufficient, making it difficult to provide clear voice service. Furthermore, there was a lack of a way to convert customer comments into text for later reference, making it difficult to provide effective customer support.
[0478] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 1 is realized by the following means.
[0479] In this invention, the server includes means for collecting voice data, means for extracting voice features from the collected voice data, means for learning a voice profile for each user using the extracted voice features, means for registering schedule information, means for creating a specific target list based on the registered schedule information, means for capturing voices from the targets in real time and identifying speakers, means for correcting the voices of the identified speakers, means for classifying recognized text data by speaker and generating records, means for identifying customer voices in real time and aiming to improve customer service and the customer experience, means for removing noise and adjusting volume to generate clear voice, and means for converting speech content into text for later reference. This makes it possible to identify customer voices in real time, provide appropriate services with clear voice, and convert speech content into text for later reference.
[0480] "Audio data" is data that represents audio in digital form.
[0481] A "speech feature" is a specific parameter extracted from a speech signal, and represents the characteristics of the speech.
[0482] A "voice profile" is a data set that statistically summarizes the voice features of a specific user.
[0483] "Schedule information" is information relating to specific dates and times or events.
[0484] A "specific target list" is a list of interested parties that is generated based on schedule information.
[0485] "Real time" refers to a state in which processing is carried out immediately without delay.
[0486] "Speaker" refers to the person speaking in the audio data.
[0487] "Correcting audio" means performing processes such as noise removal and volume adjustment on audio data.
[0488] "Recognized text data" is text information generated by analyzing voice data.
[0489] "Record" refers to the storage and classification of recognized text data.
[0490] Identifying "customer voice" means analyzing customer voice data and identifying individual customers.
[0491] "Noise reduction" is a process of removing unnecessary background sounds from audio data.
[0492] "Volume adjustment" is a process of appropriately changing the volume of audio data.
[0493] "Clear audio" refers to audio with little noise and that is easy to hear.
[0494] The system for implementing this invention is a customer support system using smart glasses. This system performs the following processes.
[0495] Generating a Program
[0496] The server collects voice data and extracts voice features from the collected data. These features include Mel-Frequency Cepstrum Coefficients (MFCC) and pitch. This is used to learn each user's voice profile. By registering meeting schedule information, a specific target list is created and specific events are managed based on that list.
[0497] Processing Description
[0498] The server collects real-time audio data from the microphone of the smart glasses using the pyaudio library, and converts the audio data into audio features (e.g., MFCCs) using the librosa library.
[0499] The converted voice features are then fed into a pre-trained model (e.g., a deep neural network model) and matched to the user's voice profile. This matching process identifies the customer's voice.
[0500] The collected audio data is then processed to remove noise and adjust the volume, which is an important step in generating clear audio data, which is then reported to support staff in real time.
[0501] The server then converts the recognized speech data into text data, which is then classified by speaker using a speech recognition library (e.g., some_speech_recognition_lib) and saved in a record for future reference.
[0502] Adding specific examples
[0503] For example, if a customer visits a store and asks, "Do you have this item in stock?", the microphone in the smart glasses will collect the voice. This voice data will be immediately sent to the server, where voice features will be extracted and classified. The customer's speech will be cleared by noise reduction and volume adjustment, and then transmitted to the support staff. At the same time, the speech will be converted into text and saved as a record for future reference.
[0504] Prompt Sentence Examples
[0505] An example of a prompt sentence to input to the generative AI model is as follows:
[0506] "Design an application for real-time customer service using smart glasses. I would like to build a system that collects voice data, learns the user's voice characteristics, and identifies the speaker. Specific program code would be helpful."
[0507] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[0508] Step 1: Collecting audio data
[0509] The server collects audio data in real time through the microphone of the smart glasses. The input is the audio signal obtained from the smart glasses, and the output is digital audio data. Specifically, the server uses the pyaudio library to buffer the audio signal and send it to the server as digital data.
[0510] Step 2: Preprocessing the audio data
[0511] The server removes noise from the collected audio data and adjusts the volume. The input is digital audio data, and the output is clear audio data that has been noise-removed and volume-adjusted. Specifically, it uses a filtering algorithm to remove unwanted background sounds and maintain a constant volume.
[0512] Step 3: Extract audio features
[0513] The server extracts speech features from the preprocessed speech data. The input is clear speech data, and the output is speech features (e.g., Mel-Frequency Cepstrum Coefficients (MFCCs)). Specifically, it uses the librosa library to analyze the speech data and calculate the features.
[0514] Step 4: Learning your voice profile
[0515] The server uses the extracted voice features to learn a voice profile for each user. The input is the voice features, and the output is the user's voice profile. Specifically, the server generates the profile using a machine learning algorithm (e.g., a deep neural network) and stores it in a database.
[0516] Step 5: Real-time customer voice identification
[0517] The server compares the voice data collected in real time with the voice profile to identify the customer. The input is real-time voice features, and the output is identified customer information. Specifically, the voice features are input into a model to identify the profile that best matches.
[0518] Step 6: Recognizing and converting audio data into text
[0519] The server converts the identified customer's voice data into text. The input is clear voice data and the output is text data. Specifically, it uses a voice recognition library to analyze the voice data and convert it into text data.
[0520] Step 7: Record and categorize what is said
[0521] The server categorizes the textual content of the comments by customer and saves it in a record. The input is text data, and the output is a record of the categorized content of the comments. Specifically, the server tags the text data based on customer information and saves it in a database.
[0522] The above steps make it possible to identify customer voices in real time, provide appropriate services with clear voice, and convert what is said into text for later reference.
[0523] Furthermore, an emotion engine that estimates the user's emotion may be further combined. That is, the identification processing unit 290 may estimate the user's emotion using the emotion identification model 59, and perform identification processing using the user's emotion.
[0524] The system of the present invention collects voice data from hybrid conferences, identifies speakers by learning the voice characteristics of users, and combines it with an emotion engine that recognizes the user's emotions to add emotional information to the transcript and visually present the atmosphere of the conference. The program processing of this system is described in detail below.
[0525] Audio data collection and learning phase
[0526] The server automatically acquires and stores voice data from the conferencing system. For example, each time a user speaks, the voice data is sent to the server and stored. The server extracts voice features such as Mel-Frequency Cepstrum Coefficients (MFCC) and pitch from the collected voice data. The extracted voice features are used to learn a voice profile for each user. Specifically, a machine learning algorithm (e.g., support vector machine or deep neural network) is used to incorporate each user's voice features into a model, which is then saved as a profile.
[0527] Setting up and managing meetings
[0528] Users input the schedule and participant information for their next hybrid meeting. This information is sent to the server via their device and stored in a database. The server then creates a meeting participant list based on the meeting title, date, and participant list, and sends necessary reminders.
[0529] Speaker identification and voice correction during meetings
[0530] When a conference starts, the server captures voice data in real time from a microphone or other voice input device. The captured voice data is compared with a pre-trained voice profile to identify the speaker. For example, if user A speaks during a conference, the server extracts the voice features in real time, compares them with user A's voice profile, and identifies user A as the speaker.
[0531] After identifying the speaker, the server then corrects the audio data, for example by removing noise and adjusting the volume to make the voice clearer. This corrected audio is then streamed in real time to online participants, making it easier to hear.
[0532] Introducing the Emotion Engine
[0533] The server sends the captured voice data in real time to the emotion engine to recognize the user's emotions. The emotion engine analyzes the pitch, volume, speed, and tone of the voice data to identify the user's emotional state (e.g., joy, anger, sadness, surprise, etc.).
[0534] Generate transcripts
[0535] After the meeting ends, the server sends the audio data collected during the meeting to a transcription engine and converts it into text data. This text data is categorized by speaker and organized as a transcript. The server also adds emotional information recognized by the emotion engine to the text data and records the emotional state of each statement. The saved text data is compiled into a transcript and converted into a PDF or Word document. This transcript is sent to the relevant parties by email and also uploaded to cloud storage.
[0536] Specific examples
[0537] For example, in a meeting involving users A, B, and C, each speech is recognized and identified in real time, and clear audio data is generated with noise removal and volume adjustment. If user B expresses anger during speech, the emotion engine identifies that emotion and tags the transcript as "anger." After the meeting, this audio data is automatically transcribed, and a transcript is generated that categorizes each speech by user A, B, and C. The transcript also includes the emotional state of each speaker and is shared with all parties involved for future reference. The server can also visually analyze the overall emotional information and display the meeting atmosphere on an online dashboard.
[0538] The processing flow will be explained below.
[0539] Step 1:
[0540] The server automatically acquires and stores voice data from the conference system. Specifically, every time a user speaks during a conference, the voice data is sent to the server, which then stores it in storage.
[0541] Step 2:
[0542] The server extracts voice features such as Mel-Frequency Cepstrum Coefficients (MFCC) and pitch from the collected voice data. The extracted features represent the characteristics of the user's voice in numerical form.
[0543] Step 3:
[0544] The server uses the extracted voice features to learn a voice profile for each user. Specifically, it uses machine learning algorithms such as support vector machines and deep neural networks to incorporate each user's voice features into a model and saves this as a profile.
[0545] Step 4:
[0546] Users enter schedule and participant information for their next hybrid meeting. This information is sent to the server and stored in a database. The input includes the meeting title, date and time, and participant names and email addresses.
[0547] Step 5:
[0548] The server creates a meeting participant list based on the schedule information entered, stores the list in a database, and sends reminders before the meeting, including meeting details and how to join.
[0549] Step 6:
[0550] When a meeting starts, the server captures audio data in real time from microphones and other audio input devices installed in the meeting room, thereby recording all audio occurring during the meeting in real time.
[0551] Step 7:
[0552] The server compares the captured voice data with a pre-trained voice profile. It then extracts voice features again and compares them with the trained model to identify the speaker. For example, if user A speaks, the voice will match user A's voice profile and the speaker will be identified.
[0553] Step 8:
[0554] After identifying the speaker, the server corrects the audio data, specifically filtering out noise and adjusting the volume to convert it into clear, intelligible audio that is then streamed in real time to online participants.
[0555] Step 9:
[0556] The server sends the captured voice data in real time to the emotion engine to recognize the user's emotions. The emotion engine analyzes the pitch, volume, speed, and tone of the voice data to identify the user's emotional state (e.g., joy, anger, sadness, surprise, etc.).
[0557] Step 10:
[0558] After the meeting ends, the server sends the audio data collected during the meeting to a transcription engine and converts it into text data, which automatically records the audio data as text.
[0559] Step 11:
[0560] The server categorizes the transcribed text data by speaker, adds emotional information recognized by the emotion engine to the text data, and records the emotional state of each utterance.
[0561] Step 12:
[0562] The server generates transcripts based on the text data with added classification and emotion information, converts the transcripts into PDF or Word documents, and sends them to relevant parties via email or uploads them to cloud storage.
[0563] Step 13:
[0564] The server visually analyzes the overall emotional information and displays the atmosphere of the meeting on an online dashboard, allowing meeting participants to intuitively grasp the overall emotional flow.
[0565] By going through the above steps, the difficulty of hearing audio in hybrid meetings is eliminated, and the emotional state of each speaker is also recorded and analyzed, allowing more detailed minutes to be automatically generated.
[0566] Example 2
[0567] Next, a description will be given of Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the smart glasses 214 will be referred to as a "terminal."
[0568] In hybrid conferences, it is difficult to identify the speaker's voice and process the voice data efficiently and accurately. Furthermore, conventional systems have not been able to recognize the speaker's emotional state and visually convey the atmosphere of the conference. Another issue is the time-consuming process of generating a transcript of the speech after the conference and sharing it with the relevant parties.
[0569] The specific processing by the specific processing unit 290 of the data processing device 12 in the second embodiment is realized by the following means.
[0570] In this invention, the server includes means for collecting voice data, means for extracting voice features from the collected voice data, means for learning a voice profile for each user using the extracted voice features, means for registering conference schedule information, means for creating a conference participant list based on the registered schedule information, means for capturing voices during the conference in real time and identifying speakers, means for correcting the voices of the identified speakers, means for sending the utterance data to an emotion engine and performing emotion analysis, means for classifying recognized text data by speaker and adding emotion information to generate a transcript, and means for converting the generated transcript into a document format and sharing it with relevant parties. This makes it possible to efficiently and accurately perform a series of processes such as identifying speakers, correcting the voice data, analyzing emotions, and generating and sharing transcripts.
[0571] "Audio data" refers to digital information of the voices uttered by participants during a conference.
[0572] "Audio features" are characteristic parameters such as Mel-Frequency Cepstrum Coefficients (MFCCs) and pitch extracted from audio data.
[0573] A "voice profile" is model information that summarizes the voice features of each user.
[0574] "Meeting schedule information" is information such as the date and start time of the next meeting, and a list of participants.
[0575] A "conference participant list" is a list of people who plan to attend a conference.
[0576] "Capture in real time" means that the moment a speaker speaks, the voice data is immediately sent to the server and processed.
[0577] "Identifying the speaker" means identifying which user made the comment by matching the voice profile.
[0578] "Correcting the voice" refers to processing that makes the speaker's voice data easier to hear by performing noise removal, volume adjustment, etc.
[0579] An "emotion engine" is a system that analyzes voice data to recognize the speaker's emotional state.
[0580] A "transcript" is a record of statements made during a meeting organized as text data, categorized by speaker, and with emotional information added.
[0581] "Converting to document format" means converting the generated transcript into a document format such as PDF or Word.
[0582] "Sharing with stakeholders" means distributing the generated transcript to meeting participants and stakeholders via email or cloud storage.
[0583] The system of the present invention collects voice data from a hybrid conference, identifies speakers by learning the voice characteristics of the users, and combines it with an emotion engine that recognizes the users' emotions to add emotional information to the transcripts and visually present the atmosphere of the conference. This system is specifically implemented as follows.
[0584] First, the server collects and stores voice data from the conference system. Every time a user speaks, the voice data is sent to the server and stored. The server extracts voice features such as Mel-Frequency Cepstrum Coefficients (MFCC) and pitch from the collected voice data. This can be done, for example, using a voice analysis library (e.g., Librosa). Using these extracted voice features, a voice profile for each user is learned using a machine learning algorithm (e.g., support vector machine, deep neural network), and the profile is saved.
[0585] Next, the user enters the schedule and participant information for the next hybrid meeting through the terminal. This information is sent to the server and stored in a database. The server creates a meeting participant list based on the meeting title, date and time, and participant list, and sends reminders. For example, it can send reminder emails one hour and 30 minutes before the meeting starts.
[0586] When a conference starts, the server captures voice data in real time from microphones and other voice input devices. This voice data is compared in real time with pre-trained voice profiles to identify the speaker. Matching involves real-time analysis of voice features and comparison with the profile. For example, when user A speaks, the server analyzes the voice features and compares them with user A's voice profile to identify the speaker.
[0587] After identifying the speaker, the server applies noise reduction and volume adjustment to the audio, applying noise-canceling filters and voice normalization algorithms to produce clearer audio, which is then streamed in real time to online participants.
[0588] Furthermore, the server sends the captured voice data in real time to the emotion engine, which analyzes the user's emotions by analyzing the pitch, volume, speed, and tone of the voice data to identify the user's emotional state (e.g., joy, anger, sadness, surprise, etc.).
[0589] After the meeting ends, the server sends the audio data collected during the meeting to a transcription engine and converts it into text data. This text data is categorized by speaker and organized as a transcript. The server also adds emotional information recognized by the emotion engine to the text data, recording the emotional state of each utterance. Finally, the saved text data is converted into a PDF or Word document, sent to the relevant parties via email, and uploaded to cloud storage. This is done using a PDF generation library (e.g., PDFKit) and a cloud storage API (e.g., AWS S3).
[0590] Specific examples
[0591] For example, in a meeting involving users A, B, and C, each speech is recognized and identified in real time, and clear audio data is generated with noise reduction and volume adjustment. If user B expresses anger during speech, the emotion engine identifies that emotion and tags the transcript as "anger." After the meeting, this audio data is automatically transcribed, and a transcript is generated that categorizes each speech by user A, B, and C. The transcript also includes the emotional state of each speaker and is shared with all parties involved for future reference. The server can also visually analyze the overall emotional information and display the meeting atmosphere on an online dashboard.
[0592] Example prompts to input to the generative AI model
[0593] "Collect audio data from the next hybrid meeting, identify speakers, and generate a transcript including emotional states. User A, User B, and User C will be participating."
[0594] The flow of the identification process in the second embodiment will be described with reference to FIG.
[0595] Step 1:
[0596] Audio data collection
[0597] The server automatically acquires and stores audio data from the conference system. The input is the speech of the conference participants. The server collects each speech as digital data and stores it in a database. Specifically, it uses an audio input device (such as a microphone) to collect each speech at a sampling rate of 44.1 kHz.
[0598] Step 2:
[0599] Extraction of speech features
[0600] The server extracts audio features such as Mel Frequency Cepstrum Coefficients (MFCC) and pitch from the collected audio data. The saved audio data is used as input. The server uses an audio analysis library (e.g., Librosa) to extract features from each audio data and output them to a feature database. Specifically, it performs MFCC conversion and pitch analysis.
[0601] Step 3:
[0602] Voice profile training
[0603] The server uses the extracted voice features to learn a voice profile for each user. The voice feature data is used as input. Using a machine learning algorithm (e.g., support vector machine, deep neural network), the server incorporates each user's voice features into a model and stores the profile in a database. The output is a voice profile for each user. Specifically, the model is trained using a training dataset to generate a voice profile.
[0604] Step 4:
[0605] Registering conference settings
[0606] The user enters the schedule and participant information for the next hybrid meeting. Input includes the meeting title, date and time, and participant list. This information is sent to the server via the terminal. The server stores the received information in a database and creates a list of meeting participants. The output is the registered schedule information and the list of meeting participants. Specifically, the information is entered using a web form or application.
[0607] Step 5:
[0608] Meeting reminders
[0609] The server checks the date and time of the meeting based on the registered schedule information and sets a reminder. The input is the date and time of the meeting and the list of participants. The server sends a reminder email 1 hour, 30 minutes, 10 minutes, etc. before the start of the meeting. The output is the sent reminder. Specifically, an email sending API (e.g., SendGrid) is used.
[0610] Step 6:
[0611] Recording audio data during a meeting
[0612] When a meeting starts, the server captures audio data in real time from a microphone or other audio input device. As input, it has real-time audio data. The server captures the audio data using WebSocket or a real-time protocol and generates a data stream for processing. The output is the real-time captured audio data. Specifically, it buffers and streams the audio data.
[0613] Step 7:
[0614] Identifying the speaker
[0615] The captured voice data is matched with a pre-trained voice profile to identify the speaker. The input is real-time voice data, and the output is the ID of the identified speaker. The server uses a matching algorithm to analyze the MFCC of the voice data in real time and identify the user with the closest voice profile as the speaker.
[0616] Step 8:
[0617] Audio data correction
[0618] After identifying the speaker, the server performs audio correction such as noise reduction and volume adjustment. The input is the identified speaker's audio data. The server applies noise-cancelling filters and audio normalization algorithms to generate clear audio data as output. Specifically, it uses an FFT (Fast Fourier Transform) filter to remove noise.
[0619] Step 9:
[0620] emotion recognition
[0621] The server sends the corrected voice data to the emotion engine to recognize the user's emotion. The input is the corrected voice data, and the output is the recognized emotion information. The server analyzes the pitch, volume, speed, tone, etc. of the voice data, and stores the emotion information in a database.
[0622] Step 10:
[0623] Generate transcripts
[0624] After the meeting ends, the server sends the audio data collected during the meeting to a transcription engine and converts it into text data. The inputs are audio data and emotional information. The server uses a speech recognition library (e.g., Google Speech-to-Text API) to convert the audio into text and add emotional information. The output is a transcript. Specifically, it generates a transcript with emotional tags added to the text data.
[0625] Step 11:
[0626] Save and share transcripts
[0627] The generated transcripts are converted into PDF or Word format documents, sent to the relevant parties via email, and also uploaded to cloud storage. The input is the generated transcript, and the output is a PDF or Word format document. Specifically, a PDF generation library (e.g., PDFKit) and a cloud storage API (e.g., AWS S3) are used to generate and store the documents.
[0628] (Application example 2)
[0629] Next, a description will be given of Application Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the smart glasses 214 will be referred to as a "terminal."
[0630] Conventional factory robots have difficulty properly identifying instructions from staff and understanding changes in their emotions while working. This has led to issues such as reduced work efficiency and the quality of communication. Furthermore, there has been a lack of systems that can identify speakers in real time and organize information, including their emotions. To solve these problems, there has been a need to develop a system that enables factory robots to quickly and accurately understand staff instructions and adapt to changes in their emotions.
[0631] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 2 is realized by the following means.
[0632] In this invention, the server includes means for collecting voice data, means for extracting voice features from the collected voice data, means for learning a voice profile for each user using the extracted voice features, means for registering conference schedule information, means for creating a conference participant list based on the registered schedule information, means for capturing voices during the conference in real time and identifying speakers, means for correcting the voices of the identified speakers, means for classifying recognized text data by speaker and generating a transcript, and means for recognizing emotional information from the collected voice data and adding an emotional state to the transcript. This enables factory robots to accurately understand staff instructions, identify speakers in real time, and engage in advanced communication that takes emotional information into account.
[0633] "Audio data" refers to recordings of sounds collected in meetings, work sites, etc.
[0634] "Speech features" are specific parameters extracted from speech data, such as Mel-Frequency Cepstral Coefficients (MFCCs) and pitch.
[0635] A "voice profile" is a voice recognition model created based on the voice features of a specific user.
[0636] "Conference schedule information" is schedule information such as the date and time of the conference, a list of participants, and the conference title.
[0637] The "conference participant list" is a list of all members who are scheduled to participate in the conference.
[0638] A "speaker" is a user who speaks during a meeting or during work.
[0639] "Correcting audio" means removing noise and adjusting the volume to improve the quality of the audio data.
[0640] "Text data" is digital information that has been converted from voice data into text.
[0641] A "transcript" is a record of a meeting that includes the content of each speaker's remarks.
[0642] "Emotional information" refers to the speaker's emotional state (joy, anger, sadness, surprise, etc.) analyzed from the voice data.
[0643] This invention realizes a communication support system for factory robots. It is a system that collects voice data, analyzes voice characteristics, identifies the speaker, and recognizes emotions. Below, we will explain the program processing flow of this system and the hardware and software used.
[0644] Audio data collection and learning phase
[0645] The server automatically acquires and stores voice data from microphones and other voice input devices used on the factory floor. When collecting voice data, it records audio using the sounddevice library. The server extracts voice features such as Mel Frequency Cepstrum Coefficients (MFCC) and pitch from the collected voice data. This is done using the Python library librosa. Using the extracted voice features, a voice profile for each staff member is trained using a machine learning algorithm (e.g., SVM in scikit-learn), and the profile is saved.
[0646] Speaker identification and voice correction during meetings
[0647] When work begins in the factory, the server captures voice data in real time from microphones and other voice input devices. The captured voice data is compared with pre-trained voice profiles to identify the speaker. For example, when a specific staff member gives instructions to a robot, the server extracts the voice features in real time and compares them with the profile to identify the speaker. It then performs noise removal and volume adjustment to make the voice clearer. The nltk library is used for this correction.
[0648] Introducing the Emotion Engine
[0649] The server sends the captured voice data in real time to the emotion engine to recognize the staff's emotions. The emotion engine analyzes the pitch, volume, speed, and tone of the voice data to identify the emotional state (e.g., joy, anger, sadness, surprise, etc.). This is done using pyaudio and a specific emotion recognition library.
[0650] Generate transcripts
[0651] After completing the task, the server sends the collected audio data to a transcription engine (e.g., Google Speech-to-Text API) and converts it into text data. This text data is categorized by speaker and organized as a transcript. The server also adds emotional information recognized by the emotion engine to the text data, recording the emotional state of each utterance. The saved text data is compiled into a transcript, which is ultimately sent by email to the relevant staff and uploaded to cloud storage.
[0652] Specific examples
[0653] For example, three workers, Staff A, B, and C, are working in a factory. Staff A instructs a robot to "take out the next part." The server records this voice in real time and matches it with Staff A's voice profile to identify the speaker. Furthermore, the emotion engine recognizes Staff A's hurried tone as indicating "high alert." The voice data is corrected and transmitted clearly to other staff and robots. The content and emotions of the conversation are also recorded, and a transcript is generated for future reference.
[0654] Prompt Sentence Examples
[0655] Take out the next part (express)
[0656] Speaker: UserA
[0657] Emotion: High alert
[0658] By inputting such prompt sentences into a generative AI model, the robot can respond quickly and carry out instructions that take emotions into consideration.
[0659] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[0660] Step 1: Collecting audio data
[0661] The server automatically captures and stores audio data from microphones and other audio input devices used on the factory floor. The input is real-time audio data from the microphone, which is sent to the server. The output is a saved audio file. Specifically, the sounddevice library is used to record audio and the data is saved in a file format (e.g., WAV file).
[0662] Step 2: Extracting audio features
[0663] The server extracts audio features such as Mel-Frequency Cepstral Coefficients (MFCC) and pitch from the collected audio data. The input is a saved audio file, which is analyzed using the librosa library. The output is a vector of audio features. Specific operations include reading the audio data and calculating the MFCC and pitch.
[0664] Step 3: Learning your voice profile
[0665] The server uses the extracted voice features to learn a voice profile for each user. The input is the voice feature data and the corresponding user ID, which are trained using scikit-learn's SVM (support vector machine) algorithm. The output is a voice profile model for each user. Specifically, the feature data is scaled and the SVM model is trained.
[0666] Step 4: Real-time audio capture and speaker identification
[0667] When the operation starts, the server captures audio data in real time from a microphone or other audio input device. The input is the real-time audio data, which is matched with a trained audio profile. The output is the identified speaker ID. Specific operations include feature extraction from the real-time audio data and speaker identification using a trained model.
[0668] Step 5: Correcting the audio
[0669] The server corrects the identified speaker's voice by noise removal, volume adjustment, etc. The input is real-time collected voice data, which is processed using the nltk library. The output is corrected, clear voice data. Specifically, this includes noise filtering and gain adjustment.
[0670] Step 6: Recognize emotions
[0671] The server sends the captured voice data in real time to the emotion engine to recognize the staff's emotions. The input is the corrected voice data, which is analyzed by a specific emotion recognition library. The output is the recognized emotional state (e.g., joy, anger, sadness, surprise, etc.). Specifically, the pitch, volume, speed, and tone of the voice data are analyzed.
[0672] Step 7: Generate a transcript
[0673] After completing the task, the server sends the collected voice data to a transcription engine (e.g., Google Speech-to-Text API) and converts it into text data. The input is the saved voice file, which is processed by the voice transcription API. The output is text data for each utterance. The server then adds emotional information to the text data to generate a transcript. Specifically, the voice data is converted into text, and each utterance is tagged with emotional information to create a transcript.
[0674] Step 8: Save and share your transcript
[0675] The server converts the generated transcripts into documents in PDF or Word format, uploads them to cloud storage, and sends them by email to relevant staff. The input is the transcript text data, which is converted into a document format. The output is a saved and shared transcript document. Specifically, this includes converting the text data format, uploading it to a cloud service, and sending it by email.
[0676] The specific processing unit 290 transmits the result of the specific processing to the smart glasses 214. In the smart glasses 214, the control unit 46A causes the speaker 240 to output the result of the specific processing. The microphone 238 acquires audio indicating a user input regarding the result of the specific processing. The control unit 46A transmits audio data indicating the user input acquired by the microphone 238 to the data processing device 12. In the data processing device 12, the specific processing unit 290 acquires the audio data.
[0677] The data generation model 58 is a so-called generative AI (Artificial Intelligence). An example of the data generation model 58 is ChatGPT (Internet Search<URL: https: / / openai.com / blog / chatgpt> ), Gemini (Internet search <url: https: gemini.google.com ?hl="ja">) and other generation AIs. The data generation model 58 is obtained by performing deep learning on a neural network. A prompt including an instruction is input to the data generation model 58, and inference data such as voice data indicating voice, text data indicating text, and image data indicating an image is also input. The data generation model 58 performs inference on the input inference data in accordance with the instruction indicated by the prompt, and outputs the inference result in a data format such as voice data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.
[0678] In the above embodiment, an example in which the specific processing is performed by the data processing device 12 has been given, but the technology of the present disclosure is not limited to this, and the specific processing may be performed by the smart glasses 214.
[0679] [Third embodiment]
[0680] FIG. 5 shows an example of the configuration of a data processing system 310 according to the third embodiment.
[0681] 5, the data processing system 310 includes the data processing device 12 and a headset terminal 314. An example of the data processing device 12 is a server.
[0682] The data processing device 12 includes a computer 22, a database 24, and a communication I / F 26. The computer 22 is an example of a "computer" according to the technology of the present disclosure. The computer 22 includes a processor 28, a RAM 30, and a storage 32. The processor 28, the RAM 30, and the storage 32 are connected to a bus 34. The database 24 and the communication I / F 26 are also connected to the bus 34. The communication I / F 26 is connected to a network 54. Examples of the network 54 include a WAN (Wide Area Network) and / or a LAN (Local Area Network).
[0683] The headset type terminal 314 includes a computer 36, a microphone 238, a speaker 240, a camera 42, a communication I / F 44, and a display 343. The computer 36 includes a processor 46, a RAM 48, and a storage 50. The processor 46, the RAM 48, and the storage 50 are connected to a bus 52. The microphone 238, the speaker 240, the camera 42, and the display 343 are also connected to the bus 52.
[0684] The microphone 238 receives instructions and the like from the user 20 by receiving voice uttered by the user 20. The microphone 238 captures the voice uttered by the user 20, converts the captured voice into audio data, and outputs it to the processor 46. The speaker 240 outputs audio in accordance with instructions from the processor 46.
[0685] Camera 42 is a small digital camera equipped with an optical system including a lens, aperture, and shutter, and an imaging element such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor, and captures images of the surroundings of user 20 (for example, an imaging range defined by an angle of view equivalent to the field of vision of a typical healthy person).
[0686] The communication I / F 44 is connected to a network 54. The communication I / Fs 44 and 26 are responsible for the exchange of various information between the processor 46 and the processor 28 via the network 54. The exchange of various information between the processor 46 and the processor 28 using the communication I / Fs 44 and 26 is carried out in a secure state.
[0687] Fig. 6 shows an example of the main functions of the data processing device 12 and the headset type terminal 314. As shown in Fig. 6, in the data processing device 12, a specific process is performed by the processor 28. A specific process program 56 is stored in the storage 32.
[0688] The specific processing program 56 is an example of a "program" according to the technology of the present disclosure. The processor 28 reads the specific processing program 56 from the storage 32 and executes the read specific processing program 56 on the RAM 30. The specific processing is realized by the processor 28 operating as a specific processing unit 290 in accordance with the specific processing program 56 executed on the RAM 30.
[0689] The storage 32 stores a data generation model 58 and an emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290.
[0690] In the headset type terminal 314, a reception output process is performed by the processor 46. A reception output program 60 is stored in the storage 50. The processor 46 reads the reception output program 60 from the storage 50 and executes the read reception output program 60 on the RAM 48. The reception output process is realized by the processor 46 operating as the control unit 46A in accordance with the reception output program 60 executed on the RAM 48.
[0691] Next, a description will be given of the identification process performed by the identification processing unit 290 of the data processing device 12. In the following description, the data processing device 12 will be referred to as the "server" and the headset type terminal 314 will be referred to as the "terminal."
[0692] The system of the present invention collects voice data in a hybrid conference, learns the voice characteristics of users, identifies speakers, and generates transcripts. The program processing of this system will be described in detail below.
[0693] Audio data collection and learning phase
[0694] The server automatically acquires and stores voice data from the conferencing system. For example, each time a user speaks, the voice data is sent to the server and stored. The server extracts voice features such as Mel-Frequency Cepstrum Coefficients (MFCC) and pitch from the collected voice data. The extracted voice features are used to learn a voice profile for each user. Specifically, a machine learning algorithm (e.g., a support vector machine or a deep neural network) is used to incorporate each user's voice features into a model, which is then saved as a profile.
[0695] Setting up and managing meetings
[0696] Users input the schedule and participant information for their next hybrid meeting. This information is sent to the server via their device and stored in a database. The server then creates a meeting participant list based on the meeting title, date, and participant list, and sends necessary reminders.
[0697] Speaker identification and voice correction during meetings
[0698] When a conference starts, the server captures voice data in real time from a microphone or other voice input device. The captured voice data is compared with a pre-trained voice profile to identify the speaker. For example, if user A speaks during a conference, the server extracts the voice features in real time, compares them with user A's voice profile, and identifies user A as the speaker.
[0699] After identifying the speaker, the server then corrects the audio data, for example by removing noise and adjusting the volume to make the voice clearer. This corrected audio is then streamed in real time to online participants, making it easier to hear.
[0700] Generate transcripts
[0701] After the meeting ends, the server sends the audio data collected during the meeting to a transcription engine and converts it into text data. This text data is classified by speaker and organized as a transcript. Specifically, the server tags each statement and saves the text data for each speaker separately. The saved text data is compiled into a transcript and converted into a PDF or Word document. The transcript is then sent to the relevant parties via email and uploaded to cloud storage.
[0702] For example, when a meeting is held with users A, B, and C, each speech is recognized and identified in real time, and clear audio data is generated with noise removal and volume adjustment. After the meeting, this audio data is automatically transcribed and a transcript is generated that is categorized by the speech of users A, B, and C. This transcript is shared with all parties involved and can be used for future reference.
[0703] The processing flow will be explained below.
[0704] Step 1:
[0705] The server automatically acquires and stores voice data from the conference system. Specifically, every time someone speaks during a conference, that voice data is sent to the server.
[0706] Step 2:
[0707] The server extracts speech features such as Mel-Frequency Cepstrum Coefficients (MFCC) and pitch from the collected speech data, which quantifies the characteristics of the speaker's speech.
[0708] Step 3:
[0709] The server uses the extracted voice features to learn a voice profile for each user. Specifically, it uses machine learning algorithms (e.g., support vector machines and deep neural networks) to build the voice profile.
[0710] Step 4:
[0711] Users enter schedules and participant information for their next hybrid meeting, which sends information such as the meeting title, date and time, and participant names and email addresses to the server.
[0712] Step 5:
[0713] The server creates a list of participants for the meeting based on the schedule information entered, stores the list in a database, and sends reminder emails before the meeting begins.
[0714] Step 6:
[0715] When a meeting starts, the server captures audio data in real time from microphones and other audio input devices installed in the meeting room, capturing each utterance in real time.
[0716] Step 7:
[0717] The server compares the captured voice data with a pre-trained voice profile. It extracts voice features and inputs them into a trained model to identify the speaker. In this step, if user A speaks, for example, the voice will match user A's voice profile and be identified.
[0718] Step 8:
[0719] After identifying the speaker, the server corrects the audio data, for example by removing noise and adjusting the volume to make the audio clearer, and the resulting clear audio is streamed in real time to online participants.
[0720] Step 9:
[0721] After the meeting, the server sends the collected audio data to a transcription engine and converts it into text, eliminating the need for manual transcription each time.
[0722] Step 10:
[0723] The server categorizes the transcribed text data by speaker, and stores each speaker's text data separately based on the tag information added to the audio data.
[0724] Step 11:
[0725] The server generates transcripts based on the classified text data, converts the transcripts into documents such as PDF and Word, and finally sends the transcripts to the relevant parties via email and uploads them to cloud storage.
[0726] By going through the above steps, the difficulty of hearing audio during hybrid meetings is eliminated, and accurate minutes are automatically generated for each speaker.
[0727] Example 1
[0728] Next, a description will be given of Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the headset type terminal 314 will be referred to as a "terminal."
[0729] In hybrid conferences, there is a need to effectively collect and manage the speech of multiple participants, accurately identify speakers, and generate transcripts. Current conference systems are prone to recognition errors due to low audio quality, making it difficult to clearly distinguish the content of each speaker's speech. It is also difficult to identify speakers in real time and reflect their comments in transcripts. A system that can solve this problem is needed.
[0730] The specific processing by the specific processing unit 290 of the data processing device 12 in the first embodiment is realized by the following means.
[0731] In this invention, the server includes means for collecting voice data, means for extracting voice features from the collected voice data, means for learning a voice profile for each user using the extracted voice features, means for registering conference schedule information, means for creating a conference participant list based on the registered schedule information, means for capturing voices during the conference in real time and identifying speakers, means for correcting the voices of the identified speakers, means for sending the collected voice data to a transcription engine and converting it into text data, means for classifying the recognized text data by speaker and generating transcripts, and means for uploading the generated transcripts to cloud storage and sharing them with conference participants. This makes it possible to accurately identify speakers in real time, efficiently manage speech content, and generate high-quality transcripts.
[0732] "Audio data" refers to data in which audio is recorded in digital format.
[0733] "Audio features" are numerical values that indicate features such as frequency components and volume extracted from audio data.
[0734] A "voice profile" is data that is learned from a user's individual voice characteristics and stored as a model.
[0735] "Meeting schedule information" is information such as the date and time of the meeting, the title, and the list of participants.
[0736] The "conference participant list" is data showing a list of users who are scheduled to participate in the conference.
[0737] A "transcription engine" is software or a system for converting audio data into text data.
[0738] "Text data" is data recorded as character information.
[0739] A "transcript" is a document that organizes and classifies the content of comments made during a meeting by user.
[0740] "Cloud storage" is an online storage service for storing and managing data via the Internet.
[0741] The system of the present invention collects voice data in a hybrid conference, learns the voice characteristics of users, identifies speakers, and generates speech transcripts. A specific implementation method of this system will be described in detail below.
[0742] The server automatically acquires and stores audio data from the conference system. The hardware used is assumed to be ordinary server equipment (e.g., data center server, cloud server, etc.). First, each time a user speaks, the audio data is sent to the server. This acquired audio data is stored in a database. The server uses an audio processing library (e.g., librosa) to extract audio features such as Mel-Frequency Cepstrum Coefficients (MFCC) and pitch from the collected audio data. This allows the frequency and timing characteristics of the audio data to be analyzed.
[0743] The server then uses the extracted voice features to learn a voice profile for each user. This process uses machine learning algorithms such as support vector machines and deep neural networks (e.g., TensorFlow, PyTorch), and stores each user's voice features as a model.
[0744] A user enters scheduling information for an upcoming hybrid meeting. The user enters the information from their device using a web form or a meeting application, which is then sent to the server. This information includes the meeting title, date and time, and a list of participants. The server stores this information in a database, creates a meeting participant list, and sends reminders to participants.
[0745] When a conference starts, the server captures voice data in real time from microphones and other voice input devices. This voice data is compared with pre-trained voice profiles to identify the speaker. Specifically, if User A speaks at any moment during the conference, the server extracts the voice features in real time and compares them with User A's voice profile to identify User A as the speaker.
[0746] After identifying the speaker, the server applies noise reduction filters and automatic volume adjustment algorithms (e.g., SpectralGate) to enhance the audio data, removing background noise and adjusting the volume of the voices evenly. The enhanced audio data is then streamed in real time to online meeting participants.
[0747] After the meeting ends, the server sends the collected audio data to a transcription engine (e.g., Google Cloud Speech-to-Text, IBM Watson Speech to Text) and converts it into text data. The generated text data is classified by speaker and organized as a transcript. Specifically, each utterance is tagged with the speaker's name, and the text data is classified by speaker. The transcript is converted into a PDF or Word document and uploaded to cloud storage (e.g., Google Drive, Dropbox). The transcript is also sent to the relevant parties by email.
[0748] For example, here's how to schedule your next hybrid meeting:
[0749] Meeting title: Progress check of next project
[0750] Date and time: November 5, 2023 10:00 AM - 12:00 PM
[0751] Participant information:
[0752] User A: Yamada Ichiro
[0753] User B: Jiro Sato
[0754] User C: Saburo Suzuki
[0755] In this way, a system is realized that can accurately identify speakers in real time, efficiently manage speech content, and generate high-quality speech transcripts.
[0756] The flow of the identification process in the first embodiment will be described with reference to FIG.
[0757] System program processing steps
[0758] Step 1: Collecting audio data
[0759] The server collects audio data from the conference system in real time.
[0760] Input: The audio signal from your microphone or other audio input device during a meeting.
[0761] Data processing: The voice data is converted into a digital format and stored in a database on the server.
[0762] Output: Stored digital audio data.
[0763] Step 2: Extracting audio features
[0764] The server extracts speech features from the collected speech data.
[0765] Input: The digital audio data collected in step 1.
[0766] Data calculation: Use an open-source audio processing library (e.g., librosa) to calculate Mel-Frequency Cepstrum Coefficients (MFCCs), pitch, etc.
[0767] Output: Extracted speech features.
[0768] Step 3: Learning your voice profile
[0769] The server uses the extracted speech features to learn a speech profile for each user.
[0770] Input: Speech feature data extracted in step 2.
[0771] Data computation: Using support vector machines or deep neural networks (e.g., TensorFlow, PyTorch), we incorporate audio features into our models.
[0772] Output: A trained voice profile for each user.
[0773] Step 4: Registering meeting schedule information
[0774] A user enters scheduling information for an upcoming hybrid meeting.
[0775] Input: Meeting title, date and time, participant list.
[0776] Data processing: Information entered through the terminal is sent to the server and stored in a database.
[0777] Output: Saved meeting schedule information.
[0778] Step 5: Create a meeting participant list
[0779] The server creates a conference participant list based on the registered schedule information.
[0780] Input: Meeting schedule information registered in step 4.
[0781] Data calculation: Generate a list based on the meeting title, date and time, and participant information.
[0782] Output: The generated conference participant list.
[0783] Step 6: Real-time audio capture and speaker identification during meetings
[0784] The server captures the audio during the conference in real time and identifies the speaker.
[0785] Input: Real-time audio data during the meeting.
[0786] Data computation: Apply a matching algorithm to match the pre-trained voice profile and identify the speaker.
[0787] Output: Identified speaker information and audio data.
[0788] Step 7: Correcting the voice of the identified speaker
[0789] The server corrects the voice of the identified speaker.
[0790] Input: Audio data of the speakers identified in step 6.
[0791] Data processing: Noise removal, automatic volume adjustment, and application of audio correction algorithms (e.g., SpectralGate) to convert the audio into clearer audio.
[0792] Output: Corrected, clear audio data.
[0793] Step 8: Transcribe and classify audio data
[0794] The server sends the collected audio data to a transcription engine and converts it into text data.
[0795] Input: The audio data corrected in step 7.
[0796] Data processing: Convert to text using a transcription engine (e.g., Google Cloud Speech-to-Text, IBM Watson Speech to Text).
[0797] Output: The generated text data.
[0798] Step 9: Generate and share your transcript
[0799] The server classifies the recognized text data by speaker, generates a transcript, and uploads the transcript to cloud storage to share with conference participants.
[0800] Input: The text data generated in step 8.
[0801] Data processing: Tag and categorize each statement to efficiently organize the text data.
[0802] Output: PDF or Word document transcript, upload to cloud storage or email to participants.
[0803] (Application example 1)
[0804] Next, a description will be given of Application Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the headset type terminal 314 will be referred to as a "terminal."
[0805] Conventional customer support systems have difficulty identifying customer voices in real time and providing appropriate service. Furthermore, noise removal from voice data was insufficient, making it difficult to provide clear voice service. Furthermore, there was a lack of a way to convert customer comments into text for later reference, making it difficult to provide effective customer support.
[0806] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 1 is realized by the following means.
[0807] In this invention, the server includes means for collecting voice data, means for extracting voice features from the collected voice data, means for learning a voice profile for each user using the extracted voice features, means for registering schedule information, means for creating a specific target list based on the registered schedule information, means for capturing voices from the targets in real time and identifying speakers, means for correcting the voices of the identified speakers, means for classifying recognized text data by speaker and generating records, means for identifying customer voices in real time and aiming to improve customer service and the customer experience, means for removing noise and adjusting volume to generate clear voice, and means for converting speech content into text for later reference. This makes it possible to identify customer voices in real time, provide appropriate services with clear voice, and convert speech content into text for later reference.
[0808] "Audio data" is data that represents audio in digital form.
[0809] A "speech feature" is a specific parameter extracted from a speech signal, and represents the characteristics of the speech.
[0810] A "voice profile" is a data set that statistically summarizes the voice features of a specific user.
[0811] "Schedule information" is information relating to specific dates and times or events.
[0812] A "specific target list" is a list of interested parties that is generated based on schedule information.
[0813] "Real time" refers to a state in which processing is carried out immediately without delay.
[0814] "Speaker" refers to the person speaking in the audio data.
[0815] "Correcting audio" means performing processes such as noise removal and volume adjustment on audio data.
[0816] "Recognized text data" is text information generated by analyzing voice data.
[0817] "Record" refers to the storage and classification of recognized text data.
[0818] Identifying "customer voice" means analyzing customer voice data and identifying individual customers.
[0819] "Noise reduction" is a process of removing unnecessary background sounds from audio data.
[0820] "Volume adjustment" is a process of appropriately changing the volume of audio data.
[0821] "Clear audio" refers to audio with little noise and that is easy to hear.
[0822] The system for implementing this invention is a customer support system using smart glasses. This system performs the following processes.
[0823] Generating a Program
[0824] The server collects voice data and extracts voice features from the collected data. These features include Mel-Frequency Cepstrum Coefficients (MFCC) and pitch. This is used to learn each user's voice profile. By registering meeting schedule information, a specific target list is created and specific events are managed based on that list.
[0825] Processing Description
[0826] The server collects real-time audio data from the microphone of the smart glasses using the pyaudio library, and converts the audio data into audio features (e.g., MFCCs) using the librosa library.
[0827] The converted voice features are then fed into a pre-trained model (e.g., a deep neural network model) and matched to the user's voice profile. This matching process identifies the customer's voice.
[0828] The collected audio data is then processed to remove noise and adjust the volume, which is an important step in generating clear audio data, which is then reported to support staff in real time.
[0829] The server then converts the recognized speech data into text data, which is then classified by speaker using a speech recognition library (e.g., some_speech_recognition_lib) and saved in a record for future reference.
[0830] Adding specific examples
[0831] For example, if a customer visits a store and asks, "Do you have this item in stock?", the microphone in the smart glasses will collect the voice. This voice data will be immediately sent to the server, where voice features will be extracted and classified. The customer's speech will be cleared by noise reduction and volume adjustment, and then transmitted to the support staff. At the same time, the speech will be converted into text and saved as a record for future reference.
[0832] Prompt Sentence Examples
[0833] An example of a prompt sentence to input to the generative AI model is as follows:
[0834] "Design an application for real-time customer service using smart glasses. I would like to build a system that collects voice data, learns the user's voice characteristics, and identifies the speaker. Specific program code would be helpful."
[0835] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[0836] Step 1: Collecting audio data
[0837] The server collects audio data in real time through the microphone of the smart glasses. The input is the audio signal obtained from the smart glasses, and the output is digital audio data. Specifically, the server uses the pyaudio library to buffer the audio signal and send it to the server as digital data.
[0838] Step 2: Preprocessing the audio data
[0839] The server removes noise from the collected audio data and adjusts the volume. The input is digital audio data, and the output is clear audio data that has been noise-removed and volume-adjusted. Specifically, it uses a filtering algorithm to remove unwanted background sounds and maintain a constant volume.
[0840] Step 3: Extract audio features
[0841] The server extracts speech features from the preprocessed speech data. The input is clear speech data, and the output is speech features (e.g., Mel-Frequency Cepstrum Coefficients (MFCCs)). Specifically, it uses the librosa library to analyze the speech data and calculate the features.
[0842] Step 4: Learning your voice profile
[0843] The server uses the extracted voice features to learn a voice profile for each user. The input is the voice features, and the output is the user's voice profile. Specifically, the server generates the profile using a machine learning algorithm (e.g., a deep neural network) and stores it in a database.
[0844] Step 5: Real-time customer voice identification
[0845] The server compares the voice data collected in real time with the voice profile to identify the customer. The input is real-time voice features, and the output is identified customer information. Specifically, the voice features are input into a model to identify the profile that best matches.
[0846] Step 6: Recognizing and converting audio data into text
[0847] The server converts the identified customer's voice data into text. The input is clear voice data and the output is text data. Specifically, it uses a voice recognition library to analyze the voice data and convert it into text data.
[0848] Step 7: Record and categorize what is said
[0849] The server categorizes the textual content of the comments by customer and saves it in a record. The input is text data, and the output is a record of the categorized content of the comments. Specifically, the server tags the text data based on customer information and saves it in a database.
[0850] The above steps make it possible to identify customer voices in real time, provide appropriate services with clear voice, and convert what is said into text for later reference.
[0851] Furthermore, an emotion engine that estimates the user's emotion may be further combined. That is, the identification processing unit 290 may estimate the user's emotion using the emotion identification model 59, and perform identification processing using the user's emotion.
[0852] The system of the present invention collects voice data from hybrid conferences, identifies speakers by learning the voice characteristics of users, and combines it with an emotion engine that recognizes the user's emotions to add emotional information to the transcript and visually present the atmosphere of the conference. The program processing of this system is described in detail below.
[0853] Audio data collection and learning phase
[0854] The server automatically acquires and stores voice data from the conferencing system. For example, each time a user speaks, the voice data is sent to the server and stored. The server extracts voice features such as Mel-Frequency Cepstrum Coefficients (MFCC) and pitch from the collected voice data. The extracted voice features are used to learn a voice profile for each user. Specifically, a machine learning algorithm (e.g., support vector machine or deep neural network) is used to incorporate each user's voice features into a model, which is then saved as a profile.
[0855] Setting up and managing meetings
[0856] Users input the schedule and participant information for their next hybrid meeting. This information is sent to the server via their device and stored in a database. The server then creates a meeting participant list based on the meeting title, date, and participant list, and sends necessary reminders.
[0857] Speaker identification and voice correction during meetings
[0858] When a conference starts, the server captures voice data in real time from a microphone or other voice input device. The captured voice data is compared with a pre-trained voice profile to identify the speaker. For example, if user A speaks during a conference, the server extracts the voice features in real time, compares them with user A's voice profile, and identifies user A as the speaker.
[0859] After identifying the speaker, the server then corrects the audio data, for example by removing noise and adjusting the volume to make the voice clearer. This corrected audio is then streamed in real time to online participants, making it easier to hear.
[0860] Introducing the Emotion Engine
[0861] The server sends the captured voice data in real time to the emotion engine to recognize the user's emotions. The emotion engine analyzes the pitch, volume, speed, and tone of the voice data to identify the user's emotional state (e.g., joy, anger, sadness, surprise, etc.).
[0862] Generate transcripts
[0863] After the meeting ends, the server sends the audio data collected during the meeting to a transcription engine and converts it into text data. This text data is categorized by speaker and organized as a transcript. The server also adds emotional information recognized by the emotion engine to the text data and records the emotional state of each statement. The saved text data is compiled into a transcript and converted into a PDF or Word document. This transcript is sent to the relevant parties by email and also uploaded to cloud storage.
[0864] Specific examples
[0865] For example, in a meeting involving users A, B, and C, each speech is recognized and identified in real time, and clear audio data is generated with noise removal and volume adjustment. If user B expresses anger during speech, the emotion engine identifies that emotion and tags the transcript as "anger." After the meeting, this audio data is automatically transcribed, and a transcript is generated that categorizes each speech by user A, B, and C. The transcript also includes the emotional state of each speaker and is shared with all parties involved for future reference. The server can also visually analyze the overall emotional information and display the meeting atmosphere on an online dashboard.
[0866] The processing flow will be explained below.
[0867] Step 1:
[0868] The server automatically acquires and stores voice data from the conference system. Specifically, every time a user speaks during a conference, the voice data is sent to the server, which then stores it in storage.
[0869] Step 2:
[0870] The server extracts voice features such as Mel-Frequency Cepstrum Coefficients (MFCC) and pitch from the collected voice data. The extracted features represent the characteristics of the user's voice in numerical form.
[0871] Step 3:
[0872] The server uses the extracted voice features to learn a voice profile for each user. Specifically, it uses machine learning algorithms such as support vector machines and deep neural networks to incorporate each user's voice features into a model and saves this as a profile.
[0873] Step 4:
[0874] Users enter schedule and participant information for their next hybrid meeting. This information is sent to the server and stored in a database. The input includes the meeting title, date and time, and participant names and email addresses.
[0875] Step 5:
[0876] The server creates a meeting participant list based on the schedule information entered, stores the list in a database, and sends reminders before the meeting, including meeting details and how to join.
[0877] Step 6:
[0878] When a meeting starts, the server captures audio data in real time from microphones and other audio input devices installed in the meeting room, thereby recording all audio occurring during the meeting in real time.
[0879] Step 7:
[0880] The server compares the captured voice data with a pre-trained voice profile. It then extracts voice features again and compares them with the trained model to identify the speaker. For example, if user A speaks, the voice will match user A's voice profile and the speaker will be identified.
[0881] Step 8:
[0882] After identifying the speaker, the server corrects the audio data, specifically filtering out noise and adjusting the volume to convert it into clear, intelligible audio that is then streamed in real time to online participants.
[0883] Step 9:
[0884] The server sends the captured voice data in real time to the emotion engine to recognize the user's emotions. The emotion engine analyzes the pitch, volume, speed, and tone of the voice data to identify the user's emotional state (e.g., joy, anger, sadness, surprise, etc.).
[0885] Step 10:
[0886] After the meeting ends, the server sends the audio data collected during the meeting to a transcription engine and converts it into text data, which automatically records the audio data as text.
[0887] Step 11:
[0888] The server categorizes the transcribed text data by speaker, adds emotional information recognized by the emotion engine to the text data, and records the emotional state of each utterance.
[0889] Step 12:
[0890] The server generates transcripts based on the text data with added classification and emotion information, converts the transcripts into PDF or Word documents, and sends them to relevant parties via email or uploads them to cloud storage.
[0891] Step 13:
[0892] The server visually analyzes the overall emotional information and displays the atmosphere of the meeting on an online dashboard, allowing meeting participants to intuitively grasp the overall emotional flow.
[0893] By going through the above steps, the difficulty of hearing audio in hybrid meetings is eliminated, and the emotional state of each speaker is also recorded and analyzed, allowing more detailed minutes to be automatically generated.
[0894] Example 2
[0895] Next, a description will be given of Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the headset type terminal 314 will be referred to as a "terminal."
[0896] In hybrid conferences, it is difficult to identify the speaker's voice and process the voice data efficiently and accurately. Furthermore, conventional systems have not been able to recognize the speaker's emotional state and visually convey the atmosphere of the conference. Another issue is the time-consuming process of generating a transcript of the speech after the conference and sharing it with the relevant parties.
[0897] The specific processing by the specific processing unit 290 of the data processing device 12 in the second embodiment is realized by the following means.
[0898] In this invention, the server includes means for collecting voice data, means for extracting voice features from the collected voice data, means for learning a voice profile for each user using the extracted voice features, means for registering conference schedule information, means for creating a conference participant list based on the registered schedule information, means for capturing voices during the conference in real time and identifying speakers, means for correcting the voices of the identified speakers, means for sending the utterance data to an emotion engine and performing emotion analysis, means for classifying recognized text data by speaker and adding emotion information to generate a transcript, and means for converting the generated transcript into a document format and sharing it with relevant parties. This makes it possible to efficiently and accurately perform a series of processes such as identifying speakers, correcting the voice data, analyzing emotions, and generating and sharing transcripts.
[0899] "Audio data" refers to digital information of the voices uttered by participants during a conference.
[0900] "Audio features" are characteristic parameters such as Mel-Frequency Cepstrum Coefficients (MFCCs) and pitch extracted from audio data.
[0901] A "voice profile" is model information that summarizes the voice features of each user.
[0902] "Meeting schedule information" is information such as the date and start time of the next meeting, and a list of participants.
[0903] A "conference participant list" is a list of people who plan to attend a conference.
[0904] "Capture in real time" means that the moment a speaker speaks, the voice data is immediately sent to the server and processed.
[0905] "Identifying the speaker" means identifying which user made the comment by matching the voice profile.
[0906] "Correcting the voice" refers to processing that makes the speaker's voice data easier to hear by performing noise removal, volume adjustment, etc.
[0907] An "emotion engine" is a system that analyzes voice data to recognize the speaker's emotional state.
[0908] A "transcript" is a record of statements made during a meeting organized as text data, categorized by speaker, and with emotional information added.
[0909] "Converting to document format" means converting the generated transcript into a document format such as PDF or Word.
[0910] "Sharing with stakeholders" means distributing the generated transcript to meeting participants and stakeholders via email or cloud storage.
[0911] The system of the present invention collects voice data from a hybrid conference, identifies speakers by learning the voice characteristics of the users, and combines it with an emotion engine that recognizes the users' emotions to add emotional information to the transcripts and visually present the atmosphere of the conference. This system is specifically implemented as follows.
[0912] First, the server collects and stores voice data from the conference system. Every time a user speaks, the voice data is sent to the server and stored. The server extracts voice features such as Mel-Frequency Cepstrum Coefficients (MFCC) and pitch from the collected voice data. This can be done, for example, using a voice analysis library (e.g., Librosa). Using these extracted voice features, a voice profile for each user is learned using a machine learning algorithm (e.g., support vector machine, deep neural network), and the profile is saved.
[0913] Next, the user enters the schedule and participant information for the next hybrid meeting through the terminal. This information is sent to the server and stored in a database. The server creates a meeting participant list based on the meeting title, date and time, and participant list, and sends reminders. For example, it can send reminder emails one hour and 30 minutes before the meeting starts.
[0914] When a conference starts, the server captures voice data in real time from microphones and other voice input devices. This voice data is compared in real time with pre-trained voice profiles to identify the speaker. Matching involves real-time analysis of voice features and comparison with the profile. For example, when user A speaks, the server analyzes the voice features and compares them with user A's voice profile to identify the speaker.
[0915] After identifying the speaker, the server applies noise reduction and volume adjustment to the audio, applying noise-canceling filters and voice normalization algorithms to produce clearer audio, which is then streamed in real time to online participants.
[0916] Furthermore, the server sends the captured voice data in real time to the emotion engine, which analyzes the user's emotions by analyzing the pitch, volume, speed, and tone of the voice data to identify the user's emotional state (e.g., joy, anger, sadness, surprise, etc.).
[0917] After the meeting ends, the server sends the audio data collected during the meeting to a transcription engine and converts it into text data. This text data is categorized by speaker and organized as a transcript. The server also adds emotional information recognized by the emotion engine to the text data, recording the emotional state of each utterance. Finally, the saved text data is converted into a PDF or Word document, sent to the relevant parties via email, and uploaded to cloud storage. This is done using a PDF generation library (e.g., PDFKit) and a cloud storage API (e.g., AWS S3).
[0918] Specific examples
[0919] For example, in a meeting involving users A, B, and C, each speech is recognized and identified in real time, and clear audio data is generated with noise reduction and volume adjustment. If user B expresses anger during speech, the emotion engine identifies that emotion and tags the transcript as "anger." After the meeting, this audio data is automatically transcribed, and a transcript is generated that categorizes each speech by user A, B, and C. The transcript also includes the emotional state of each speaker and is shared with all parties involved for future reference. The server can also visually analyze the overall emotional information and display the meeting atmosphere on an online dashboard.
[0920] Example prompts to input to the generative AI model
[0921] "Collect audio data from the next hybrid meeting, identify speakers, and generate a transcript including emotional states. User A, User B, and User C will be participating."
[0922] The flow of the identification process in the second embodiment will be described with reference to FIG.
[0923] Step 1:
[0924] Audio data collection
[0925] The server automatically acquires and stores audio data from the conference system. The input is the speech of the conference participants. The server collects each speech as digital data and stores it in a database. Specifically, it uses an audio input device (such as a microphone) to collect each speech at a sampling rate of 44.1 kHz.
[0926] Step 2:
[0927] Extraction of speech features
[0928] The server extracts audio features such as Mel Frequency Cepstrum Coefficients (MFCC) and pitch from the collected audio data. The saved audio data is used as input. The server uses an audio analysis library (e.g., Librosa) to extract features from each audio data and output them to a feature database. Specifically, it performs MFCC conversion and pitch analysis.
[0929] Step 3:
[0930] Voice profile training
[0931] The server uses the extracted voice features to learn a voice profile for each user. The voice feature data is used as input. Using a machine learning algorithm (e.g., support vector machine, deep neural network), the server incorporates each user's voice features into a model and stores the profile in a database. The output is a voice profile for each user. Specifically, the model is trained using a training dataset to generate a voice profile.
[0932] Step 4:
[0933] Registering conference settings
[0934] The user enters the schedule and participant information for the next hybrid meeting. Input includes the meeting title, date and time, and participant list. This information is sent to the server via the terminal. The server stores the received information in a database and creates a list of meeting participants. The output is the registered schedule information and the list of meeting participants. Specifically, the information is entered using a web form or application.
[0935] Step 5:
[0936] Meeting reminders
[0937] The server checks the date and time of the meeting based on the registered schedule information and sets a reminder. The input is the date and time of the meeting and the list of participants. The server sends a reminder email 1 hour, 30 minutes, 10 minutes, etc. before the start of the meeting. The output is the sent reminder. Specifically, an email sending API (e.g., SendGrid) is used.
[0938] Step 6:
[0939] Recording audio data during a meeting
[0940] When a meeting starts, the server captures audio data in real time from a microphone or other audio input device. As input, it has real-time audio data. The server captures the audio data using WebSocket or a real-time protocol and generates a data stream for processing. The output is the real-time captured audio data. Specifically, it buffers and streams the audio data.
[0941] Step 7:
[0942] Identifying the speaker
[0943] The captured voice data is matched with a pre-trained voice profile to identify the speaker. The input is real-time voice data, and the output is the ID of the identified speaker. The server uses a matching algorithm to analyze the MFCC of the voice data in real time and identify the user with the closest voice profile as the speaker.
[0944] Step 8:
[0945] Audio data correction
[0946] After identifying the speaker, the server performs audio correction such as noise reduction and volume adjustment. The input is the identified speaker's audio data. The server applies noise-cancelling filters and audio normalization algorithms to generate clear audio data as output. Specifically, it uses an FFT (Fast Fourier Transform) filter to remove noise.
[0947] Step 9:
[0948] emotion recognition
[0949] The server sends the corrected voice data to the emotion engine to recognize the user's emotion. The input is the corrected voice data, and the output is the recognized emotion information. The server analyzes the pitch, volume, speed, tone, etc. of the voice data, and stores the emotion information in a database.
[0950] Step 10:
[0951] Generate transcripts
[0952] After the meeting ends, the server sends the audio data collected during the meeting to a transcription engine and converts it into text data. The inputs are audio data and emotional information. The server uses a speech recognition library (e.g., Google Speech-to-Text API) to convert the audio into text and add emotional information. The output is a transcript. Specifically, it generates a transcript with emotional tags added to the text data.
[0953] Step 11:
[0954] Save and share transcripts
[0955] The generated transcripts are converted into PDF or Word format documents, sent to the relevant parties via email, and also uploaded to cloud storage. The input is the generated transcript, and the output is a PDF or Word format document. Specifically, a PDF generation library (e.g., PDFKit) and a cloud storage API (e.g., AWS S3) are used to generate and store the documents.
[0956] (Application example 2)
[0957] Next, a description will be given of Application Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the headset type terminal 314 will be referred to as a "terminal."
[0958] Conventional factory robots have difficulty properly identifying instructions from staff and understanding changes in their emotions while working. This has led to issues such as reduced work efficiency and the quality of communication. Furthermore, there has been a lack of systems that can identify speakers in real time and organize information, including their emotions. To solve these problems, there has been a need to develop a system that enables factory robots to quickly and accurately understand staff instructions and adapt to changes in their emotions.
[0959] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 2 is realized by the following means.
[0960] In this invention, the server includes means for collecting voice data, means for extracting voice features from the collected voice data, means for learning a voice profile for each user using the extracted voice features, means for registering conference schedule information, means for creating a conference participant list based on the registered schedule information, means for capturing voices during the conference in real time and identifying speakers, means for correcting the voices of the identified speakers, means for classifying recognized text data by speaker and generating a transcript, and means for recognizing emotional information from the collected voice data and adding an emotional state to the transcript. This enables factory robots to accurately understand staff instructions, identify speakers in real time, and engage in advanced communication that takes emotional information into account.
[0961] "Audio data" refers to recordings of sounds collected in meetings, work sites, etc.
[0962] "Speech features" are specific parameters extracted from speech data, such as Mel-Frequency Cepstral Coefficients (MFCCs) and pitch.
[0963] A "voice profile" is a voice recognition model created based on the voice features of a specific user.
[0964] "Conference schedule information" is schedule information such as the date and time of the conference, a list of participants, and the conference title.
[0965] The "conference participant list" is a list of all members who are scheduled to participate in the conference.
[0966] A "speaker" is a user who speaks during a meeting or during work.
[0967] "Correcting audio" means removing noise and adjusting the volume to improve the quality of the audio data.
[0968] "Text data" is digital information that has been converted from voice data into text.
[0969] A "transcript" is a record of a meeting that includes the content of each speaker's remarks.
[0970] "Emotional information" refers to the speaker's emotional state (joy, anger, sadness, surprise, etc.) analyzed from the voice data.
[0971] This invention realizes a communication support system for factory robots. It is a system that collects voice data, analyzes voice characteristics, identifies the speaker, and recognizes emotions. Below, we will explain the program processing flow of this system and the hardware and software used.
[0972] Audio data collection and learning phase
[0973] The server automatically acquires and stores voice data from microphones and other voice input devices used on the factory floor. When collecting voice data, it records audio using the sounddevice library. The server extracts voice features such as Mel Frequency Cepstrum Coefficients (MFCC) and pitch from the collected voice data. This is done using the Python library librosa. Using the extracted voice features, a voice profile for each staff member is trained using a machine learning algorithm (e.g., SVM in scikit-learn), and the profile is saved.
[0974] Speaker identification and voice correction during meetings
[0975] When work begins in the factory, the server captures voice data in real time from microphones and other voice input devices. The captured voice data is compared with pre-trained voice profiles to identify the speaker. For example, when a specific staff member gives instructions to a robot, the server extracts the voice features in real time and compares them with the profile to identify the speaker. It then performs noise removal and volume adjustment to make the voice clearer. The nltk library is used for this correction.
[0976] Introducing the Emotion Engine
[0977] The server sends the captured voice data in real time to the emotion engine to recognize the staff's emotions. The emotion engine analyzes the pitch, volume, speed, and tone of the voice data to identify the emotional state (e.g., joy, anger, sadness, surprise, etc.). This is done using pyaudio and a specific emotion recognition library.
[0978] Generate transcripts
[0979] After completing the task, the server sends the collected audio data to a transcription engine (e.g., Google Speech-to-Text API) and converts it into text data. This text data is categorized by speaker and organized as a transcript. The server also adds emotional information recognized by the emotion engine to the text data, recording the emotional state of each utterance. The saved text data is compiled into a transcript, which is ultimately sent by email to the relevant staff and uploaded to cloud storage.
[0980] Specific examples
[0981] For example, three workers, Staff A, B, and C, are working in a factory. Staff A instructs a robot to "take out the next part." The server records this voice in real time and matches it with Staff A's voice profile to identify the speaker. Furthermore, the emotion engine recognizes Staff A's hurried tone as indicating "high alert." The voice data is corrected and transmitted clearly to other staff and robots. The content and emotions of the conversation are also recorded, and a transcript is generated for future reference.
[0982] Prompt Sentence Examples
[0983] Take out the next part (express)
[0984] Speaker: UserA
[0985] Emotion: High alert
[0986] By inputting such prompt sentences into a generative AI model, the robot can respond quickly and carry out instructions that take emotions into consideration.
[0987] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[0988] Step 1: Collecting audio data
[0989] The server automatically captures and stores audio data from microphones and other audio input devices used on the factory floor. The input is real-time audio data from the microphone, which is sent to the server. The output is a saved audio file. Specifically, the sounddevice library is used to record audio and the data is saved in a file format (e.g., WAV file).
[0990] Step 2: Extracting audio features
[0991] The server extracts audio features such as Mel-Frequency Cepstral Coefficients (MFCC) and pitch from the collected audio data. The input is a saved audio file, which is analyzed using the librosa library. The output is a vector of audio features. Specific operations include reading the audio data and calculating the MFCC and pitch.
[0992] Step 3: Learning your voice profile
[0993] The server uses the extracted voice features to learn a voice profile for each user. The input is the voice feature data and the corresponding user ID, which are trained using scikit-learn's SVM (support vector machine) algorithm. The output is a voice profile model for each user. Specifically, the feature data is scaled and the SVM model is trained.
[0994] Step 4: Real-time audio capture and speaker identification
[0995] When the operation starts, the server captures audio data in real time from a microphone or other audio input device. The input is the real-time audio data, which is matched with a trained audio profile. The output is the identified speaker ID. Specific operations include feature extraction from the real-time audio data and speaker identification using a trained model.
[0996] Step 5: Correcting the audio
[0997] The server corrects the identified speaker's voice by noise removal, volume adjustment, etc. The input is real-time collected voice data, which is processed using the nltk library. The output is corrected, clear voice data. Specifically, this includes noise filtering and gain adjustment.
[0998] Step 6: Recognize emotions
[0999] The server sends the captured voice data in real time to the emotion engine to recognize the staff's emotions. The input is the corrected voice data, which is analyzed by a specific emotion recognition library. The output is the recognized emotional state (e.g., joy, anger, sadness, surprise, etc.). Specifically, the pitch, volume, speed, and tone of the voice data are analyzed.
[1000] Step 7: Generate a transcript
[1001] After completing the task, the server sends the collected voice data to a transcription engine (e.g., Google Speech-to-Text API) and converts it into text data. The input is the saved voice file, which is processed by the voice transcription API. The output is text data for each utterance. The server then adds emotional information to the text data to generate a transcript. Specifically, the voice data is converted into text, and each utterance is tagged with emotional information to create a transcript.
[1002] Step 8: Save and share your transcript
[1003] The server converts the generated transcripts into documents in PDF or Word format, uploads them to cloud storage, and sends them by email to relevant staff. The input is the transcript text data, which is converted into a document format. The output is a saved and shared transcript document. Specifically, this includes converting the text data format, uploading it to a cloud service, and sending it by email.
[1004] The specific processing unit 290 transmits the result of the specific processing to the headset type terminal 314. In the headset type terminal 314, the control unit 46A causes the speaker 240 and the display 343 to output the result of the specific processing. The microphone 238 acquires audio indicating a user input regarding the result of the specific processing. The control unit 46A transmits audio data indicating the user input acquired by the microphone 238 to the data processing device 12. In the data processing device 12, the specific processing unit 290 acquires the audio data.
[1005] The data generation model 58 is a so-called generative AI (Artificial Intelligence). An example of the data generation model 58 is ChatGPT (Internet Search<URL: https: / / openai.com / blog / chatgpt> ), Gemini (Internet search <url: https: gemini.google.com ?hl="ja">) and other generation AIs. The data generation model 58 is obtained by performing deep learning on a neural network. A prompt including an instruction is input to the data generation model 58, and inference data such as voice data indicating voice, text data indicating text, and image data indicating an image is also input. The data generation model 58 performs inference on the input inference data in accordance with the instruction indicated by the prompt, and outputs the inference result in a data format such as voice data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.
[1006] In the above embodiment, an example was given in which the specific processing is performed by the data processing device 12, but the technology of the present disclosure is not limited to this, and the specific processing may be performed by the headset type terminal 314.
[1007] [Fourth embodiment]
[1008] FIG. 7 shows an example of the configuration of a data processing system 410 according to the fourth embodiment.
[1009] 7, a data processing system 410 includes a data processing device 12 and a robot 414. An example of the data processing device 12 is a server.
[1010] The data processing device 12 includes a computer 22, a database 24, and a communication I / F 26. The computer 22 is an example of a "computer" according to the technology of the present disclosure. The computer 22 includes a processor 28, a RAM 30, and a storage 32. The processor 28, the RAM 30, and the storage 32 are connected to a bus 34. The database 24 and the communication I / F 26 are also connected to the bus 34. The communication I / F 26 is connected to a network 54. Examples of the network 54 include a WAN (Wide Area Network) and / or a LAN (Local Area Network).
[1011] The robot 414 includes a computer 36, a microphone 238, a speaker 240, a camera 42, a communication I / F 44, and a control target 443. The computer 36 includes a processor 46, a RAM 48, and a storage 50. The processor 46, the RAM 48, and the storage 50 are connected to a bus 52. The microphone 238, the speaker 240, the camera 42, and the control target 443 are also connected to the bus 52.
[1012] The microphone 238 receives instructions and the like from the user 20 by receiving voice uttered by the user 20. The microphone 238 captures the voice uttered by the user 20, converts the captured voice into audio data, and outputs it to the processor 46. The speaker 240 outputs audio in accordance with instructions from the processor 46.
[1013] Camera 42 is a small digital camera equipped with an optical system including a lens, aperture, and shutter, and an imaging element such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor, and captures images of the surroundings of user 20 (for example, an imaging range defined by an angle of view equivalent to the field of vision of a typical healthy person).
[1014] The communication I / F 44 is connected to a network 54. The communication I / Fs 44 and 26 are responsible for the exchange of various information between the processor 46 and the processor 28 via the network 54. The exchange of various information between the processor 46 and the processor 28 using the communication I / Fs 44 and 26 is carried out in a secure state.
[1015] The control object 443 includes a display device, LEDs in the eyes, and motors for driving the arms, hands, and feet. The posture and gestures of the robot 414 are controlled by controlling the motors of the arms, hands, and feet. Some of the emotions of the robot 414 can be expressed by controlling these motors. In addition, the facial expressions of the robot 414 can also be expressed by controlling the light emission state of the LEDs in the eyes of the robot 414.
[1016] Fig. 8 shows an example of the main functions of the data processing device 12 and the robot 414. As shown in Fig. 8, in the data processing device 12, a specific process is performed by the processor 28. A specific process program 56 is stored in the storage 32.
[1017] The specific processing program 56 is an example of a "program" according to the technology of the present disclosure. The processor 28 reads the specific processing program 56 from the storage 32 and executes the read specific processing program 56 on the RAM 30. The specific processing is realized by the processor 28 operating as a specific processing unit 290 in accordance with the specific processing program 56 executed on the RAM 30.
[1018] The storage 32 stores a data generation model 58 and an emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290.
[1019] In the robot 414, the processor 46 performs the reception output process. A reception output program 60 is stored in the storage 50. The processor 46 reads the reception output program 60 from the storage 50 and executes the read reception output program 60 on the RAM 48. The reception output process is realized by the processor 46 operating as the control unit 46A in accordance with the reception output program 60 executed on the RAM 48.
[1020] Next, a description will be given of the specific processing performed by the specific processing unit 290 of the data processing device 12. In the following description, the data processing device 12 will be referred to as a "server" and the robot 414 will be referred to as a "terminal."
[1021] The system of the present invention collects voice data in a hybrid conference, learns the voice characteristics of users, identifies speakers, and generates transcripts. The program processing of this system will be described in detail below.
[1022] Audio data collection and learning phase
[1023] The server automatically acquires and stores voice data from the conferencing system. For example, each time a user speaks, the voice data is sent to the server and stored. The server extracts voice features such as Mel-Frequency Cepstrum Coefficients (MFCC) and pitch from the collected voice data. The extracted voice features are used to learn a voice profile for each user. Specifically, a machine learning algorithm (e.g., a support vector machine or a deep neural network) is used to incorporate each user's voice features into a model, which is then saved as a profile.
[1024] Setting up and managing meetings
[1025] Users input the schedule and participant information for their next hybrid meeting. This information is sent to the server via their device and stored in a database. The server then creates a meeting participant list based on the meeting title, date, and participant list, and sends necessary reminders.
[1026] Speaker identification and voice correction during meetings
[1027] When a conference starts, the server captures voice data in real time from a microphone or other voice input device. The captured voice data is compared with a pre-trained voice profile to identify the speaker. For example, if user A speaks during a conference, the server extracts the voice features in real time, compares them with user A's voice profile, and identifies user A as the speaker.
[1028] After identifying the speaker, the server then corrects the audio data, for example by removing noise and adjusting the volume to make the voice clearer. This corrected audio is then streamed in real time to online participants, making it easier to hear.
[1029] Generate transcripts
[1030] After the meeting ends, the server sends the audio data collected during the meeting to a transcription engine and converts it into text data. This text data is classified by speaker and organized as a transcript. Specifically, the server tags each statement and saves the text data for each speaker separately. The saved text data is compiled into a transcript and converted into a PDF or Word document. The transcript is then sent to the relevant parties via email and uploaded to cloud storage.
[1031] For example, when a meeting is held with users A, B, and C, each speech is recognized and identified in real time, and clear audio data is generated with noise removal and volume adjustment. After the meeting, this audio data is automatically transcribed and a transcript is generated that is categorized by the speech of users A, B, and C. This transcript is shared with all parties involved and can be used for future reference.
[1032] The processing flow will be explained below.
[1033] Step 1:
[1034] The server automatically acquires and stores voice data from the conference system. Specifically, every time someone speaks during a conference, that voice data is sent to the server.
[1035] Step 2:
[1036] The server extracts speech features such as Mel-Frequency Cepstrum Coefficients (MFCC) and pitch from the collected speech data, which quantifies the characteristics of the speaker's speech.
[1037] Step 3:
[1038] The server uses the extracted voice features to learn a voice profile for each user. Specifically, it uses machine learning algorithms (e.g., support vector machines and deep neural networks) to build the voice profile.
[1039] Step 4:
[1040] Users enter schedules and participant information for their next hybrid meeting, which sends information such as the meeting title, date and time, and participant names and email addresses to the server.
[1041] Step 5:
[1042] The server creates a list of participants for the meeting based on the schedule information entered, stores the list in a database, and sends reminder emails before the meeting begins.
[1043] Step 6:
[1044] When a meeting starts, the server captures audio data in real time from microphones and other audio input devices installed in the meeting room, capturing each utterance in real time.
[1045] Step 7:
[1046] The server compares the captured voice data with a pre-trained voice profile. It extracts voice features and inputs them into a trained model to identify the speaker. In this step, if user A speaks, for example, the voice will match user A's voice profile and be identified.
[1047] Step 8:
[1048] After identifying the speaker, the server corrects the audio data, for example by removing noise and adjusting the volume to make the audio clearer, and the resulting clear audio is streamed in real time to online participants.
[1049] Step 9:
[1050] After the meeting, the server sends the collected audio data to a transcription engine and converts it into text, eliminating the need for manual transcription each time.
[1051] Step 10:
[1052] The server categorizes the transcribed text data by speaker, and stores each speaker's text data separately based on the tag information added to the audio data.
[1053] Step 11:
[1054] The server generates transcripts based on the classified text data, converts the transcripts into documents such as PDF and Word, and finally sends the transcripts to the relevant parties via email and uploads them to cloud storage.
[1055] By going through the above steps, the difficulty of hearing audio during hybrid meetings is eliminated, and accurate minutes are automatically generated for each speaker.
[1056] Example 1
[1057] Next, a description will be given of Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the robot 414 will be referred to as a "terminal."
[1058] In hybrid conferences, there is a need to effectively collect and manage the speech of multiple participants, accurately identify speakers, and generate transcripts. Current conference systems are prone to recognition errors due to low audio quality, making it difficult to clearly distinguish the content of each speaker's speech. It is also difficult to identify speakers in real time and reflect their comments in transcripts. A system that can solve this problem is needed.
[1059] The specific processing by the specific processing unit 290 of the data processing device 12 in the first embodiment is realized by the following means.
[1060] In this invention, the server includes means for collecting voice data, means for extracting voice features from the collected voice data, means for learning a voice profile for each user using the extracted voice features, means for registering conference schedule information, means for creating a conference participant list based on the registered schedule information, means for capturing voices during the conference in real time and identifying speakers, means for correcting the voices of the identified speakers, means for sending the collected voice data to a transcription engine and converting it into text data, means for classifying the recognized text data by speaker and generating transcripts, and means for uploading the generated transcripts to cloud storage and sharing them with conference participants. This makes it possible to accurately identify speakers in real time, efficiently manage speech content, and generate high-quality transcripts.
[1061] "Audio data" refers to data in which audio is recorded in digital format.
[1062] "Audio features" are numerical values that indicate features such as frequency components and volume extracted from audio data.
[1063] A "voice profile" is data that is learned from a user's individual voice characteristics and stored as a model.
[1064] "Meeting schedule information" is information such as the date and time of the meeting, the title, and the list of participants.
[1065] The "conference participant list" is data showing a list of users who are scheduled to participate in the conference.
[1066] A "transcription engine" is software or a system for converting audio data into text data.
[1067] "Text data" is data recorded as character information.
[1068] A "transcript" is a document that organizes and classifies the content of comments made during a meeting by user.
[1069] "Cloud storage" is an online storage service for storing and managing data via the Internet.
[1070] The system of the present invention collects voice data in a hybrid conference, learns the voice characteristics of users, identifies speakers, and generates speech transcripts. A specific implementation method of this system will be described in detail below.
[1071] The server automatically acquires and stores audio data from the conference system. The hardware used is assumed to be ordinary server equipment (e.g., data center server, cloud server, etc.). First, each time a user speaks, the audio data is sent to the server. This acquired audio data is stored in a database. The server uses an audio processing library (e.g., librosa) to extract audio features such as Mel-Frequency Cepstrum Coefficients (MFCC) and pitch from the collected audio data. This allows the frequency and timing characteristics of the audio data to be analyzed.
[1072] The server then uses the extracted voice features to learn a voice profile for each user. This process uses machine learning algorithms such as support vector machines and deep neural networks (e.g., TensorFlow, PyTorch), and stores each user's voice features as a model.
[1073] A user enters scheduling information for an upcoming hybrid meeting. The user enters the information from their device using a web form or a meeting application, which is then sent to the server. This information includes the meeting title, date and time, and a list of participants. The server stores this information in a database, creates a meeting participant list, and sends reminders to participants.
[1074] When a conference starts, the server captures voice data in real time from microphones and other voice input devices. This voice data is compared with pre-trained voice profiles to identify the speaker. Specifically, if User A speaks at any moment during the conference, the server extracts the voice features in real time and compares them with User A's voice profile to identify User A as the speaker.
[1075] After identifying the speaker, the server applies noise reduction filters and automatic volume adjustment algorithms (e.g., SpectralGate) to enhance the audio data, removing background noise and adjusting the volume of the voices evenly. The enhanced audio data is then streamed in real time to online meeting participants.
[1076] After the meeting ends, the server sends the collected audio data to a transcription engine (e.g., Google Cloud Speech-to-Text, IBM Watson Speech to Text) and converts it into text data. The generated text data is classified by speaker and organized as a transcript. Specifically, each utterance is tagged with the speaker's name, and the text data is classified by speaker. The transcript is converted into a PDF or Word document and uploaded to cloud storage (e.g., Google Drive, Dropbox). The transcript is also sent to the relevant parties by email.
[1077] For example, here's how to schedule your next hybrid meeting:
[1078] Meeting title: Progress check of next project
[1079] Date and time: November 5, 2023 10:00 AM - 12:00 PM
[1080] Participant information:
[1081] User A: Yamada Ichiro
[1082] User B: Jiro Sato
[1083] User C: Saburo Suzuki
[1084] In this way, a system is realized that can accurately identify speakers in real time, efficiently manage speech content, and generate high-quality speech transcripts.
[1085] The flow of the identification process in the first embodiment will be described with reference to FIG.
[1086] System program processing steps
[1087] Step 1: Collecting audio data
[1088] The server collects audio data from the conference system in real time.
[1089] Input: The audio signal from your microphone or other audio input device during a meeting.
[1090] Data processing: The voice data is converted into a digital format and stored in a database on the server.
[1091] Output: Stored digital audio data.
[1092] Step 2: Extracting audio features
[1093] The server extracts speech features from the collected speech data.
[1094] Input: The digital audio data collected in step 1.
[1095] Data calculation: Use an open-source audio processing library (e.g., librosa) to calculate Mel-Frequency Cepstrum Coefficients (MFCCs), pitch, etc.
[1096] Output: Extracted speech features.
[1097] Step 3: Learning your voice profile
[1098] The server uses the extracted speech features to learn a speech profile for each user.
[1099] Input: Speech feature data extracted in step 2.
[1100] Data computation: Using support vector machines or deep neural networks (e.g., TensorFlow, PyTorch), we incorporate audio features into our models.
[1101] Output: A trained voice profile for each user.
[1102] Step 4: Registering meeting schedule information
[1103] A user enters scheduling information for an upcoming hybrid meeting.
[1104] Input: Meeting title, date and time, participant list.
[1105] Data processing: Information entered through the terminal is sent to the server and stored in a database.
[1106] Output: Saved meeting schedule information.
[1107] Step 5: Create a meeting participant list
[1108] The server creates a conference participant list based on the registered schedule information.
[1109] Input: Meeting schedule information registered in step 4.
[1110] Data calculation: Generate a list based on the meeting title, date and time, and participant information.
[1111] Output: The generated conference participant list.
[1112] Step 6: Real-time audio capture and speaker identification during meetings
[1113] The server captures the audio during the conference in real time and identifies the speaker.
[1114] Input: Real-time audio data during the meeting.
[1115] Data computation: Apply a matching algorithm to match the pre-trained voice profile and identify the speaker.
[1116] Output: Identified speaker information and audio data.
[1117] Step 7: Correcting the voice of the identified speaker
[1118] The server corrects the voice of the identified speaker.
[1119] Input: Audio data of the speakers identified in step 6.
[1120] Data processing: Noise removal, automatic volume adjustment, and application of audio correction algorithms (e.g., SpectralGate) to convert the audio into clearer audio.
[1121] Output: Corrected, clear audio data.
[1122] Step 8: Transcribe and classify audio data
[1123] The server sends the collected audio data to a transcription engine and converts it into text data.
[1124] Input: The audio data corrected in step 7.
[1125] Data processing: Convert to text using a transcription engine (e.g., Google Cloud Speech-to-Text, IBM Watson Speech to Text).
[1126] Output: The generated text data.
[1127] Step 9: Generate and share your transcript
[1128] The server classifies the recognized text data by speaker, generates a transcript, and uploads the transcript to cloud storage to share with conference participants.
[1129] Input: The text data generated in step 8.
[1130] Data processing: Tag and categorize each statement to efficiently organize the text data.
[1131] Output: PDF or Word document transcript, upload to cloud storage or email to participants.
[1132] (Application example 1)
[1133] Next, a description will be given of Application Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the robot 414 will be referred to as a "terminal."
[1134] Conventional customer support systems have difficulty identifying customer voices in real time and providing appropriate service. Furthermore, noise removal from voice data was insufficient, making it difficult to provide clear voice service. Furthermore, there was a lack of a way to convert customer comments into text for later reference, making it difficult to provide effective customer support.
[1135] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 1 is realized by the following means.
[1136] In this invention, the server includes means for collecting voice data, means for extracting voice features from the collected voice data, means for learning a voice profile for each user using the extracted voice features, means for registering schedule information, means for creating a specific target list based on the registered schedule information, means for capturing voices from the targets in real time and identifying speakers, means for correcting the voices of the identified speakers, means for classifying recognized text data by speaker and generating records, means for identifying customer voices in real time and aiming to improve customer service and the customer experience, means for removing noise and adjusting volume to generate clear voice, and means for converting speech content into text for later reference. This makes it possible to identify customer voices in real time, provide appropriate services with clear voice, and convert speech content into text for later reference.
[1137] "Audio data" is data that represents audio in digital form.
[1138] A "speech feature" is a specific parameter extracted from a speech signal, and represents the characteristics of the speech.
[1139] A "voice profile" is a data set that statistically summarizes the voice features of a specific user.
[1140] "Schedule information" is information relating to specific dates and times or events.
[1141] A "specific target list" is a list of interested parties that is generated based on schedule information.
[1142] "Real time" refers to a state in which processing is carried out immediately without delay.
[1143] "Speaker" refers to the person speaking in the audio data.
[1144] "Correcting audio" means performing processes such as noise removal and volume adjustment on audio data.
[1145] "Recognized text data" is text information generated by analyzing voice data.
[1146] "Record" refers to the storage and classification of recognized text data.
[1147] Identifying "customer voice" means analyzing customer voice data and identifying individual customers.
[1148] "Noise reduction" is a process of removing unnecessary background sounds from audio data.
[1149] "Volume adjustment" is a process of appropriately changing the volume of audio data.
[1150] "Clear audio" refers to audio with little noise and that is easy to hear.
[1151] The system for implementing this invention is a customer support system using smart glasses. This system performs the following processes.
[1152] Generating a Program
[1153] The server collects voice data and extracts voice features from the collected data. These features include Mel-Frequency Cepstrum Coefficients (MFCC) and pitch. This is used to learn each user's voice profile. By registering meeting schedule information, a specific target list is created and specific events are managed based on that list.
[1154] Processing Description
[1155] The server collects real-time audio data from the microphone of the smart glasses using the pyaudio library, and converts the audio data into audio features (e.g., MFCCs) using the librosa library.
[1156] The converted voice features are then fed into a pre-trained model (e.g., a deep neural network model) and matched to the user's voice profile. This matching process identifies the customer's voice.
[1157] The collected audio data is then processed to remove noise and adjust the volume, which is an important step in generating clear audio data, which is then reported to support staff in real time.
[1158] The server then converts the recognized speech data into text data, which is then classified by speaker using a speech recognition library (e.g., some_speech_recognition_lib) and saved in a record for future reference.
[1159] Adding specific examples
[1160] For example, if a customer visits a store and asks, "Do you have this item in stock?", the microphone in the smart glasses will collect the voice. This voice data will be immediately sent to the server, where voice features will be extracted and classified. The customer's speech will be cleared by noise reduction and volume adjustment, and then transmitted to the support staff. At the same time, the speech will be converted into text and saved as a record for future reference.
[1161] Prompt Sentence Examples
[1162] An example of a prompt sentence to input to the generative AI model is as follows:
[1163] "Design an application for real-time customer service using smart glasses. I would like to build a system that collects voice data, learns the user's voice characteristics, and identifies the speaker. Specific program code would be helpful."
[1164] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[1165] Step 1: Collecting audio data
[1166] The server collects audio data in real time through the microphone of the smart glasses. The input is the audio signal obtained from the smart glasses, and the output is digital audio data. Specifically, the server uses the pyaudio library to buffer the audio signal and send it to the server as digital data.
[1167] Step 2: Preprocessing the audio data
[1168] The server removes noise from the collected audio data and adjusts the volume. The input is digital audio data, and the output is clear audio data that has been noise-removed and volume-adjusted. Specifically, it uses a filtering algorithm to remove unwanted background sounds and maintain a constant volume.
[1169] Step 3: Extract audio features
[1170] The server extracts speech features from the preprocessed speech data. The input is clear speech data, and the output is speech features (e.g., Mel-Frequency Cepstrum Coefficients (MFCCs)). Specifically, it uses the librosa library to analyze the speech data and calculate the features.
[1171] Step 4: Learning your voice profile
[1172] The server uses the extracted voice features to learn a voice profile for each user. The input is the voice features, and the output is the user's voice profile. Specifically, the server generates the profile using a machine learning algorithm (e.g., a deep neural network) and stores it in a database.
[1173] Step 5: Real-time customer voice identification
[1174] The server compares the voice data collected in real time with the voice profile to identify the customer. The input is real-time voice features, and the output is identified customer information. Specifically, the voice features are input into a model to identify the profile that best matches.
[1175] Step 6: Recognizing and converting audio data into text
[1176] The server converts the identified customer's voice data into text. The input is clear voice data and the output is text data. Specifically, it uses a voice recognition library to analyze the voice data and convert it into text data.
[1177] Step 7: Record and categorize what is said
[1178] The server categorizes the textual content of the comments by customer and saves it in a record. The input is text data, and the output is a record of the categorized content of the comments. Specifically, the server tags the text data based on customer information and saves it in a database.
[1179] The above steps make it possible to identify customer voices in real time, provide appropriate services with clear voice, and convert what is said into text for later reference.
[1180] Furthermore, an emotion engine that estimates the user's emotion may be further combined. That is, the identification processing unit 290 may estimate the user's emotion using the emotion identification model 59, and perform identification processing using the user's emotion.
[1181] The system of the present invention collects voice data from hybrid conferences, identifies speakers by learning the voice characteristics of users, and combines it with an emotion engine that recognizes the user's emotions to add emotional information to the transcript and visually present the atmosphere of the conference. The program processing of this system is described in detail below.
[1182] Audio data collection and learning phase
[1183] The server automatically acquires and stores voice data from the conferencing system. For example, each time a user speaks, the voice data is sent to the server and stored. The server extracts voice features such as Mel-Frequency Cepstrum Coefficients (MFCC) and pitch from the collected voice data. The extracted voice features are used to learn a voice profile for each user. Specifically, a machine learning algorithm (e.g., support vector machine or deep neural network) is used to incorporate each user's voice features into a model, which is then saved as a profile.
[1184] Setting up and managing meetings
[1185] Users input the schedule and participant information for their next hybrid meeting. This information is sent to the server via their device and stored in a database. The server then creates a meeting participant list based on the meeting title, date, and participant list, and sends necessary reminders.
[1186] Speaker identification and voice correction during meetings
[1187] When a conference starts, the server captures voice data in real time from a microphone or other voice input device. The captured voice data is compared with a pre-trained voice profile to identify the speaker. For example, if user A speaks during a conference, the server extracts the voice features in real time, compares them with user A's voice profile, and identifies user A as the speaker.
[1188] After identifying the speaker, the server then corrects the audio data, for example by removing noise and adjusting the volume to make the voice clearer. This corrected audio is then streamed in real time to online participants, making it easier to hear.
[1189] Introducing the Emotion Engine
[1190] The server sends the captured voice data in real time to the emotion engine to recognize the user's emotions. The emotion engine analyzes the pitch, volume, speed, and tone of the voice data to identify the user's emotional state (e.g., joy, anger, sadness, surprise, etc.).
[1191] Generate transcripts
[1192] After the meeting ends, the server sends the audio data collected during the meeting to a transcription engine and converts it into text data. This text data is categorized by speaker and organized as a transcript. The server also adds emotional information recognized by the emotion engine to the text data and records the emotional state of each statement. The saved text data is compiled into a transcript and converted into a PDF or Word document. This transcript is sent to the relevant parties by email and also uploaded to cloud storage.
[1193] Specific examples
[1194] For example, in a meeting involving users A, B, and C, each speech is recognized and identified in real time, and clear audio data is generated with noise removal and volume adjustment. If user B expresses anger during speech, the emotion engine identifies that emotion and tags the transcript as "anger." After the meeting, this audio data is automatically transcribed, and a transcript is generated that categorizes each speech by user A, B, and C. The transcript also includes the emotional state of each speaker and is shared with all parties involved for future reference. The server can also visually analyze the overall emotional information and display the meeting atmosphere on an online dashboard.
[1195] The processing flow will be explained below.
[1196] Step 1:
[1197] The server automatically acquires and stores voice data from the conference system. Specifically, every time a user speaks during a conference, the voice data is sent to the server, which then stores it in storage.
[1198] Step 2:
[1199] The server extracts voice features such as Mel-Frequency Cepstrum Coefficients (MFCC) and pitch from the collected voice data. The extracted features represent the characteristics of the user's voice in numerical form.
[1200] Step 3:
[1201] The server uses the extracted voice features to learn a voice profile for each user. Specifically, it uses machine learning algorithms such as support vector machines and deep neural networks to incorporate each user's voice features into a model and saves this as a profile.
[1202] Step 4:
[1203] Users enter schedule and participant information for their next hybrid meeting. This information is sent to the server and stored in a database. The input includes the meeting title, date and time, and participant names and email addresses.
[1204] Step 5:
[1205] The server creates a meeting participant list based on the schedule information entered, stores the list in a database, and sends reminders before the meeting, including meeting details and how to join.
[1206] Step 6:
[1207] When a meeting starts, the server captures audio data in real time from microphones and other audio input devices installed in the meeting room, thereby recording all audio occurring during the meeting in real time.
[1208] Step 7:
[1209] The server compares the captured voice data with a pre-trained voice profile. It then extracts voice features again and compares them with the trained model to identify the speaker. For example, if user A speaks, the voice will match user A's voice profile and the speaker will be identified.
[1210] Step 8:
[1211] After identifying the speaker, the server corrects the audio data, specifically filtering out noise and adjusting the volume to convert it into clear, intelligible audio that is then streamed in real time to online participants.
[1212] Step 9:
[1213] The server sends the captured voice data in real time to the emotion engine to recognize the user's emotions. The emotion engine analyzes the pitch, volume, speed, and tone of the voice data to identify the user's emotional state (e.g., joy, anger, sadness, surprise, etc.).
[1214] Step 10:
[1215] After the meeting ends, the server sends the audio data collected during the meeting to a transcription engine and converts it into text data, which automatically records the audio data as text.
[1216] Step 11:
[1217] The server categorizes the transcribed text data by speaker, adds emotional information recognized by the emotion engine to the text data, and records the emotional state of each utterance.
[1218] Step 12:
[1219] The server generates transcripts based on the text data with added classification and emotion information, converts the transcripts into PDF or Word documents, and sends them to relevant parties via email or uploads them to cloud storage.
[1220] Step 13:
[1221] The server visually analyzes the overall emotional information and displays the atmosphere of the meeting on an online dashboard, allowing meeting participants to intuitively grasp the overall emotional flow.
[1222] By going through the above steps, the difficulty of hearing audio in hybrid meetings is eliminated, and the emotional state of each speaker is also recorded and analyzed, allowing more detailed minutes to be automatically generated.
[1223] Example 2
[1224] Next, a description will be given of Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the robot 414 will be referred to as a "terminal."
[1225] In hybrid conferences, it is difficult to identify the speaker's voice and process the voice data efficiently and accurately. Furthermore, conventional systems have not been able to recognize the speaker's emotional state and visually convey the atmosphere of the conference. Another issue is the time-consuming process of generating a transcript of the speech after the conference and sharing it with the relevant parties.
[1226] The specific processing by the specific processing unit 290 of the data processing device 12 in the second embodiment is realized by the following means.
[1227] In this invention, the server includes means for collecting voice data, means for extracting voice features from the collected voice data, means for learning a voice profile for each user using the extracted voice features, means for registering conference schedule information, means for creating a conference participant list based on the registered schedule information, means for capturing voices during the conference in real time and identifying speakers, means for correcting the voices of the identified speakers, means for sending the utterance data to an emotion engine and performing emotion analysis, means for classifying recognized text data by speaker and adding emotion information to generate a transcript, and means for converting the generated transcript into a document format and sharing it with relevant parties. This makes it possible to efficiently and accurately perform a series of processes such as identifying speakers, correcting the voice data, analyzing emotions, and generating and sharing transcripts.
[1228] "Audio data" refers to digital information of the voices uttered by participants during a conference.
[1229] "Audio features" are characteristic parameters such as Mel-Frequency Cepstrum Coefficients (MFCCs) and pitch extracted from audio data.
[1230] A "voice profile" is model information that summarizes the voice features of each user.
[1231] "Meeting schedule information" is information such as the date and start time of the next meeting, and a list of participants.
[1232] A "conference participant list" is a list of people who plan to attend a conference.
[1233] "Capture in real time" means that the moment a speaker speaks, the voice data is immediately sent to the server and processed.
[1234] "Identifying the speaker" means identifying which user made the comment by matching the voice profile.
[1235] "Correcting the voice" refers to processing that makes the speaker's voice data easier to hear by performing noise removal, volume adjustment, etc.
[1236] An "emotion engine" is a system that analyzes voice data to recognize the speaker's emotional state.
[1237] A "transcript" is a record of statements made during a meeting organized as text data, categorized by speaker, and with emotional information added.
[1238] "Converting to document format" means converting the generated transcript into a document format such as PDF or Word.
[1239] "Sharing with stakeholders" means distributing the generated transcript to meeting participants and stakeholders via email or cloud storage.
[1240] The system of the present invention collects voice data from a hybrid conference, identifies speakers by learning the voice characteristics of the users, and combines it with an emotion engine that recognizes the users' emotions to add emotional information to the transcripts and visually present the atmosphere of the conference. This system is specifically implemented as follows.
[1241] First, the server collects and stores voice data from the conference system. Every time a user speaks, the voice data is sent to the server and stored. The server extracts voice features such as Mel-Frequency Cepstrum Coefficients (MFCC) and pitch from the collected voice data. This can be done, for example, using a voice analysis library (e.g., Librosa). Using these extracted voice features, a voice profile for each user is learned using a machine learning algorithm (e.g., support vector machine, deep neural network), and the profile is saved.
[1242] Next, the user enters the schedule and participant information for the next hybrid meeting through the terminal. This information is sent to the server and stored in a database. The server creates a meeting participant list based on the meeting title, date and time, and participant list, and sends reminders. For example, it can send reminder emails one hour and 30 minutes before the meeting starts.
[1243] When a conference starts, the server captures voice data in real time from microphones and other voice input devices. This voice data is compared in real time with pre-trained voice profiles to identify the speaker. Matching involves real-time analysis of voice features and comparison with the profile. For example, when user A speaks, the server analyzes the voice features and compares them with user A's voice profile to identify the speaker.
[1244] After identifying the speaker, the server applies noise reduction and volume adjustment to the audio, applying noise-canceling filters and voice normalization algorithms to produce clearer audio, which is then streamed in real time to online participants.
[1245] Furthermore, the server sends the captured voice data in real time to the emotion engine, which analyzes the user's emotions by analyzing the pitch, volume, speed, and tone of the voice data to identify the user's emotional state (e.g., joy, anger, sadness, surprise, etc.).
[1246] After the meeting ends, the server sends the audio data collected during the meeting to a transcription engine and converts it into text data. This text data is categorized by speaker and organized as a transcript. The server also adds emotional information recognized by the emotion engine to the text data, recording the emotional state of each utterance. Finally, the saved text data is converted into a PDF or Word document, sent to the relevant parties via email, and uploaded to cloud storage. This is done using a PDF generation library (e.g., PDFKit) and a cloud storage API (e.g., AWS S3).
[1247] Specific examples
[1248] For example, in a meeting involving users A, B, and C, each speech is recognized and identified in real time, and clear audio data is generated with noise reduction and volume adjustment. If user B expresses anger during speech, the emotion engine identifies that emotion and tags the transcript as "anger." After the meeting, this audio data is automatically transcribed, and a transcript is generated that categorizes each speech by user A, B, and C. The transcript also includes the emotional state of each speaker and is shared with all parties involved for future reference. The server can also visually analyze the overall emotional information and display the meeting atmosphere on an online dashboard.
[1249] Example prompts to input to the generative AI model
[1250] "Collect audio data from the next hybrid meeting, identify speakers, and generate a transcript including emotional states. User A, User B, and User C will be participating."
[1251] The flow of the identification process in the second embodiment will be described with reference to FIG.
[1252] Step 1:
[1253] Audio data collection
[1254] The server automatically acquires and stores audio data from the conference system. The input is the speech of the conference participants. The server collects each speech as digital data and stores it in a database. Specifically, it uses an audio input device (such as a microphone) to collect each speech at a sampling rate of 44.1 kHz.
[1255] Step 2:
[1256] Extraction of speech features
[1257] The server extracts audio features such as Mel Frequency Cepstrum Coefficients (MFCC) and pitch from the collected audio data. The saved audio data is used as input. The server uses an audio analysis library (e.g., Librosa) to extract features from each audio data and output them to a feature database. Specifically, it performs MFCC conversion and pitch analysis.
[1258] Step 3:
[1259] Voice profile training
[1260] The server uses the extracted voice features to learn a voice profile for each user. The voice feature data is used as input. Using a machine learning algorithm (e.g., support vector machine, deep neural network), the server incorporates each user's voice features into a model and stores the profile in a database. The output is a voice profile for each user. Specifically, the model is trained using a training dataset to generate a voice profile.
[1261] Step 4:
[1262] Registering conference settings
[1263] The user enters the schedule and participant information for the next hybrid meeting. Input includes the meeting title, date and time, and participant list. This information is sent to the server via the terminal. The server stores the received information in a database and creates a list of meeting participants. The output is the registered schedule information and the list of meeting participants. Specifically, the information is entered using a web form or application.
[1264] Step 5:
[1265] Meeting reminders
[1266] The server checks the date and time of the meeting based on the registered schedule information and sets a reminder. The input is the date and time of the meeting and the list of participants. The server sends a reminder email 1 hour, 30 minutes, 10 minutes, etc. before the start of the meeting. The output is the sent reminder. Specifically, an email sending API (e.g., SendGrid) is used.
[1267] Step 6:
[1268] Recording audio data during a meeting
[1269] When a meeting starts, the server captures audio data in real time from a microphone or other audio input device. As input, it has real-time audio data. The server captures the audio data using WebSocket or a real-time protocol and generates a data stream for processing. The output is the real-time captured audio data. Specifically, it buffers and streams the audio data.
[1270] Step 7:
[1271] Identifying the speaker
[1272] The captured voice data is matched with a pre-trained voice profile to identify the speaker. The input is real-time voice data, and the output is the ID of the identified speaker. The server uses a matching algorithm to analyze the MFCC of the voice data in real time and identify the user with the closest voice profile as the speaker.
[1273] Step 8:
[1274] Audio data correction
[1275] After identifying the speaker, the server performs audio correction such as noise reduction and volume adjustment. The input is the identified speaker's audio data. The server applies noise-cancelling filters and audio normalization algorithms to generate clear audio data as output. Specifically, it uses an FFT (Fast Fourier Transform) filter to remove noise.
[1276] Step 9:
[1277] emotion recognition
[1278] The server sends the corrected voice data to the emotion engine to recognize the user's emotion. The input is the corrected voice data, and the output is the recognized emotion information. The server analyzes the pitch, volume, speed, tone, etc. of the voice data, and stores the emotion information in a database.
[1279] Step 10:
[1280] Generate transcripts
[1281] After the meeting ends, the server sends the audio data collected during the meeting to a transcription engine and converts it into text data. The inputs are audio data and emotional information. The server uses a speech recognition library (e.g., Google Speech-to-Text API) to convert the audio into text and add emotional information. The output is a transcript. Specifically, it generates a transcript with emotional tags added to the text data.
[1282] Step 11:
[1283] Save and share transcripts
[1284] The generated transcripts are converted into PDF or Word format documents, sent to the relevant parties via email, and also uploaded to cloud storage. The input is the generated transcript, and the output is a PDF or Word format document. Specifically, a PDF generation library (e.g., PDFKit) and a cloud storage API (e.g., AWS S3) are used to generate and store the documents.
[1285] (Application example 2)
[1286] Next, a description will be given of Application Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the robot 414 will be referred to as a "terminal."
[1287] Conventional factory robots have difficulty properly identifying instructions from staff and understanding changes in their emotions while working. This has led to issues such as reduced work efficiency and the quality of communication. Furthermore, there has been a lack of systems that can identify speakers in real time and organize information, including their emotions. To solve these problems, there has been a need to develop a system that enables factory robots to quickly and accurately understand staff instructions and adapt to changes in their emotions.
[1288] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 2 is realized by the following means.
[1289] In this invention, the server includes means for collecting voice data, means for extracting voice features from the collected voice data, means for learning a voice profile for each user using the extracted voice features, means for registering conference schedule information, means for creating a conference participant list based on the registered schedule information, means for capturing voices during the conference in real time and identifying speakers, means for correcting the voices of the identified speakers, means for classifying recognized text data by speaker and generating a transcript, and means for recognizing emotional information from the collected voice data and adding an emotional state to the transcript. This enables factory robots to accurately understand staff instructions, identify speakers in real time, and engage in advanced communication that takes emotional information into account.
[1290] "Audio data" refers to recordings of sounds collected in meetings, work sites, etc.
[1291] "Speech features" are specific parameters extracted from speech data, such as Mel-Frequency Cepstral Coefficients (MFCCs) and pitch.
[1292] A "voice profile" is a voice recognition model created based on the voice features of a specific user.
[1293] "Conference schedule information" is schedule information such as the date and time of the conference, a list of participants, and the conference title.
[1294] The "conference participant list" is a list of all members who are scheduled to participate in the conference.
[1295] A "speaker" is a user who speaks during a meeting or during work.
[1296] "Correcting audio" means removing noise and adjusting the volume to improve the quality of the audio data.
[1297] "Text data" is digital information that has been converted from voice data into text.
[1298] A "transcript" is a record of a meeting that includes the content of each speaker's remarks.
[1299] "Emotional information" refers to the speaker's emotional state (joy, anger, sadness, surprise, etc.) analyzed from the voice data.
[1300] This invention realizes a communication support system for factory robots. It is a system that collects voice data, analyzes voice characteristics, identifies the speaker, and recognizes emotions. Below, we will explain the program processing flow of this system and the hardware and software used.
[1301] Audio data collection and learning phase
[1302] The server automatically acquires and stores voice data from microphones and other voice input devices used on the factory floor. When collecting voice data, it records audio using the sounddevice library. The server extracts voice features such as Mel Frequency Cepstrum Coefficients (MFCC) and pitch from the collected voice data. This is done using the Python library librosa. Using the extracted voice features, a voice profile for each staff member is trained using a machine learning algorithm (e.g., SVM in scikit-learn), and the profile is saved.
[1303] Speaker identification and voice correction during meetings
[1304] When work begins in the factory, the server captures voice data in real time from microphones and other voice input devices. The captured voice data is compared with pre-trained voice profiles to identify the speaker. For example, when a specific staff member gives instructions to a robot, the server extracts the voice features in real time and compares them with the profile to identify the speaker. It then performs noise removal and volume adjustment to make the voice clearer. The nltk library is used for this correction.
[1305] Introducing the Emotion Engine
[1306] The server sends the captured voice data in real time to the emotion engine to recognize the staff's emotions. The emotion engine analyzes the pitch, volume, speed, and tone of the voice data to identify the emotional state (e.g., joy, anger, sadness, surprise, etc.). This is done using pyaudio and a specific emotion recognition library.
[1307] Generate transcripts
[1308] After completing the task, the server sends the collected audio data to a transcription engine (e.g., Google Speech-to-Text API) and converts it into text data. This text data is categorized by speaker and organized as a transcript. The server also adds emotional information recognized by the emotion engine to the text data, recording the emotional state of each utterance. The saved text data is compiled into a transcript, which is ultimately sent by email to the relevant staff and uploaded to cloud storage.
[1309] Specific examples
[1310] For example, three workers, Staff A, B, and C, are working in a factory. Staff A instructs a robot to "take out the next part." The server records this voice in real time and matches it with Staff A's voice profile to identify the speaker. Furthermore, the emotion engine recognizes Staff A's hurried tone as indicating "high alert." The voice data is corrected and transmitted clearly to other staff and robots. The content and emotions of the conversation are also recorded, and a transcript is generated for future reference.
[1311] Prompt Sentence Examples
[1312] Take out the next part (express)
[1313] Speaker: UserA
[1314] Emotion: High alert
[1315] By inputting such prompt sentences into a generative AI model, the robot can respond quickly and carry out instructions that take emotions into consideration.
[1316] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[1317] Step 1: Collecting audio data
[1318] The server automatically captures and stores audio data from microphones and other audio input devices used on the factory floor. The input is real-time audio data from the microphone, which is sent to the server. The output is a saved audio file. Specifically, the sounddevice library is used to record audio and the data is saved in a file format (e.g., WAV file).
[1319] Step 2: Extracting audio features
[1320] The server extracts audio features such as Mel-Frequency Cepstral Coefficients (MFCC) and pitch from the collected audio data. The input is a saved audio file, which is analyzed using the librosa library. The output is a vector of audio features. Specific operations include reading the audio data and calculating the MFCC and pitch.
[1321] Step 3: Learning your voice profile
[1322] The server uses the extracted voice features to learn a voice profile for each user. The input is the voice feature data and the corresponding user ID, which are trained using scikit-learn's SVM (support vector machine) algorithm. The output is a voice profile model for each user. Specifically, the feature data is scaled and the SVM model is trained.
[1323] Step 4: Real-time audio capture and speaker identification
[1324] When the operation starts, the server captures audio data in real time from a microphone or other audio input device. The input is the real-time audio data, which is matched with a trained audio profile. The output is the identified speaker ID. Specific operations include feature extraction from the real-time audio data and speaker identification using a trained model.
[1325] Step 5: Correcting the audio
[1326] The server corrects the identified speaker's voice by noise removal, volume adjustment, etc. The input is real-time collected voice data, which is processed using the nltk library. The output is corrected, clear voice data. Specifically, this includes noise filtering and gain adjustment.
[1327] Step 6: Recognize emotions
[1328] The server sends the captured voice data in real time to the emotion engine to recognize the staff's emotions. The input is the corrected voice data, which is analyzed by a specific emotion recognition library. The output is the recognized emotional state (e.g., joy, anger, sadness, surprise, etc.). Specifically, the pitch, volume, speed, and tone of the voice data are analyzed.
[1329] Step 7: Generate a transcript
[1330] After completing the task, the server sends the collected voice data to a transcription engine (e.g., Google Speech-to-Text API) and converts it into text data. The input is the saved voice file, which is processed by the voice transcription API. The output is text data for each utterance. The server then adds emotional information to the text data to generate a transcript. Specifically, the voice data is converted into text, and each utterance is tagged with emotional information to create a transcript.
[1331] Step 8: Save and share your transcript
[1332] The server converts the generated transcripts into documents in PDF or Word format, uploads them to cloud storage, and sends them by email to relevant staff. The input is the transcript text data, which is converted into a document format. The output is a saved and shared transcript document. Specifically, this includes converting the text data format, uploading it to a cloud service, and sending it by email.
[1333] The specific processing unit 290 transmits the result of the specific processing to the robot 414. In the robot 414, the control unit 46A causes the speaker 240 and the control target 443 to output the result of the specific processing. The microphone 238 acquires voice indicating a user input regarding the result of the specific processing. The control unit 46A transmits voice data indicating the user input acquired by the microphone 238 to the data processing device 12. In the data processing device 12, the specific processing unit 290 acquires the voice data.
[1334] The data generation model 58 is a so-called generative AI (Artificial Intelligence). An example of the data generation model 58 is ChatGPT (Internet Search<URL: https: / / openai.com / blog / chatgpt> ), Gemini (Internet search <url: https: gemini.google.com ?hl="ja">) and other generation AIs. The data generation model 58 is obtained by performing deep learning on a neural network. A prompt including an instruction is input to the data generation model 58, and inference data such as voice data indicating voice, text data indicating text, and image data indicating an image is also input. The data generation model 58 performs inference on the input inference data in accordance with the instruction indicated by the prompt, and outputs the inference result in a data format such as voice data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.
[1335] In the above embodiment, an example was given in which the specific processing is performed by the data processing device 12, but the technology of the present disclosure is not limited to this, and the specific processing may be performed by the robot 414.
[1336] The emotion identification model 59 as an emotion engine may determine the user's emotion according to a specific mapping. Specifically, the emotion identification model 59 may determine the user's emotion according to an emotion map (see FIG. 9), which is a specific mapping. Similarly, the emotion identification model 59 may determine the robot's emotion, and the identification processing unit 290 may perform identification processing using the robot's emotion.
[1337] FIG. 9 is a diagram illustrating an emotion map 400 on which multiple emotions are mapped. In the emotion map 400, emotions are arranged in concentric circles radiating from the center. Emotions closer to the center of the concentric circles are more primitive. Emotions representing states and actions arising from a state of mind are arranged on the outer edges of the concentric circles. The concept of emotion includes both affect and mental states. Emotions generally generated from reactions occurring in the brain are arranged on the left side of the concentric circles. Emotions generally induced by situational judgment are arranged on the right side of the concentric circles. Emotions generally generated from reactions occurring in the brain and induced by situational judgment are arranged on the upper and lower sides of the concentric circles. Furthermore, the emotion of "pleasure" is arranged on the upper side of the concentric circles, and the emotion of "discomfort" is arranged on the lower side. In this way, in the emotion map 400, multiple emotions are mapped based on the structure by which emotions are generated, and emotions that tend to occur simultaneously are mapped close to each other.
[1338] These emotions are distributed in the 3 o'clock direction on emotion map 400, and typically fluctuate between relief and anxiety. In the right half of emotion map 400, situational awareness dominates over internal sensations, resulting in a sense of calm.
[1339] The inside of emotion map 400 represents what is going on in the mind, and the outside of emotion map 400 represents behavior, so the further you go outside emotion map 400, the more visible the emotions become (the more they are expressed in behavior).
[1340] Human emotions are based on various balances, such as posture and blood sugar levels. When these balances deviate from the ideal, a state of discomfort is indicated, and when they approach the ideal, a state of pleasure is indicated. Emotions can also be created for robots, automobiles, and motorcycles, based on various balances, such as posture and remaining battery life. When these balances deviate from the ideal, a state of discomfort is indicated, and when they approach the ideal, a state of pleasure is indicated. An emotion map can be generated, for example, based on Dr. Mitsuyoshi's emotion map (Research on Voice Emotion Recognition and Emotional Brain Physiological Signal Analysis Systems, Tokushima University, Doctoral Dissertation: https: / / ci.nii.ac.jp / naid / 500000375379). The left half of the emotion map lists emotions belonging to the "reaction" domain, where sensation is dominant. The right half of the emotion map lists emotions belonging to the "situation" domain, where situational awareness is dominant.
[1341] The emotion map defines two emotions that promote learning. One is a negative emotion on the situation side, around the middle of "repentance" or "reflection." In other words, this occurs when the robot experiences negative emotions such as "I never want to feel this way again" or "I don't want to be scolded again." The other is a positive emotion on the response side, around "desire." In other words, this occurs when the robot experiences positive feelings such as "I want more" or "I want to know more."
[1342] The emotion identification model 59 inputs user input into a pre-trained neural network, obtains emotion values indicating each emotion shown in the emotion map 400, and determines the user's emotion. This neural network is pre-trained based on multiple pieces of training data that are combinations of user input and emotion values indicating each emotion shown in the emotion map 400. Furthermore, this neural network is trained so that emotions that are located close to each other have similar values, as in the emotion map 900 shown in FIG. 10. FIG. 10 shows an example in which multiple emotions, "relieved," "calm," and "reassuring," have similar emotion values.
[1343] The system according to the present disclosure has been described above mainly with respect to the functions of the data processing device 12, but the system according to the present disclosure is not necessarily implemented on a server. The system according to the present disclosure may be implemented as a general information processing system. The present disclosure may be implemented, for example, as a software program running on a personal computer or an application running on a smartphone, etc. The method according to the present disclosure may be provided to users in the form of SaaS (Software as a Service).
[1344] In the above embodiment, an example was given in which the specific processing is performed by one computer 22, but the technology of the present disclosure is not limited to this, and the specific processing may be distributed and performed by a plurality of computers including the computer 22. For example, the data generation model 58 may be provided in an external device of the data processing device 12, and data may be generated in the external device in accordance with input data.
[1345] In the above embodiment, an example in which the specific processing program 56 is stored in the storage 32 has been described, but the technology of the present disclosure is not limited to this. For example, the specific processing program 56 may be stored in a portable, computer-readable, non-transitory storage medium such as a USB (Universal Serial Bus) memory. The specific processing program 56 stored in the non-transitory storage medium is installed in the computer 22 of the data processing device 12. The processor 28 executes the specific processing in accordance with the specific processing program 56.
[1346] Alternatively, the specific processing program 56 may be stored in a storage device such as a server connected to the data processing device 12 via the network 54, and the specific processing program 56 may be downloaded and installed on the computer 22 in response to a request from the data processing device 12.
[1347] It is not necessary to store all of the specific processing program 56 in a storage device such as a server connected to the data processing device 12 via the network 54, or to store all of the specific processing program 56 in the storage 32; only a portion of the specific processing program 56 may be stored.
[1348] The hardware resource for executing a specific process can be any of the following processors: An example of a processor is a CPU, which is a general-purpose processor that functions as a hardware resource for executing a specific process by executing software, i.e., a program. Another example of a processor is a dedicated electrical circuit, such as an FPGA (Field-Programmable Gate Array), a PLD (Programmable Logic Device), or an ASIC (Application Specific Integrated Circuit), which is a processor with a circuit configuration designed specifically for executing a specific process. Each processor has built-in or connected memory, and each processor uses the memory to execute the specific process.
[1349] The hardware resource that executes the specific processing may be configured with one of these various processors, or may be configured with a combination of two or more processors of the same or different types (for example, a combination of multiple FPGAs, or a combination of a CPU and an FPGA). Also, the hardware resource that executes the specific processing may be a single processor.
[1350] As an example of a system configured with a single processor, first, one processor is configured by combining one or more CPUs and software, and this processor functions as a hardware resource that executes a specific process. Second, there is a system that uses a processor that realizes the functions of an entire system including multiple hardware resources that execute a specific process on a single IC chip, as typified by SoC (System-on-a-chip). In this way, a specific process is realized using one or more of the above-mentioned various processors as hardware resources.
[1351] Furthermore, the hardware structure of these various processors can be, more specifically, an electric circuit that combines circuit elements such as semiconductor devices. The specific processing described above is merely an example. Therefore, it goes without saying that unnecessary steps may be deleted, new steps may be added, or the processing order may be rearranged, without departing from the spirit of the invention.
[1352] The above-described description and illustrations are a detailed explanation of the parts related to the technology of the present disclosure and are merely an example of the technology of the present disclosure. For example, the above description of the configuration, functions, actions, and effects is an explanation of an example of the configuration, functions, actions, and effects of the parts related to the technology of the present disclosure. Therefore, it goes without saying that unnecessary parts may be deleted, new elements may be added, or replacements may be made to the above-described description and illustrations within the scope of the gist of the technology of the present disclosure. Furthermore, to avoid confusion and facilitate understanding of the parts related to the technology of the present disclosure, the above-described description and illustrations omit explanations of common technical knowledge that do not require particular explanation to enable the implementation of the technology of the present disclosure.
[1353] All publications, patent applications, and technical standards mentioned in this specification are herein incorporated by reference to the same extent as if each individual publication, patent application, or technical standard was specifically and individually indicated to be incorporated by reference.
[1354] The following is further disclosed regarding the above embodiment.
[1355] (Claim 1)
[1356] means for collecting audio data;
[1357] A means for extracting speech features from the collected speech data;
[1358] A means for learning a voice profile for each user using the extracted voice features;
[1359] a means for registering meeting schedule information;
[1360] means for creating a conference participant list based on the registered schedule information;
[1361] A means for capturing audio during a meeting in real time and identifying the speaker;
[1362] means for correcting the voice of the identified speaker;
[1363] A means for classifying the recognized text data by speaker and generating a transcript;
[1364] A system including:
[1365] (Claim 2)
[1366] 10. The system of claim 1, wherein voice profiles of conference participants are used to identify speakers.
[1367] (Claim 3)
[1368] 10. The system of claim 1, wherein the system removes noise from collected audio data to produce clear audio.
[1369] "Example 1"
[1370] (Claim 1)
[1371] means for collecting audio data;
[1372] A means for extracting speech features from the collected speech data;
[1373] A means for learning a voice profile for each user using the extracted voice features;
[1374] a means for registering meeting schedule information;
[1375] means for creating a conference participant list based on the registered schedule information;
[1376] A means for capturing audio during a meeting in real time and identifying the speaker;
[1377] means for correcting the voice of the identified speaker;
[1378] A means for transmitting the collected audio data to a transcription engine and converting it into text data;
[1379] A means for classifying the recognized text data by speaker and generating a transcript;
[1380] A means for uploading the generated transcript to cloud storage and sharing it with meeting participants;
[1381] A system including:
[1382] (Claim 2)
[1383] 10. The system of claim 1, wherein voice profiles of conference participants are used to identify speakers.
[1384] (Claim 3)
[1385] 10. The system of claim 1, wherein the system removes noise from collected audio data to produce clear audio.
[1386] "Application Example 1"
[1387] (Claim 1)
[1388] means for collecting audio data;
[1389] A means for extracting speech features from the collected speech data;
[1390] A means for learning a voice profile for each user using the extracted voice features;
[1391] A means for registering schedule information;
[1392] A means for creating a specific target list based on the registered schedule information;
[1393] a means for capturing audio in real time and identifying the speaker;
[1394] means for correcting the voice of the identified speaker;
[1395] means for classifying the recognized text data by speaker and generating a record;
[1396] A means of identifying customer voice in real time to improve customer service and enhance the customer experience;
[1397] A means to remove noise and adjust the volume to produce clear audio,
[1398] A means for the contents of statements to be transcribed and made available for later reference,
[1399] A system including:
[1400] (Claim 2)
[1401] 10. The system of claim 1, wherein a voice profile of a particular subject is used to identify a speaker.
[1402] (Claim 3)
[1403] 10. The system of claim 1, wherein the system removes noise from collected audio data to produce clear audio.
[1404] "Example 2: Combining Emotion Engines"
[1405] (Claim 1)
[1406] means for collecting audio data;
[1407] A means for extracting speech features from the collected speech data;
[1408] A means for learning a voice profile for each user using the extracted voice features;
[1409] a means for registering meeting schedule information;
[1410] means for creating a conference participant list based on the registered schedule information;
[1411] A means for capturing audio during a meeting in real time and identifying the speaker;
[1412] means for correcting the voice of the identified speaker;
[1413] A means for transmitting utterance data to an emotion engine and performing emotion analysis;
[1414] a means for classifying the recognized text data by speaker and adding emotional information to generate a transcript of the speech;
[1415] A means to convert the generated transcript into a document format and share it with relevant parties,
[1416] A system including:
[1417] (Claim 2)
[1418] 10. The system of claim 1, wherein voice profiles of conference participants are used to identify speakers.
[1419] (Claim 3)
[1420] 10. The system of claim 1, wherein the system removes noise from collected audio data to produce clear audio.
[1421] "Application example 2 when combining emotion engines"
[1422] (Claim 1)
[1423] means for collecting audio data;
[1424] A means for extracting speech features from the collected speech data;
[1425] A means for learning a voice profile for each user using the extracted voice features;
[1426] a means for registering meeting schedule information;
[1427] means for creating a conference participant list based on the registered schedule information;
[1428] A means for capturing audio during a meeting in real time and identifying the speaker;
[1429] means for correcting the voice of the identified speaker;
[1430] A means for classifying the recognized text data by speaker and generating a transcript;
[1431] means for recognizing emotional information from the collected voice data and adding emotional states to the transcript;
[1432] A system including:
[1433] (Claim 2)
[1434] 10. The system of claim 1, wherein voice profiles of conference participants are used to identify speakers.
[1435] (Claim 3)
[1436] 10. The system of claim 1, wherein the system removes noise from collected audio data to produce clear audio. [Explanation of symbols]
[1437] 10, 210, 310, 410 Data Processing Systems 12 Data Processing Device 14 Smart Devices 214 Smart Glasses 314 Headset-type terminal 414 Robot< / url:> < / url:> < / url:> < / url:>
Claims
1. means for collecting audio data; A means for extracting speech features from the collected speech data; A means for learning a voice profile for each user using the extracted voice features; a means for registering meeting schedule information; means for creating a conference participant list based on the registered schedule information; A means for capturing audio during a meeting in real time and identifying the speaker; means for correcting the voice of the identified speaker; A means for classifying the recognized text data by speaker and generating a transcript; A system including:
2. The system of claim 1 , wherein voice profiles of conference participants are used to identify speakers.
3. 10. The system of claim 1, wherein the system removes noise from collected audio data to produce clear audio.
Citation Information
Patent Citations
Persona chatbot control method and system
JP2022180282A