CN113450763A - 基于grpc实现文本转语音服务的方法、系统、介质和装置 - Google Patents
基于grpc实现文本转语音服务的方法、系统、介质和装置 Download PDFInfo
- Publication number
- CN113450763A CN113450763A CN202110712603.4A CN202110712603A CN113450763A CN 113450763 A CN113450763 A CN 113450763A CN 202110712603 A CN202110712603 A CN 202110712603A CN 113450763 A CN113450763 A CN 113450763A
- Authority
- CN
- China
- Prior art keywords
- text
- speech
- client
- server
- grpc
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 50
- 238000006243 chemical reaction Methods 0.000 claims abstract description 13
- 238000013518 transcription Methods 0.000 claims description 24
- 230000035897 transcription Effects 0.000 claims description 24
- 238000012545 processing Methods 0.000 claims description 18
- 238000005516 engineering process Methods 0.000 claims description 4
- 230000011218 segmentation Effects 0.000 claims description 4
- 238000007405 data analysis Methods 0.000 claims description 2
- 230000000977 initiatory effect Effects 0.000 claims description 2
- 230000005540 biological transmission Effects 0.000 abstract description 8
- 238000003058 natural language processing Methods 0.000 abstract description 2
- 238000004891 communication Methods 0.000 description 9
- 230000006870 function Effects 0.000 description 6
- 230000002452 interceptive effect Effects 0.000 description 6
- 230000009286 beneficial effect Effects 0.000 description 3
- 238000007906 compression Methods 0.000 description 2
- 230000006835 compression Effects 0.000 description 2
- 238000013135 deep learning Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000018109 developmental process Effects 0.000 description 2
- 238000007781 pre-processing Methods 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 238000013144 data compression Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000009472 formulation Methods 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L13/00—Speech synthesis; Text to speech systems
- G10L13/08—Text analysis or generation of parameters for speech synthesis out of text, e.g. grapheme to phoneme translation, prosody generation or stress or intonation determination
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/279—Recognition of textual entities
- G06F40/289—Phrasal analysis, e.g. finite state techniques or chunking
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/133—Protocols for remote procedure calls [RPC]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- Theoretical Computer Science (AREA)
- Artificial Intelligence (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Human Computer Interaction (AREA)
- Acoustics & Sound (AREA)
- Multimedia (AREA)
- Telephonic Communication Services (AREA)
Abstract
本发明涉及自然语言处理,具体提供一种基于GRPC实现文本转语音服务的方法、系统、介质和装置,旨在解决现有文本转语音方法灵活性差、扩展性差的问题。为此目的,本发明的方法包括:预先制定实现文本转语音服务的接口协议,使用ProtoBuf编译器编译生成客户端与服务端代码,使用ProtoBuf对数据进行序列化或反序列化,在服务器端对客户端发来的转换请求进行处理,将处理后的结果返回给客户端。本发明使用ProtoBuf对语音音频数据进行序列化,极大提升了大音频文件网络传输的效率,基于GRPC远程过程调用轻量级框架实现文本转语音核心算法,基于GRPC的单向流式与非流式传输,解决实时在线文本转语音与非实时文本转语音的部署难题,具备较高的灵活性、可扩展性和并发能力。
Description
技术领域
本发明涉及自然语言处理领域,尤其涉及一种文本转语音服务的方法、系统、存储介质和控制装置。
背景技术
目前主流的文本转语音模型大多是基于Pytorch模型,Python环境与代码虽然较容易部署,但存在难以封装的问题,在客户端可以直接查看到代码的内部实现。此外,Python代码还具有效率低下的问题,当服务引擎面对较高的并发量时,响应时间慢,无法满足用户的使用需求。通常需要使用TorchScript将Pytorch模型进行转换,剥离其中的Python环境特性,转为可以被其他任意语言使用的模型,然后使用其他深度学习引擎来部署模型,提供服务。
然而,根据实际业务场景的不同,文本转语音的前端处理需要支持不同定制化的开发。上述部署方法灵活性差,扩展性差,无法满足文本转语音的实际需求。
对于文本转语音这种任务来说,即使是一段相同字数的文字,也可能因为文字的音节数不同而导致其返回时长不同(例如,“创”字有三个音节,“一”字只有一个音节),因此实际返回的音频长度是无法确定的。这也不利于一般的Rest-API引擎的访问方式传输较长时间的音频文件,也不利于流式的应用场景。
因此,如何实现使用灵活、扩展性强、并发性强,且实现简单的文本转语音服务是目前亟待解决的问题。
发明内容
本发明针对上述存在的问题,提供了一种基于ProtoBuf和GRPC远程过程调用的文本转语音服务的方法、系统、介质和装置。
通过ProtoBuf对返回的语音音频数据进行序列化与反序列化,极大地减少大文件音频网络传输开销,提高传输速率。基于HTTP/2.0的GRPC远程过程调用框架,结合多线程技术,解决单向流高效传输与服务响应,同时极大地提高了服务器资源利用率,解决并发量支持不够的问题。通过GRPC轻量级的框架与文本转语音模型算法相分离,可以对文本转语音算法进行快速、便捷的优化与更新迭代。
在第一方面,本发明提出一种基于GRPC实现文本转语音服务的方法,该方法包括步骤如下:
预先制定利用GRPC技术,在服务端与客户端之间,实现文本转语音服务的接口协议。接口协议包括:文本转语音服务的服务方法和交互字段等信息。
使用编译器编译生成GRPC文本转语音服务客户端与服务端代码。基于服务端GRPC代码,实现文本转语音核心算法。
在客户端与服务端通信时的序列化阶段,可以使用ProtoBuf进行序列化,GRPC提供远程过程调用服务。也可以采用其他序列化方法和其他RPC服务。
优选地,使用各语言对应的ProtoBuf编译器编译生成GRPC文本转语音服务客户端与服务端代码。
客户端发起文本转语音服务请求,将需要转写的字符串发送到服务端。对于不同语言的客户端,在读取需要转写的字符串数据后,根据文本转语音服务类型,选择单向流式或/与非流式的GRPC文本转语音方法,向文本转语音服务端发起文本转语音请求。
需要转写的字符串数据及各请求参数等文本转语音请求数据,经过ProtoBuf序列化编码后,传输至服务端。
服务端接收到客户端的请求后,进行文本转语音的前端处理。首先,对请求数据部分进行反序列化,得到原始字符串数据,然后,调用相应的前端算法进行文本转语音前端处理。前端处理主要包括:将过长的字符串进行切分,分段传入后续模型,以及根据业务需要,进行识别转换等。
服务端对经过前端处理后的数据进行文本转语音转写。
服务端根据客户端调用的单向流式、非流式方法,调用不同的结果返回逻辑。
非流式:将一句话进行文本转语音,一次返回音频转写结果。
单向流式:实时文本转语音,分段返回转写后的音频结果,在客户端对其进行拼接得到最终的整段音频。
服务端将转写后的音频进行序列化编码后返回到请求的客户端。客户端收到服务器发来的转写后的音频结果,完成文本转语音服务的调用,即客户端根据收到的服务器回复,进行反序列化后,得到转写音频结果,完成文本转语音服务的调用。
第二方面,本发明提出一种基于GRPC实现文本转语音服务的系统,包括:
一个或多个处理器;
存储器;
一个或多个应用程序,其被存储在所述存储器中并被配置为由所述一个或多个处理器加载和运行以便执行本申请第一方面所述的基于GRPC实现文本转语音服务的方法。
第三方面,本发明还提供一种计算机可读存储介质,该存储介质存储有多条程序代码,所述程序代码适于由处理器加载并运行以执行前述第一方面的基于GRPC实现文本转语音服务的方法。
第四方面,本发明还提供一种控制装置,该控制装置包括处理器和存储装置,所述存储装置适于存储多条程序代码,所述程序代码适于由所述处理器加载并运行以执行前述第一方面的基于GRPC实现文本转语音服务的方法。
有益技术效果:
根据本发明的优选实施方式,基于GRPC的轻量级的文本转语音系统,解决了Pytorch模型以及python代码不易封装的问题,可以灵活地针对业务需求选择文本转语音的前处理功能,具备更好的灵活性与可扩展性的同时极大提高了服务器资源利用率与文本转语音服务并发量。
使用ProtoBuf对返回的语音音频文件进行序列化编码,减小传输数据大小,提高传输效率,减少大文件传输时延。
通过模块化开发文本转语音核心算法各模块,结合ProtoBuf协议的制定,可很方便地动态扩展各类语音相关功能。
不同语言(c/c++,python,go,java,php等)的客户端根据定义好的ProtoBuf协议,各自生成自己不同语言的客户端程序,能够方便快捷地使用文本转语音服务。
附图说明
图1为本申请实施例的基于GRPC实现文本转语音服务的方法的主要步骤流程图;
图2为本申请实施例的基于GRPC实现文本转语音服务的系统的结构框图。
具体实施方式
下面参照附图来描述本发明的一些实施方式。本领域技术人员应当理解的是,这些实施方式仅仅用于解释本发明的技术原理,并非旨在限制本发明的保护范围。
在本发明的描述中,“模块”、“处理器”可以包括硬件、软件或者两者的组合。一个模块可以包括硬件电路,各种合适的感应器、通信端口、存储器,也可以包括软件部分,比如程序代码,也可以是软件和硬件的组合。处理器可以是中央处理器、微处理器、图像处理器、数字信号处理器或者其他任何合适的处理器。处理器具有数据和/或信号处理功能。处理器可以以软件方式实现、硬件方式实现或者二者结合方式实现。非暂时性的计算机可读存储介质包括任何合适的可存储程序代码的介质,比如磁碟、硬盘、光碟、闪存、只读存储器、随机存取存储器等等。术语“A和/或B”表示所有可能的A与B的组合,比如只是A、只是B或者A和B。术语“至少一个A或B”或者“A和B中的至少一个”含义与“A和/或B”类似,可以包括只是A、只是B或者A和B。单数形式的术语“一个”、“这个”也可以包含复数形式。
这里对本发明中涉及的技术术语作如下解释:
Pytorch模型:目前深度学习算法所使用的主流框架;
TorchScript:Pytorch模型的中间表示,可以在高性能环境中运行;
TTS:文本转语音(Text to Speech),根据一段输入的文本生成其对应发音的音频;
GRPC:Google的远程过程调用服务框架,主要通过ProtoBuf来定义接口;
ProtoBuf:Google开发的一种数据序列化协议,其与语言无关,平台无关,可扩展的序列化数据结构的规则,用于数据通信协议,数据存储等;
前端处理:文本转语音需要根据业务场景对字符串做处理,例如有的通用场景需要将“12kg”读成“十二千克”,有的场景需要将其读成“一二KG”。
本发明的技术方案的实现原理主要为:
1、通过GRPC的ProtoBuf结构定义服务端与客户端的通信协议,主要包括:文本转语音服务模式、待返回的语音音频格式、语音音频数据、音频长度等字段信息和内容;在具体执行文本转语音服务时,客户端会将这些通信协议的参数字段信息随同待转换的文本信息一起发送到服务端。服务端根据收到的参数和文本信息进行文本转语音处理,并将转换后的语音返回给客户端。客户端对接收到的转换后的语音进行处理和应用。
2、通过定义好的ProtoBuf通信协议编译生成对应的服务端与客户端代码。
3、客户端读取需要转写的数据后,调用定义好的文本转语音方法,形成文本转语音请求,使用ProtoBuf对数据进行序列化编码,按照识别服务模式将该请求发送到服务端。
4、服务端按照定义好的通信协议,即通过接口代码,进行反序列化后还原所要转写的字符串数据。
5、服务端根据客户端请求的文本数据,以及请求的字段信息,判断需要采用的文本转语音前端处理方法,选择对应的分词模型,对字符串内容进行转写。
6、服务端对转换后的语音进行序列化编码后发送回请求的客户端。
7、客户端根据收到的服务端的回复内容,进行反序列化后,得到转写音频结果,完成文本转语音服务的调用。
首先参阅图1,在第一方面,本发明提出一种基于GRPC实现文本转语音服务方法,该方法包括如下步骤:
步骤S101,制定利用GRPC技术在服务端与客户端之间实现文本转语音服务的接口协议,该接口协议包括:定义文本转语音服务的.proto文件服务方法和交互字段;系统预先定义文本转语音服务的功能以及返回结果格式等交互字段。
步骤S102,使用编译器编译生成GRPC文本转语音服务客户端与服务端代码。具体而言,使用各语言对应的ProtoBuf编译器编译生成GRPC文本转语音服务客户端与服务端代码,基于服务端GRPC代码,实现文本转语音核心算法。
步骤S103,客户端将文本转语音服务请求发送给服务端,所述文本转语音服务请求包含需要转写的字符串。不同语言的客户端,读取需要转写的字符串数据,根据文本转语音服务类型,选择单向流式与非流式的GRPC文本转语音方法,向文本转语音服务端发起文本转语音请求,传输的字符串数据及各请求参数经过ProtoBuf序列化编码后传输至服务端。其中,单向流式指:实时文本转语音;非流式指:将一句话整体进行文本转语音。
尽管图1中没有显示,在优选实施方式中,本发明的方法还包括步骤S103-1,在该步骤中,服务端对接收到的客户端发来的信息进行文本转语音前端处理。具体地,服务端接收到客户端的请求后,对该请求进行反序列化,得到原始字符串数据,调用相应的文本转语音前端算法进行文本转语音前端处理。目前主流的文本转语音算法一般都是基于自回归模型,无法生成过长的音频,因此文本转语音前端处理中需要将过长的字符串进行切分,分段传入后续模型。其次,对于一些特定字符根据业务需求,需要在这里进行识别转换,例如:
①缩写转换:例如“RMB”转写为“人民币”。
②中文分词:“今天天气不错”分解为“今天”、“天气”、“不错”,并在字典中查找其各个词语的发音。
③模型差异:部分模型支持中英文转写,部分模型仅支持中文转写,因此需要针对各个模型做针对性的前端处理算法。
④符号清除:传入字符中可能包含各种字符,需要将这些字符进行转写或消除。
步骤S104,服务端对接收到的所述文本转语音服务请求中的字符串进行文本转语音转写。根据步骤S103-1中得到的字符串数据和模型参数,选择对应的文本转语音模型,进行文本转语音转写。
步骤S105,服务端返回转写后的音频到客户端。具体地,根据步骤S104转写的结果,经过序列化后返回结果给客户端。更具体地,服务端根据客户端调用的单向流式、非流式方法,调用不同的结果返回逻辑,非流式一次返回音频转写结果,单向流式的为实时文本转语音,分段返回转写以后的音频结果,客户端对其进行拼接得到最终的整段音频。
类似地,尽管图1中没有显示,在优选实施方式中,本发明的方法还包括步骤S106,在该步骤中,客户端对收到的服务端发来的信息进行反序列化后,得到转写音频结果。
在第二方面,本发明提出一种基于GRPC实现文本转语音服务的系统,具体实施例如图2所示,该系统主要包括:文本转语音GRPC客户端和服务端。该基于GRPC实现文本转语音服务的系统为一个Client/Server即客户机/服务器架构。
文本转语音GRPC客户端支持多种语言,并经GRPC定义。
文本转语音GRPC服务端,提供各种文本转语音服务模型,以适应客户端的远程服务调用。该服务端也经GRPC定义。即,预先定义了建立GRPC/ProtoBuf架构下的语音识别引擎而实现客户端和服务器之间的远程调用的通信协议,通过编译生成客户端与服务器之间实现远程服务调用的GRPC服务代码,该GRPC服务代码是基于文本转语音服务通信协议生成的。该通信协议是一个预先定义好的服务端与客户端接口协议,该协议具体包括:根据GRPC的ProtoBuf的结构,预先定义文本转语音服务模式、待识别的文本转语音数据格式、待返回的音频格式、以及音频数据和音频长度相关的参数字段等信息;根据所述ProtoBuf协议编译生成进行GRPC语音识别服务的客户端与服务器的GRPC服务代码。GRPC服务代码可以规划客户端和服务器各自的功能/服务模块,具有所述GRPC服务代码的客户端和服务端分别为经GRPC定义的客户端和经GRPC定义的服务端。
如图2所示,所述客户端包括:
GRPC客户端模块201,用于基于预先定义的GRPC服务接口协议,读取待转换的文本转语音数据,并且读取该文本转语音数据时GRPC模式选择模块202选择文本转语音服务模式,向服务器发送经第一ProtoBuf序列化模块203序列化后形成的语音识别请求,以便远程调用服务端中对应于所述文本转语音请求的文本转语音服务模型进行文本转语音服务。并且,GRPC客户端模块201还对收到的非流式文本转语音结果和单向流式文本转语音结果进行处理和应用。对于单向流式,由于为实时文本转语音,分段返回转写后的音频结果,在语音处理模块中对其进行拼接得到最终的整段音频。此外,GRPC客户端模块201还对GRPC客户端内部各模块进行管理和协调。
GRPC模式选择模块202,用于在所述GRPC客户端模块读取待转换的文本转语音数据时选择相应的文本转语音服务模式。对应不同的文本转语音数据,有不同的转换需求,可以选择相应的文本转语音服务模式。
文本转语音服务模式主要有:
单向流式文本转语音:即实时文本转语音;
非流式文本转语音:即一句话整体文本转语音。
相应地,服务器在识别和/或返回结果时,会参考该模式,选择相对应的模型进行文本转语音的转换,并选择匹配文本转语音模式的结果返回给客户端。
第一ProtoBuf序列化模块203,用于利用ProtoBuf结构对待转换的所述文本转语音数据、以及对应于所述文本转语音数据的参数字段信息进行序列化编码,并将编码后的结果发送给服务端。还用于接收服务端发来的所述文本转语音的转换结果并利用所述ProtoBuf结构进行反序列化并输出。
继续参阅图2,所述服务端主要包括:
GRPC服务端模块211,用于接收经GRPC定义的客户端发送的文本转语音服务请求,其中,所述文本转语音请求中包括经过序列化的待转换的文本数据和返回结果格式等交互字段参数信息。服务端模块接收的所述来自客户端的文本转语音服务请求,具体是:由所述经GRPC定义的客户端通过其第一ProtoBuf序列化模块203利用ProtoBuf结构对读取的待转换的所述文本转语音数据以及对应于所述文本转语音数据的相关参数字段信息进行序列化编码压缩后形成的、并调用预先选择的语音识别服务模式向所述服务器所发送的远程请求。
另外,GRPC服务端模块211还用于在经第二ProtoBuf序列化模块对识别结果进行序列化后发送回所述经GRPC定义的客户端。具体地,GRPC服务端模块211根据所述文本转语音服务模式调用相应的结果返回逻辑,以将序列化编码压缩后的所述文本转语音结果发送回所述经GRPC定义的客户端。其中,所述文本转语音服务模式就是之前交互字段中提供的,与客户端按照该模式传送文本转语音服务请求时相对应的服务模式。主要包括两种模式:实时文本转语音并分段返回转写以后的音频结果的单向流式和将一句话文本整体转语音并一次返回转写结果的非流式。其中,所述结果返回逻辑包括:对所述非流式为一次性返回转写结果,对所述单向流式为分段返回每段的转写结果、并在客户端可以对其进行拼接得到最终的整段音频。
第二ProtoBuf序列化模块212,用于基于预先定义的GRPC服务接口代码,对收到的所述文本转语音服务请求数据进行反序列化操作,得到待转换的所述文本转语音数据和所述相关参数字段信息;以及用于对文本转语音的转换结果进行序列化操作。其具体包括:ProtoBuf反序列化功能,用于通过ProtoBuf结构对收到的客户端发来的所述文本转语音服务数据进行反序列化操作。其中,文本转语音参数字段信息至少包括:文本转语音服务方法、待返回的语音音频格式、音频数据、音频长度等字段信息和内容等信息。文本转语音服务模式是所述经GRPC定义的客户端在其GRPC客户端模块201读取待转换的文本转语音数据时,对应要转换的这些文本数据而利用GRPC模式选择模块202选择的。其他交互字段(参数字段信息)比如待返回的音频格式、音频长度等也都是对应读取的待转换的该文本转语音数据而记录的。进一步,第二ProtoBuf序列化模块212还具有ProtoBuf序列化功能,用于通过ProtoBuf结构对转换结果进行序列化编码,甚至压缩数据后形成识别结果序列化数据。同样,ProtoBuf结构可以序列化或反序列化,编码数据或解码数据。
GRPC非流式模块213,其将一句话文本整体转语音并一次返回转写结果到客户端。
GRPC单向流式模块214,其用于实时文本转语音并分段返回转写以后的音频结果到客户端。客户端对其进行拼接得到最终的整段音频。
前端数据解析模块215,其用于根据所述文本转语音参数字段信息对待转换的所述文本转语音数据进行解析,以将待转换的所述文本转语音数据统一转换成原始的文本数据,调用相应的文本转语音前端算法对其进行前处理。
具体地,目前主流的文本转语音算法一般都无法生成过长的音频,因此,在文本转语音前端数据解析模块中需要将过长的字符串进行切分,分段传入后续模型。其次,对于一些特定字符根据业务需求,需要在这里进行识别转换。包括:
①缩写转换:例如“RMB”转写为“人民币”。
②中文分词:“今天天气不错”分解为“今天”、“天气”、“不错”,并在数据库中查找其各个词语的发音。
③模型差异:部分模型支持中英文转写,部分模型仅支持中文转写,因此需要针对各个模型做针对性的前端处理算法。
④符号清除:传入字符中可能包含各种字符,需要将这些字符进行转写或消除。
文本转语音核心算法模块216,其用于根据所述文本转语音参数字段信息选择对应的转换服务模型,以对所述转换成文本格式的数据进行文本转语音的转换并得到转换后的音频数据。转换后的音频数据将通过第二ProtoBuf序列化模块212进行序列化转换后,由文本转语音GRPC服务端模块211将转换后的音频数据发送给相应请求的客户端。
在第三方面,本发明还提供一种计算机可读存储介质,该存储介质存储有多条程序代码,所述程序代码适于由处理器加载并运行以执行前述第一方面的基于GRPC实现文本转语音服务的方法。
在第四方面,本发明还提供一种控制装置,该控制装置包括处理器和存储装置,所述存储装置适于存储多条程序代码,所述程序代码适于由所述处理器加载并运行以执行前述第一方面的基于GRPC实现文本转语音服务的方法。
至此,已经结合附图所示的优选实施方式描述了本发明的技术方案,但是,本领域技术人员容易理解的是,本发明的保护范围显然不局限于这些具体实施方式。在不偏离本发明的原理的前提下,本领域技术人员可以对相关技术特征做出等同的更改或替换,这些更改或替换之后的技术方案都将落入本发明的保护范围之内。
Claims (12)
1.一种基于GRPC实现文本转语音服务的方法,其特征在于,包括如下步骤:
S101,制定利用GRPC技术在服务端与客户端之间实现文本转语音服务的接口协议;
S102,使用编译器编译生成GRPC文本转语音服务客户端与服务端代码;
S103,客户端将文本转语音服务请求发送给服务端,所述文本转语音服务请求包含需要转写的字符串;
S104,服务端对接收到的所述文本转语音服务请求中的字符串进行文本转语音转写;
S105,服务端将转写后的音频发送给客户端。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
S103-1,在进行文本转语音转写之前,服务端对接收到的所述文本转语音服务请求中的字符串进行前端处理,其中,所述前端处理包括字符串切分和/或特殊字符转换。
3.根据权利要求2所述的方法,其特征在于,在步骤S103中,客户端先对文本转语音服务请求进行ProtoBuf序列化编码,然后再发送给服务端;
相应地,在步骤S103-1中,服务端先对接收到的所述文本转语音服务请求进行ProtoBuf反序列化解码,然后再对其中的字符串进行前端处理。
4.根据权利要求1所述的方法,其特征在于,在步骤S105中,服务端先对转写后的音频进行ProtoBuf序列化编码,然后再发送给客户端;
相应地,所述方法还包括:
S106,客户端对收到的服务端发来的信息进行ProtoBuf反序列化解码后,得到转写的音频。
5.根据权利要求1所述的方法,其特征在于,在步骤S102中,使用不同语言对应的ProtoBuf编译器编译生成对应于该语言的GRPC文本转语音服务客户端与服务端代码,服务端基于对应的代码来调用相应的文本转语音核心算法。
6.根据权利要求1所述的方法,其特征在于,在步骤S103中,所述文本转语音服务请求还包含由客户端选定的文本转语音服务模式,所述文本转语音服务模式包括单向流式和非流式;
相应地,在步骤S106中,服务端按照客户端选定的文本转语音服务模式将转写后的音频发送给客户端;
其中,在非流式模式中,服务端将一句话进行文本转语音,一次返回音频转写结果;
在单向流式模式中,服务端实时进行文本转语音,分段返回转写后的音频结果,客户端对接收到的分段音频进行拼接后得到最终的整段音频。
7.一种基于GRPC实现文本转语音服务的系统,该系统包括客户端和服务端,其特征在于,该客户端包括:
GRPC客户端模块,其支持多种语言,使用不同语言对应的ProtoBuf编译器编译生成对应于该语言的GRPC文本转语音服务客户端代码,用于读取需要转写的字符串,以及向服务端发起文本转语音服务请求,并管理客户端内部各模块的工作,以及接收服务端发来的转写后的语音;
该服务端包括:
GRPC服务端模块,其支持多种语言,使用不同语言对应的ProtoBuf编译器编译生成对应于该语言的GRPC文本转语音服务的服务端代码,用于接收客户端发来的服务请求,以及向客户端返回转写后的语音,并管理服务端内部各模块的工作;
文本转语音核心算法模块,其根据从客户端接收的文本转语音服务请求,使用训练好的模型对所述文本转语音服务请求中需要转写的字符串进行文本转语音转写。
8.根据权利要求7所述的系统,其特征在于,该客户端还包括:
第一ProtoBuf序列化模块,其用于将包含需要转写的字符串的文本转语音服务请求进行序列化编码,以及将从服务端接收到的音频序列化编码进行反序列化解码,得到转换后的音频数据;
该服务端还包括:
第二ProtoBuf序列化模块,其用于在从客户端接收到文本转语音服务请求后对其进行反序列化解码,以及在所述文本转语音核心算法模块完成转写后对音频进行序列化编码。
9.根据权利要求7所述的系统,其特征在于,该客户端还包括:
GRPC模式选择模块,其用于在所述GRPC客户端模块读取待转换的文本转语音字符串时选择相应的文本转语音服务模式,所述文本转语音服务模式包括单向流式和非流式;
该服务端还包括:
GRPC非流式模块,其在客户端选择非流式服务模式时,将一句话进行文本转语音,一次返回音频转写结果;
GRPC单向流式模块,其在客户端选择单向流式服务模式时,实时进行文本转语音,分段返回转写后的音频结果,客户端对接收到的分段音频进行拼接后得到最终的整段音频。
10.根据权利要求7所述的系统,其特征在于,该服务端还包括:
前端数据解析模块,其用于根据需要转写的字符串类型自动选择对应的前端算法,对字符串进行所需要的前端处理。
11.一种计算机可读存储介质,所述存储介质中存储有多条程序代码,其特征在于,所述程序代码适于由处理器加载并运行以执行权利要求1-6中任一项的基于GRPC实现文本转语音服务的方法。
12.一种控制装置,该控制装置包括处理器和存储器,所述存储器适于存储多条程序代码,其特征在于,所述程序代码适于由所述处理器加载并运行以执行权利要求1-6中任一项的基于GRPC实现文本转语音服务的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110712603.4A CN113450763A (zh) | 2021-06-25 | 2021-06-25 | 基于grpc实现文本转语音服务的方法、系统、介质和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110712603.4A CN113450763A (zh) | 2021-06-25 | 2021-06-25 | 基于grpc实现文本转语音服务的方法、系统、介质和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113450763A true CN113450763A (zh) | 2021-09-28 |
Family
ID=77813001
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110712603.4A Pending CN113450763A (zh) | 2021-06-25 | 2021-06-25 | 基于grpc实现文本转语音服务的方法、系统、介质和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113450763A (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106470146A (zh) * | 2015-08-17 | 2017-03-01 | 腾讯科技(深圳)有限公司 | 即时通信应用中文本转换为语音的方法和装置 |
CN109756635A (zh) * | 2019-01-24 | 2019-05-14 | 出门问问信息科技有限公司 | 基于web的电话客服模拟方法、装置、存储介质和电子设备 |
CN112202978A (zh) * | 2020-08-24 | 2021-01-08 | 维知科技张家口有限责任公司 | 智能外呼系统、方法、计算机系统及存储介质 |
CN112289307A (zh) * | 2020-11-12 | 2021-01-29 | 四川云从天府人工智能科技有限公司 | 基于GRPC实现Kaldi语音识别服务的方法、系统及介质 |
-
2021
- 2021-06-25 CN CN202110712603.4A patent/CN113450763A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106470146A (zh) * | 2015-08-17 | 2017-03-01 | 腾讯科技(深圳)有限公司 | 即时通信应用中文本转换为语音的方法和装置 |
CN109756635A (zh) * | 2019-01-24 | 2019-05-14 | 出门问问信息科技有限公司 | 基于web的电话客服模拟方法、装置、存储介质和电子设备 |
CN112202978A (zh) * | 2020-08-24 | 2021-01-08 | 维知科技张家口有限责任公司 | 智能外呼系统、方法、计算机系统及存储介质 |
CN112289307A (zh) * | 2020-11-12 | 2021-01-29 | 四川云从天府人工智能科技有限公司 | 基于GRPC实现Kaldi语音识别服务的方法、系统及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111477216B (zh) | 一种用于对话机器人的音意理解模型的训练方法及系统 | |
US10679613B2 (en) | Spoken language understanding system and method using recurrent neural networks | |
CN101207586B (zh) | 用于实时自动通信的方法和系统 | |
US6182038B1 (en) | Context dependent phoneme networks for encoding speech information | |
CN112289307B (zh) | 基于GRPC实现Kaldi语音识别服务的方法、系统及介质 | |
CN100424632C (zh) | 用于高级交互接口的语义对象同步理解 | |
US10824664B2 (en) | Method and apparatus for providing text push information responsive to a voice query request | |
US20060235694A1 (en) | Integrating conversational speech into Web browsers | |
US11416687B2 (en) | Method and apparatus for recognizing speech | |
US8027839B2 (en) | Using an automated speech application environment to automatically provide text exchange services | |
CN116129863A (zh) | 语音合成模型的训练方法、语音合成方法及相关装置 | |
JPH08195763A (ja) | ネットワークの音声通信チャネル | |
CN113935337A (zh) | 一种对话管理方法、系统、终端及存储介质 | |
KR101207435B1 (ko) | 대화형 음성인식 서버, 대화형 음성인식 클라이언트 및 대화형 음성인식 방법 | |
KR102184053B1 (ko) | 대사를 캐릭터별 상이한 목소리로 변환하여 전달하는 웹툰 동영상 생성 방법 | |
CN113450763A (zh) | 基于grpc实现文本转语音服务的方法、系统、介质和装置 | |
US20060265225A1 (en) | Method and apparatus for voice recognition | |
US10580406B2 (en) | Unified N-best ASR results | |
WO2022262080A1 (zh) | 一种对话关系处理方法、计算机及可读存储介质 | |
CN109524000A (zh) | 离线对话实现方法和装置 | |
CN112466283B (zh) | 一种协同软件语音识别系统 | |
CN114121010A (zh) | 模型训练、语音生成、语音交互方法、设备以及存储介质 | |
CN116521155B (zh) | 基于JSON描述动态生成Restful接口的方法 | |
CN117560380B (zh) | 一种基于智能合约的数据语用提取系统 | |
CN114283794A (zh) | 噪音过滤方法、装置、电子设备和计算机可读存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20210928 |