CN110335583B - 一种带隔断标识的复合文件生成及解析方法 - Google Patents
一种带隔断标识的复合文件生成及解析方法 Download PDFInfo
- Publication number
- CN110335583B CN110335583B CN201910299194.2A CN201910299194A CN110335583B CN 110335583 B CN110335583 B CN 110335583B CN 201910299194 A CN201910299194 A CN 201910299194A CN 110335583 B CN110335583 B CN 110335583B
- Authority
- CN
- China
- Prior art keywords
- subfile
- file
- text
- compound
- bytes
- 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.)
- Active
Links
- 238000005192 partition Methods 0.000 title claims abstract description 18
- 238000004458 analytical method Methods 0.000 title claims abstract description 12
- 239000002131 composite material Substances 0.000 title claims description 12
- 150000001875 compounds Chemical class 0.000 claims abstract description 122
- 238000000034 method Methods 0.000 claims abstract description 40
- 230000008676 import Effects 0.000 claims description 6
- 230000002194 synthesizing effect Effects 0.000 claims description 6
- 230000007246 mechanism Effects 0.000 claims description 5
- 238000012795 verification Methods 0.000 claims description 3
- 238000000926 separation method Methods 0.000 abstract description 2
- 238000013329 compounding Methods 0.000 abstract 1
- 230000015572 biosynthetic process Effects 0.000 description 5
- 238000003786 synthesis reaction Methods 0.000 description 5
- 239000000203 mixture Substances 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000007547 defect Effects 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
-
- 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/02—Methods for producing synthetic speech; Speech synthesisers
- G10L13/04—Details of speech synthesis systems, e.g. synthesiser structure or memory management
-
- 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/06—Elementary speech units used in speech synthesisers; Concatenation rules
Landscapes
- Engineering & Computer Science (AREA)
- Computational Linguistics (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- Acoustics & Sound (AREA)
- Multimedia (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Document Processing Apparatus (AREA)
Abstract
一种带隔断标识的复合文件生成方法,所述方法包括以下步骤:1)源文件获取;2)文件解析;3)复合文件合成。以及提供一种带隔断标识的复合文件解析方法。以及定义一种带隔断标识的复合文件格式,包括复合文件头(文件类型、子文件个数、复合文件大小)、子文件序号、子文件字节数、子文件内容4部分组成。本发明将一个需要合成的句子之间没有特定分隔规律的父文本,按照定义的格式解析保存为一个有规律间隔保存的复合文件,合成的若干音频按照定义的格式对应保存为一个有规律的复合文件,大大减少文件管理的难度。
Description
技术领域
本发明属于文件格式领域,涉及一种带隔断标识的复合文件生成及解析方法。
背景技术
将文本生成语音该过程称为语音合成(TTS),一方面为了将用户馈入TTS引擎的文本能够依照用户的本来意图来断句,而不仅仅是直接将文本不分断句地直接馈入TTS(从而事实上将断句的职责交付于TTS引擎),需要有一种自动记录用户断句意图的文本类型。
发明内容
为了克服已有文本生成语音方式的文件管理难度较大的不足,本发明提供了一种有效降低文件管理难度的带隔断标识的复合文件生成及解析方法,并且该复合文件有特定的文件格式:包括复合文件头(文件类型、子文件个数、复合文件大小)、子文件序号、子文件字节数、子文件内容4部分组成。
本发明解决其技术问题所采用的技术方案是:
一种带隔断标识的复合文件生成方法,所述方法包括以下步骤:
1)源文件获取,过程如下:
(1.1)从设备中导入一个文本文件(通过点击应用界面的导入按钮进入文件选择界面),通过该方法进入用户的设备文件管理器,将根据用户在设备的文件管理器点击选择的文件,即获取源文件,文件将在应用后台进行解析;
(1.2)用户自定义手动输入文本,过程如下:
(1.2.1)首先界面显示若干格文本编辑框,以默认三格文本编辑框为例,每一个文本编辑框由用户输入一句文字或其他字符;
(1.2.2)若三格不能满足用户需求,用户可以点击界面添加按钮新增若干个文本编辑框,继续输入文本;(由于手机屏幕界面大小有限(手机屏幕小)可以采
取自动翻页或添加滚动视图来容纳较多的文本编辑框便于用户查看)。
(1.2.3)当用户输入完毕提交,进行解析。
2)文件解析,过程如下:
(2.1)文本导入
(2.1.1)创建子文件;
(2.1.2)读取导入的文本内容;
(2.1.3)判断是否为标点符号,如果不是标点符号,则继续读取父文件(导入的文本)并复制到子文件;如果是标点符号将当前子文本保存,并判断父文本是否读取完毕,如果没有读完则创建新的子文件重复以上步骤,如果读取完毕等待合成复合文件;
(2.2)编辑框输入
(2.2.1)创建子文件;
(2.2.2)读取编辑框输入的内容并复制到子文件;
(2.2.3)判断是当前编辑框内容是否读完,如果没有读完,则继续读取复制,如果读完将当前子文本保存;
(2.2.4)判断所有编辑框是否读取完毕,如果读取完毕,等待合成复合文件,如果没有读取完毕,创建新的子文件重复以上步骤,即返回(2.2.1);
3)复合文件合成,过程如下:
(3.1)顺序添加2个字节信息表示文件的类型(如文本或音频);
(3.2)顺序添加2个字节信息表示有多少个子文件(M个)需要添加。这些子文件通常为某一次一个导入的文本或用户输入的信息;
(3.3)顺序添加4个字节信息表示复合文件的总字节数(不包含用于描述子
文件类型和子文件个数所占的字节数);
(3.4)顺序添加2个字节信息表示当前子文件的序号m;
(3.5)顺序添加4个字节信息表示当前子文件的大小;
(3.6)顺序将子文件内容复制到复合文件;
(3.7)复制完成后将原来子文件删除,减少内存占用;
(3.8)判断子文件是否添加完毕,如果添加完毕保存当前复合文件,若没有添加完毕返回(3.4)。
一种带隔断标识的复合文件解析方法,所述方法包括以下步骤:
(4.1)读入复合文件;
(4.2)分析复合文件头,过程如下:
(4.2.1)顺序读取复合文件头的前两个字节信息,确定该复合文件包含的子文本文件类型;
(4.2.2)然后顺序读文件头的后两个字节确定复合文件的子文本文件个数n;
(4.2.3)然后再顺序读取头文件的后4个字节信息,确定该复合文件总字节数H;
(4.3)顺序再读取2个字节的信息明确所读的子文件序号m;
(4.4)顺序读取4个字节信息确定前述序号的子文件包含的字节数Cx,并为接下来判断读取多少字节的子文本提供标识(由此4个字节所表示的子文件字节数为准,顺序读取对应字节数。)
(4.5)顺序读取应该读取大小的信息,生成子文本;
(4.6)检查子文件实际读取的大小;
(4.7)判断检查,过程如下:
条件1:判断当前子文件是否为最后一个子文件;
条件2:判断目前实际读取的子文件大小总和是否等于各个子文件标明的总和大小;
条件3:判断目前读取的所有子文件大小总和是否等于头文件标明的总大小;
(4.7.1)若当前子文件读取完毕后,条件2满足则判断读取无误,进行判断条件1和3;若条件1、3也满足则读取完毕(解析完成);
(4.7.2)若当前子文件读取完毕后,条件2不满足则判断读取错误停止读取;
(4.7.3)若当前子文件读取完毕后条件1、2满足,但条件3不满足或条件2、3满足,但条件1不满足,则判断读取错误停止读取;
(4.7.4)若当前子文件读取完毕后条件2满足,条件1、3不满足则判断读取未完成,然后从(4.4)开始重复之后步骤;
(4.8)由序号、总字节数、子文件个数和子文件字节数,判断读取是否有误。如果有误则停止读取并检查,提示用户进行下一步操作。
一种带隔断标识的复合文件格式,所述复合文件格式包括以下部分:复合文件头部、子文件序号、子文件字节数和子文件内容;
(5.1)复合文件头部由三部分组成,分别是:
(5.1.1)子文件类型,描述其子文件的类型,有文本.txt,.mp3类型,子文件类型的标志位由2个字节描述;
(5.1.2)子文件个数,在文件头部明确该复合文件包含的子文件个数,方便为后面的解析进行校核文本的完整性,子文件的个数这里用2个字节长度进行描述;
(5.1.3)复合文件总字节数,字节数不包含用于描述子文件类型和子文件个数所占的字节数,通过校核文件个数与总字节数机制可以保证文件的完整,复合文件总字节数用4个字节数描述。
(5.2)子文件序号
序号用来区分复合文件包含的若干不同子文件,因为文本要与生成的音频对应,所以不仅仅要与音频一一对应,而且要求音频的顺序与用户输入文本顺序或与源文本句子顺序对应,所以这里通过为每句话(每个子文本)或每个子音频文件设置序号标志进行校验,序号由2个字节描述;
(5.3)子文件字节数
子文件字节数不同于文件头里的复合文件总字节数,字节数紧跟在序号后面与子文件之前,用来描述子文件内容所包含的字节数(即子文件的大小)。同样可以与序号结合起来校验子文件的完整性以及明确标记每个子文件;
(5.4)子文件内容
子文件内容若是文本信息,表示后台对文本进行分隔好的句子信息或用户在每个文本编辑框填入的句子信息。子文件若是音频信息,表示由若干句话生成的若干子音频文件信息。
本发明中,为了使得文件较好适应文件与文件匹配度高(文本文件与音频文件一一对应,顺序对应等)、文件较多分散的场景,针对文本格式,音频格式的文件进而发明了一种带隔断标识的复合文件格式即.ctxt文件和.cmp3文件。
具体来讲首先是匹配的问题,文本文件信息与音频文件信息是高度匹配的。因为按照要求,文本内容每一句字符串都对应一个相应音频文件(该音频文件是通过文本内容合成的)、音频播放顺序与用户意图一致(可以为文本和音频加上序号区分),因此必须严格对应。另外,通过父文本(原始文本文件)生成对应的音频,意味着,一个父文本要根据句子与句子拆分成很多子文本,并且每个子文本,也要有若干对应的音频。这也意味着,有多个父文本的合成需求,就会产生大量分散的文件,不利于后期管理和查找。因此针对文件较多不便于查找和管理问题,该发明的复合文件能够很好解决。因为通过合成,将一个需要合成的句子之间没有特定分隔规律的父文本,解析保存为一个有间隔规律的复合文本文件(.ctxt),合成的若干音频对应保存为一个有规律的复合音频文件(.cmp3),大大减少文件管理的难度。
本发明的有益效果主要表现在:有效降低文件管理难度。
附图说明
图1是源文件生成方法的流程图。
图2是父文本的处理方法。
图3是复合文件的内容。
图4是复合文件的格式。
图5是复合文件的生成方法的流程图。
图6是复合文件的解析方法流程图。
图7是一种带隔断标识的复合文件生成及解析方法的流程图。
具体实施方式
下面结合附图对本发明作进一步描述。
参照图1~图7,一种带隔断标识的复合文件生成方法,所述方法包括以下步骤:
1)源文件获取,过程如下:
(1.1)从设备中导入一个文本文件(通过点击应用界面的导入按钮进入文件选择界面),通过该方法进入用户的设备文件管理器,将根据用户在设备中文件管理器点击选择的文件,即获取源文件,文件将在应用后台进行解析;
(1.2)用户自定义手动输入文本,过程如下:
(1.2.1)首先界面显示若干格文本编辑框,以默认三格文本编辑框为例,每一个文本编辑框由用户输入一句文字或其他字符;
(1.2.2)若三格不能满足用户需求,用户可以点击界面添加按钮新增若干个文本编辑框,继续输入文本;(由于手机屏幕界面大小有限(手机屏幕小)可以采取自动翻页或添加滚动视图来容纳较多的文本编辑框便于用户查看)。
(1.2.3)当用户输入完毕提交,进行解析。
2)文件解析,过程如下:
(2.1)文本导入
(2.1.1)创建子文件;
(2.1.2)读取导入的文本内容;
(2.1.3)判断是否为标点符号,如果不是标点符号,则继续读取父文件(导入的文本)并复制到子文件;如果是将当前子文本保存,并判断父文本是否读取完毕,如果没有读完则创建新的子文件重复以上步骤,如果读取完毕等待合成复合文件;
(2.3)编辑框输入
(2.2.1)创建子文件;
(2.2.2)读取编辑框输入的内容并复制到子文件;
(2.2.3)判断是当前编辑框内容是否读完,如果没有读完,则继续读取复制,如果读完将当前子文本保存;
(2.2.4)判断所有编辑框是否读取完毕,如果读取完毕,等待合成复合文件,如果没有读取完毕,创建新的子文件重复以上步骤,即返回(2.2.1);
4)复合文件合成,过程如下:
(3.1)顺序添加2个字节信息表示文件的类型(如文本或音频);
(3.2)顺序添加2个字节信息表示有多少个子文件(M个)需要添加。这些子文件通常为某一次一个导入的文本或用户输入的信息;
(3.3)顺序添加4个字节信息表示复合文件的总字节数(不包含用于描述子文件类型和子文件个数所占的字节数);
(3.4)顺序添加2个字节信息表示当前子文件的序号m;
(3.5)顺序添加4个字节信息表示当前子文件的大小;
(3.6)顺序将子文件内容复制到复合文件;
(3.7)复制完成后将原来子文件删除,减少内存占用;
(3.8)判断子文件是否添加完毕,如果添加完毕保存当前复合文件,若没有添加完毕返回(3.4)。
一种带隔断标识的复合文件解析方法,所述方法包括以下步骤:
(4.1)读入复合文件;
(4.2)分析复合文件头,过程如下:
(4.2.1)顺序读取复合文件头的前两个字节信息,确定该复合文件包含的子文本文件类型;
(4.2.2)然后顺序读文件头的后两个字节确定复合文件的子文本文件个数n;
(4.2.3)然后再顺序读取头文件的后4个字节信息,确定该复合文件总字节数H;
(4.3)顺序再读取2个字节的信息明确所读的文件序号m;
(4.4)顺序读取4个字节信息确定前述序号的子文件包含的字节数Cx,并为接下来判断读取多少字节的子文本提供标识(由此4个字节所表示的子文件字节数为准,顺序读取对应字节数。)
(4.5)顺序读取应该读取大小的信息,生成子文本;
(4.6)检查子文件实际读取的大小;
(4.7)判断检查,过程如下:
条件1:判断当前子文件是否为最后一个子文件;
条件2:判断目前实际读取子文件大小总和是否等于各个子文件标明的总和大小;
条件3:判断目前读取的所有子文件大小总和是否等于头文件标明的总大小;
(4.7.1)若当前子文件读取完毕后,条件2满足则判断读取无误,进行判断条件1和3,若条件1、3也满足则读取完毕(解析完成);
(4.7.2)若当前子文件读取完毕后,条件2不满足则判断读取错误停止读取;
(4.7.3)若当前子文件读取完毕后条件1、2满足,但条件3不满足或条件2、3满足,但条件1不满足,则判断读取错误停止读取;
(4.7.4)若当前子文件读取完毕后条件2满足,条件1、3不满足则判断读取未完成,然后从(4.4)开始重复之后步骤;
(4.8)由序号、总字节数、子文件个数和子文件字节数,判断读取是否有误。如果有误则停止读取并检查,提示用户进行下一步操作。
本实施例中,源文本即父文本的获取方式,源文件可以由用户自己选择,有两种方法;
第一,可以直接从设备中导入一个文本文件(通过点击应用界面的导入按钮进入文件选择界面),通过该方法进入用户的设备文件管理器,将根据用户在设备中文件管理器点击选择的文本,来生成相应的父文本进行语音合成。导入的文件将在应用后台进行解析并保存为.ctxt复合文本文件。
第二、除了直接导入文本,还允许用户自定义手动输入文本。首先界面显示若干格文本编辑框,现以默认三格文本编辑框为例,每一个文本编辑框由用户输入一句文字或其他字符。当然,三格较多情况下不能满足用户需求,当用户需要增加内容,用户可以点击界面添加按钮新增若干个文本编辑框,继续输入文本。由于手机屏幕界面大小有限(手机屏幕小)可以采取自动翻页或添加滚动视图来容纳较多的文本编辑框便于用户查看。当用户输入完毕提交,将根据标准进行逐句保存,然后生成.ctxt格式的复合文件。
对应于两种源文件生成方式,因而有两种复合文件生成方式。
由第一种源文件生成方法:由于是直接导入一个文本,应用程序必须将文本内容逐句分割开来(一是,限制于现有tts语音合成工具对每次合成字数的要求。二是便于后期对每句话生成的音频进行管理。如果是一整个文本合成,对应的音频也是一整个文件,不便于用户修改每句话对应的音频。)
对文本逐句分割,可以按照标点符号进行分割。在这里不严格区分逗号或句号等,因为没有必要(只要能把句子分割开来,就能生成对应的文件,并能够根据复合文本加入的字段进行匹配)。每次分割一句话就自动保存为复合文件的一个子项(复合文件的信息单元)。依次分割完整个文本,把分割好的每一句话,以一定格式(见下面的复合文件标准)保存为一个复合文本即.ctxt文件。
对于用户逐句输入的情况,允许用户自定义手动输入文本。当用户在编辑界面输入一句话,应用后台自动记录,每输入一句就自动记录,直到输入完毕。此时由于用户是逐句输入,而且能够较好描述用户对于句子与句子之间的分割需要,而不是依靠程序来按标点符号分割语句。
每次记录的一句话就按照标准格式编辑,生成了默认自带断句信息(因为用户逐句填写,在文本文件自动里做了断句标记)的私有文本文件(复合文本文件)。父文本文件生成复合文件的标准和格式
由于该复合文本需要与音频统一,所以文件格式的设计和音频需要结合起来设计。因此复合文件需要包含断句信息(文本文件的“断句信息”含义是输入tts的间隔处,即为每一句文本设置标志)。
复合文件的.ctxt格式或组成如图3和图4所示。复合文本文件由复合文件头部、子文件序号、子文件字节数和子文件内容4部分组成。
1)复合文件头部由三部分组成,分别是:
(1)子文件类型(描述其子文件的类型,在这里有文本.txt等类型)子文件类型的标志位由2个字节描述。(不同类型文件对应不同编码格式)
(2)文件个数(由上述可知,一个复合文本是由若干个子文件组成,子文件由分割好的源文件单元组成,所以一个复合文本可以理解为由若干句话组成)。这里可以在文件头部明确该复合文件包含的子文件个数,方便为后面的解析进行校核文本的完整性,子文件的个数这里用2个字节长度进行描述。
(3)复合文件总字节数(这里字节数不包含用于描述子文件类型和子文件个数所占的字节数,通过校核文件个数与总字节数两项机制可以保证文件的完整),这里复合文件总字节数用4个字节数描述。
2)子文件序号
子文件序号用来区分复合文件包含的若干不同子文件,因为要与生成的音频对应所以,不仅仅要与音频一一对应,而且要求音频的顺序与用户输入顺序或与源文本句子顺序对应。所以这里通过为每句话(每个子文本)或每个子音频文件设置序号标志进行校验。序号由2个字节描述。
3)子文件字节数
子文件字节数不同于文件头里的复合文件总字节数。这里的字节数紧跟在序号后面与子文件之前,用来描述子文件内容所包含的字节数(即子文件的大小)。同样可以与序号结合起来校验子文件的完整性以及明确标记每个子文件。
4)子文件内容
子文件内容若是文本信息,表示后台对文本进行分隔好的句子信息或用户在每个文本编辑框填入的句子信息。
通过以上的标记可以把不便管理的句子或音频明确的标记起来。相当于为每个句子或音频定义一个ID。
有了复合文本文件,可以逐句合成语音。按照要求,文本内容每一句字符串都对一个相应音频文件,通过复合文本文件解析后生成对应的音频,意味着,一个父文本要根据句子与句子拆分成很多子文本,并且每个子文本,也要有若干对应的音频。这也意味着,有多个父文本的合成需求,就会产生大量的音频文件,当用户需要播放时希望能够按照文本顺序或输入顺序依次播放,因此必须对较多的音频文件进行管理,而且能够方便用户后期修改(例如在某位置加入一句话或删除一句话)。
音频文件组成格式类似于文本文件的合成格式:复合音频文件由复合文件头、序号、字节数、子文件4部分组成。
有了复合文本文件,可以逐句解析合成语音,并将音频合成所需的音频格式例如.mp3。
音频文件组成格式类似于文本文件的合成格式:复合音频文件由复合文件头、序号、字节数、子文件4部分组成。
1)复合文件头部由三部分组成,分别是:
(1)子文件类型(描述其子文件的类型,在这里表示音频.mp3等)子文件类型的标志位由2个字节描述。
(2)文件个数(一个复合音频文件由若干句话生成的若干子音频文件组成),这里可以在复合文件头部明确该复合文件包含的子音频文件个数,方便为后面的解析进行校核,保证解析的完整性),音频文件的个数这里用2个字节长度进行描述。
(3)复合文件总字节数(这里字节数不包含用于描述音频子文件类型和音频子文件个数所占的字节数,通过校核音频子文件个数与复合文件总字节数两项机制可以保证文件的完整),这里复合文件总字节数用4个字节数描述。
2)序号
序号用来区分复合文件包含的若干音频子文件,因为生成的音频要与文本对应所以,不仅要求音频与复合文本文件的子文件匹配,而且要求音频的播放顺序与用户输入顺序或与源文本句子顺序对应。所以这里通过为每个子音频文件设置序号标志进行校验。这里的序号与复合文本文件里的序号相对应,由2个字节信息描述。
3)字节数
这里字节数不同于文件头里的复合文件总字节数。同样这里的字节数紧跟在序号后面与音频子文件之前,用来描述子音频文件内容所包含的字节数。可以与序号结合起来校验子音频子文件的完整性以及明确标记每个音频子文件信息。
4)子文件
子文件(这里指音频)即后台对文本分隔好的句子信息或用户在每个文本编辑框填入的句子信息,然后通过语音合成获得的若干音频子文件。
Claims (4)
1.一种带隔断标识的复合文件生成方法,其特征在于,所述方法包括以下步骤:
1)源文件获取,过程如下:
(1.1)从设备中导入一个文本文件,通过该方法进入用户的设备文件管理器,将根据用户在设备中文件管理器点击选择的文件导入,文件将在应用后台进行解析;
(1.2)用户自定义手动输入文本,过程如下:
(1.2.1)首先界面显示若干格文本编辑框,以默认三格文本编辑框为例,每一个文本编辑框由用户输入一句文字或其他字符;
(1.2.2)若三格不能满足用户需求,用户可以点击界面添加按钮新增若干个文本编辑框,继续输入文本;
(1.2.3)当用户输入完毕提交,进行解析;
2)文件解析,过程如下:
(2.1)文本导入
(2.1.1)创建子文件;
(2.1.2)读取导入的文本内容并复制到子文件;
(2.1.3)判断是否为标点符号,如果不是标点符号,则继续读取父文件并复制到子文件;如果是标点符号将当前子文本保存,并判断父文本是否读取完毕,如果没有读完则创建新的子文件重复以上步骤,如果读取完毕等待合成复合文件;
(2.2)编辑框输入
(2.2.1)创建子文件;
(2.2.2)读取编辑框输入的内容并复制到子文件;
(2.2.3)判断是当前编辑框内容是否读完,如果没有读完,则继续读取复制,如果读完将当前子文本保存;
(2.2.4)判断所有编辑框是否读取完毕,如果读取完毕,等待合成复合文件,如果没有读取完毕,创建新的子文件重复以上步骤,即返回(2.2.1);
3)复合文件合成,过程如下:
(3.1)顺序添加2个字节信息表示文件的类型;
(3.2)顺序添加2个字节信息表示有多少个子文件需要添加,这些子文件通常为某一次一个导入的文本或用户输入的信息;
(3.3)顺序添加4个字节信息表示复合文件的总字节数,不包含用于描述子文件类型和子文件个数所占的字节数;
(3.4)顺序添加2个字节信息表示当前子文件的序号m;
(3.5)顺序添加4个字节信息表示当前子文件的大小;
(3.6)顺序将子文件内容复制到复合文件;
(3.7)复制完成后将原来子文件删除,减少内存占用;
(3.8)判断子文件是否添加完毕,如果添加完毕保存当前复合文件,若没有添加完毕返回(3.4)。
2.如权利要求1所述的一种带隔断标识的复合文件生成方法,其特征在于,所述复合文件的格式包括以下部分:复合文件头部、子文件序号、子文件字节数和子文件内容;
(5.1)复合文件头部由三部分组成,分别是:
(5.1.1)子文件类型,描述其子文件的类型,有文本.txt,.mp3类型,子文件类型的标志位由2个字节描述;
(5.1.2)子文件个数,在文件头部明确该复合文件包含的子文件个数,方便为后面的解析进行校核文本的完整性,子文件的个数这里用2个字节长度进行描述;
(5.1.3)复合文件总字节数,字节数不包含用于描述子文件类型和子文件个数所占的字节数,通过校核文件个数与总字节数机制可以保证文件的完整,复合文件总字节数用4个字节数描述;
(5.2)子文件序号
序号用来区分复合文件包含的若干不同子文件,因为文本要与生成的音频对应,所以不仅仅要与音频一一对应,而且要求音频的顺序与用户输入文本顺序或与源文本句子顺序对应,所以这里通过为每句话(每个子文本)或每个子音频文件设置序号标志进行校验,序号由2个字节描述;
(5.3)子文件字节数
子文件字节数不同于文件头里的复合文件总字节数,字节数紧跟在序号后面与子文件之前,用来描述子文件内容所包含的字节数,同样可以与序号结合起来校验子文件的完整性以及明确标记每个子文件;
(5.4)子文件内容
子文件内容若是文本信息,表示后台对文本进行分隔好的句子信息或用户在每个文本编辑框填入的句子信息,子文件若是音频信息,表示由若干句话生成的若干子音频文件信息。
3.一种带隔断标识的复合文件解析方法,其特征在于,所述方法包括以下步骤:
(4.1)读入复合文件;
(4.2)分析复合文件头,过程如下:
(4.2.1)顺序读取复合文件头的前两个字节信息,确定该复合文件包含的子文本文件类型;
(4.2.2)然后顺序读文件头的后两个字节确定复合文件的子文本文件个数n;
(4.2.3)然后再顺序读取头文件的后4个字节信息,确定该复合文件总字节数H;
(4.3)顺序再读取2个字节的信息明确所读的子文件序号m;
(4.4)顺序读取4个字节信息确定前述序号的子文件包含的字节数Cx,并为接下来判断读取多少字节的子文本提供标识;
(4.5)顺序读取应该读取相应大小的信息,生成子文本;
(4.6)检查子文件实际读取的大小;
(4.7)判断检查,过程如下:
条件1:判断当前子文件是否为最后一个子文件;
条件2:判断目前实际读取的子文件大小总和是否等于各个子文件标明的总大小;
条件3:判断目前读取的所有子文件大小总和是否等于头文件标明的总大小;
(4.7.1)若当前子文件读取完毕后,条件2满足则判断读取无误,进行判断条件1和3,若条件1、3也满足则读取完毕;
(4.7.2)若当前子文件读取完毕后,条件2不满足则判断读取错误停止读取;
(4.7.3)若当前子文件读取完毕后条件1、2满足,但条件3不满足或条件2、3满足,但条件1不满足,则判断读取错误停止读取;
(4.7.4)若当前子文件读取完毕后条件2满足,条件1、3不满足则判断读取未完成,然后从(4.4)开始重复之后步骤;
(4.8)由序号、总字节数、子文件个数和子文件字节数,判断读取是否有误,如果有误则停止读取并检查,提示用户进行下一步操作。
4.如权利要求3所述的一种带隔断标识的复合文件解析方法,其特征在于,所述复合文件的格式包括以下部分:复合文件头部、子文件序号、子文件字节数和子文件内容;
(5.1)复合文件头部由三部分组成,分别是:
(5.1.1)子文件类型,描述其子文件的类型,有文本.txt,.mp3类型,子文件类型的标志位由2个字节描述;
(5.1.2)子文件个数,在文件头部明确该复合文件包含的子文件个数,方便为后面的解析进行校核文本的完整性,子文件的个数这里用2个字节长度进行描述;
(5.1.3)复合文件总字节数,字节数不包含用于描述子文件类型和子文件个数所占的字节数,通过校核文件个数与总字节数机制可以保证文件的完整,复合文件总字节数用4个字节数描述;
(5.2)子文件序号
序号用来区分复合文件包含的若干不同子文件,因为文本要与生成的音频对应,所以不仅仅要与音频一一对应,而且要求音频的顺序与用户输入文本顺序或与源文本句子顺序对应,所以这里通过为每句话(每个子文本)或每个子音频文件设置序号标志进行校验,序号由2个字节描述;
(5.3)子文件字节数
子文件字节数不同于文件头里的复合文件总字节数,字节数紧跟在序号后面与子文件之前,用来描述子文件内容所包含的字节数,同样可以与序号结合起来校验子文件的完整性以及明确标记每个子文件;
(5.4)子文件内容
子文件内容若是文本信息,表示后台对文本进行分隔好的句子信息或用户在每个文本编辑框填入的句子信息,子文件若是音频信息,表示由若干句话生成的若干子音频文件信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910299194.2A CN110335583B (zh) | 2019-04-15 | 2019-04-15 | 一种带隔断标识的复合文件生成及解析方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910299194.2A CN110335583B (zh) | 2019-04-15 | 2019-04-15 | 一种带隔断标识的复合文件生成及解析方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110335583A CN110335583A (zh) | 2019-10-15 |
CN110335583B true CN110335583B (zh) | 2021-08-03 |
Family
ID=68139212
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910299194.2A Active CN110335583B (zh) | 2019-04-15 | 2019-04-15 | 一种带隔断标识的复合文件生成及解析方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110335583B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111651587B (zh) * | 2020-06-03 | 2023-09-15 | 中国科学院生态环境研究中心 | 基于数据的文本生成方法、装置、电子设备及存储介质 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3836502B2 (ja) * | 1993-03-26 | 2006-10-25 | ブリティッシュ・テレコミュニケーションズ・パブリック・リミテッド・カンパニー | テキスト・波形変換 |
JP4218075B2 (ja) * | 1998-03-02 | 2009-02-04 | 沖電気工業株式会社 | 音声合成装置およびそのテキスト解析方法 |
JP2001202092A (ja) * | 2000-01-18 | 2001-07-27 | Victor Co Of Japan Ltd | 音声合成装置 |
JP4409279B2 (ja) * | 2003-12-22 | 2010-02-03 | 株式会社日立製作所 | 音声合成装置及び音声合成プログラム |
CN101944087B (zh) * | 2009-07-08 | 2013-03-27 | 方正国际软件(北京)有限公司 | 复合文档生成装置和方法 |
CN102508880B (zh) * | 2011-10-18 | 2014-07-02 | 广东威创视讯科技股份有限公司 | 一种文件合并方法及分解方法 |
JP2016012315A (ja) * | 2014-06-30 | 2016-01-21 | シナノケンシ株式会社 | テキストデータの分かち書き単位分割プログラム及び電子図書再生装置 |
CN105869446B (zh) * | 2016-03-29 | 2018-09-25 | 广州阿里巴巴文学信息技术有限公司 | 一种电子阅读装置和语音阅读加载方法 |
-
2019
- 2019-04-15 CN CN201910299194.2A patent/CN110335583B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN110335583A (zh) | 2019-10-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Bernardini et al. | Building interpreting and intermodal corpora: A how-to for a formidable task | |
US20200126561A1 (en) | Media generating and editing system | |
KR100612169B1 (ko) | 데이터베이스 주석 처리 및 검색 | |
US8155969B2 (en) | Subtitle generation and retrieval combining document processing with voice processing | |
Johannessen et al. | The Nordic Dialect Corpus–an advanced research tool | |
US8712776B2 (en) | Systems and methods for selective text to speech synthesis | |
CN102549652B (zh) | 信息检索装置 | |
US20200126583A1 (en) | Discovering highlights in transcribed source material for rapid multimedia production | |
Furui et al. | A Japanese national project on spontaneous speech corpus and processing technology | |
JP5774459B2 (ja) | 談話要約テンプレート作成システムおよび談話要約テンプレート作成プログラム | |
CN105045828B (zh) | 一种音视频语音信息精确定位的检索***及方法 | |
US6697777B1 (en) | Speech recognition user interface | |
KR100905744B1 (ko) | 사용자 제작 문답 데이터에 기반한 회화 사전 서비스 제공방법 및 시스템 | |
Goedertier et al. | Orthographic Transcription of the Spoken Dutch Corpus. | |
US20110113357A1 (en) | Manipulating results of a media archive search | |
CN110335583B (zh) | 一种带隔断标识的复合文件生成及解析方法 | |
US7925671B2 (en) | Method and system for automatic cue sheet generation | |
JP5533865B2 (ja) | 編集支援システム、編集支援方法および編集支援プログラム | |
KR20060100646A (ko) | 영상물의 특정 위치를 검색하는 방법 및 영상 검색 시스템 | |
García-Mateo et al. | CORILGA: a Galician Multilevel Annotated Speech Corpus for Linguistic Analysis. | |
JP2006030326A (ja) | 音声合成装置 | |
Weitz et al. | Mining MARC's hidden treasures: initial investigations into how notes of the past might shape our future | |
CN1830022B (zh) | 语音应答***及其方法 | |
JPH05224687A (ja) | 日本文読み上げ単語変換編集処理方式 | |
JP2008216965A (ja) | 音楽と一体化した形式でメールを画面に表示する方法 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
EE01 | Entry into force of recordation of patent licensing contract |
Application publication date: 20191015 Assignee: Taizhou Linhai Xinxing Safety Technology Training Co.,Ltd. Assignor: JIANG University OF TECHNOLOGY Contract record no.: X2023980047386 Denomination of invention: A method for generating and parsing composite files with partition labels Granted publication date: 20210803 License type: Common License Record date: 20231117 |
|
EE01 | Entry into force of recordation of patent licensing contract |