从音频文件提取振动信息的方法、 装置以及振动装置 技术领域 本发明是涉及根据音乐产生振动的技术,尤其是涉及从音频文件提取振动信息 的方法、装置以及应用其的振动装置。
背景技术 研究表明,使用喇叭播放音乐时,皮肤可以感知到声波传播带来的振动,这一 触觉的感知能够对听觉感知进行辅助,从而使音乐听起来更生动。 振动喇叭即是基于这 一原理出现的一种新技术。 这种喇叭不仅可以播放音乐,而且可以随着音乐的起伏而振 动。 当用户手持便携式播放设备进行音乐外放时,若使用振动喇叭,手就会明显感觉到 随音乐起伏的振动,从而感受到更好的音乐效果。
振动喇叭尽管可以自然的将音乐中的一些起伏变为振动,但它也存在一些缺 点,如体积较大,价格较贵。
中国专利 200410088753.9 和 200420112012.5 号申请揭示一种可随音乐铃声的节 奏振动的手机振动系统,该系统利用来自音序器和振动参数存储器的振动参数,并产生 振动控制脉冲序列,以输出到手机振动装置内,使手机内的振动装置根据不同音乐铃声 的节奏,产生不同的振动。 但该专利只能已经记录了音乐节奏等信息的音频文件 ( 如 MIDI 格式文件 ),而不能用于手机上所有类型的音频文件的播放,这使它的实用性和普 及性大打折扣。
因此,如果能找到一种方法,分析音频文件的特点,提取出可以辅助渲染用户 体验效果的振动信息,并让马达基于该信息而振动,则可以使手机上所有类型的音频文 件的播放都能配合马达的振动。
发明内容
本发明的目的是提供一种从音频文件提取振动信息的方法,可以从各种格式的 音频文件中提取振动信息,而无论音频文件原本是否记载了音乐节奏。
本发明的另一目的是提供实现上述的从音频文件提取振动信息的方法的装置。
本发明的又一目的是提供一种使用从音频文件提取的振动信息来实现随音频振 动的振动装置。
本发明的再一目的是提供一种具备上述振动装置的手机。
本发明的一实施例提出一种从音频信号提取振动信息的方法,包括以下步骤 :
输入一音频文件的经过解码的音频流 ;
以预定时间长度的音频流为一帧,分帧计算音频流的频谱值 ;
将分帧音频频谱值加权求和,获得每帧音频的加权能量 ;
判断当前帧音频加权能量是否超过一参考门限,如果当前帧音频加权能量超过 该参考门限,则触发一次振动,且执行以下步骤 :
根据当前帧音频加权能量来确定振动强度,并根据当前帧的持续时间确定振动开始时间和振动结束时间 ;
根据当前帧的频谱值加权计算出当前帧中代表性频率值,作为当前帧的振动频 率 ;以及
输出所述振动强度、振动频率、振动开始时间和振动结束时间作为振动信息。
在上述的实施例中,上述参考门限是根据音频文件的平均能量以及当前帧之前 各帧的音频加权能量设置。
在上述的实施例中,根据当前帧的持续时间确定振动开始时间和振动结束时间 的步骤可包括 :以当前帧的开始时刻作为振动开始时间,以下一帧开始时刻作为振动结 束时间。
在上述的实施例中,在分帧计算音频流的频谱值之前还可包括 :对经过解码的 音频流进行低通滤波和降采样处理。
本发明的另一实施例提出一种从音频信号提取振动信息的装置,包括 :
分帧及傅立叶变换单元,输入经过解码的音频流,以预定时间长度的音频流为 一帧,分帧计算音频流的频谱值 ;
加权能量计算单元,将分帧音频频谱值加权求和,获得每帧音频的加权能量 ;
振动门限判决单元,判断当前帧音频加权能量是否超过一参考门限 ;如果当前 帧音频加权能量超过该参考门限,则触发一次振动 ;
振动强度提取单元,当触发振动时,根据当前帧音频加权能量来确定振动强 度,根据当前帧的持续时间确定振动开始时间和振动结束时间,输出振动强度、振动开 始时间和振动结束时间 ;以及
振动频率提取单元,根据当前帧的频谱值加权计算出当前帧中代表性频率值, 并作为当前帧的振动频率输出 ;
其中,所述振动强度、振动频率、振动开始时间和振动结束时间组成振动信 息。
在上述的实施例中,从音频信号提取振动信息的装置还可包括历史帧加权能量 信息单元,用以存储已经过加权能量计算的各帧的能量信息。 其中,该振动门限判决单 元参考门限是根据音频文件的平均能量以及当前帧之前各帧的音频加权能量设置。
在上述的实施例中,上述振动强度提取单元是以当前帧的开始时刻作为振动开 始时间,以下一帧开始时刻作为振动结束时间。
在上述的实施例中,从音频信号提取振动信息的装置还可包括低通滤波及降采 样单元,用以在分帧及傅立叶变换单元之前先对经过解码的音频流进行低通滤波和降采 样处理。
本发明的又一实施例提出一种振动装置,包括 :
上述的从音频信号提取振动信息的装置,该装置输出上述振动强度、振动频 率、振动开始时间和振动结束时间作为振动信息 ;
音频 - 振动同步单元,实时输入解码后的音频流以及所述振动信息,调整所述 振动信息与对应的音频的相对时间,输出振动信息 ;以及
振动马达,在所述振动信息的驱动下振动。
在上述的实施例中,上述振动装置还可包括一振动信息数据库,用以保存所述振动信息提取单元提取过的音频文件的振动信息。
本发明的再一实施例提出一种手机,包含上述的振动装置。
相比现有技术,本发明的技术方案的优势在于 :
1、不必采用价格昂贵的振动喇叭,仅需要使用普通的振动马达实现随音乐振 动;
2、提取振动信息的方式可以适用于各种格式 ( 如 MP3) 的音频文件,适用范围 广泛 ;
3、借助设备本身的处理能力来提取振动信息,不必借助外部硬件来实现。 附图说明
图 1 示出通常的手机音频播放装置的结构图。 图 2 示出本发明一实施例的音频播放装置的结构图。 图 3 示出本发明一实施例的振动信息提取单元示意图。 图 4 示出本发明一实施例的振动信息提取方法流程图。具体实施方式 本发明的下述实施例描述基于目前手机架构的振动信息提取方法,它应当能够 在播放音乐时,根据音乐的特点得到相应的振动起始时间、振动结束时间、振动强度、 振动频率等信息 ( 在本发明的上下文中称为 “振动信息” ),并基于这些振动信息驱动手 机的振动马达,使得在音乐播放时马达随音乐而振动,以渲染音乐播放的效果。
现在参考附图描述所要求保护的主题,在全部附图中使用相同的参考标号来指 相同的元素。 在以下描述中,为解释起见,陈述了众多具体细节以提供对所要求保护的 主题的全面理解。 然而,显而易见的是,这些主题也可以不采用这些具体细节来实施。 一个容易理解的事实是,所要保护的从音频文件中提取振动信息的方法并不限于手机, 而是可以推广到所有具有类似应用的数码产品中,典型的如 MP3 播放器。
为清楚起见,首先说明现有的手机播放音频的结构。 如图 1 所示,音频解码 / 播 放单元 10 读取音频文件 20,将其经过音频解码、数字 / 模拟转换、功率放大等处理后, 送至喇叭或耳机 12 播放。
图 2 示出本发明一实施例的音频播放装置的结构图。 本实施例是在原有手机播 放音频的结构之外,增加了包含预处理单元 110、振动信息提取单元 120、振动信息数据 库 130、音频 - 振动同步单元 140、振动马达 150 的振动装置 100。 其中,振动马达 150 为一般手机所具有的配置。
振动信息提取单元 120 是本实施例的核心,其输入接收音频解码 / 播放单元 10 解码后的音频流以及在需要的场合中来自预处理单元的全局参数,提取音频流中的振动 信息,以供马达的振动使用,振动信息提取单元 120 的详细原理将在后文描述。
振动信息数据库 130 的作用是存储已处理的音频文件的振动信息。 举例来说, 当一首歌曲进行过一次振动信息提取后,它的振动信息可被放入振动信息数据库 130 中。 在下一次播放这首歌曲时,振动信息提取单元 120 将不再重复进行提取运算,而直 接从振动信息数据库 130 中调出相应的振动信息送至马达。 这种设计的效果是显而易见
的,它可以避免重复运算,减少计算振动信息所花费的时间和由此带来的系统功耗。 然 而本领域技术可理解,是否采用振动信息数据库 130 不应作为本发明的限制。
预处理单元 110 用以在进行振动信息提取之前先对音频文件进行扫描,获取振 动信息提取所需的一些参数。 振动装置 100 首先会由预处理单元 110 读取音频文件和振 动信息数据库 130 的内容,进行必要的处理,并将处理所得的参数送至振动信息提取单 元 120。 具体地说,处理单元 110 会执行下列的动作。 首先,读取音频文件名,并在振 动信息数据库 130 中搜索是否有该音频文件相应的振动信息数据,如果有,则直接将该 音频在振动信息数据库 130 中对应的位置输出至振动信息提取单元 120。 反之,如果在 振动信息数据库 130 中找不到对应的文件名,则说明这一音频文件尚未建立振动信息索 引。 预处理单元 110 需要扫描音频文件,计算一些振动信息提取所需要的全局参数。 全 局参数的提取方法并不做限制,既可以从音频文件直接提取,也可以进行简单的运算得 到。 在本发明的上下文中,全局参数包括但不限于 :该音频文件的平均能量、采样率、 以及该音频文件波形的最大幅度等。
振动信息处理单元 120 主要有以下两种工作状态。 在第一种状态中,若预处理 单元 110 向振动信息处理单元 120 输入的数据是音频文件在振动信息数据库 130 中的位 置,则说明该音频文件的振动信息已经存在。 只需从振动信息数据库 130 中读取出振动 信息并输出即可。 该振动信息经音频 - 振动同步单元 140 同步后,驱动振动马达 150,达 到振动效果。 在第二种状态中,若预处理单元 110 向振动信息处理单元 120 输入的数据 为振动信息提取所需的全局参数,则说明该音频文件尚未建立振动信息。 这时,振动信 息处理单元 120 需要从音频解码 / 播放单元 10 获得解码后的实时音频流,在上述全局参 数的辅助下检测该音频流,提取振动信息。 提取得到的实时振动信息被送至音频 - 振动 同步单元 140,以控制马达 150 的振动 ;同时,也被送至振动信息数据库 130 保存下来, 以备下次播放这一音频文件时调用。
在本实施例中,实时振动信息的内容包括但不限于 :振动的开始时间、振动的 结束时间、振动的强度、以及振动的频率等。
音频 - 振动同步单元 140 的主要作用是调节振动相对于音频播放的时间。 由于 音乐是由喇叭 / 耳机 12 播放,经听觉通路被人感知的,而振动是由马达 150 产生,经触 觉通路被人感知的。 马达 150 振动的启动延时与耳机 / 喇叭 12 不同,而声音在声波中传 播的延时也与触觉的延时不同,这些延时会使人对于同一个音频 / 振动的效果感觉起来 并不同步。 因此,本实施例中,音频 - 振动同步单元 140 获取音频解码 / 播放单元 10 输 出的实时音频流,以及振动信息提取单元 120 输出的实时振动信息,并微调振动信息相 对于振动信息所对应的音频的先后时间,以达到最佳的效果。 调整后的实时振动信息在 马达驱动电路的作用下驱动振动马达 150。
以下描述本发明一实施例的从音频文件中提取振动信息的方法及装置。
图 3 示出本发明一实施例的振动信息提取单元示意图。 参照图 3 所示,本实施 例的振动信息提取单元 120 的输入信息是实时音频流和音频文件全局参数。 其中,实时 音频流指音频文件经过解码运算后,尚未进行数模转换的数字音频波形。 音频文件可以 具有多种格式,例如 MP3 格式、WAV 格式等。 在一实施例中,该波形可由音频解码播放 模块得到。 在图 2 所示的振动装置中,该波形由音频解码 / 播放单元 10 处理得到。 全局参数可以通过对音频文件进行预处理获得,其提取方法并不做限制,既可以从音频文 件直接提取,也可以进行简单的运算得到。
振动信息提取单元 120 包括低通滤波及降采样单元 121、分帧及傅立叶变换单元 122、加权能量计算单元 123、历史帧加权能量信息单元 124、振动门限判决单元 125、振 动强度提取单元 126、以及振动频率提取单元 127。 下面描述各单元的具体功能。
低通滤波及降采样单元 121 对输入的实时音频流进行低通滤波和降采样处理。 其中,降采样的作用是为了降低后续运算的计算量,具体的降采样比率可以根据音频文 件的采样率和应用设备 ( 例如手机 ) 的运算能力确定。 以一个 44.1kHz 采样的音频文件 为例,典型的降采比可设置为 32 或 64,但亦可根据具体情况进行调整。 低通滤波的作用 是为了保证降采样时不发生频率混叠,因此,其通带转折频率应略大于降采样后音频的 奈奎斯特频率。尽管在通常情况下建议使用低通滤波及降采样单元 121,但可以理解,这 一单元仍然是可选的。
经过滤波及降采样后的音频数据输入分帧及傅立叶变换单元 122,该单元以预 定时间长度的音频流为一帧,分帧计算音频流的频谱值。 预定时间长度推荐为 30ms 左 右,但亦可根据应用设备的运算能力和欲达到的振动信息时间精度 ( 描述振动与音频的 同步状况 ) 进行调整。 在本发明的实施例中,各帧之间可以有一定的重叠,也可以没有 重叠。 一般而言,帧间有重叠的优点是可以提高振动信息的时间精度,但所需的运算量 会加大 ;帧间无重叠会损失一些时间精度来换取较小的运算量。 在此,可根据应用设备 的具体情况选择处理。 计算所得的分帧音频频谱值送入加权能量计算单元 123,以各频率为权重,经加 权求和后得到该帧音频的加权能量。 其中,加权求和中所涉及的计权方法与欲达到的振 动渲染效果有关。 在一个应用例中,如果希望强调歌曲中的鼓点和节拍,可以加大低频 分量 ( 如频率 100Hz 左右 ) 的权重 ;如果希望强调歌手的音色,可以加大 150Hz 以上频 率分量的权重等。计算所得的当前帧加权能量,既输出至振动门限判决单元 125,也输出 至历史帧加权能量信息单元 124 进行存储。
历史帧加权能量信息单元 124 接收加权能量计算单元 123 输入的数据,并向振动 门限判决单元 125 提供输出。 历史帧加权能量信息单元 124 可以存储经过加权能量计算的 历史各帧的能量信息,且在需要的场合中为判断当前帧音频是否应触发振动提供参考。
振动门限判决单元 125 的作用是 :判断当前帧音频加权能量是否超过参考门 限,若当前帧音频加权能量超过参考门限,则触发一次振动 ;反之,不触发振动。 在一 个实施例中,此参考门限的设置是参考音频文件的平均能量等全局参数,以及当前帧之 前各帧的音频加权能量数据。 具体的设置策略可根据欲达到的音频渲染效果而调整。 振 动门限判决单元 125 会依次输出每一帧所对应的振动 / 不振动信息给振动强度提取单元 126 和振动频率提取单元 127。
一旦触发了振动,则振动强度提取单元 126 会根据当前帧音频加权能量来确定 振动的强度。 在本发明的实施例中,振动的强度,可以由当前帧音频加权能量、历史帧 音频加权能量、马达的性能参数 ( 主要是马达振动强度曲线 ) 这几个参数确定。 具体实现 时,既可以根据一定的公式每次都进行加权计算,也可以事先编制一个振动强度表,每 次根据前述几个参数的值来查表。 另外,振动强度提取单元 126 还根据当前帧的持续时
间确定振动的开始时间和结束时间。 典型的设置是,本帧开始的时刻为振动开始时间 ; 下一帧开始的时刻为振动结束时间。
在触发了振动后,振动频率提取单元 127 也会接收来自分帧及傅立叶变换单元 122 的分帧音频频谱值输入,根据当前帧的频谱信息加权计算出该帧中最有代表性的一个 频率值,作为当前帧的振动频率输出给振动马达 150 使用。 在此实施例中,具体的加权 计算策略,既可以是能量最高的一个频点,也可以是根据谱包络形状查表等。
上述的振动强度、振动频率、振动开始 / 结束时间一起,构成马达的振动信 息,用这些信息控制马达,以达到振动辅助音频效果渲染的效果。
根据以上的振动信息提取单元,可概括出一种振动信息提取方法。 图 4 示出本 发明一实施例的振动信息提取方法流程图。 参照图 4 所示,此方法包括以下步骤 :
步骤 201,输入音频文件的实时音频流以及全局参数,其中实时音频流指音频文 件经过解码运算后,尚未进行数模转换的数字音频波形。 在一实施例中,该波形可由各 种数码设备的音频解码播放模块得到。 在图 2 所示的振动装置中,该波形由音频解码 / 播放单元 10 处理得到。 全局参数可以通过对音频文件进行预处理获得,其提取方法并不 做限制,既可以从音频文件直接提取,也可以进行简单的运算得到。
可选地,在步骤 202,对经过解码的音频流进行低通滤波和降采样处理。降采样 的作用是为了降低后续运算的计算量,具体的降采样比率可以根据音频文件的采样率和 应用设备 ( 例如手机 ) 的运算能力确定。 以一个 44.1kHz 采样的音频文件为例,典型的降 采比可设置为 32 或 64,但亦可根据具体情况进行调整。 低通滤波的作用是为了保证降采 样时不发生频率混叠,因此,其通带转折频率应略大于降采样后音频的奈奎斯特频率。
步骤 203,以预定时间长度的音频流为一帧,分帧计算音频流的频谱值,计算可 采用时域到频域的傅立叶变换。 其中,预定时间长度推荐为 30ms 左右,但亦可根据应用 设备的运算能力和欲达到的振动信息时间精度 ( 描述振动与音频的同步状况 ) 进行调整。 在本发明的实施例中,各帧之间可以有一定的重叠,也可以没有重叠。
步骤 204,以各频率为权重,将分帧音频频谱值加权求和,获得每帧音频的加权 能量 ;其中,加权求和中所涉及的计权方法与欲达到的振动渲染效果有关。 在一个应用 例中,如果希望强调歌曲中的鼓点和节拍,可以加大低频分量 ( 如频率 100Hz 左右 ) 的权 重 ;如果希望强调歌手的音色,可以加大 150Hz 以上频率分量的权重等。 计算所得的当 前帧加权能量用作振动门限判决的基础。 另外,也可以存储经计算的各帧加权能量以作 为后续处理的参考。
步骤 205,判断当前帧音频加权能量是否超过一参考门限,如果当前帧音频加权 能量超过该参考门限,则触发一次振动,反之,不触发振动。 在一个实施例中,此参考 门限的设置是参考音频文件的平均能量等全局参数,以及当前帧之前各帧的音频加权能 量数据。 具体的设置策略可根据欲达到的音频渲染效果而调整。 对于每个音频帧,经过 步骤 205 判决后,都会输出每一帧所对应的振动 / 不振动信息。
一旦触发了振动,在步骤 206,根据当前帧音频加权能量来确定振动强度,并根 据当前帧的持续时间确定振动开始时间和振动结束时间。 在本发明的实施例中,振动的 强度可以由当前帧音频加权能量、历史帧音频加权能量、马达的性能参数 ( 主要是马达 振动强度曲线 ) 这几个参数确定。 具体实现时,既可以根据一定的公式每次都进行加权计算,也可以事先编制一个振动强度表,每次根据前述几个参数的值来查表。 另外,对 于振动的开始时间和结束时间,典型的设置是,本帧开始的时刻为振动开始时间,下一 帧开始的时刻为振动结束时间。
在触发了振动后,在步骤 207,还会根据当前帧的频谱值加权计算出当前帧中代 表性频率值,作为当前帧的振动频率。 在此实施例中,具体的加权计算策略,既可以是 能量最高的一个频点,也可以是根据谱包络形状查表等。
最后,于步骤 208,以上振动强度、振动频率、振动开始时间和振动结束时间作 为振动信息输出,以驱动马达产生相应的振动。
因此,借助本发明的实施例所提取的振动信息,数码设备可在不增加硬件成本 的条件下,实现各种格式的音乐播放时马达随音乐而振动,以渲染音乐播放的效果。
上述实施例是提供给本领域普通技术人员来实现或使用本发明的,本领域普通 技术人员可在不脱离本发明的发明思想的情况下,对上述实施例做出种种修改或变化, 因而本发明的保护范围并不被上述实施例所限,而应该是符合权利要求书提到的创新性 特征的最大范围。