IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ ▲騰▼▲訊▼科技(深▲セン▼)有限公司の特許一覧

特許7337169オーディオクリップのマッチング方法及びその装置、コンピュータプログラム並びに電子機器
<>
  • 特許-オーディオクリップのマッチング方法及びその装置、コンピュータプログラム並びに電子機器 図1
  • 特許-オーディオクリップのマッチング方法及びその装置、コンピュータプログラム並びに電子機器 図2
  • 特許-オーディオクリップのマッチング方法及びその装置、コンピュータプログラム並びに電子機器 図3
  • 特許-オーディオクリップのマッチング方法及びその装置、コンピュータプログラム並びに電子機器 図4
  • 特許-オーディオクリップのマッチング方法及びその装置、コンピュータプログラム並びに電子機器 図5
  • 特許-オーディオクリップのマッチング方法及びその装置、コンピュータプログラム並びに電子機器 図6
  • 特許-オーディオクリップのマッチング方法及びその装置、コンピュータプログラム並びに電子機器 図7
  • 特許-オーディオクリップのマッチング方法及びその装置、コンピュータプログラム並びに電子機器 図8
  • 特許-オーディオクリップのマッチング方法及びその装置、コンピュータプログラム並びに電子機器 図9
  • 特許-オーディオクリップのマッチング方法及びその装置、コンピュータプログラム並びに電子機器 図10
  • 特許-オーディオクリップのマッチング方法及びその装置、コンピュータプログラム並びに電子機器 図11
  • 特許-オーディオクリップのマッチング方法及びその装置、コンピュータプログラム並びに電子機器 図12
  • 特許-オーディオクリップのマッチング方法及びその装置、コンピュータプログラム並びに電子機器 図13
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-08-24
(45)【発行日】2023-09-01
(54)【発明の名称】オーディオクリップのマッチング方法及びその装置、コンピュータプログラム並びに電子機器
(51)【国際特許分類】
   G10L 25/54 20130101AFI20230825BHJP
   G06F 16/63 20190101ALI20230825BHJP
【FI】
G10L25/54
G06F16/63
【請求項の数】 14
(21)【出願番号】P 2021535923
(86)(22)【出願日】2020-05-22
(65)【公表番号】
(43)【公表日】2022-02-17
(86)【国際出願番号】 CN2020091698
(87)【国際公開番号】W WO2020238777
(87)【国際公開日】2020-12-03
【審査請求日】2021-06-18
(31)【優先権主張番号】201910441366.5
(32)【優先日】2019-05-24
(33)【優先権主張国・地域又は機関】CN
(73)【特許権者】
【識別番号】517392436
【氏名又は名称】▲騰▼▲訊▼科技(深▲セン▼)有限公司
(74)【代理人】
【識別番号】100110364
【弁理士】
【氏名又は名称】実広 信哉
(74)【代理人】
【識別番号】100150197
【弁理士】
【氏名又は名称】松尾 直樹
(72)【発明者】
【氏名】林 方超
(72)【発明者】
【氏名】云 ▲偉▼▲標▼
(72)【発明者】
【氏名】▲曾▼ ▲鵬▼
【審査官】佐久 聖子
(56)【参考文献】
【文献】特開2012-123230(JP,A)
【文献】特開昭62-147496(JP,A)
【文献】特開昭59-045583(JP,A)
【文献】特開2001-134584(JP,A)
【文献】特開昭57-027299(JP,A)
【文献】特開昭61-292697(JP,A)
【文献】特開2009-092970(JP,A)
【文献】特開2015-169698(JP,A)
【文献】特開2000-347659(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G10L 13/00-13/10
15/00-17/26
19/00-99/00
G06F 16/63
(57)【特許請求の範囲】
【請求項1】
コンピュータ機器が実行するオーディオクリップのマッチング方法であって、
第1オーディオクリップに対応する第1特徴シーケンス及び第2オーディオクリップに対応する第2特徴シーケンスを取得するステップであって、前記第1オーディオクリップは、複数の第1特徴シーケンスに対応し、前記第2オーディオクリップは、複数の第2特徴シーケンスに対応するステップと、
前記第1特徴シーケンスと前記第2特徴シーケンスとの間の距離行列を構築するステップであって、前記距離行列における要素は、第1位置点と第2位置点との間の距離を表すためのものであり、前記第1位置点は、前記第1特徴シーケンスに位置し、前記第2位置点は、前記第2特徴シーケンスに位置する、ステップと、
前記距離行列における開始位置からターゲット位置までの第1累積距離、及び前記距離行列における終了位置から前記ターゲット位置までの第2累積距離を決定するステップであって、前記ターゲット位置は、前記第1特徴シーケンスに位置するある位置点と前記第2特徴シーケンスに位置するある位置点とから構成され、前記開始位置及び前記終了位置からそれぞれ前記ターゲット位置までの最短経路を決定するステップを含む、ステップと、
前記第1累積距離及び前記第2累積距離に基づいて、前記第1特徴シーケンスと前記第2特徴シーケンスとの間の最小距離を決定するステップであって、前記第1特徴シーケンスと前記第2特徴シーケンスとは、同一の特徴に対応する、ステップと、
複数の前記最小距離に対して重み付け加算を行い、前記第1オーディオクリップと前記第2オーディオクリップとの重み付け距離値を得るステップと、
前記重み付け距離値に基づいて、前記第1オーディオクリップと前記第2オーディオクリップとの間のマッチング度を決定するステップと、を含み、
前記複数の第1特徴シーケンス及び前記複数の第2特徴シーケンスのそれぞれは、音高特徴、楽音エネルギー、周波数ケプストラム係数、フレーム毎の二乗平均平方根エネルギー値のうちの少なくとも2つに対応する、方法。
【請求項2】
前記距離行列における開始位置からターゲット位置までの第1累積距離を決定するステップは、
前記開始位置から第1候補位置までの累積距離を決定するステップであって、前記第1候補位置は、前記開始位置と前記ターゲット位置との間に位置する、ステップと、
前記開始位置から前記第1候補位置までの累積距離及び前記第1候補位置で表される距離値に基づいて、前記開始位置から前記ターゲット位置までの第1候補累積距離を決定するステップと、
前記第1候補累積距離のうちの最小値を前記第1累積距離として決定するステップと、を含むことを特徴とする
請求項1に記載の方法。
【請求項3】
前記開始位置から前記第1候補位置までの累積距離及び前記第1候補位置で表される距離値に基づいて、前記開始位置から前記ターゲット位置までの第1候補累積距離を決定するステップは、
前記累積距離と前記第1候補位置で表される前記距離値に対して加算を行い、前記第1候補位置に対応する距離合計値を得るステップであって、前記累積距離は、前記開始位置から前記第1候補位置までの距離である、ステップと、
前記距離合計値を前記第1候補位置に対応する前記第1候補累積距離として決定するステップと、を含むことを特徴とする
請求項2に記載の方法。
【請求項4】
前記開始位置から前記第1候補位置までの累積距離及び前記第1候補位置で表される距離値に基づいて、前記開始位置から前記ターゲット位置までの第1候補累積距離を決定するステップは、
前記第1候補位置で表される距離値及び前記第1候補位置に対応する重み値に基づいて、各前記第1候補位置で表される距離値に対して重み付け演算を行い、前記第1候補位置に対応する重み付け距離値を得るステップと、
前記累積距離と前記第1候補位置に対応する前記重み付け距離値に対して加算を行い、前記第1候補位置に対応する距離合計値を得るステップであって、前記累積距離は、前記開始位置から前記第1候補位置までの距離である、ステップと、
前記距離合計値を前記第1候補位置に対応する前記第1候補累積距離として決定するステップと、を含むことを特徴とする
請求項2に記載の方法。
【請求項5】
前記距離合計値を前記第1候補位置に対応する前記第1候補累積距離として決定する前に、前記方法は、
前記第1候補位置と前記距離行列の対角線との間の距離を決定するステップであって、前記対角線は、前記開始位置と前記終了位置を連結した直線である、ステップと、
各前記第1候補位置と前記対角線との間の距離に基づいて、各前記第1候補位置に対応する重み値を決定するステップと、更に含むことを特徴とする
請求項4に記載の方法。
【請求項6】
前記第1候補位置と前記ターゲット位置との間に関連関係が存在し、前記関連関係は、前記第1候補位置が前記ターゲット位置の周辺の所定の距離範囲内にあることを表すためのものであることを特徴とする
請求項2に記載の方法。
【請求項7】
前記距離行列における終了位置から前記ターゲット位置までの第2累積距離を算出するステップは、
前記終了位置から第2候補位置までの累積距離を決定するステップであって、前記第2候補位置は、前記ターゲット位置と前記終了位置との間に位置する、ステップと、
前記終了位置から前記第2候補位置までの累積距離及び前記第2候補位置で表される距離値に基づいて、前記終了位置から前記ターゲット位置までの第2候補累積距離を決定するステップと、
前記第2候補累積距離のうちの最小値を前記第2累積距離として決定するステップと、を含むことを特徴とする
請求項1に記載の方法。
【請求項8】
前記第2候補位置と前記ターゲット位置との間に関連関係が存在し、前記関連関係は、前記第2候補位置が前記ターゲット位置の周辺の所定の距離範囲内にあることを表すためのものであることを特徴とする
請求項7に記載の方法。
【請求項9】
前記第1累積距離及び前記第2累積距離に基づいて、前記第1特徴シーケンスと前記第2特徴シーケンスとの間の最小距離を決定するステップは、
前記ターゲット位置で表される距離値、前記第1累積距離及び前記第2累積距離に基づいて、前記ターゲット位置に対応する最小累積距離を決定するステップと、
前記ターゲット位置に対応する最小累積距離から最小値を選択し、前記最小値を前記第1特徴シーケンスと前記第2特徴シーケンスとの間の最小距離として決定するステップと、を含むことを特徴とする
請求項1から8のうちいずれか一項に記載の方法。
【請求項10】
前記第1累積距離、前記第2累積距離及び前記ターゲット位置で表される距離値に基づいて、前記ターゲット位置に対応する最小累積距離を決定するステップは、
前記ターゲット位置で表される距離値、前記第1累積距離及び前記第2累積距離に対して加算を行い、前記ターゲット位置に対応する前記最小累積距離を得るステップ、
又は、
前記ターゲット位置で表される距離値と前記ターゲット位置に対応する重み値に対して重み付け演算を行い、前記ターゲット位置に対応する重み付け距離値を得て、前記重み付け距離値、前記第1累積距離及び前記第2累積距離に対して加算を行い、前記ターゲット位置に対応する前記最小累積距離を得るステップを含むことを特徴とする
請求項9に記載の方法。
【請求項11】
オーディオクリップのマッチング方法であって、
サーバが第1オーディオクリップに対応する第1特徴シーケンス及び第2オーディオクリップに対応する第2特徴シーケンスを取得するステップであって、前記第1オーディオクリップは、複数の第1特徴シーケンスに対応し、前記第2オーディオクリップは、複数の第2特徴シーケンスに対応するステップと、
前記サーバが前記第1特徴シーケンスと前記第2特徴シーケンスとの間の距離行列を構築するステップであって、前記距離行列における要素は、第1位置点と第2位置点との間の距離を表すためのものであり、前記第1位置点は、前記第1特徴シーケンスに位置し、前記第2位置点は、前記第2特徴シーケンスに位置する、ステップと、
前記サーバが前記距離行列における開始位置からターゲット位置までの第1累積距離、及び前記距離行列における終了位置から前記ターゲット位置までの第2累積距離を決定するステップであって、前記ターゲット位置は、前記第1特徴シーケンスに位置するある位置点と前記第2特徴シーケンスに位置するある位置点とから構成され、前記開始位置及び前記終了位置からそれぞれ前記ターゲット位置までの最短経路を決定するステップを含む、ステップと、
前記サーバが前記第1累積距離及び前記第2累積距離に基づいて、前記第1特徴シーケンスと前記第2特徴シーケンスとの間の最小距離を決定するステップであって、前記第1特徴シーケンスと前記第2特徴シーケンスとは、同一の特徴に対応する、ステップと、
前記サーバが複数の前記最小距離に対して重み付け加算を行い、前記第1オーディオクリップと前記第2オーディオクリップとの重み付け距離値を得るステップと、
前記サーバが前記重み付け距離値に基づいて、前記第1オーディオクリップと前記第2オーディオクリップとの間のマッチング度を決定するステップと、を含み、
前記複数の第1特徴シーケンス及び前記複数の第2特徴シーケンスのそれぞれは、音高特徴、楽音エネルギー、周波数ケプストラム係数、フレーム毎の二乗平均平方根エネルギー値のうちの少なくとも2つに対応する、
方法。
【請求項12】
オーディオクリップのマッチング装置であって、
第1オーディオクリップに対応する第1特徴シーケンス及び第2オーディオクリップに対応する第2特徴シーケンスを取得し、前記第1オーディオクリップは、複数の第1特徴シーケンスに対応し、前記第2オーディオクリップは、複数の第2特徴シーケンスに対応するように構成される取得ユニットと、
前記取得ユニットから、前記第1特徴シーケンス及び前記第2特徴シーケンスを取得し、前記第1特徴シーケンスと前記第2特徴シーケンスとの間の距離行列を構築するように構成される構築ユニットであって、前記距離行列における要素は、第1位置点と第2位置点との間の距離を表すためのものであり、前記第1位置点は、前記第1特徴シーケンスに位置し、前記第2位置点は、前記第2特徴シーケンスに位置する、構築ユニットと、
前記構築ユニットから前記距離行列を取得し、前記距離行列における開始位置からターゲット位置までの第1累積距離、及び前記距離行列における終了位置から前記ターゲット位置までの第2累積距離を決定し、前記ターゲット位置は、前記第1特徴シーケンスに位置するある位置点と前記第2特徴シーケンスに位置するある位置点とから構成され、前記開始位置及び前記終了位置からそれぞれ前記ターゲット位置までの最短経路を決定し、前記第1累積距離及び前記第2累積距離に基づいて、前記第1特徴シーケンスと前記第2特徴シーケンスとの間の最小距離を決定し、複数の前記最小距離に対して重み付け加算を行い、前記第1オーディオクリップと前記第2オーディオクリップとの重み付け距離値を取得し、前記重み付け距離値に基づいて、前記第1オーディオクリップと前記第2オーディオクリップとの間のマッチング度を決定し、前記第1特徴シーケンスと前記第2特徴シーケンスとは、同一の特徴に対応し、前記複数の第1特徴シーケンス及び前記複数の第2特徴シーケンスのそれぞれは、音高特徴、楽音エネルギー、周波数ケプストラム係数、フレーム毎の二乗平均平方根エネルギー値のうちの少なくとも2つに対応するように構成される処理ユニットと、を備える、装置。
【請求項13】
コンピュータプログラムであって、
プロセッサにより実行される時、前記プロセッサに請求項1から11のうちいずれか一項に記載のオーディオクリップのマッチング方法を実施させる、コンピュータプログラム。
【請求項14】
電子機器であって、
1つ以上のプロセッサと、
1つ以上のプログラムを記憶するように構成される記憶装置と、を備え、前記1つ以上のプログラムが前記1つ以上のプロセッサにより実行される時、前記1つ以上のプロセッサに請求項1から11のうちいずれか一項に記載のオーディオクリップのマッチング方法を実施させる、電子機器。
【発明の詳細な説明】
【技術分野】
【0001】
(関連出願の相互参照)
本願は、2019年05月24日に提出された、出願番号が201910441366.5であり、発明名称が「オーディオクリップのマッチング方法及びその装置、コンピュータ可読媒体並びに電子機器」である中国特許出願に基づく優先権を主張し、該中国特許出願の全内容が参照として本願に組み込まれる。
【0002】
本願は、コンピュータ及び通信技術分野に関し、特にオーディオクリップのマッチング方法及びその装置、コンピュータプログラム並びに電子機器に関する。
【背景技術】
【0003】
鼻歌による音楽検索又は鼻歌評点シーンのようなオーディオクリップのマッチングシーンにおいて、一般的には、鼻歌メロディのオーディオ特徴シーケンスと検索されるべきオーディオの特徴シーケンスとの差異程度を比較することで、2つのオーディオクリップの類似度を評価する。しかしながら、オーディオクリックマッチングの正確性を如何に向上させることは、解決されるべき技術的課題である。
【発明の概要】
【発明が解決しようとする課題】
【0004】
本願の実施例は、オーディオクリップマッチングの正確性を向上させることができるオーディオクリップのマッチング方法、装置、コンピュータプログラム及び電子機器を提供する。
【課題を解決するための手段】
【0005】
本願の他の態様及び利点は、以下の記述によって明瞭となり、又は、一部が本願の実践によって得られる。
【0006】
本願の実施例の一態様によれば、オーディオクリップのマッチング方法を提供する。該方法は、
第1オーディオクリップに対応する第1特徴シーケンス及び第2オーディオクリップに対応する第2特徴シーケンスを取得するステップと、
前記第1特徴シーケンスと前記第2特徴シーケンスとの間の距離行列を構築するステップであって、前記距離行列における要素は、第1位置点と第2位置点との間の距離を表すためのものであり、前記第1位置点は、前記第1特徴シーケンスに位置し、前記第2位置点は、前記第2特徴シーケンスに位置する、ステップと、
前記距離行列における開始位置からターゲット位置までの第1累積距離、及び前記距離行列における終了位置から前記ターゲット位置までの第2累積距離を決定するステップと、
前記第1累積距離及び前記第2累積距離に基づいて、前記第1特徴シーケンスと前記第2特徴シーケンスとの間の最小距離を決定するステップと、
前記最小距離に基づいて、前記第1オーディオクリップと前記第2オーディオクリップとの間のマッチング度を決定するステップと、を含む。
【0007】
本願の実施例のもう1つの態様によれば、オーディオクリップのマッチング方法を提供する。前記方法は、
サーバが第1オーディオクリップに対応する第1特徴シーケンス及び第2オーディオクリップに対応する第2特徴シーケンスを取得するステップと、
前記サーバが前記第1特徴シーケンスと前記第2特徴シーケンスとの間の距離行列を構築するステップであって、前記距離行列における要素は、第1位置点と第2位置点との間の距離を表すためのものであり、前記第1位置点は、前記第1特徴シーケンスに位置し、前記第2位置点は、前記第2特徴シーケンスに位置する、ステップと、
前記サーバが前記距離行列における開始位置からターゲット位置までの第1累積距離、及び前記距離行列における終了位置から前記ターゲット位置までの第2累積距離を決定するステップと、
前記サーバが前記第1累積距離及び前記第2累積距離に基づいて、前記第1特徴シーケンスと前記第2特徴シーケンスとの間の最小距離を決定するステップと、
前記サーバが前記最小距離に基づいて、前記第1オーディオクリップと前記第2オーディオクリップとの間のマッチング度を決定するステップと、を含む。
【0008】
本願の実施例のもう1つの態様によれば、オーディオクリップのマッチング装置を提供する。該装置は、
第1オーディオクリップに対応する第1特徴シーケンス及び第2オーディオクリップに対応する第2特徴シーケンスを取得するように構成される取得ユニットと、
前記取得ユニットから、前記第1特徴シーケンス及び前記第2特徴シーケンスを取得し、前記第1特徴シーケンスと前記第2特徴シーケンスとの間の距離行列を構築するように構成される構築ユニットであって、前記距離行列における要素は、第1位置点と第2位置点との間の距離を表すためのものであり、前記第1位置点は、前記第1特徴シーケンスに位置し、前記第2位置点は、前記第2特徴シーケンスに位置する、構築ユニットと、
前記構築ユニットから前記距離行列を取得し、前記距離行列における開始位置からターゲット位置までの第1累積距離、及び前記距離行列における終了位置から前記ターゲット位置までの第2累積距離を決定し、前記第1累積距離及び前記第2累積距離に基づいて、前記第1特徴シーケンスと前記第2特徴シーケンスとの間の最小距離を決定し、前記最小距離に基づいて、前記第1オーディオクリップと前記第2オーディオクリップとの間のマッチング度を決定するように構成される処理ユニットと、を備える。
【0009】
選択可能な実施例において、前記処理ユニットは、
前記開始位置から第1候補位置までの累積距離を決定するように構成される決定サブユニットであって、前記第1候補位置は、前記開始位置と前記ターゲット位置との間に位置する、決定サブユニットを備え、
決定サブユニットは更に、前記開始位置から前記第1候補位置までの累積距離及び前記第1候補位置で表される距離値に基づいて、前記開始位置から前記ターゲット位置までの第1候補累積距離を決定し、前記第1候補累積距離のうちの最小値を前記第1累積距離として決定するように構成される。
【0010】
選択可能な実施例において、前記決定サブユニットは更に、前記累積距離と前記第1候補位置で表される前記距離値に対して加算を行い、前記第1候補位置に対応する距離合計値を得るように構成され、前記累積距離は、前記開始位置から前記第1候補位置までの距離であり、
決定サブユニットは更に、前記距離合計値を前記第1候補位置に対応する前記第1候補累積距離として決定するように構成される。
【0011】
選択可能な実施例において、前記決定サブユニットは更に、前記第1候補位置で表される距離値及び前記第1候補位置に対応する重み値に基づいて、各前記第1候補位置で表される距離値に対して重み付け演算を行い、前記第1候補位置に対応する重み付け距離値を得るように構成され、
決定サブユニットは更に、前記開始位置から前記第1候補位置までの累積距離と前記第1候補位置に対応する前記重み付け距離値に対して加算を行い、前記第1候補位置に対応する距離合計値を得て、前記距離合計値を前記第1候補位置に対応する前記第1候補累積距離として決定するように構成される。
【0012】
選択可能な実施例において、前記決定サブユニットは更に、前記第1候補位置と前記距離行列の対角線との間の距離を決定するステップであって、前記対角線は、前記開始位置と前記終了位置を連結した直線である、ステップと、各前記第1候補位置と前記対角線との間の距離に基づいて、各前記第1候補位置に対応する重み値を決定するステップと、を実行するように構成される。
【0013】
選択可能な実施例において、前記第1候補位置と前記ターゲット位置との間に関連関係が存在し、前記関連関係は、前記第1候補位置が前記ターゲット位置の周辺の所定の距離範囲内にあることを表すためのものである。
【0014】
選択可能な実施例において、前記処理ユニットは、
前記終了位置から第2候補位置までの累積距離を決定するように構成される決定サブユニットであって、前記第2候補位置は、前記ターゲット位置と前記終了位置との間に位置する、決定サブユニットを備え、
決定サブユニットは更に、前記終了位置から前記第2候補位置までの累積距離及び前記第2候補位置で表される距離値に基づいて、前記終了位置から前記ターゲット位置までの第2候補累積距離を決定し、前記第2候補累積距離のうちの最小値を前記第2累積距離として決定するように構成される。
【0015】
選択可能な実施例において、前記第2候補位置と前記ターゲット位置との間に関連関係が存在し、前記関連関係は、前記第2候補位置が前記ターゲット位置の周辺の所定の距離範囲内にあることを表すためのものである。
【0016】
選択可能な実施例において、前記処理ユニットは、
前記ターゲット位置で表される距離値、前記第1累積距離及び前記第2累積距離に基づいて、前記ターゲット位置に対応する最小累積距離を決定し、前記ターゲット位置に対応する最小累積距離から最小値を選択し、前記最小値を前記第1特徴シーケンスと前記第2特徴シーケンスとの間の最小距離として決定するように構成される決定サブユニットを備える。
【0017】
選択可能な実施例において、前記決定サブユニットは更に、前記ターゲット位置で表される距離値、前記第1累積距離及び前記第2累積距離に対して加算を行い、前記ターゲット位置に対応する前記最小累積距離を得るように構成され、
又は、
前記決定サブユニットは更に、前記ターゲット位置で表される距離値と前記ターゲット位置に対応する重み値に対して重み付け演算を行い、前記ターゲット位置に対応する重み付け距離値を得て、前記重み付け距離値、前記第1累積距離及び前記第2累積距離に対して加算を行い、前記ターゲット位置に対応する前記最小累積距離を得るように構成される。
【0018】
選択可能な実施例において、前記第1オーディオクリップは、n個の前記第1特徴シーケンスに対応し、前記第2オーディオクリップは、n個の前記第2特徴シーケンスに対応し、nは、正整数であり、
前記取得ユニットは更に、n個の前記第1特徴シーケンスとn個の前記第2特徴シーケンスとの間のn個の最小距離を取得するように構成され、
処理ユニットは更に、n個の前記最小距離に対して重み付け加算を行い、前記第1オーディオクリップと前記第2オーディオクリップとの重み付け距離値を得て、前記重み付け距離値に基づいて、前記第1オーディオクリップと前記第2オーディオクリップとの間のマッチング度を決定するように構成される。
【0019】
選択可能な実施例において、前記技術的解決手段によれば、前記複数の特徴は、オーディオクリップの音高特徴、楽音エネルギー、周波数ケプストラム係数、フレーム毎の二乗平均平方根エネルギー値を含む。
【0020】
本願の実施例のもう1つの態様によれば、コンピュータ可読媒体を提供する。前記コンピュータ可読媒体にコンピュータプログラムが記憶されており、前記コンピュータプログラムがプロセッサにより実行される時、上記実施例に記載のオーディオクリップのマッチング方法を実施させる。
【0021】
本願の実施例のもう1つの態様によれば、電子機器を提供する。前記電子機器は、1つ以上のプロセッサと、1つ以上のプログラムを記憶するように構成される記憶装置と、を備え、前記1つ以上のプログラムが前記1つ以上のプロセッサにより実行される時、前記1つ以上のプロセッサに上記実施例に記載のオーディオクリップのマッチング方法を実施させる。
【0022】
本願の実施例のもう1つの態様によれば、コンピュータプログラムを提供する。前記コンピュータプログラムは、コンピュータで実行される時、コンピュータに、本願の実施例で提供されるオーディオクリップのマッチング方法を実行させる。
【発明の効果】
【0023】
本願の実施例で提供される技術的解決手段の有益な効果は少なくとも以下を含む。
【0024】
距離行列における開始位置から距離行列におけるターゲット位置までの第1累積距離を算出し、距離行列における終了位置から該ターゲット位置までの第2累積距離を算出し、該第1累積距離及び第2累積距離に基づいて、第1特徴シーケンスと第2特徴シーケンスとの間の最小距離を得る。これにより、2つの特徴シーケンス間の最小距離を算出する場合、2つの方向(つまり、距離行列の開始位置からターゲット位置まで、距離行列の終了位置からターゲット位置まで)から、総合的に演算を行い、更に、2つ方向での、特徴シーケンスのマッチング関係を両立させることができる。従って、算出された2つの特徴シーケンス間の最小距離がより正確であることを確保することができ、オーディオクリップマッチングの正確性の向上に寄与する。
【0025】
上記の一般的な説明及び後述する細部に関する説明は、例示及び説明のためのものに過ぎず、本願を限定するものではないことが理解されるべきである。
【図面の簡単な説明】
【0026】
図1】本願の一例示的な実施例によるシステムアーキテクチャを示す概略図である。
図2】本願の一例示的な実施例によるオーディオクリップのマッチング方法を示すフローチャートである。
図3】本願の一例示的な実施例による距離行列を示す概略図である。
図4】本願の一例示的な実施例による第1累積距離の算出を示すフローチャートである。
図5】本願の一例示的な実施例による距離行列の開始位置から累積距離を算出するという算出方向を示す概略図である。
図6】本願の一例示的な実施例による第2累積距離の算出を示すフローチャートである。
図7】本願の一例示的な実施例による距離行列の終了位置から累積距離を算出するという算出方向を示す概略図である。
図8】本願の一例示的な実施例による第1特徴シーケンスと第2特徴シーケンスとの間の最小距離の算出を示すフローチャートである。
図9】本願の一例示的な実施例による第1オーディオクリップと第2オーディオクリップとの間のマッチング度の決定を示すフローチャートである。
図10】本願の一例示的な実施例による鼻歌評点方法を示すフローチャートである。
図11】本願の一例示的な実施例による算出されたグローバル最適経路を示す概略図である。
図12】本願の一例示的な実施例によるオーディオクリップのマッチング装置を示すブロック図である。
図13】本願の一例示的な実施例による電子機器のコンピュータシステムの構造を示す概略図である。
【発明を実施するための形態】
【0027】
本願の実施例における技術的解決手段をより明確に説明するために、以下、実施例の説明に必要な図面を簡単に説明する。勿論、以下の図面は本願の一部の実施例に過ぎず、当業者は創造的な労力を要することなく、これらの図面に基づいて他の図面を得ることもできる。
【0028】
本願の目的、技術的解決手段及び利点をより明確にするために、以下、図面を参照しながら、本願の実施形態をさらに詳しく説明する。
【0029】
図1は、本願の実施例の技術的解決手段を適用できる例示的なシステムアーキテクチャを示す概略図である。
【0030】
図1に示すように、システムアーキテクチャは、端末機器(例えば、図1に示すスマートフォン101、タブレット102及びポータブルコンピュータ103のうちの1つ以上であってもよく、勿論、デスクトップコンピュータなどであってもよい)、ネットワーク104及びサーバ105を備えてもよい。ネットワーク104は、端末機器とサーバ105との間で通信リンクを提供する媒体である。ネットワーク104は、例えば、有線通信リンク、無線通信リンクなどの種々の接続タイプを含んでもよい。
【0031】
図1における端末機器、ネットワーク及びサーバの数は、例示的なものだけである。実現の需要に応じて、任意の数の端末機器、ネットワーク及びサーバを有してもよい。例えば、サーバ105は、複数のサーバからなるサーバクラスタなどであってもよい。
【0032】
本願の一実施例において、ユーザは、端末機器を利用してサーバ105に第1オーディオクリップ(例えば、ユーザがアカペラで歌ったオーディオクリップであってもよい)をアップロードすることができる。サーバ105は、端末機器からアップロードされた第1オーディオクリップを取得した後、第1オーディオクリップに対応する第1特徴シーケンスを抽出し、第1オーディオクリップとマッチングされるべき第2オーディオクリップ(例えば、サーバ105に事前記憶されたオーディオクリップ)を取得し、第2オーディオクリップに対応する第2特徴シーケンスを抽出する。続いて、第1特徴シーケンスと第2特徴シーケンスとの間の距離行列を構築し、該距離行列における要素は、第1位置点と第2位置点との間の距離を表すためのものであり、ここで、第1位置点は、第1特徴シーケンスに位置し、第2位置点は、第2特徴シーケンスに位置する。
【0033】
本願の一実施例において、距離行列を構築した後、サーバ105は、該距離行列における開始位置から距離行列におけるターゲット位置までの第1累積距離を算出し、距離行列における終了位置からターゲット位置までの第2累積距離を算出し、続いて、第1累積距離及び第2累積距離に基づいて、第1特徴シーケンスと第2特徴シーケンスとの間の最小距離を算出し、該最小距離に基づいて、第1オーディオクリップと第2オーディオクリップとの間のマッチング度を決定することができる。上記から分かるように、本願の実施例の技術的解決手段は、2つの方向(つまり、距離行列の開始位置からターゲット位置まで、距離行列の終了位置からターゲット位置まで)から、オーディオクリップの特徴シーケンス間の最小距離を総合的に算出し、更に、2つ方向での、特徴シーケンスのマッチング関係を両立させることができる。従って、算出された2つの特徴シーケンス間の最小距離がより正確であることを確保することができ、オーディオクリップマッチングの正確性の向上に寄与する。
【0034】
以下、本願の実施例の技術的解決手段の実現細部を詳しく説明する。
【0035】
図2は、本願の一例示的な実施例によるオーディオクリップのマッチング方法を示すフローチャートである。該オーディオクリップのマッチング方法は、コンピューティング処理能力を持つ機器により実行されてもよい。例えば、図1に示すサーバ105により実行されてもよい。図2に示すように、該オーディオクリップのマッチング方法は少なくとも以下を含む。
【0036】
ステップS210において、サーバが第1オーディオクリップに対応する第1特徴シーケンス及び第2オーディオクリップに対応する第2特徴シーケンスを取得する。
【0037】
本願の一実施例において、第1オーディオクリップ及び第2オーディオクリップは、マッチング度を決定するために比較される2つのオーディオクリップである。例えば、第1オーディオクリップは、ユーザにより入力されたオーディオクリップ(例えば、アカペラで歌ったオーディオクリップ、ユーザにより録音されたオーディオクリップなど)であり、第2オーディオクリップは、データベースに記憶されたオーディオクリップである。
【0038】
本願の一実施例において、第1特徴シーケンス及び第2特徴シーケンスは、同一のオーディオ特徴に対するシーケンスである。オーディオ特徴は、音高特徴、楽音エネルギー、周波数ケプストラム係数、フレーム毎の二乗平均平方根エネルギー値のうちの少なくとも1つを含む。
【0039】
本願の一実施例において、第1オーディオクリップ及び第2オーディオクリップの特徴シーケンスを抽出する場合、自己相関関数メカニズム、Yinメカニズム、PYinメカニズムのうちの少なくとも1つを含む。
【0040】
ステップS220において、サーバが第1特徴シーケンスと第2特徴シーケンスとの間の距離行列を構築し、距離行列における要素は、第1位置点と第2位置点との間の距離を表すためのものであり、第1位置点は、第1特徴シーケンスに位置し、第2位置点は、第2特徴シーケンスに位置する。
【0041】
幾つかの実施例において、距離行列の寸法は、第1特徴シーケンス及び第2特徴シーケンスの長さに関わる。例示的に、第1特徴シーケンスの長さがmであり、第2特徴シーケンスの長さがnであると、距離行列の大きさは、m×nである。例示的に、図3に示すように、第1特徴シーケンスが301であり、第2特徴シーケンスが302であるとすれば、大きさがm×nである距離行列303を構築し、距離行列における各位置は、第1特徴シーケンス301における1つの点と第2特徴シーケンス302における1つの点との間の距離を表す。例えば、距離行列における(i,j)は、第1特徴シーケンス301におけるi番目の点と第2特徴シーケンス302におけるj番目の点との間の距離を表し、該距離は、ユークリッド距離を含む。
【0042】
ステップS230において、サーバが距離行列における開始位置からターゲット位置までの第1累積距離、及び距離行列における終了位置からターゲット位置までの第2累積距離を決定する。
【0043】
本願の一実施例において、距離行列における開始位置は、距離行列における、第1特徴シーケンスにおける1番目の特徴点と第2特徴シーケンスにおける1番目の特徴点に対応する位置である。距離行列における終了位置は、距離行列における、第1特徴シーケンスにおける最後の特徴点と第2特徴シーケンスにおける最後の特徴点に対応する位置である。ターゲット位置は、距離行列における開始位置及び終了位置以外のいずれか1つの位置を含む。
【0044】
本願の一実施例において、図4に示すように、開始位置とターゲット位置との第1累積距離の算出プロセスは、下記ステップS410からステップS430を含む。
【0045】
ステップS410において、サーバが開始位置から第1候補位置までの累積距離を決定し、第1候補位置は、開始位置とターゲット位置との間に位置する。
【0046】
本願の一実施例において、距離行列の開始位置から、累積距離を算出する場合、行列における3つの方向から、位置ごとに距離累積演算を行う。つまり、図5に示す、上、右及び右上対角という3つの方向である。
【0047】
つまり、第1候補位置とターゲット位置とは、関連関係がある。該関連関係は、第1候補位置がターゲット位置の周辺の所定の距離範囲内にあることを表すためのものである。例えば、ターゲット位置の座標が(i,j)であると、複数の第1候補位置の座標は、(i-1,j-1)、(i-1,j-x)、(i-x,j-1)を含み、ここで、xは、i又はj未満の自然数であり、例えば、xは、0、2、3等である。
【0048】
本願の一実施例において、上記実施例におけるxは、1より大きくてもよい。この場合、累積距離を算出する場合、(x-1)個の位置を隔てて累積を行い、更に、累積距離の算出プロセスを加速することで、算出速度の向上に寄与する。しかしながら、算出結果の正確性を保証するために、x値は、大きすぎる値ではないことが好ましいため、実際の需要に応じて設定し、例えば、2とする。
【0049】
本願の一実施例において、開始位置と第1候補位置との累積距離の算出プロセスは、開始位置とターゲット位置との累積距離の算出プロセスと類似する。
【0050】
ステップS420において、サーバが開始位置から第1候補位置までの累積距離及び第1候補位置で表される距離値に基づいて、開始位置からターゲット位置までの第1候補累積距離を決定する。
【0051】
本願の一実施例において、開始位置からターゲット位置までの複数の第1候補累積距離の算出プロセスは、開始位置から第1候補位置までの累積距離と第1候補位置で表される距離値に対して加算を行い、第1候補位置に対応する距離合計値を得て、距離合計値を第1候補位置に対応する第1候補累積距離として決定するステップを含む。
【0052】
例えば、1つの第1候補位置は、(i-1,j-1)であり、該第1候補位置で表される距離値は、d(i-1,j-1)であると、該第1候補位置に対応する距離合計値は、D_forward(i-1,j-1)+d(i-1,j-1)で表されてもよく、ここで、D_forward(i-1,j-1)は、距離行列における開始位置から該第1候補位置までの累積距離を表す。
【0053】
本願の一実施例において、開始位置からターゲット位置までの第1候補累積距離を算出する場合、まず、第1候補位置で表される距離値及び第1候補位置に対応する重み値に基づいて、各第1候補位置で表される距離値に対して重み付け演算を行い、第1候補位置に対応する重み付け距離値を得る。開始位置から第1候補位置までの累積距離と第1候補位置に対応する重み付け距離値に対して加算を行い、第1候補位置に対応する距離合計値を得て、距離合計値を第1候補位置に対応する第1候補累積距離として決定する。例えば、1つの第1候補位置は、(i-1,j-1)であり、該第1候補位置で表される距離値は、d(i-1,j-1)であり、該第1候補位置に対応する重み値は、wであると、該第1候補位置に対応する距離合計値は、D_forward(i-1,j-1)+d(i-1,j-1)×wで表されてもよく、ここで、D_forward(i-1,j-1)は、距離行列における開始位置から該第1候補位置までの累積距離を表す。
【0054】
幾つかの実施例において、上記第1候補位置に対応する重み値は、第1候補位置と距離行列の対角線との間の距離に基づいて決定されたものである。つまり、第1候補位置と距離行列の対角線との間の距離を決定し、各第1候補位置と対角線との間の距離に基づいて、各第1候補位置に対応する重み値を決定する。ここで、対角線は、開始位置と終了位置を連結した直線である。つまり、上記実施例において、各第1候補位置に対応する重み値を考慮した。その理由は、各第1候補位置と距離行列の対角線との間の距離が異なる可能性があり、各第1候補位置から最後に選択された位置が距離行列の対角線から遠く外れることを避けるために、各第1候補位置と距離行列の対角線との間の距離に基づいて、各第1候補位置に対応する重みを設定することである。例えば、1つの位置が対角線に近いほど、該位置に対応する重みは、1に近くなる。1つの位置が対角線に遠いほど、該位置に対応する重みは、大きくなる。
【0055】
ステップS430において、サーバが第1候補累積距離のうちの最小値を第1累積距離として決定する。
【0056】
図4に示す実施例の技術的解決手段によれば、距離行列の開始位置から距離行列におけるターゲット位置までの第1累積距離を算出することができる。
【0057】
以下、図6を参照しながら、本願の実施例における距離行列における終了位置からターゲット位置までの第1累積距離の算出を説明する。具体的には、下記ステップS610からステップS630を含む。
【0058】
ステップS610において、サーバが終了位置から第2候補位置までの累積距離を決定し、第2候補位置は、ターゲット位置と終了位置との間に位置する。
【0059】
本願の一実施例において、距離行列の終了位置から、累積距離を算出する場合、行列における3つの方向から、位置ごとに距離累積演算を行う。つまり、図7に示す、下、左及び左下対角という3つの方向である。つまり、第2候補位置とターゲット位置とは、関連関係がある。該関連関係は、第2候補位置がターゲット位置の周辺の所定の範囲内にあることを表すためのものである。ターゲット位置の座標が(i,j)であると、複数の第2候補位置の座標は、(i+1,j+1)、(i+1,j+y)、(i+y,j+1),を含み、ここで、yは、自然数であり、例えば、yは、0,2、3等である。
【0060】
本願の一実施例において、上記実施例におけるyは、1より大きくてもよい。この場合、累積距離を算出する場合、(y-1)個の位置を隔てて累積を行い、更に、累積距離の算出プロセスを加速することで、算出速度の向上に寄与する。しかしながら、算出結果の正確性を保証するために、yの値は、大きすぎる値ではないことが好ましいため、実際の需要に応じて設定し、例えば、2とする。
【0061】
本願の一実施例において、終了位置と第2候補位置との累積距離の算出プロセスは、終了位置とターゲット位置との累積距離の算出プロセスと類似する。
【0062】
ステップS620において、サーバが終了位置から第2候補位置までの累積距離及び第2候補位置で表される距離値に基づいて、終了位置からターゲット位置までの第2候補累積距離を決定する。
【0063】
本願の一実施例において、終了位置からターゲット位置までの第2候補累積距離の算出プロセスは、終了位置から第2候補位置までの累積距離と第2候補位置で表される距離値に対して加算を行い、各第2候補位置に対応する距離合計値を得て、距離合計値を第2候補位置に対応する第2候補累積距離として決定するステップを含む。例えば、1つの第2候補位置は、(i+1,j+1)であり、該第2候補位置で表される距離値は、d(i+1,j+1)であると、該第2候補位置に対応する距離合計値は、D_backward(i+1,j+1)+d(i+1,j+1)で表されてもよく、ここで、D_backward(i+1,j+1)は、距離行列における終了位置から該第2候補位置までの累積距離を表す。
【0064】
本願の一実施例において、終了位置からターゲット位置までの複数の第2候補累積距離を算出するプロセスは、第2候補位置で表される距離値及び第2候補位置に対応する重み値に基づいて、第2候補位置で表される距離値に対して重み付け演算を行い、第2候補位置に対応する重み付け距離値を得るステップと、終了位置から第2候補位置までの累積距離と第2候補位置に対応する重み付け距離値に対して加算を行い、各第2候補位置に対応する距離合計値を得て、距離合計値を第2候補位置に対応する第2候補累積距離として決定するステップと、を含む。例えば、1つの第2候補位置は、(i+1,j+1)であり、該第2候補位置で表される距離値は、d(i+1,j+1)であり、該第2候補位置に対応する重み値は、wであると、該第2候補位置に対応する距離合計値は、D_backward(i+1,j+1)+d(i+1,j+1)×wで表されてもよく、ここで、D_backward(i+1,j+1)は、距離行列における終了位置から該第2候補位置までの累積距離を表す。
【0065】
幾つかの実施例において、上記第2候補位置に対応する重み値は、第2候補位置と距離行列の対角線との間の距離に基づいて決定されたものである。つまり、第2候補位置と距離行列の対角線との間の距離を決定し、各第2候補位置と対角線との間の距離に基づいて、各第2候補位置に対応する重み値を決定する。ここで、対角線は、開始位置と終了位置を連結した直線である。つまり、上記実施例において、各第2候補位置に対応する重み値を考慮した。その理由は、各第2候補位置と距離行列の対角線との間の距離が異なる可能性があり、各第2候補位置から最後に選択された位置が距離行列の対角線から遠く外れることを避けるために、各第2候補位置と距離行列の対角線との間の距離に基づいて、各第2候補位置に対応する重みを設定することである。例えば、1つの位置が対角線に近いほど、該位置に対応する重みは、1に近くなる。1つの位置が対角線に遠いほど、該位置に対応する重みは、大きくなる。
【0066】
ステップS630において、サーバが第2候補累積距離のうちの最小値を第2累積距離として決定する。
【0067】
図6に示す実施例の技術的解決手段によれば、距離行列の終了位置から距離行列におけるターゲット位置までの第2累積距離を算出することができる。
【0068】
ステップS240において、サーバが第1累積距離及び第2累積距離に基づいて、第1特徴シーケンスと第2特徴シーケンスとの間の最小距離を算出する。
【0069】
本願の一実施例において、図8に示すように、ステップS240における第1累積距離及び第2累積距離に基づいて第1特徴シーケンスと第2特徴シーケンスとの間の最小距離を算出するプロセスは、下記ステップS810からステップS820を含む。
【0070】
ステップS810において、サーバが第1累積距離、第2累積距離及びターゲット位置で表される距離値に基づいて、ターゲット位置に対応する最小累積距離を決定する。
本願の一実施例において、ターゲット位置で表される距離値、第1累積距離及び第2累積距離に対して加算を行い、ターゲット位置に対応する最小累積距離を得る。例えば、ターゲット位置は、(i,j)であり、ターゲット位置で表される距離値は、d(i,j)であり、第1累積距離は、D_forward(i,j)であり、第2累積距離は、D_backward(i,j)であると、ターゲット位置に対応する最小累積距離は、D_total(i,j)=D_forward(i,j)+D_backward(i,j)+d(i,j)である。
【0071】
本願の一実施例において、ターゲット位置で表される距離値及びターゲット位置に対応する重み値に基づいて重み付け演算を行い、ターゲット位置に対応する重み付け距離値を得る。続いて、ターゲット位置に対応する重み付け距離値、第1累積距離及び第2累積距離に対して加算を行い、ターゲット位置に対応する最小累積距離を得る。例えば、ターゲット位置は、(i,j)であり、ターゲット位置で表される距離値は、d(i,j)であり、ターゲット位置に対応する重み値は、wであり、第1累積距離は、D_forward(i,j)であり、第2累積距離は、D_backward(i,j)であると、ターゲット位置に対応する最小累積距離は、D_total(i,j)=D_forward(i,j)+D_backward(i,j)+d(i,j)×wである。ここで、ターゲット位置に対応する重み値は、ターゲット位置と距離行列の対角線との間の距離に基づいて決定されてもよい。
【0072】
引き続き図8を参照すると、ステップS820において、サーバがターゲット位置に対応する最小累積距離から、最小値を選択して第1特徴シーケンスと第2特徴シーケンスとの間の最小距離とする。
【0073】
本願の一実施例において、第1特徴シーケンスと第2特徴シーケンスとの間の最小距離は、
【0074】
【数1】
【0075】
である。
【0076】
ステップS250において、サーバが最小距離に基づいて第1オーディオクリップと第2オーディオクリップとの間のマッチング度を決定する。
【0077】
本願の一実施例において、図9に示すように、ステップS240における第1特徴シーケンスと第2特徴シーケンスとの間の最小距離に基づいて、第1オーディオクリップと第2オーディオクリップとの間のマッチング度を決定するプロセスは、下記ステップS910からステップS930を含む。
【0078】
ステップS910において、サーバがn個の第1特徴シーケンスとn個の第2特徴シーケンスとの間のn個の最小距離を取得し、nは正整数である。
【0079】
幾つかの実施例において、第1オーディオクリップは、n個の第1特徴シーケンスに対応し、第2オーディオクリップは、n個の第2特徴シーケンスに対応する。ここで、i番目の第1特徴シーケンスとi番目の第2特徴シーケンスは、同一の特徴に対応する。また、最小距離を算出する場合、i番目の第1特徴シーケンスとi番目の第2特徴シーケンスとの間の最小距離を算出する。iは、正整数であり、且つi≦nである。オーディオクリップの特徴は、オーディオクリップの音高特徴、楽音エネルギー、周波数ケプストラム係数、フレーム毎の二乗平均平方根エネルギー値のうちの少なくとも1つを含む。つまり、各特徴に対して、第1オーディオクリップの第1特徴シーケンス及び第2オーディオクリップの第2特徴シーケンスをそれぞれ取得し、これらに基づいて、2つの特徴シーケンス間の最小距離を算出し、更に、複数の特徴にそれぞれ対応する第1特徴シーケンスと第2特徴シーケンスとの間の最小距離を得る。
【0080】
ステップS920において、サーバがn個の最小距離値に対して重み付け加算を行い、第1オーディオクリップと第2オーディオクリップとの重み付け距離値を得る。
【0081】
本願の一実施例において、特徴に対応する重みは、特徴の重要度に応じて設定される。例えば、1つの特徴が比較的重要であると、該特徴に対応する重みを大きい値に設定する。1つの特徴が相対的重要ではないと、該特徴に対応する重みを小さい値に設定する。更に、重要な特徴が重み付け距離値に及ぼす影響を強調し、重要ではない特徴が重み付け距離値に及ぼす影響を弱くする。
【0082】
ステップS930において、サーバが重み付け距離値に基づいて、第1オーディオクリップと第2オーディオクリップとの間のマッチング度を決定する。
【0083】
本願の一実施例において、第1オーディオクリップと第2オーディオクリップとの重み付け距離値を算出した後、該重み付け距離値を参照値(例えば、第1特徴シーケンスの長さ又は第2特徴シーケンスの長さ)で除算することで、マッチングスコアを得て、更に、マッチングスコアに基づいて,第1オーディオクリップと第2オーディオクリップとの間のマッチング度を決定する。例えば、マッチングスコアが大きいと、第1オーディオクリップと第2オーディオクリップとの間のマッチング度が高いと判定する。逆に、マッチングスコアが小さいと、第1オーディオクリップと第2オーディオクリップとの間のマッチング度が低いと判定する。
【0084】
本願の一実施例において、1つの特徴に対応する第1特徴シーケンスと第2特徴シーケンスとの間の最小距離を直接的に第1オーディオクリップと第2オーディオクリップとの間の距離とし、更に、第1オーディオクリップと第2オーディオクリップとの間のマッチング度を決定する。
【0085】
本願の上記実施例の技術的解決手段は、2つの方向(つまり、距離行列の開始位置からターゲット位置まで、距離行列の終了位置からターゲット位置まで)から、オーディオクリップの特徴シーケンス間の最小距離を総合的に算出するため、2つ方向での、特徴シーケンスのマッチング関係を両立させることができ、更に、算出された2つの特徴シーケンス間の最小距離がより正確であることを確保することができ、オーディオクリップマッチングの正確性の向上に寄与する。
【0086】
例示的に、鼻歌評点シーンを例として、本願の実施例の技術的解決手段を詳しく説明する。
【0087】
図10に示すように、本願の実施例による鼻歌評点方法は、下記ステップを含む。
【0088】
ステップS1001において、サーバは、ユーザがアカペラで歌ったオーディオクリップを収集する。
【0089】
本願の一実施例において、ユーザは、指定の歌をアカペラで歌う。端末は、ユーザのオーディオクリップを収集し、オーディオクリップの開始及び終了時刻を記録し、更にオーディオ時間長を得る。任意選択的に、端末が収集したオーディオクリップのオーディオ時間長が所定の時間長未満であると、該オーディオクリップを濾過して除去し、評点に失敗した情報を返信する。
【0090】
ステップS1002において、サーバがオーディオクリップの音高シーケンスを抽出する。
【0091】
本願の一実施例において、自己相関関数アルゴリズム、Yinアルゴリズム又はPYinアルゴリズムを使用して、指定したサンプリング率で、オーディオクリップの音高シーケンスを抽出する。
【0092】
ステップS1003において、サーバがターゲットミュージカルインストルメントデジタルインタフェース(Musical Instrument Digital Interface:MIDI)の音高シーケンスを抽出する。
【0093】
本願の一実施例において、鼻歌評点底層は、音楽MIDIライブラリに依存し、これは、評点基準のソースである。ここで、ユーザがアカペラで歌ったオーディオクリップに、開始時間スタンプ及び終了時間スタンプがあり、MIDIライブラリにおける1つの音符シーケンスに対応することができる。続いて、MIDI音符と音高の換算式により、音高シーケンスを得る。任意選択的に、ターゲット歌クリップMIDIの音高シーケンスは、MIDIライブラリに事前生成された。
【0094】
ステップS1003とS1001及びステップS1002とは、絶対な優先順位がないことに留意されたい。
【0095】
ステップS1004において、サーバが本願の実施例のオーディオ情報マッチングアルゴリズムを使用して2つの音高シーケンス間の最小距離を算出する。
【0096】
ステップS1005において、サーバが最小距離の結果を換算式により標準スコアに変換する。
【0097】
本願の一実施例において、ステップS1004における最小距離は、累積により得られたものであるため、音高シーケンスは長いほど、算出された最小距離の値は大きくなる。該影響を解消するために、ステップS1004で算出された最小距離をユーザオーディオクリップの音高シーケンス長さで除算することで、標準スコアを得て、更に該標準スコアをユーザにフィードバックする。
【0098】
上記ステップS1004において、2つの音高シーケンスがそれぞれシーケンスp及びシーケンスqであり、シーケンスpの長さは、mであり、シーケンスqの長さは、nであり、つまり、p=(p,p,…,p,…,p)、q=(q,q,…,q,…,q)であると仮定する。従って、本願の実施例のオーディオ情報マッチングアルゴリズムで2つの音高シーケンス間の最小距離を算出する技術的解決手段は、以下のように、主に下記ステップを含む。
【0099】
ステップ(1)において、シーケンスp及びシーケンスqの距離行列及び重み行列を算出する。
【0100】
本願の一実施例において、距離行列における位置(i,j)は、pとqとの間の距離d(i,j)を表し、該距離がユークリッド距離であると、d(i,j)=(p-qである。
【0101】
本願の一実施例において、重み行列は、距離行列における要素位置(i,j)と距離行列の対角線(即ち、点(1,1)と点(m,n)で形成された直線)との間の距離を考慮したものである。シーケンスpとシーケンスqが近いほど、最後に算出された、距離行列の開始位置(即ち、点(1,1))から終了位置(即ち、点(m,n))までの最適な経路は、対角線に近くなる。従って、対角線から離れる要素位置に対して、ペナルティ重みを設定する。つまり、要素位置は、対角線に近いほど、対応する重みは、1に近くなり、要素位置は、対角線に遠いほど、対応する重みは大きくなる。
【0102】
本願の一実施例において、距離行列における位置(i,j)と距離行列の対角線との間の距離t(i,j)は、
【0103】
【数2】
【0104】
に近似してもよい。
【0105】
本願の一実施例において、重み行列における位置(i,j)の演算式は、t(i,j)のスムージング補正であり、つまり、距離行列における位置(i,j)に対応する重みw(i,j)は、下記式1で算出されてもよい。
【0106】
【数3】
【0107】
ここで、上記式1における数値は、例だけである。
【0108】
ステップ(2)において、上記ステップ(1)で算出された距離行列及び重み行列に基づいて、フォワード累積距離行列、フォワードソースノード行列、バックワード累積距離行列及びバックワードソースノード行列を算出する。
【0109】
本願の一実施例において、距離行列の開始位置及び終了位置からそれぞれ中間位置へバックトラッキングして最小距離を見出す。つまり、本願の実施例において、改良した動的タイムワーピング(Dynamic Time Warping:DTW)アルゴリズムを提供する。該アルゴリズムによれば、双方向演算を行い、シーケンスのヘッダ部のマッチング及び尾部のマッチングを同時に考慮することができ、マッチングをより完備にすることができる。
【0110】
本願の一実施例において、距離行列の開始位置からフォワード演算を行う過程において、距離累積プロセスを加速し、距離行列における要素位置が対角線からずれた程度(即ち、要素位置に対応する重み)を考慮するために、位置(i,j)の累積距離は、(i-1,j-1)、(i-1,j-2)及び(i-2,j-1)とい3つの位置から始まる。また、下記式2に示すフォワード局所判定関数D_forward(i,j)を定義することで、距離行列の開始位置から距離行列における位置(i,j)までの累積距離を表し、これにより、フォワード累積距離行列を得る。
【0111】
【数4】
【0112】
式2に対して調整を行い、下記式3を得る。
【0113】
【数5】
【0114】
上記実施例において、距離行列の開始位置からフォワード演算を行うことは、距離行列の左下隅(1,1)から始まり、各行において、左から右への演算を行い、フォワード累積距離D_forward(i,j)を算出すると同時に、D_forward(i,j)のソースノードの下付き文字である(i-1,j-1)、(i-1,j-2)及び(i-2,j-1)のうちの1つをフォワードソースノード行列における(i,j)位置に記憶する。
【0115】
本願の一実施例において、距離行列の終了位置からバックワード演算を行うプロセスは、前記実施例におけるフォワード演算と類似するが、その演算方向は、距離行列の終了位置から始まることである。つまり、距離行列の右上隅(m,n)位置から始まり、(i,j)位置の累積距離は、(i+1,j+1)、(i+1,j+2)及び(i+2,j+1)という3つの位置から始まる。また、下記式4に示すバックワード局所判定関数D_backward(i,j)を定義することで、距離行列の終了位置から距離行列における位置(i,j)までの累積距離を表し、これにより、バックワード累積距離行列を得る。
【0116】
【数6】
【0117】
式4に対して調整を行い、下記式5を得る。
【0118】
【数7】
【0119】
ここで、wは、重み値を表し、dは、距離値を表す。
【0120】
上記実施例において、距離行列の終了位置からバックワード演算を行うことは、距離行列の右上隅(m,n)から始まり、各行において、右から左への演算を行い、バックワード累積距離D_backward(i,j)を算出すると同時に、D_backward(i,j)のソースノードの下付き文字である(i+1,j+1)、(i+1,j+2)及び(i+2,j+1)のうちの1つをバックワードソースノード行列における(i,j)位置に記憶する。
【0121】
ステップ(3)において、フォワード累積距離行列及びバックワード累積距離行列から、最小距離及び最短経路を取得する。
【0122】
本願の一実施例において、距離行列におけるいずれか1つの位置(i,j)に対して、左下隅及び左上隅から、(i,j)に接続する最短経路を見出すことができる。ここで、最小距離の演算式は、下記式6に示すとおりである。
【0123】
【数8】
【0124】
上記式6によれば、下記式7で最小距離min_distを算出する。
【0125】
【数9】
【0126】
最小距離に対応する位置で、フォワードソースノード行列及びバックワードソースノード行列を検索し、1つ上のノードの下付き文字を取得し、順にトラバースすることで、フォワード((1,1)から(i,j)まで)及びバックワード((m,n)から(i,j)まで)という2本の経路を得る。これらを合わせることで、D_total(i,j)の最小値を得る。つまり、最小距離に対応するグローバル最適経路を得る。具体的には、図11示すように、2つの音高シーケンスはそれぞれ1101及び1102であり、本願の上記実施例の技術的解決手段により最終的に得られたグローバル最適経路は、1103である。
【0127】
本願の実施例の技術的解決手段は、音高シーケンスのヘッダ部優先マッチング及び尾部優先マッチングを同時に考慮したため、マッチングは、より完備である。それと同時に、累積距離を算出する場合、位置と距離行列の対角線とのオフセット量を考慮したため、最後に得られた最適経路が距離行列の対角線から大幅にずれることを避ける。従って、シーケンスマッチングに、より高いロバスト性を持たせる。
【0128】
以下、本願の装置の実施例を説明する。該装置は、本願の上記実施例におけるオーディオクリップのマッチング方法を実行するように構成される。本願の装置の実施例に開示されていない細部について、本願の上記オーディオクリップのマッチング方法の実施例を参照する。
【0129】
図12は、本願の一実施例によるオーディオクリップのマッチング装置を示すブロック図である。
【0130】
図12に示すように、本願の一実施例によるオーディオクリップのマッチング装置1200は、取得ユニット1202と、構築ユニット1204と、処理ユニット1206と、を備える。
【0131】
取得ユニット1202は、第1オーディオクリップに対応する第1特徴シーケンス及び第2オーディオクリップに対応する第2特徴シーケンスを取得するように構成され、
構築ユニット1204は、前記取得ユニット1202から、前記第1特徴シーケンス及び前記第2特徴シーケンスを取得し、前記第1特徴シーケンスと前記第2特徴シーケンスとの間の距離行列を構築するように構成され、前記距離行列における要素は、第1位置点と第2位置点との間の距離を表すためのものであり、前記第1位置点は、前記第1特徴シーケンスに位置し、前記第2位置点は、前記第2特徴シーケンスに位置し、
処理ユニット1206は、前記構築ユニット1204から前記距離行列を取得し、前記距離行列における開始位置からターゲット位置までの第1累積距離、及び前記距離行列における終了位置から前記ターゲット位置までの第2累積距離を決定し、前記第1累積距離及び前記第2累積距離に基づいて、前記第1特徴シーケンスと前記第2特徴シーケンスとの間の最小距離を決定し、前記最小距離に基づいて、前記第1オーディオクリップと前記第2オーディオクリップとの間のマッチング度を決定するように構成される。
【0132】
選択可能な実施例において、前記処理ユニット1206は、
前記開始位置から第1候補位置までの累積距離を決定するように構成される決定サブユニットであって、前記第1候補位置は、前記開始位置と前記ターゲット位置との間に位置する、決定サブユニットを備え、
決定サブユニットは更に、前記開始位置から前記第1候補位置までの累積距離及び前記第1候補位置で表される距離値に基づいて、前記開始位置から前記ターゲット位置までの第1候補累積距離を決定し、前記第1候補累積距離のうちの最小値を前記第1累積距離として決定するように構成される。
【0133】
選択可能な実施例において、前記決定サブユニットは更に、前記累積距離と前記第1候補位置で表される前記距離値に対して加算を行い、前記第1候補位置に対応する距離合計値を得るように構成され、前記累積距離は、前記開始位置から前記第1候補位置までの距離であり、
決定サブユニットは更に、前記距離合計値を前記第1候補位置に対応する前記第1候補累積距離として決定するように構成される。
【0134】
選択可能な実施例において、前記決定サブユニットは更に、前記第1候補位置で表される距離値及び前記第1候補位置に対応する重み値に基づいて、各前記第1候補位置で表される距離値に対して重み付け演算を行い、前記第1候補位置に対応する重み付け距離値を得るように構成され、
決定サブユニットは更に、前記開始位置から前記第1候補位置までの累積距離と前記第1候補位置に対応する前記重み付け距離値に対して加算を行い、前記第1候補位置に対応する距離合計値を得て、前記距離合計値を前記第1候補位置に対応する前記第1候補累積距離として決定するように構成される。
【0135】
選択可能な実施例において、前記決定サブユニットは更に、前記第1候補位置と前記距離行列の対角線との間の距離を決定するステップであって、前記対角線は、前記開始位置と前記終了位置を連結した直線である、ステップと、各前記第1候補位置と前記対角線との間の距離に基づいて、各前記第1候補位置に対応する重み値を決定するステップと、を実行するように構成される。
【0136】
選択可能な実施例において、前記第1候補位置と前記ターゲット位置との間に関連関係が存在し、前記関連関係は、前記第1候補位置が前記ターゲット位置の周辺の所定の距離範囲内にあることを表すためのものである。
【0137】
選択可能な実施例において、前記処理ユニット1206は、
前記終了位置から第2候補位置までの累積距離を決定するように構成される決定サブユニットであって、前記第2候補位置は、前記ターゲット位置と前記終了位置との間に位置する、決定サブユニットを備え、
決定サブユニットは更に、前記終了位置から前記第2候補位置までの累積距離及び前記第2候補位置で表される距離値に基づいて、前記終了位置から前記ターゲット位置までの第2候補累積距離を決定し、前記第2候補累積距離のうちの最小値を前記第2累積距離として決定するように構成される。
【0138】
選択可能な実施例において、前記第2候補位置と前記ターゲット位置との間に関連関係が存在し、前記関連関係は、前記第2候補位置が前記ターゲット位置の周辺の所定の距離範囲内にあることを表すためのものである。
【0139】
選択可能な実施例において、前記処理ユニット1206は、
前記ターゲット位置で表される距離値、前記第1累積距離及び前記第2累積距離に基づいて、前記ターゲット位置に対応する最小累積距離を決定し、前記ターゲット位置に対応する最小累積距離から最小値を選択し、前記最小値を前記第1特徴シーケンスと前記第2特徴シーケンスとの間の最小距離として決定するように構成される決定サブユニットを備える。
【0140】
選択可能な実施例において、前記決定サブユニットは更に、前記ターゲット位置で表される距離値、前記第1累積距離及び前記第2累積距離に対して加算を行い、前記ターゲット位置に対応する前記最小累積距離を得るように構成され、
又は、
前記決定サブユニットは更に、前記ターゲット位置で表される距離値と前記ターゲット位置に対応する重み値に対して重み付け演算を行い、前記ターゲット位置に対応する重み付け距離値を得て、前記重み付け距離値、前記第1累積距離及び前記第2累積距離に対して加算を行い、前記ターゲット位置に対応する前記最小累積距離を得るように構成される。
【0141】
選択可能な実施例において、前記第1オーディオクリップは、n個の前記第1特徴シーケンスに対応し、前記第2オーディオクリップは、n個の前記第2特徴シーケンスに対応し、nは、正整数であり、
前記取得ユニット1202は更に、n個の前記第1特徴シーケンスとn個の前記第2特徴シーケンスとの間のn個の最小距離を取得するように構成され、
処理ユニット1206は更に、n個の前記最小距離に対して重み付け加算を行い、前記第1オーディオクリップと前記第2オーディオクリップとの重み付け距離値を得て、前記重み付け距離値に基づいて、前記第1オーディオクリップと前記第2オーディオクリップとの間のマッチング度を決定するように構成される。
【0142】
選択可能な実施例において、前記技術的解決手段によれば、前記複数の特徴は、オーディオクリップの音高特徴、楽音エネルギー、周波数ケプストラム係数、フレーム毎の二乗平均平方根エネルギー値を含む。
【0143】
上記取得ユニット1202は、コンピュータ機器におけるメモリにより実現してもよく、コンピュータ機器におけるプロセッサにより実現してもよく、メモリ及びプロセッサにより共同で実現してもよく、上記構築ユニット1204及び処理ユニット1206は、コンピュータ機器におけるプロセッサにより実現することに留意されたい。
【0144】
図13は、本願の実施例の電子機器のコンピュータシステムの構造を示す概略図である。
【0145】
図13に示す電子機器のコンピュータシステム1300は一例だけであり、本願の実施例の機能及び使用範囲に対して如何なる限定を行わないことに留意されたい。
【0146】
図13に示すように、コンピュータシステムは、中央処理ユニット(Central Processing Unit:CPU)1301を備える。これは、読み出し専用(Read-Only Memory:ROM)1302に記憶されたプログラム又は記憶部分1308からランダムアクセスメモリ(Random Access Memory:RAM)1303にロードされたプログラムに基づいて、種々の適当な動作及び処理を実行することができる。例えば、上記実施例に記載の方法を実行する。RAM 1303に、システムの操作に必要な種々のプログラム及びデータが更に記憶されている。CPU 1301、ROM 1302及びRAM 1303は、バス1304を介して相互接続される。入力/出力(Input /Output:I/O)インタフェース1305もバス1304に接続される。
【0147】
キーボード、マウスなどを含む入力部分1306、陰極線管(Cathode Ray Tube:CRT)、液晶ディスプレイ(Liquid Crystal Display:LCD)など及びスピーカーなどの出力部分1307、ハードディスクなどを含む記憶部分1308、LAN(Local Area Network:ローカルエリアネットワーク)カード、モデルなどのネットワークインタフェースカードを含む通信部分1309は、I/Oインタフェース1305に接続される。通信部分1309は、インターネットのようなネットワークを経由して通信処理を実行する。ドライバ1310も必要に応じてI/Oインタフェース1305に接続される。磁気ディスク、光ディスク、磁気光ディスク、半導体メモリなどのようなリムーバブル媒体1311は、必要に応じてドライバ1310に取り付けられる。これにより、これから読み出したコンピュータプログラムを必要に応じて記憶部分1308にインストールする。
【0148】
特に、本願の実施例によれば、フローチャートを参照しながら記述された上記プロセスは、コンピュータソフトウェアプログラムとして実現してもよい。例えば、本願の実施例は、コンピュータプログラム製品を含み、該コンピュータプログラム製品は、コンピュータ可読媒体で搬送されるコンピュータプログラムを含み、該コンピュータプログラムは、フローチャートに示す方法を実行するためのプログラムコードを含む。このような実施例において、該コンピュータプログラムは、通信部分1309によりネットワークからダウンロードされてインストールされてもよく、及び/又は、リムーバブル媒体1311からインストールされてもよい。該コンピュータプログラムは、中央処理ユニット(CPU)1301により実行される時、本願のシステムにおいて限定される種々の機能を実行する。
【0149】
本願の実施例に示すコンピュータ可読媒体は、コンピュータ可読信号媒体、コンピュータ可読記憶媒体又は上記両者の任意の組み合わせであってもよい。コンピュータ可読記憶媒体は、電気、磁気、光、電気、赤外線又は半導体のシステム、装置又はデバイス、或いは任意の以上の組み合わせであってもよいが、これらに限定されない。コンピュータ可読記憶媒体のより具体的な例は、1つ以上のリード線を有する電気接続、ポータブルコンピュータ磁気ディスク、ハードディスク、ランダムアクセスメモリ(RAM)、読み出し専用メモリ(ROM)、消去可能なプログラマブル読み出し専用メモリ(Erasable Programmable Read Only Memory:EPROM)、フラッシュメモリ、光ファイバー、コンパクトディスク読み出し専用メモリ(Compact Disc Read-Only Memory:CD-ROM)、光記憶デバイス、磁気記憶デバイス、又は上記任意の適切な組み合わせを含んでもよいが、これらに限定されない。本願において、コンピュータ可読記憶媒体は、プログラムを含むか又は記憶する如何なる有形媒体であってもよい。該プログラムは、命令実行システム、装置又はデバイスにより用いられてもよく、又はそれと結合して使用されてもよい。本願において、コンピュータ可読信号媒体はベースバンドにおいて伝播するデータ又は搬送波の一部として伝播するデータ信号を含んでもよく、その中にコンピュータ可読プログラムコードを載せる。このように伝播するデータ信号は複数種の形式を採用することができ、電磁信号、光信号又は上の任意の適切な組み合せを含むが、これらに限定されない。コンピュータ可読信号媒体は、コンピュータ可読記憶媒体以外の如何なるコンピュータ可読媒体であってもよい。該コンピュータ可読媒体は、命令実行システム、装置又はデバイスにより使用されるか又はそれと結合して使用されるプログラムを送信、伝播又は伝送することができる。コンピュータ可読媒体に含まれるプログラムコードは、如何なる適当な媒体で伝送されてもよい。これは、無線、有線など、又は上記任意の適当な組み合わせを含むが、これらに限定されない。
【0150】
図面におけるフローチャート及びブロック図は、本願の各実施例に係るシステム、方法およびコンピュータプログラム製品により実現可能なアーキテクチャ、機能および操作を示す。ここで、フローチャートまたはブロック図における各ブロックは、モジュール、プログラムセグメント、コードの一部分を表すことができ、前記ジュール、プログラムセグメント、コードの一部分は一つまたは複数の規定の論理機能を実現するのに用いる実行可能なコマンドを含む。いくつかの代替的な実現においては、ブロック中に示される機能が図面に示される以外の順序で起こってもよいことに留意すべきである。例えば、2つのつながって示されているブロックは、実際に、基本的に並行して実行されても良く、逆の順で実行されることもあり、係わる機能によって決まる。ブロック図又はフローチャートにおける各ブロック、及びブロック図又はフローチャートにおけるブロックの組み合わせは、規定の機能又は操作を実行するハードウェアベースの専用システムにより実現してもよく、又は、専用ハードウェアとコンピュータ命令の組み合わせにより実現してもよい。
【0151】
本願の実施例に係わるユニットは、ソフトウェアの形式で実現してもよく、ハードウェアの方式で実現してもよく、記述されたユニットは、プロセッサに配置されてもよい。ここで、これらのユニットの名称は、ある場合において当該ユニットその自体を限定するものではない。
【0152】
もう1つの態様によれば、本願は、コンピュータ可読媒体を更に提供する。該コンピュータ可読媒体は、上記実施例に記載の電子機器に備えられてもよく、該電子機器に配置されず、単独で存在してもよい。上記コンピュータ可読媒体で1つ以上のプログラムが搬送されており、上記1つ以上のプログラムが1つの該電子機器により実行される時、該電子機器に、上記実施例に記載の方法を実施させる。
【0153】
上記詳細な説明に、動作を実行するための機器の複数のモジュール又はユニットを言及したが、このような分割は、強制的なものではない。実際に、本願の実施形態によれば、上述した複数又はより多くのモジュール又はユニットの特徴及び機能は、1つのモジュール又はユニットにおいて具現化されてもよい。逆に、上述した1つのモジュール又はユニットの特徴及び機能を複数のモジュール又はユニットに分割することで具現化されてもよい。
【0154】
上記実施形態に関する説明によれば、ここで説明される例示的な実施形態は、ソフトウェアにより実現してもよく、ソフトウェアと必要なハードウェアとの組み合わせにより実現してもよいことが、当業者であれば理解しやすい。従って、本願の実施形態による技術的解決手段は、ソフトウェア製品の形式で具現化されてもよい。該ソフトウェア製品は、不揮発性記憶媒体(CD-ROM、USBメモリ、リムーバブルハードディスク等であってもよい)又はネットワークに記憶されてもよく、一台のコンピューティング機器(パソコン、サーバ、タッチ端末、又はネットワーク機器などであってもよい)に本願の実施形態による方法を実行させるための複数の命令を含む。
【0155】
当業者は明細書を検討し、ここで開示した実施形態を実践した後、本願のその他の実施方案を容易に思いつくことができる。本願は、本願のいかなる変形、用途、又は適応的な変化を含むことを目的としており、これらのいかなる変形、用途、又は適応的な変化は、本願の一般原理に基づいて、且つ本願において公開されていない本技術分野においての公知常識又は慣用技術手段を含む。
本願は、上記で説明した、また図面において示した精確な構造に限定されず、その範囲を逸脱しない前提のもとで種々の変更及び修正を行うことができることを理解すべきである。本願の範囲は、添付の特許請求の範囲によってのみ限定される。
【符号の説明】
【0156】
1200 オーディオクリップのマッチング装置
1202 取得ユニット
1204 構築ユニット
1206 処理ユニット
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13