CN107123424A - 音频文件处理方法及装置 - Google Patents
音频文件处理方法及装置 Download PDFInfo
- Publication number
- CN107123424A CN107123424A CN201710288726.3A CN201710288726A CN107123424A CN 107123424 A CN107123424 A CN 107123424A CN 201710288726 A CN201710288726 A CN 201710288726A CN 107123424 A CN107123424 A CN 107123424A
- Authority
- CN
- China
- Prior art keywords
- character string
- text
- audio file
- file
- voice
- 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.)
- Granted
Links
- 238000012545 processing Methods 0.000 title claims abstract description 51
- 238000003672 processing method Methods 0.000 title claims abstract description 49
- 239000000463 material Substances 0.000 claims abstract description 131
- 230000015654 memory Effects 0.000 claims description 46
- 238000006243 chemical reaction Methods 0.000 claims description 37
- 238000000034 method Methods 0.000 claims description 16
- 230000004044 response Effects 0.000 claims description 11
- 238000000605 extraction Methods 0.000 claims description 10
- 239000000284 extract Substances 0.000 claims description 4
- 230000015572 biosynthetic process Effects 0.000 claims description 3
- 238000003786 synthesis reaction Methods 0.000 claims description 3
- 239000000203 mixture Substances 0.000 claims description 2
- 230000000116 mitigating effect Effects 0.000 abstract 1
- 230000006870 function Effects 0.000 description 22
- 238000003860 storage Methods 0.000 description 11
- 238000005516 engineering process Methods 0.000 description 9
- 230000008569 process Effects 0.000 description 8
- 238000004891 communication Methods 0.000 description 6
- 241001269238 Data Species 0.000 description 5
- 230000002093 peripheral effect Effects 0.000 description 5
- 230000000694 effects Effects 0.000 description 4
- 230000033001 locomotion Effects 0.000 description 3
- 238000010295 mobile communication Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 230000006399 behavior Effects 0.000 description 1
- 229910002056 binary alloy Inorganic materials 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 230000005611 electricity Effects 0.000 description 1
- 238000007667 floating Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000003825 pressing Methods 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
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
- G10L15/00—Speech recognition
- G10L15/26—Speech to text systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/60—Information retrieval; Database structures therefor; File system structures therefor of audio data
- G06F16/68—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
- G06F16/683—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Library & Information Science (AREA)
- Multimedia (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Computational Linguistics (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Human Computer Interaction (AREA)
- Acoustics & Sound (AREA)
- Information Transfer Between Computers (AREA)
Abstract
一种音频文件处理方法,涉及数据处理技术领域,包括:获取待播报语音关联的多个音频文件,将各该音频文件分别转换为对应的由字符串构成的文本;将由字符串构成的各该文本按照预置的合并规则,合并为素材文件;将该素材文件保存在预设的位置。此外,本发明还提供一种音频文件处理装置。上述音频文件处理方法及装置,可避免因网络及解码原因带来的音频播放缺失问题,同时可减少页面请求的次数,提升网页性能,减轻服务器压力。
Description
技术领域
本发明涉及数据处理技术领域,尤其涉及一种音频文件处理方法及装置。
背景技术
随着移动终端与互联网技术的发展,越来越多的基于Web(网页)端的功能被开发并应用于各种终端设备。以语音播报功能为例,现在有很多APP(Application,应用软件)在进行语音播报时,通常通过Web页面,使用HTML5(HyperText Markup Language 5,超文本标记语言第五版)的audio(音频)标签或audioContext(音频上下文)接口,逐次请求多个音频文件,然后对请求的音频文件解码后组合播放,或者,使用音频处理软件将请求的多个音频文件合并为一个音频文件再进行播放。
例如,通用的跑步APP。用户在开始使用该APP的跑步功能后,该APP会通过Web页面实时记录并绘制用户运动轨迹,在每运动到整公里数时,Web页面就会播报语音,内容例如为:“已运动3公里,用时6分20秒,平均速度2.63米每秒,平均配速3分25秒”。由于每人每次所播报的语音内容不尽相同,因此需要由多个最小单元的语音文件按顺序组合播放,如语音“3分25秒”就是由“3”,‘分’,‘二’,‘十’,‘五’,‘秒’,6个音顺序音组合。如此一来,上述播报的语音内容一共涉及25个小音频文件。为了实现上述语音内容的播报,需要使用audio标签或audioContext接口,在即将进行语音播报时,向服务器依次发送25次HTTP(HyperTextTransfer Protocol,超文本传输协议)请求,以请求这25个零散的小音频文件。
然而,一方面,Web页面多次请求零散文件,会产生因传输以及逻辑时序带来的声音缺失问题。另一方面,由于上述小音频文件通常为二进制文件,因此无法利用Web端本地缓存,而HTTP请求次数过多又不利于Web端性能优化且会增加服务器的压力。
发明内容
有鉴于此,本发明提供一种音频文件处理方法及装置,可避免因网络及解码原因带来的音频播放缺失问题,同时可减少页面请求的次数,提升网页性能,减轻服务器压力。
本发明实施例提供的音频文件处理方法,包括:获取待播报语音关联的多个音频文件,将各所述音频文件分别转换为对应的由字符串构成的文本;将由字符串构成的各所述文本按照预置的合并规则,合并为素材文件;将所述素材文件保存在预设的位置。
本发明另一实施例提供的音频文件处理方法,包括:获取待播报语音的素材文件,所述素材文件由多个音频文件转换合成,包含多个由字符串构成的文本,所述多个由字符串构成的文本分别与所述多个所述音频文件一一对应;分别对获取的素材文件中由字符串构成的各所述文本进行转换,得到各所述音频文件的音频数据并缓存在内存中;响应于触发的语音播报指令,从缓存的音频数据中查找所述语音播报指令指向的音频数据,并进行播放。
本发明实施例提供的音频文件处理装置,包括:音频文件获取模块,用于获取待播报语音关联的多个音频文件;转换模块,用于将所述音频文件获取模块获取的各所述音频文件,分别转换为对应的由字符串构成的文本;合并模块,用于将所述转换模块转换得到的由字符串构成的各所述文本按照预置的合并规则,合并为素材文件;保存模块,用于将所述素材文件保存在预设的位置。
本发明另一实施例提供的音频文件处理装置,包括:素材文件获取模块,用于获取待播报语音的素材文件,所述素材文件由多个音频文件转换合成,包含多个由字符串构成的文本,所述多个由字符串构成的文本分别与所述多个所述音频文件一一对应;反向转换模块,用于分别对所述素材文件获取模块获取的素材文件中由字符串构成的各所述文本进行转换,得到各所述音频文件的音频数据并缓存在内存中;查找模块,用于响应于触发的语音播报指令,从所述反向转换模块缓存的音频数据中查找所述语音播报指令指向的音频数据;播放模块,用于对所述查找模块查找到的音频数据进行播放。
本发明实施例提供的音频文件处理方法及装置,通过预先将待播报语音关联的多个音频文件合并为内容为文本格式的素材文件,一方面使得Web网页在播报语音时,只需要进行一次文件请求,即可获得播报语音所需的所有音频数据,因此可避免因为某个小音频未正常加载而引起的语音播放不完整问题;另一方面,由于合并后的素材文件的内容是文本格式,结合本地缓存策略,还可提升Web页面的性能,减少服务器请求的次数,减轻服务器的压力。
为让本发明的上述和其他目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附图式,作详细说明如下。
附图说明
图1为本发明实施例提供的音频文件处理方法及装置的应用环境图;
图2示出了一种终端设备的结构示意图;
图3为本发明一实施例提供的音频文件处理方法的流程示意图;
图4为本发明另一实施例提供的音频文件处理方法的流程示意图;
图5为本发明另一实施例提供的音频文件处理方法的流程示意图;
图6为本发明另一实施例提供的音频文件处理方法的流程示意图;
图7为本发明一实施例提供的音频文件处理装置的结构示意图;
图8为本发明另一实施例提供的音频文件处理装置的结构示意图;
图9为本发明另一实施例提供的音频文件处理装置的结构示意图;
图10为本发明另一实施例提供的音频文件处理装置的结构示意图。
具体实施方式
为更进一步阐述本发明为实现预定发明目的所采取的技术手段及功效,以下结合附图及较佳实施例,对依据本发明的具体实施方式、结构、特征及其功效,详细说明如后。
图1为本发明实施例提供的音频文件处理方法及装置的应用环境图。如图1所示,终端设备100、服务器200位于有线或无线网络中,通过该有线网络或无线网络,终端设备100与服务器200进行数据交互。其中,终端设备100可以但不限于包括:支持HTML5的智能手机、平板电脑等移动终端以及其他不可移动、非便携式的计算机设备。
服务器200预先获取待播报语音关联的多个音频文件,将各音频文件分别转换为对应的由字符串构成的文本。然后,将由字符串构成的各文本按照预置的合并规则,合并为素材文件,并将素材文件保存在预设的位置。
终端设备100中安装有预设的可进行语音播报的APP,在该APP第一次安装启动,或者,每次启动时,通过Web页面从服务器200请求所有待播报语音的素材文件。然后,分别对获取的素材文件中由字符串构成的各文本进行转换,得到各音频文件的音频数据并缓存在内存中。当需要进行语音播报时,响应于触发的语音播报指令,通过Web页面从内存中缓存的音频数据中查找该语音播报指令指向的音频数据,并进行播放。
可以理解的,预先获取待播报语音关联的多个音频文件,将各音频文件分别转换为对应的由字符串构成的文本,然后将由字符串构成的各文本按照预置的合并规则,合并为素材文件并保存的步骤也可由终端设备100来完成。此时,服务器200用于根据终端设备100的获取请求,将所有的音频文件一次性发送给终端设备100,以便终端设备100对服务器200返回的所有音频文件进行预处理。
请参阅图2,图2为图1所示应用环境中终端设备100的结构框图。如附图2所示,终端设备100包括存储器102、存储控制器104,一个或多个(图中仅示出一个)处理器106、外设接口108、射频单元110、按键单元112、音频单元114以及显示单元116。这些组件通过一条或多条通讯总线/信号线122相互通讯。
可以理解,附图2所示的结构仅为示意,其并不对终端设备100的结构造成限定。例如,终端设备100还可包括比附图2所示更多或者更少的组件,或者具有与附图2所示不同的配置。附图2所示的各组件可以采用硬件、软件或其组合实现。
存储器102可用于存储计算机程序以及模块,如本发明实施例中的音频文件处理方法及装置对应的程序指令/模块,处理器106通过运行存储在存储器102内的计算机程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的音频文件处理方法。
存储器102可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器102可进一步包括相对于处理器106远程设置的存储器,这些远程存储器可以通过网络连接至终端设备100。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。处理器106以及其他可能的组件对存储器102的访问可在存储控制器104的控制下进行。
外设接口108将各种输入/输入装置耦合至处理器106以及存储器102。处理器106运行存储器102内的各种软件、指令以执行终端设备100的各种功能以及进行数据处理。
在一些实例中,外设接口108,处理器106以及存储控制器104可以在单个芯片中实现。在其他一些实例中,他们可以分别由独立的芯片实现。
射频单元110用于接收以及发送电磁波,实现电磁波与电信号的相互转换,从而与通讯网络或者其他设备进行通讯。射频单元110可包括各种现有的用于执行这些功能的电路元件,例如,天线、射频收发器、数字信号处理器、加密/解密芯片、用户身份模块(SIM)卡、存储器等等。射频单元110可与各种网络如互联网、企业内部网、预置类型的无线网络进行通讯或者通过预置类型的无线网络与其他设备进行通讯。上述的预置类型的无线网络可包括蜂窝式电话网、无线局域网或者城域网。上述的预置类型的无线网络可以使用各种通信标准、协议及技术,包括但并不限于全球移动通信系统(Global System for MobileCommunication,GSM),增强型移动通信技术(Enhanced Data GSM Environment,EDGE),宽带码分多址技术(Wideband Code Division Multiple Access,W-CDMA),码分多址技术(Code Division Access,CDMA),时分多址技术(Time Division Multiple Access,TDMA),蓝牙,无线保真技术(Wireless-Fidelity,WiFi)(如美国电气和电子工程师协会标准IEEE802.11a、IEEE 802.11b、IEEE802.11g和/或IEEE 802.11n),网络电话(Voice overInternet Protocol,VoIP),全球微波互联接入(Worldwide Interoperability forMicrowave Access,Wi-Max),其他用于邮件、即时通讯及短消息的协议,以及任何其他合适的通讯协议,甚至可包括那些当前仍未被开发出来的协议。
按键单元112提供用户向终端设备100进行输入的接口,用户可以通过按下不同的按键以使终端设备100执行不同的功能。
音频单元114向用户提供音频接口,其可包括一个或多个麦克风、一个或者多个扬声器以及音频电路。音频电路从外设接口108处接收声音数据,将声音数据转换为电信息,将电信息传输至扬声器。扬声器将电信息转换为人耳能听到的声波。音频电路还从麦克风处接收电信息,将电信号转换为声音数据,并将声音数据传输至外设接口108中以进行进一步的处理。音频数据可以从存储器102处或者通过射频单元110获取。此外,音频数据也可以存储至存储器102中或者通过射频单元110进行发送。在一些实例中,音频单元114还可包括一个耳机播孔,用于向耳机或者其他设备提供音频接口。
显示单元116在终端设备100与用户之间提供一个输出界面。具体地,显示单元116向用户显示视频输出,这些视频输出的内容可包括文字、图形、视频、及其任意组合。一些输出结果是对应于一些用户界面对象。进一步地,还在终端设备100与用户之间提供一个输入界面,用于接收用户的输入,例如用户的点击、滑动等手势操作,以便用户界面对象对这些用户的输入做出响应。检测用户输入的技术可以是基于电阻式、电容式或者其他任意可能的触控检测技术。
请参阅图3,图3为本发明一实施例提供的音频文件处理方法的流程图。本实施例可应用于图1所示的应用环境中,通过图1所示的终端设备100实现音频文件处理方法。如图3所示,本实施例提供的音频文件处理方法包括以下步骤:
S101、获取待播报语音关联的多个音频文件,将各音频文件分别转换为对应的由字符串构成的文本;
待播报语音关联的多个音频文件一般是指二进制的音频文件,其中记录了真实声音的二进制采样数据。一个音频文件通常对应待播报语音的内容中的一个或多个音节,即,一个或多个最小的语音单元。
终端设备中预设有可用于语音播报的APP,如运动类APP或闹钟类APP。在实际应用中,上述APP可由主程序及音频文件数据库构成。其中音频文件数据库中存储有与待播报语音关联的所有音频文件。在实际应用中,该音频文件数据库可以设置在服务器中,或者,设置在终端设备本地。
当上述音频文件数据库设置在终端设备本地时,终端设备通过文件读取接口,如HTML5JavaScript(一种直译式脚本语言)的FileReader接口,从Web页面读取本地安装的音频文件数据库中存储的各待播报语音关联的多个音频文件,并进行处理。
当上述音频文件数据库设置在服务器时,通过ajax/fetch的方式从服务器获取包含上述音频文件数据库中存储的待播报语音关联的所有音频文件的数据包。然后,将获取的各音频文件逐一转换为各自对应的由字符串构成的文本。
由于多个音频文件是一次性从服务器请求得到。当需要语音播报的时候,终端设备不需要再向服务器发送音频文件获取请求,而只需从本地请求当前需要播报的语音对应的素材文件即可,因此可减少终端设备向服务器发送HTTP请求的次数,减轻服务器的压力。并且,由于该素材文件包含了待播报语音中的所有的语音内容,所以不会出现语音缺失的问题。
S102、将由字符串构成的各文本按照预置的合并规则,合并为素材文件;
S103,将素材文件保存在预设的位置。
具体的,可以将各由字符串构成的文本按照Key(键)/Value(值),或者,首尾相接的方式合并在素材文件中。可选的,素材文件可以为JSON(JavaScript Object Notation,JS对象标记)格式的文件。
终端设备通过步骤S101和S102,预先将需要播报的所有语音统一处理为对应的素材文件,并保存在本地或服务器中,以便Web页面在进行语音播报之前,读取待播报的语音对应的素材文件,并将其反向转换为对应的音频数据,然后进行播放。
需要说明的是,本实施例提供的音频文件处理方法中的各步骤也可以由服务器来完成。服务器将合并得到的素材文件预存在本地或存储服务器中,当接收到终端设备发送的HTTP请求时,根据该HTTP请求中携带的待播报语音的标识信息,或,当前需要进行语音播报的APP的标识信息,将对应的素材文件发送给该终端设备,以便该终端设备调用HTML5的相关接口,在对该素材文件进行反向转换后予以播放。
或者,终端设备可以是专门用于合并音频文件的计算机设备,响应于服务器发送的或用户触发的合并指令,执行上述各步骤,并将合并得到的素材文件及相关信息发送给服务器进行存储。
本发明实施例提供的音频文件处理方法,通过预先将待播报语音关联的多个音频文件合并为内容为文本格式的素材文件,一方面使得Web网页在播报语音时,只需要进行一次文件请求,即可获得播报语音所需的所有音频数据,因此可避免因为某个小音频未正常加载而引起的语音播放不完整问题;另一方面,由于合并后的素材文件的内容是文本格式,结合本地缓存策略,还可提升Web页面的性能,减少服务器请求的次数,减轻服务器的压力。
请参阅图4,图4为本发明另一实施例提供的音频文件处理方法的流程图。本实施例可应用于图1所示的应用环境中,通过图1所示的终端设备实现音频文件处理方法。如图4所示,本实施例提供的音频文件处理方法包括以下步骤:
S201,获取待播报语音关联的多个音频文件,将各音频文件读取为类型化数组类型的音频数据;
待播报语音关联的多个音频文件一般是指二进制的音频文件,其中记录了真实声音的二进制采样数据,一个音频文件通常对应待播报的语音内容中的一个或多个音节,即,一个或多个最小的语音单元。二进制采用数据一般由0和1构成。
终端设备中预设有可用于语音播报的APP,如运动类APP或闹钟类APP。在实际应用中,上述APP可由主程序及音频文件数据库构成。其中音频文件数据库中存储有与待播报语音关联的所有音频文件。在实际应用中,该音频文件数据库可以设置在服务器中,或者,设置在终端设备本地。
具体的,当上述音频文件数据库设置在终端设备本地时,通过HTML5JavaScript的FileReader接口,从Web页面读取安装在本地的音频文件数据库中存储的音频文件进行处理。
当上述音频文件数据库设置在服务器时,通过ajax/fetch的方式从服务器一次性获取包含所有待播报语音关联的所有音频文件的数据包。然后,按照待播报语音的播放顺序,对各待播报语音关联的音频文件进行处理。
其中,具体处理过程包括:通过利用readAsArrayBuffer接口将获取的各音频文件分别读取为类型化数组(ArrayBuffer)类型的音频数据。类型化数组是JavaScript操作二进制数据的一个接口,它是建立在ArrayBuffer对象的基础上的,其作用是分配一段可以存放数据的连续内存区域。readAsArrayBuffer接口的作用是利用一个ArrayBuffer返回读取的文件内容。
在实际应用中,步骤S201可以通过以下代码实现:
由于多个音频文件是一次性从服务器请求得到。当需要语音播报的时候,终端设备不需要再向服务器发送音频文件获取请求,而只需从本地请求当前需要播报的语音对应的素材文件即可,因此可减少终端设备向服务器发送HTTP请求的次数,减轻服务器的压力。并且,由于该素材文件包含了待播报语音中的所有的语音内容,所以不会出现语音缺失的问题。
S202、通过预设类型的视图模式,将类型化数组类型的音频数据读取为类数组对象;
ArrayBuffer是一个构造函数,可以分配一段可以存放数据的连续内存区域。
可以理解的,ArrayBuffer对象代表储存二进制数据的一段内存,其中存放的数据即ArrayBuffer(类型化数组)类型的数据,该数据不能直接读写,只能通过视图来读写,视图的作用是以指定格式解读二进制数据。ArrayBuffer作为内存区域,可以存放多种类型的数据。不同数据有不同的存储模式或解读模式,即,视图模式。预设类型的视图模式可以但不限于包括:Int8Array、Uint8Array、Int16Array、Uint16Array、Int32Array、Uint32Array、Float32Array以及Float64Array中的任一种。其中,Int8Array对应8位有符号整数,长度1个字节。Uint8Array对应8位无符号整数,长度为1个字节。Int16Array对应16位有符号整数,长度为2个字节。Uint16Array对应16位无符号整数,长度为2个字节。Int32Array对应32位有符号整数,长度为4个字节。Uint32Array对应32位无符号整数,长度为4个字节。Float32Array对应32位浮点数,长度为4个字节。Float64Array对应64位浮点数,长度为8个字节。
以Uint8Array为例,利用Uint8Array对象为视图模式读取步骤S201中读取的ArrayBuffer类型的音频数据,得到类数组对象,此数组成员为8位无符号整数。
JavaScript中,数组是一个特殊的对象,其property名为正整数,且其length属性会随着数组成员的增减而发生变化,同时又从Array构造函数中继承了一些用于进行数组操作的方法。而对于一个普通的对象来说,如果它的所有property名均为正整数,同时也有相应的length属性,那么虽然该对象并不是由Array构造函数所创建的,它依然呈现出数组的行为,在这种情况下,这些对象被称为“类数组对象”。
在实际应用中,可通过以下代码得到类素组对象。
var ab2str=function(buf,key){
var str=new Uint8Array(buf,0,buf.byteLength);
qqRunSounds[key]=[].join.call(str,'|');
}
可以理解的,通过其他视图模式得到类数组对象的方式与Uint8Array类似,此处不再赘述。
S203、将类数组对象转换为普通数组,并以预设的分割符进行分割,以形成由带分割符的字符串构成的文本;
根据具体采用的视图模式的不同,本实施例中的字符串可以是数字字符串,或者,数字和其他字符混合的字符串,或者,除数字以外的其他字符构成的字符串。
普通数组一般是指没有特定的数值类型限制和属性的普通的数组,例如:['a','b',1,2,3,4]。
仍然以上述Uint8Array为例,可通过调用Array.from函数将步骤S202中得到的类数组对象转换为普通数组,实现代码例如:var array=Array.from(uint8Array),或vararray=[].slice.call(uint8Array)。然后,以“|”分割转换得到的普通数组中的每一个数值,从而形成一个带分割符的数字字符串,例如:将声音为“0”的音频文件经过上述步骤S201至S203的处理后,得到的带分割符的数字字符串为“75|153|121|17|143|252|108...”。
或者,于其他应用例中,还可通过例如[].join.call(ab,'|')的方式,形成一个带分割符的数字字符串。可以理解的,一个音频文件对应一段“竖线分割的数字”文本。在实际应用中,分割符除了“|”之外,还可以是其他可唯一分割不同文本的符号,本实施例不做具体限定。
S204、将由字符串构成的各文本按照预置的合并规则,合并为素材文件;
具体的,可通过以下两种方式将各由字符串构成的文本按照预置的合并规则,合并为素材文件。
第一种方式,将由带分割符的字符串构成的各文本以键Key-值Value的形式,合并成素材文件。
具体的,可将一个音频文件的文字含义作为Key的值,将该音频文件转换成的文本作为Value的值。合并成的素材文件的内容形式如下:
qqRunSounds={
0:75|153|121|17|143|252|108..,
1:128|101|151|109|143|152|76..,
2:232|78|151|17|143|152|231..,
sec:156|78|151|245|143|152|158..,
min:17|78|151|113|143|1952|156..,
...
}
可以理解的,在实际应用中的,Key的值可以不限于该段文本对应的音频文件的文字含义,还可以是可以唯一标识该段文本含义的其他文字。
第二种方式,将由带分割符的字符串构成的各文本通过首尾相连的方式,合并成素材文件。
具体的,可将各由字符串构成的文本首尾相连,并在每一段文本的结尾以预设的结尾标记(如“;”)予以分割。合并成的素材文件的内容形式例如可以是:75|153|121|17|143|252|108..;128|101|151|109|143|152|76..;232|78|151|17|143|152|231..;156|78|151|245|143|152|158..。
需要说明的是,上述结尾标记不限于“;”,在实际应用中,结尾标记还可以是其他不会与构成文本的字符串混淆的其他字符。上述利用预设的结尾标记区分不同的文本仅仅是一种示例,实际应用中,还可通过其他类似的方式对不同的文本进行区分,本实施例不做限定。
S205、将素材文件保存在预设的位置。
终端设备通过上述各步骤,预先读取需要播报的所有语音的相关音频文件,例如:播报内容为“已运动3公里,用时6分20秒,平均速度2.63米每秒,平均配速3分25秒”的语音对应的多个音频文件;播报内容为“已运动4公里,用时10分20秒,平均速度6.45米每秒,平均配速3分25秒”对应的多个音频文件,并将上述音频文件按照播报内容统一处理为对应的素材文件,并保存在本地或服务器中,以便Web页面在进行语音播报之前,读取上述素材文件并将其反向转换为对应的音频数据,然后进行播放。
为进一步说明本发明实施例提供的音频文件处理方法,以待播报语音为“0分12秒”,视图模式为Uint8Array为例,假设播报语音“0分12秒”需要5个二进制的小音频文件1~5,分别关联音节“0”、“分”、“1”、“2”、“秒”,上述5个二进制的小音频文件1~5存储在服务器上。终端设备将按照以下步骤实现对小音频文件1~5的合并处理。
首先,终端设备通过ajax接口,在Web页面上从服务器获取包含上述分别与音节“0”、“分”、“1”、“2”、“秒”关联的小音频文件1~5的音频数据包。
其次,通过调用readAsArrayBuffer(file)函数,依次对获取的音频数据包中的小音频文件1~5进行读取,并将file对象返回的数据字节数,以数组缓冲的方式读入内存中,从而得到分别与小音频文件1~5对应的ArrayBuffer类型的音频数据A1~5。
再次,通过利用Uint8Array视图对ArrayBuffer类型的音频数据A1~5进行读取,读取出的数据即为与上述ArrayBuffer类型的音频数据A1~5对应的类数组对象L1~5,该类数组对象的数组成员为8位无符号整数,并具有相应的length属性。
然后,通过调用Array.from(uint8Array)函数,将上述类数组对象L1~5,转换为如下表1所示的普通数组。
表1
接着,将转换出的各普通数组中的每一个数值用分割符“|”进行分割,从而形成一个带分割符的数字字符串,如下表2所示:
表2
普通数组 | 对应的数字字符串 |
[75,153,121,17,143,252,108..] | 75|153|121|17|143|252|108.. |
[17,78,151,113,143,1952,156..] | 17|78|151|113|143|1952|156.. |
[128,101,151,109,143,152,76..] | 128|101|151|109|143|152|76.. |
[232,78,151,17,143,152,231..] | 232|78|151|17|143|152|231.. |
[156,78,151,245,143,152,158..] | 156|78|151|245|143|152|158.. |
最后,按照Key-Value的形式,将表2中的数字字符串合并为JSON格式的素材文件,其中包含了如下内容。其中,Key的值为各音节的含义,用于标记不同的音节,Value的值是经过上述步骤转换得到的各音节对应的数字字符串。
qqRunSounds={
0:75|153|121|17|143|252|108..,
min:17|78|151|113|143|1952|156..,
1:128|101|151|109|143|152|76..,
2:232|78|151|17|143|152|231..,
sec:156|78|151|245|143|152|158..,
}
终端设备通过上述各步骤,一次性从服务器获取包含与待播报语音“0分12秒”关联的5个二进制的小音频文件1~5的音频数据包,然后分别对获取的音频数据包中的各小音频文件进行处理,并将处理后得到的数字字符串合并为一个JSON素材文件。当需要通过Web页面进行语音播报时,只需从本地读取这个素材文件并将其反向转换为对应的音频数据,即可进行播放。如此一来,由于不需要再逐一向服务器请求小音频文件1~5,因此可减少Web页面发送音频文件获取请求的次数,从而可降低服务器的压力。
需要说明的是,本实施例提供的音频文件处理方法中的各步骤也可以由服务器来完成。服务器将合并得到的素材文件预存在本地或存储服务器中,当接收到终端设备发送的HTTP请求时,根据该HTTP请求中携带的待播报的语音的标识信息,或,当前需要进行语音播报的APP的标识信息,将对应的素材文件发送给该终端设备,以便该终端设备调用HTML5的相关接口,在对该素材文件进行反向转换后予以播放。
本发明实施例提供的音频文件处理方法,通过预先将待播报语音关联的多个音频文件合并为内容为文本格式的素材文件,一方面使得Web网页在播报语音时,只需要进行一次文件请求,即可获得播报语音所需的所有音频数据,因此可避免因为某个小音频未正常加载而引起的语音播放不完整问题;另一方面,由于合并后的素材文件的内容是文本格式,结合本地缓存策略,还可提升Web页面的性能,减少服务器请求的次数,减轻服务器的压力。
图5为本发明另一实施例提供的音频文件处理方法的流程图。本实施例可应用于图1所示的应用环境中,通过终端设备100实现音频文件处理方法。如图5所示,本实施例提供的音频文件处理方法包括以下步骤:
S301、获取待播报语音的素材文件,素材文件由多个音频文件转换合成,包含多个由字符串构成的文本,多个由字符串构成的文本分别与多个音频文件一一对应;
具有语音播报功能的APP启动后,通过Web页面获取所有的待播报语音的素材文件。或者,也可以在每一次检测到当前系统时间与预设的语音播报时间之间的时间差小于预设差值时,通过Web页面获取当前待播报语音的素材文件。
待播报语音的素材文件,一般是由多个二进制的音频文件转换合成的。一个音频文件通常对应待播报语音的内容中的一个或多个音节,即,一个或多个最小的语音单元。
由多个二进制的音频文件转换合成的素材文件,例如可以是JSON格式的文件,其中包含多个由字符串构成的文本,各文本分别与各音频文件一一对应。
S302、分别对获取的素材文件中由字符串构成的各文本进行转换,得到各音频文件的音频数据并缓存在内存中;
逐一提取获取的素材文件中各个由字符串构成的文本并进行反向转换,以得到分别与各文本对应的音频文件的音频数据,并缓存在内存中。
S303、响应于触发的语音播报指令,从缓存的音频数据中查找语音播报指令指向的音频数据,并进行播放。
在检测到系统时间到达预设语音播报时间时,触发语音播报指令,用于语音播报的Web页面响应于触发的语音播报指令,从缓存的音频数据中查找与预设语音播报时间对应的音频数据,并进行播放。
本发明实施例提供的音频文件处理方法,通过获取由待播报语音关联的多个音频文件合并而成的内容为文本格式的素材文件并进行反向转换,然后将转换的音频数据缓存在内存中,当需要进行语音播报时,直接从缓存中读取对应的音频数据并进行播放,一方面使得Web网页在播报语音时,只需要进行一次文件请求,即可获得播报语音所需的所有音频数据,因此可避免因为某个小音频未正常加载而引起的语音播放不完整问题;另一方面,由于合并后的素材文件的内容是文本格式,结合本地缓存策略,还可提升Web页面的性能,减少服务器请求的次数,减轻服务器的压力。
图6为本发明另一实施例提供的音频文件处理方法的流程图。本实施例可应用于图1所示的应用环境中,通过终端设备100实现音频文件处理方法。如图6所示,本实施例提供的音频文件处理方法包括以下步骤:
S401、通过网页页面从本地或服务器获取待播报语音的素材文件,素材文件由多个音频文件转换合成,包含多个由字符串构成的文本,多个由字符串构成的文本分别与多个音频文件一一对应;
具有语音播报功能的APP启动后,通过Web页面利用HTML5JavaScript的FileReader接口,读取本地所有待播报语音的素材文件;或者,通过ajax/fetch的方式从服务器获取所有待播报语音的素材文件。
或者,也可以在每一次检测到当前系统时间与预设的语音播报时间之间的时间差小于预设差值时,利用FileReader接口,读取本地当前待播报语音的素材文件;或者,通过ajax/fetch的方式从服务器获取当前待播报语音的素材文件。
待播报语音的素材文件,一般是由多个二进制的音频文件转换合成的。一个音频文件通常对应待播报语音的内容中的一个或多个音节,即,一个或多个最小的语音单元。
由多个二进制的音频文件转换合成的素材文件,例如可以是JSON格式的文件,其中包含多个由字符串构成的文本,各文本分别与各音频文件一一对应。
S402、按照预置的提取规则,分别提取素材文件中各文本中的字符串;
具体的,根据各文本的合并方式,有以下两种提取方式:
方式一、当由字符串构成的各文本以Key-Value的形式,合并在素材文件中时,根据各Key,提取各文本中的字符串。
方式二、当各由字符串构成的文本通过首尾相连的方式,合并在素材文件中时,根据预设的结尾标记,确定各文本在素材文件中的位置,并根据确定的位置,提取各文本中的字符串。
S403、将提取的字符串转换为音频数据,并缓存在内存中。
按照与步骤S201至S203相反的方式,对提取的字符串进行反向转换,得到对应的音频数据,并缓存在内存中。
于本发明其他实施例中,提取的字符串为带分割符的字符串,其中,根据具体采用的视图模式的不同,该字符串可以是数字字符串,或者,数字和其他字符混合的字符串,或者,除数字以外的其他字符构成的字符串。具体的,通过去除分割符,将带分割符的字符串转换为普通数组Array;并生成一个无填充数据的类数组对象ArrayBuffer及与之关联的预设类型的视图模式,操作此预设类型的视图模式将普通数组Array中的所有数据填充到ArrayBuffer中。
其中,预设类型的视图模式可以但不限于包括:Int8Array、Uint8Array、Int16Array、Uint16Array、Int32Array、Uint32Array、Float32Array以及Float64Array中的任一种。
以Int8Array为例,Web页面读取到JSON格式的素材文件后,根据key的值,读取素材文件中与待播报语音中的每个音节对应的文本中的带分割符的数字字符串数据。然后创建ArrayBuffer对象(length属性为以竖线分割的数字个数),并关联到Uint8Array视图,设置成员为对应数字。即还原为一个包含此音频信息的ArrayBuffer对象。
然后,调用预设的解码函数,如:AudioContext的decodeAudioData,将数据填充后的ArrayBuffer对象,解码为音频缓冲AudioBuffer类型的音频数据,并缓存在内存中。在实际应用中,上述音频数据转换的过程可通过以下代码实现。
S404、响应于触发的语音播报指令,从缓存的音频数据中查找语音播报指令指向的音频数据,并进行播放。
在检测到系统时间到达预设语音播报时间时,触发语音播报指令,用于语音播报的Web页面响应于触发的语音播报指令,根据预置的预设语音播报时间、待播报语音与缓存在内存中的音频数据之间的关系表,从缓存的音频数据中查找与该语音播报指令指向的预设语音播报时间对应的音频数据,并利用例如audioContext相关接口将该音频数据进行播放。
本发明实施例提供的音频文件处理方法,通过获取由待播报语音关联的多个音频文件合并而成的内容为文本格式的素材文件并进行反向转换,然后将转换的音频数据缓存在内存中,当需要进行语音播报时,直接从缓存中读取对应的音频数据并进行播放,一方面使得Web网页在播报语音时,只需要进行一次文件请求,即可获得播报语音所需的所有音频数据,因此可避免因为某个小音频未正常加载而引起的语音播放不完整问题;另一方面,由于合并后的素材文件的内容是文本格式,结合localStorage本地缓存策略,还可提升Web页面的性能,减少服务器请求的次数,减轻服务器的压力。
图7为本发明一实施例提供的音频文件处理装置的结构示意图。本实施例提供的音频文件处理装置可应用于图1所示的终端设备100或服务器200中,用于实现上述实施例中的音频文件处理方法。如图7所示,音频文件处理装置50包括:
音频文件获取模块501,用于获取待播报语音关联的多个音频文件;
转换模块502,用于将音频文件获取模块501获取的各该音频文件,分别转换为对应的由字符串构成的文本;
合并模块503,用于将转换模块502转换得到的由字符串构成的各文本按照预置的合并规则,合并为素材文件;
保存模块504,用于将该素材文件保存在预设的位置。
本实施例提供的音频文件处理装置50中的各功能模块实现各自功能的具体过程,请参见上述图3和图4所示实施例中描述的具体内容,此处不再赘述。
本发明实施例提供的音频文件处理装置,通过预先将待播报语音关联的多个音频文件合并为内容为文本格式的素材文件,一方面使得Web网页在播报语音时,只需要进行一次文件请求,即可获得播报语音所需的所有音频数据,因此可避免因为某个小音频未正常加载而引起的语音播放不完整问题;另一方面,由于合并后的素材文件的内容是文本格式,结合localStorage本地缓存策略,还可提升Web页面的性能,减少服务器请求的次数,减轻服务器的压力。
图8为本发明另一实施例提供的音频文件处理装置的结构示意图。本实施例提供的音频文件处理装置可应用于图1所示的终端设备100或服务器200中,用于实现上述实施例中的音频文件处理方法。在图7所示音频文件处理装置50的基础上,与图7不同的是,如图8所示,在本实施例提供的音频文件处理装置60中:
进一步地,转换模块502包括:
读取模块5021,用于将各该音频文件读取为类型化数组类型的音频数据,以及通过预设类型的视图模式,将该类型化数组类型的音频数据读取为类数组对象;
分割模块5022,用于将该类数组对象转换为普通数组,并以预设的分割符进行分割,以形成由带分割符的字符串构成的文本。
进一步地,合并模块503包括:
第一合并模块5031,用于将由字符串构成的各该文本以键Key-值Value的形式,合并成该素材文件;
第二合并模块5032,用于将由字符串构成的各该文本通过首尾相连的方式,合并成该素材文件。
本实施例提供的音频文件处理装置60中的各功能模块实现各自功能的具体过程,请参见上述图3和图4所示实施例中描述的具体内容,此处不再赘述。
本发明实施例提供的音频文件处理装置,通过预先将待播报语音关联的多个音频文件合并为内容为文本格式的素材文件,一方面使得Web网页在播报语音时,只需要进行一次文件请求,即可获得播报语音所需的所有音频数据,因此可避免因为某个小音频未正常加载而引起的语音播放不完整问题;另一方面,由于合并后的素材文件的内容是文本格式,结合localStorage本地缓存策略,还可提升Web页面的性能,减少服务器请求的次数,减轻服务器的压力。
图9为本发明另一实施例提供的音频文件处理装置的结构示意图。本实施例提供的音频文件处理装置可应用于图1所示的终端设备100中,用于实现上述实施例中的音频文件处理方法。如图9所示,音频文件处理装置70包括:
素材文件获取模块601,用于获取待播报语音的素材文件,该素材文件由多个音频文件转换合成,包含多个由字符串构成的文本,该多个由字符串构成的文本分别与该多个该音频文件一一对应;
反向转换模块602,用于分别对素材文件获取模块601获取的素材文件中由字符串构成的各文本进行转换,得到各该音频文件的音频数据并缓存在内存中;
查找模块603,用于响应于触发的语音播报指令,从反向转换模块602缓存的音频数据中查找该语音播报指令指向的音频数据;
播放模块604,用于对查找模块603查找到的音频数据进行播放。
本实施例提供的音频文件处理装置70中各功能模块实现各自功能的具体过程,请参见上述图5和图6所示实施例中描述的具体内容,此处不再赘述。
本发明实施例提供的音频文件处理装置,通过获取由待播报语音关联的多个音频文件合并而成的内容为文本格式的素材文件并进行反向转换,然后将转换的音频数据缓存在内存中,当需要进行语音播报时,直接从缓存中读取对应的音频数据并进行播放,一方面使得Web网页在播报语音时,只需要进行一次文件请求,即可获得播报语音所需的所有音频数据,因此可避免因为某个小音频未正常加载而引起的语音播放不完整问题;另一方面,由于合并后的素材文件的内容是文本格式,结合localStorage本地缓存策略,还可提升Web页面的性能,减少服务器请求的次数,减轻服务器的压力。
图10为本发明另一实施例提供的音频文件处理装置的结构示意图。本实施例提供的音频文件处理装置可应用于图1所示的终端设备100中,用于实现上述实施例中的音频文件处理方法。在图9所示音频文件处理装置70的基础上,与图9不同的是,如图10所示,在本实施例提供的音频文件处理装置80中:
进一步地,反向转换模块602包括:
提取模块6021,用于按照预置的提取规则,分别提取该素材文件中各该文本中的字符串;
转换模块6022,用于将提取的字符串转换为音频数据,并缓存在该内存中。
进一步地,若各该由字符串构成的文本以键Key-值Value的形式,合并在该素材文件中,则,提取模块6021,具体用于根据各该Key,提取各该文本中的字符串;
若各该由字符串构成的文本通过首尾相连的方式,合并在该素材文件中,则,提取模块6021,具体还用于根据预设的结尾标记,确定各该文本在该素材文件中的位置,并根据确定的位置,提取各该文本中的字符串。
进一步地,若该字符串为带分割符的字符串,则,转换模块6022,具体用于通过去除该分割符,将该带分割符的字符串转换为普通数组;生成无填充数据的类数组对象及与该类数组对象关联的预设类型的视图模式;通过该视图模式将该普通数组中的数据填充到该类数组对象中;将数据填充后的该类数组对象解码为音频缓冲类型的音频数据,并缓存在该内存中。
进一步地,素材文件获取模块601,具体用于通过网页页面,从本地或服务器获取该待播报语音的素材文件。
本实施例提供的音频文件处理装置80中各功能模块实现各自功能的具体过程,请参见上述图5和图6所示实施例中描述的具体内容,此处不再赘述。
本发明实施例提供的音频文件处理装置,通过获取由待播报语音关联的多个音频文件合并而成的内容为文本格式的素材文件并进行反向转换,然后将转换的音频数据缓存在内存中,当需要进行语音播报时,直接从缓存中读取对应的音频数据并进行播放,一方面使得Web网页在播报语音时,只需要进行一次文件请求,即可获得播报语音所需的所有音频数据,因此可避免因为某个小音频未正常加载而引起的语音播放不完整问题;另一方面,由于合并后的素材文件的内容是文本格式,结合localStorage本地缓存策略,还可提升Web页面的性能,减少服务器请求的次数,减轻服务器的压力。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者装置中还存在另外的相同要素。
本领域技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述,仅是本发明的较佳实施例而已,并非对本发明作任何形式上的限制,虽然本发明已以较佳实施例揭露如上,然而并非用以限定本发明,任何熟悉本专业的技术人员,在不脱离本发明技术方案范围内,当可利用上述揭示的技术内容做出些许更动或修饰为等同变化的等效实施例,但凡是未脱离本发明技术方案内容,依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化与修饰,均仍属于本发明技术方案的范围内。
Claims (15)
1.一种音频文件处理方法,其特征在于,所述方法包括:
获取待播报语音关联的多个音频文件,将各所述音频文件分别转换为对应的由字符串构成的文本;
将由字符串构成的各所述文本按照预置的合并规则,合并为素材文件;
将所述素材文件保存在预设的位置。
2.如权利要求1所述的音频文件处理方法,其特征在于,所述将各所述音频文件分别转换为对应的由字符串构成的文本,包括:
将各所述音频文件读取为类型化数组类型的音频数据;
通过预设类型的视图模式,将所述类型化数组类型的音频数据读取为类数组对象;
将所述类数组对象转换为普通数组,并以预设的分割符进行分割,以形成由带所述分割符的字符串构成的文本。
3.如权利要求1或2所述的音频文件处理方法,其特征在于,所述将由字符串构成的各所述文本按照预置的合并规则,合并为素材文件,包括:
将由字符串构成的各所述文本以键Key-值Value的形式,合并成所述素材文件。
4.如权利要求1或2所述的音频文件处理方法,其特征在于,所述将由字符串构成的各所述文本按照预置的合并规则,合并为素材文件,包括:
将由字符串构成的各所述文本通过首尾相连的方式,合并成所述素材文件。
5.一种音频文件处理方法,其特征在于,所述方法包括:
获取待播报语音的素材文件,所述素材文件由多个音频文件转换合成,包含多个由字符串构成的文本,所述多个由字符串构成的文本分别与所述多个所述音频文件一一对应;
分别对获取的素材文件中由字符串构成的各所述文本进行转换,得到各所述音频文件的音频数据并缓存在内存中;
响应于触发的语音播报指令,从缓存的音频数据中查找所述语音播报指令指向的音频数据,并进行播放。
6.如权利要求5所述的音频文件处理方法,其特征在于,所述分别对获取的素材文件中由字符串构成的各所述文本进行转换,得到各所述音频文件的音频数据并缓存在内存中,包括:
按照预置的提取规则,分别提取所述素材文件中各所述文本中的字符串;
将提取的字符串转换为音频数据,并缓存在所述内存中。
7.如权利要求6所述的音频文件处理方法,其特征在于,若由字符串构成的各所述文本以键Key-值Value的形式,合并在所述素材文件中,则,所述按照预置的提取规则,分别提取所述素材文件中各文本中的字符串,包括:
根据各所述Key,提取各所述文本中的字符串。
8.如权利要求6所述的音频文件处理方法,其特征在于,若由字符串构成的各所述文本通过首尾相连的方式,合并在所述素材文件中,则,所述按照预置的提取规则,分别提取所述素材文件中各文本中的字符串,包括:
根据预设的结尾标记,确定各所述文本在所述素材文件中的位置,并根据确定的位置,提取各所述文本中的字符串。
9.如权利要求7或8所述的音频文件处理方法,其特征在于,所述字符串为带分割符的字符串,则,所述将提取的字符串转换为音频数据,并缓存在所述内存中,包括:
通过去除所述分割符,将所述带分割符的字符串转换为普通数组;
生成无填充数据的类数组对象及与所述类数组对象关联的预设类型的视图模式;
通过所述视图模式将所述普通数组中的数据填充到所述类数组对象中;
将数据填充后的所述类数组对象解码为音频缓冲类型的音频数据,并缓存在所述内存中。
10.如权利要求5至8中的任一项所述的音频文件处理方法,其特征在于,所述获取待播报语音的素材文件,包括:
通过网页页面,从本地或服务器获取所述待播报语音的素材文件。
11.一种音频文件处理装置,其特征在于,所述装置包括:
音频文件获取模块,用于获取待播报语音关联的多个音频文件;
转换模块,用于将所述音频文件获取模块获取的各所述音频文件,分别转换为对应的由字符串构成的文本;
合并模块,用于将所述转换模块转换得到的由字符串构成的各所述文本按照预置的合并规则,合并为素材文件;
保存模块,用于将所述素材文件保存在预设的位置。
12.如权利要求11所述的音频文件处理装置,其特征在于,所述转换模块包括:
读取模块,用于将各所述音频文件读取为类型化数组类型的音频数据,以及通过预设类型的视图模式,将所述类型化数组类型的音频数据读取为类数组对象;
分割模块,用于将所述类数组对象转换为普通数组,并以预设的分割符进行分割,以形成由带所述分割符的字符串构成的文本。
13.如权利要求11或12所述的音频文件处理装置,其特征在于,所述合并模块包括:
第一合并模块,用于将由字符串构成的各所述文本以键Key-值Value的形式,合并成所述素材文件;
第二合并模块,用于将由字符串构成的各所述文本通过首尾相连的方式,合并成所述素材文件。
14.一种音频文件处理装置,其特征在于,所述装置包括:
素材文件获取模块,用于获取待播报语音的素材文件,所述素材文件由多个音频文件转换合成,包含多个由字符串构成的文本,所述多个由字符串构成的文本分别与所述多个所述音频文件一一对应;
反向转换模块,用于分别对所述素材文件获取模块获取的素材文件中由字符串构成的各所述文本进行转换,得到各所述音频文件的音频数据并缓存在内存中;
查找模块,用于响应于触发的语音播报指令,从所述反向转换模块缓存的音频数据中查找所述语音播报指令指向的音频数据;
播放模块,用于对所述查找模块查找到的音频数据进行播放。
15.如权利要求14所述的音频文件处理装置,其特征在于,所述反向转换模块包括:
提取模块,用于按照预置的提取规则,分别提取所述素材文件中各所述文本中的字符串;
转换模块,用于将提取的字符串转换为音频数据,并缓存在所述内存中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710288726.3A CN107123424B (zh) | 2017-04-27 | 2017-04-27 | 音频文件处理方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710288726.3A CN107123424B (zh) | 2017-04-27 | 2017-04-27 | 音频文件处理方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107123424A true CN107123424A (zh) | 2017-09-01 |
CN107123424B CN107123424B (zh) | 2022-03-11 |
Family
ID=59726089
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710288726.3A Active CN107123424B (zh) | 2017-04-27 | 2017-04-27 | 音频文件处理方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107123424B (zh) |
Cited By (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108377409A (zh) * | 2018-03-05 | 2018-08-07 | 广东欧珀移动通信有限公司 | 一种多媒体文件的无缝播放方法、终端设备及存储介质 |
CN109119066A (zh) * | 2018-09-30 | 2019-01-01 | 苏州浪潮智能软件有限公司 | 一种快速进行语音播放的方法 |
CN109857898A (zh) * | 2019-02-20 | 2019-06-07 | 成都嗨翻屋科技有限公司 | 一种海量数字音频指纹存储与检索的方法及系统 |
CN110021291A (zh) * | 2018-12-26 | 2019-07-16 | 阿里巴巴集团控股有限公司 | 一种语音合成文件的调用方法及装置 |
CN110047214A (zh) * | 2019-04-23 | 2019-07-23 | 深圳市丰巢科技有限公司 | 一种快递柜语音播报的配置方法、装置、设备及存储介质 |
WO2020015479A1 (zh) * | 2018-07-17 | 2020-01-23 | 阿里巴巴集团控股有限公司 | 播报语音的确定方法、装置和设备 |
CN112383618A (zh) * | 2020-11-12 | 2021-02-19 | 平安普惠企业管理有限公司 | 一种音频文件优化方法、装置、计算机设备及存储介质 |
CN112615869A (zh) * | 2020-12-22 | 2021-04-06 | 平安银行股份有限公司 | 音频数据的处理方法、装置、设备及存储介质 |
CN113595868A (zh) * | 2021-06-28 | 2021-11-02 | 深圳云之家网络有限公司 | 基于即时通讯的语音消息处理方法、装置和计算机设备 |
US11537991B2 (en) | 2020-05-01 | 2022-12-27 | Monday.com Ltd. | Digital processing systems and methods for pre-populating templates in a tablature system |
US11687216B2 (en) | 2021-01-14 | 2023-06-27 | Monday.com Ltd. | Digital processing systems and methods for dynamically updating documents with data from linked files in collaborative work systems |
US11698890B2 (en) | 2018-07-04 | 2023-07-11 | Monday.com Ltd. | System and method for generating a column-oriented data structure repository for columns of single data types |
US11727323B2 (en) | 2019-11-18 | 2023-08-15 | Monday.Com | Digital processing systems and methods for dual permission access in tables of collaborative work systems |
US11741071B1 (en) | 2022-12-28 | 2023-08-29 | Monday.com Ltd. | Digital processing systems and methods for navigating and viewing displayed content |
US11829953B1 (en) | 2020-05-01 | 2023-11-28 | Monday.com Ltd. | Digital processing systems and methods for managing sprints using linked electronic boards |
US11886683B1 (en) | 2022-12-30 | 2024-01-30 | Monday.com Ltd | Digital processing systems and methods for presenting board graphics |
US11893381B1 (en) | 2023-02-21 | 2024-02-06 | Monday.com Ltd | Digital processing systems and methods for reducing file bundle sizes |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103093753A (zh) * | 2012-12-14 | 2013-05-08 | 沈阳美行科技有限公司 | 一种导航系统用户语音自定义方法 |
US20140324436A1 (en) * | 2013-04-27 | 2014-10-30 | Tencent Technology (Shenzhen) Company Limited | Method and apparatus for audio playing |
CN105049591A (zh) * | 2015-05-26 | 2015-11-11 | 腾讯科技(深圳)有限公司 | 处理来电的方法和装置 |
-
2017
- 2017-04-27 CN CN201710288726.3A patent/CN107123424B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103093753A (zh) * | 2012-12-14 | 2013-05-08 | 沈阳美行科技有限公司 | 一种导航系统用户语音自定义方法 |
US20140324436A1 (en) * | 2013-04-27 | 2014-10-30 | Tencent Technology (Shenzhen) Company Limited | Method and apparatus for audio playing |
CN105049591A (zh) * | 2015-05-26 | 2015-11-11 | 腾讯科技(深圳)有限公司 | 处理来电的方法和装置 |
Non-Patent Citations (1)
Title |
---|
JBGTWANG: "ArrayBuffer:类型化数组", 《CSDNHTTPS://BLOG.CSDN.NET/JBGTWANG/ARTICLE/DETAILS/52314940》 * |
Cited By (31)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108377409A (zh) * | 2018-03-05 | 2018-08-07 | 广东欧珀移动通信有限公司 | 一种多媒体文件的无缝播放方法、终端设备及存储介质 |
US11698890B2 (en) | 2018-07-04 | 2023-07-11 | Monday.com Ltd. | System and method for generating a column-oriented data structure repository for columns of single data types |
WO2020015479A1 (zh) * | 2018-07-17 | 2020-01-23 | 阿里巴巴集团控股有限公司 | 播报语音的确定方法、装置和设备 |
CN109119066A (zh) * | 2018-09-30 | 2019-01-01 | 苏州浪潮智能软件有限公司 | 一种快速进行语音播放的方法 |
CN110021291A (zh) * | 2018-12-26 | 2019-07-16 | 阿里巴巴集团控股有限公司 | 一种语音合成文件的调用方法及装置 |
CN110021291B (zh) * | 2018-12-26 | 2021-01-29 | 创新先进技术有限公司 | 一种语音合成文件的调用方法及装置 |
CN109857898A (zh) * | 2019-02-20 | 2019-06-07 | 成都嗨翻屋科技有限公司 | 一种海量数字音频指纹存储与检索的方法及系统 |
CN110047214A (zh) * | 2019-04-23 | 2019-07-23 | 深圳市丰巢科技有限公司 | 一种快递柜语音播报的配置方法、装置、设备及存储介质 |
US11727323B2 (en) | 2019-11-18 | 2023-08-15 | Monday.Com | Digital processing systems and methods for dual permission access in tables of collaborative work systems |
US11755827B2 (en) | 2020-05-01 | 2023-09-12 | Monday.com Ltd. | Digital processing systems and methods for stripping data from workflows to create generic templates in collaborative work systems |
US11537991B2 (en) | 2020-05-01 | 2022-12-27 | Monday.com Ltd. | Digital processing systems and methods for pre-populating templates in a tablature system |
US11587039B2 (en) | 2020-05-01 | 2023-02-21 | Monday.com Ltd. | Digital processing systems and methods for communications triggering table entries in collaborative work systems |
US11675972B2 (en) | 2020-05-01 | 2023-06-13 | Monday.com Ltd. | Digital processing systems and methods for digital workflow system dispensing physical reward in collaborative work systems |
US11687706B2 (en) | 2020-05-01 | 2023-06-27 | Monday.com Ltd. | Digital processing systems and methods for automatic display of value types based on custom heading in collaborative work systems |
US11954428B2 (en) | 2020-05-01 | 2024-04-09 | Monday.com Ltd. | Digital processing systems and methods for accessing another's display via social layer interactions in collaborative work systems |
US11886804B2 (en) | 2020-05-01 | 2024-01-30 | Monday.com Ltd. | Digital processing systems and methods for self-configuring automation packages in collaborative work systems |
US11907653B2 (en) | 2020-05-01 | 2024-02-20 | Monday.com Ltd. | Digital processing systems and methods for network map visualizations of team interactions in collaborative work systems |
US11829953B1 (en) | 2020-05-01 | 2023-11-28 | Monday.com Ltd. | Digital processing systems and methods for managing sprints using linked electronic boards |
CN112383618A (zh) * | 2020-11-12 | 2021-02-19 | 平安普惠企业管理有限公司 | 一种音频文件优化方法、装置、计算机设备及存储介质 |
CN112383618B (zh) * | 2020-11-12 | 2022-09-13 | 平安普惠企业管理有限公司 | 一种音频文件优化方法、装置、计算机设备及存储介质 |
CN112615869A (zh) * | 2020-12-22 | 2021-04-06 | 平安银行股份有限公司 | 音频数据的处理方法、装置、设备及存储介质 |
CN112615869B (zh) * | 2020-12-22 | 2022-08-26 | 平安银行股份有限公司 | 音频数据的处理方法、装置、设备及存储介质 |
US11782582B2 (en) | 2021-01-14 | 2023-10-10 | Monday.com Ltd. | Digital processing systems and methods for detectable codes in presentation enabling targeted feedback in collaborative work systems |
US11726640B2 (en) | 2021-01-14 | 2023-08-15 | Monday.com Ltd. | Digital processing systems and methods for granular permission system for electronic documents in collaborative work systems |
US11687216B2 (en) | 2021-01-14 | 2023-06-27 | Monday.com Ltd. | Digital processing systems and methods for dynamically updating documents with data from linked files in collaborative work systems |
US11928315B2 (en) | 2021-01-14 | 2024-03-12 | Monday.com Ltd. | Digital processing systems and methods for tagging extraction engine for generating new documents in collaborative work systems |
US11893213B2 (en) | 2021-01-14 | 2024-02-06 | Monday.com Ltd. | Digital processing systems and methods for embedded live application in-line in a word processing document in collaborative work systems |
CN113595868A (zh) * | 2021-06-28 | 2021-11-02 | 深圳云之家网络有限公司 | 基于即时通讯的语音消息处理方法、装置和计算机设备 |
US11741071B1 (en) | 2022-12-28 | 2023-08-29 | Monday.com Ltd. | Digital processing systems and methods for navigating and viewing displayed content |
US11886683B1 (en) | 2022-12-30 | 2024-01-30 | Monday.com Ltd | Digital processing systems and methods for presenting board graphics |
US11893381B1 (en) | 2023-02-21 | 2024-02-06 | Monday.com Ltd | Digital processing systems and methods for reducing file bundle sizes |
Also Published As
Publication number | Publication date |
---|---|
CN107123424B (zh) | 2022-03-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107123424A (zh) | 音频文件处理方法及装置 | |
CN101896803B (zh) | 用于从源数据到音频/视频数据的语义媒体转换的方法、设备 | |
CN105528229B (zh) | 提高移动终端首次开机速度的方法及装置 | |
CN105701122B (zh) | 一种日志收集方法、装置及系统 | |
CN104461474A (zh) | 用于移动终端的截屏方法和截屏装置以及移动终端 | |
CN104754536A (zh) | 一种不同语言间实现通信的方法和系统 | |
CN102696249B (zh) | 一种对消息中的数据进行处理的方法及移动终端 | |
CN106302933B (zh) | 通话语音信息处理方法及终端 | |
CN110083221A (zh) | 电子装置及音频播放方法 | |
CN108009159A (zh) | 一种同声传译方法和移动终端 | |
US20220129125A1 (en) | Dynamic execution environment in network communications | |
CN104462051A (zh) | 分词方法及装置 | |
CN111276123A (zh) | 一种语音播报留言的方法、装置、计算机设备及存储介质 | |
WO2018076664A1 (zh) | 一种语音播报的方法和装置 | |
KR20140132427A (ko) | 호 기록을 제공하기 위한 방법 및 장치 | |
CN109767257A (zh) | 基于大数据分析的广告投放方法、系统及电子设备 | |
CN104575548A (zh) | 文件播放定位方法、装置及终端 | |
CN108984071A (zh) | 文本重组方法、装置、终端设备及计算机可读存储介质 | |
CN102883188A (zh) | 实时下载播放mp4文件的方法和系统 | |
KR102357620B1 (ko) | 챗봇 채널연계 통합을 위한 챗봇 통합 에이전트 플랫폼 시스템 및 그 서비스 방법 | |
CN103229494B (zh) | 业务服务器装置及业务提供方法 | |
CN109147791A (zh) | 一种速记系统和方法 | |
CN104980793A (zh) | 一种视频检测的方法及终端 | |
CN110445934A (zh) | 通话信息处理方法、系统、终端及可读存储介质 | |
CN104424260A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |