Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP5609281B2 - 差分符号データの作成方法および装置 - Google Patents
[go: Go Back, main page]

JP5609281B2 - 差分符号データの作成方法および装置 - Google Patents

差分符号データの作成方法および装置 Download PDF

Info

Publication number
JP5609281B2
JP5609281B2 JP2010130680A JP2010130680A JP5609281B2 JP 5609281 B2 JP5609281 B2 JP 5609281B2 JP 2010130680 A JP2010130680 A JP 2010130680A JP 2010130680 A JP2010130680 A JP 2010130680A JP 5609281 B2 JP5609281 B2 JP 5609281B2
Authority
JP
Japan
Prior art keywords
code data
section
note
data
event
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.)
Expired - Fee Related
Application number
JP2010130680A
Other languages
English (en)
Other versions
JP2011257512A (ja
Inventor
茂出木 敏雄
敏雄 茂出木
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Dai Nippon Printing Co Ltd
Original Assignee
Dai Nippon Printing Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Dai Nippon Printing Co Ltd filed Critical Dai Nippon Printing Co Ltd
Priority to JP2010130680A priority Critical patent/JP5609281B2/ja
Publication of JP2011257512A publication Critical patent/JP2011257512A/ja
Application granted granted Critical
Publication of JP5609281B2 publication Critical patent/JP5609281B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Auxiliary Devices For Music (AREA)
  • Electrophonic Musical Instruments (AREA)

Description

本発明は、音響信号を符号化して得られるMIDI形式等の符号データの作成に関し、特に、2つの音響信号を比較する用途に好適な差分符号データの作成技術に関する。
従来、楽曲や音声を記録した音響信号をMIDI等の形式に符号化したり、音響信号に電子透かし埋め込みを行ったりという加工を行った場合には、原音との比較評価が行われている。音響信号の場合、画像のように複数を同時に提示したり、重ねて提示したりすることが困難であるため、時間差を置いた比較評価が行われる。時間差を置いた比較評価の場合、人間は、直前に聞いた音脈を記憶してしまうため、提示する順序に依存して評価結果が変わってしまい、同時刻で同一環境条件で評価することが難しかった。
そこで、2つの波形形式の音響信号の差分波形を作成して波形的に両者の相違を評価する手法が考えられる。また、出願人は、MIDI符号化された復号信号と原音との比較を定量化するため、積算スペクトルデータとエンベロープデータを作成して比較する技術を提案している(特許文献1参照)。
特開2002−372968号公報
しかしながら、差分波形を作成する手法では、互いに位相が変化してしまうと、本来実質的に差がないのに、非常に振幅の大きい差分波形になってしまう。例えば、2つの波形が本来同一波形であっても、位相が互いに180度反転している場合、差分波形は原信号の2倍の振幅になってしまう。逆に、高周波領域の信号成分が大きく異なっている場合、差分波形上は顕著な差が発生しないことがあり、差分波形上の視覚上の差と各々を再生して比較する聴覚上の差との間に矛盾が生じることがある。また、特許文献1に記載の技術では、視覚的に提示することだけを目的としているため、聴覚的に評価することは困難である。
そこで、本発明は、符号化された2種の音響信号を視覚的かつ聴覚的に評価することができる差分符号データを得ることが可能な差分符号データの作成方法および装置を提供することを課題とする。
上記課題を解決するため、本発明第1の態様では、音響信号を符号化して得られた2つの独立した符号データに対して両者の差分を表す1つの差分符号データを作成するにあたり、前記符号データは時系列に配置されたイベントデータで構成され、各イベントデータには、発音開始または発音終了のイベントの識別、当該イベントの時刻、音の高さ、チャンネル番号、音の強さの属性情報を備え、前記2つの符号データの各イベントデータに対して互いに異なるチャンネル番号を付与しながら、前記時刻が早い順にソートして、2つのチャンネル番号を有する1つの時系列な符号データに統合し、2チャンネル符号データを作成し、発音開始のイベントデータ、当該イベントデータと同一の音の高さをもつ発音終了のイベントデータとの2つのイベントデータの対で構成される区間を発音区間としたとき、前記2チャンネル符号データの中で、一方のチャンネルの発音区間が、同一の音の高さをもつ他方のチャンネルの発音区間と時間的に全てまたは一部が重複する場合に、両発音区間が重複する区間を、両発音区間の音の強さの差分値を新たな音の強さとする新たな発音区間を重複区間として生成し、前記重複する両発音区間のうち、一方のチャンネルにのみノートオン区間が存在する区間については、当該一方のチャンネルの音の強さを有する発音区間を生成し、前記更新された発音区間の各々の発音開始のイベントデータと発音終了のイベントデータを時系列にソートし、所定の形式で符号化するようにしたことを特徴とする。
本発明第1の態様によれば、2つの符号データを1つの2チャンネル符号データに統合し、2つのチャンネルで発音時間が重複する同一ノートナンバーの発音区間を重複区間と非重複区間に分割し、重複区間のベロシティを差分値に更新し、各発音区間を特定するノートオンのイベントデータとノートオフのイベントデータを時系列にソートし、差分符号データとして符号化するようにしたので、符号化された2種の音響信号を視覚的かつ聴覚的に評価することができる差分符号データを得ることが可能となる。
また、本発明第2の態様では、本発明第1の態様において、前記重複発音区間の差分演算をする際、前記重複区間の音の強さが0の場合、前記音の強さを0以外の1〜127の範囲で小さな値に変更することを特徴とする。
また、本発明第3の態様では、本発明第1の態様において、前記重複発音区間の差分演算をする際、前記重複区間の音の強さが0の場合、前記重複区間を符号化対象から削除することを特徴とする。
本発明第2、第3の態様によれば、音の強さとして最終的に0が与えられることがなくなり、差分演算前から0であった区間と区別することが可能となる。
また、本発明第4の態様では、本発明第1から第3のいずれかの態様において、 前記符号データの統合は、前記2つの符号データのいずれか一方の全ての発音開始、発音終了のイベントデータの時刻に対して複数通りのオフセット値を一律に加えるようにし、前記複数通りのオフセット値に基づいて、前記差分符号データ符号化段階までを複数回実行して複数通りの差分符号データを符号化するようにし、前記差分符号データの符号化にて符号化された複数通りの各差分符号データに対して、発音開始のイベントデータとそれに対応する同一の音の高さをもつ発音終了の2つのイベントデータの対で構成される発音区間を抽出し、前記抽出された全ての発音区間の音の強さと発音区間の時間間隔(発音終了のイベントデータの時刻と発音開始のイベントデータの時刻との差)との積の総和値を算出し、前記総和値が最小となる差分符号データを選別するようにしたことを特徴とする。
本発明第4の態様によれば、オフセット値を変化させて発音開始、発音終了のイベントデータの時刻に追加し、オフセット値の変化に応じて複数通りの差分符号データを作成し、発音区間の音の強さと発音区間の時間間隔との積の総和値が最小となる差分符号データを選別するようにしたので、位相を考慮し、時間軸方向の位置ずれを補正した差分符号データの作成が可能となる。
また、本発明第5の態様では、本発明第1から第4のいずれかの態様において、前記差分符号データの符号化は、前記重複発音区間の差分処理により得られた発音区間として、発音開始と発音終了の時刻が同一のものがある場合に、当該発音区間を構成するイベントデータを削除する処理をさらに行うことを特徴とする。
本発明第5の態様によれば、重複発音区間の差分処理後に、発音開始と発音終了の時刻が同一のものがある場合に、発音区間を構成するイベントデータを削除するようにしたので、誤作動を生ずるようなイベントの発生を防ぐことが可能となる。
また、本発明第6の態様では、本発明第1から第5のいずれかの態様において、前記差分符号データの符号化により得られた差分符号データを表示手段に画面表示、および/または前記差分符号データを音響再生手段により音響再生することを特徴とする。
本発明第6の態様によれば、差分符号データを表示手段に画面表示、および/または差分符号データを音響再生手段により音響再生するようにしたので、2種の音響信号を視覚的かつ聴覚的に評価することが可能となる。
本発明によれば、符号化された2種の音響信号を視覚的かつ聴覚的に評価することができる差分符号データを得ることが可能となるという効果を有する。
本発明に係る差分符号データ作成装置の一実施形態を示す機能ブロック図である。 本実施形態に係る差分符号データの作成方法の概要を示すフローチャートである。 MIDIデータ統合処理の詳細を示すフローチャートである。 重複ノートオン区間差分処理の概要を説明するための図である。 重複ノートオン区間差分処理の詳細を示すフローチャートである。 チャンネル0に対する重複ノートオン区間差分処理の詳細を示すフローチャートである。 0デュレーションイベント削除処理の詳細を示すフローチャートである。 差分処理時の位相ずれの様子を示す図である。
<装置構成>
以下、本発明の好適な実施形態について、図面を参照して詳細に説明する。図1は、本発明に係る差分符号データ作成装置の一実施形態を示す機能ブロック図である。本実施形態における差分符号データ作成装置は、図1に示すように、データ入力部11、演算処理部12、表示部13、音響出力部14、データ出力部15を有すると共に、図示しないハードディスク等の記憶装置、指示入力を行うキーボード、マウス等の入力機器等を有しており、入出力機器が接続された汎用のコンピュータに専用のプログラムを組み込むことにより実現される。
図1において、データ入力部11は、MIDIデータ等の符号データを入力するためのものである。演算処理部12は、CPU、メモリを有し、記憶装置から専用のプログラムをメモリ上に読み込んで実行し、本発明の差分符号データ作成装置の主要な機能を実現するものである。表示部13は、液晶ディスプレイ等の表示装置により実現され、演算処理部12により作成された差分符号データを表示する。音響出力部14は、アンプおよびスピーカにより実現され、演算処理部12により作成された差分符号データを音響出力する。データ出力部15は、MIDIデータ等の符号データをデータ形式で出力するためのものである。
<処理概要>
図2は、本実施形態に係る差分符号データの作成方法の概要を示すフローチャートである。本実施形態に係る差分符号データの作成方法は、図2に示した各ステップ(各段階)の詳細な手順を記録したプログラムを、図1に示した差分符号データ作成装置が実行することにより行われる。
本発明で用いる符号データとしては、各音を、その音の強度、高さ、時間情報で表現した形式のものであれば、どのようなものであっても良い。時間情報に関しては、開始時刻と終了時刻で特定する形式であっても、開始時刻と発音時間で特定する形式であっても、何らかの手法により開始時刻、終了時刻、発音時間が特定できるものであれば良い。本実施形態では、符号データとして、発音開始時にノートオン、発音終了時にノートオフのイベントデータを設定し、音の強さとしてベロシティ、音の高さとしてノートナンバーを設定したMIDIを採用している。したがって、以下においても、MIDIデータを例にとって説明していく。
差分符号データの作成方法としては、まず、コンピュータ本体である演算処理部12が、2つのMIDIデータをデータ入力部11から読み込む。ここでは、2つのMIDIデータM1、M2を読み込むものとする。2つのMIDIデータM1、M2を読み込んだら、演算処理部12は、読み込んだ2つのMIDIデータM1、M2を、1つの時系列な2チャンネルMIDIデータに統合する(S1)。
統合に際して、演算処理部12は、読み込んだ2つのMIDIデータM1、M2それぞれのMIDIイベント配列を、Event1[]、Event2[]とする。2つのMIDIイベント配列の総ノートイベント数は各々Ne1、Ne2とし、各イベント配列には属性として[time,channnel,note−number,velocity]の4つの値をもつものとする。timeにはノートイベントの絶対値を与え、デルタタイムという相対時刻で指示される値を先頭時刻からの累積値に変換する。絶対時刻の単位は、デルタタイムと同様にユーザ指定の整数値である。channnelはMIDI規格上0〜15の値をとり得るが、Event1[]は0、Event2[]は1とする。note−numberとvelocityは0〜127の値をとり、ノートオンの場合は、velocityとして1以上の値を与え、ノートオフの場合は、velocityとして0を与える。
そして、統合先とする配列EventW[]を用意する。さらに、Event1[]、Event2[]、EventW[]へのポインタをp1、p2、pwとし、初期状態ではp1=p2=pw=0と設定する。EventW[]の総ノートイベント数をNwとすると、Nw=Ne1+Ne2となる。また、位相合わせのため、Event1[]、Event2[]のtimeにoffset1[h]、offset2[h]を加え、hの初期値を0とする。例えば前記2つのMIDIデータが2つの音響信号に対して最小フレーム間隔が64(64/1536sec)で周波数解析が行われ各々MIDIデータに変換されている場合、H=12通りで、−512/1536〜+512/1536secの範囲で位相ずれ補正を行うとして、offset1[h]={0,0,0,0,0,0,0,64,128,384,448,512}、offset2[h] ={0,64,128,384,448,512,0,0,0,0,0,0}が用意される。なお、後述するように、本発明では、位相補正を行わないようにすることも可能であるが、その場合は、H=1、offset1[h]=0、offset2[h] =0にセットする。
<MIDIデータ統合>
配列の準備ができたら、演算処理部12はMIDIデータ統合処理を開始する。 S1におけるMIDIデータ統合処理の詳細を図3のフローチャートを用いて説明する。まず、演算処理部12は、ポインタp2が総ノートイベント数Ne2より小さいかどうかを判断する(S101)。後述するように、p2は配列Event2[]内のノートイベントが処理される度に1加算されるため、p2がNe2より小さいことは未処理のノートイベントが配列Event2[]内に残っていることを意味する。すなわち、S101では、配列Event2[]内のノートイベントの処理を終えたかどうかを判断している。
ポインタp2が総ノートイベント数Ne2より小さい場合は、Event2[].timeがEvent1[].timeより小さいかどうかを判断する(S102)。これは、ポインタp2で特定されるEvent2[]内のノートイベントの絶対時刻がポインタp1で特定されるEvent1[]内のノートイベントの絶対時刻よりも早いかどうかを判断している。そして、Event2[].timeがEvent1[].timeより小さい場合は、Event2[]についての処理を行い(S103)、Event2[].timeがEvent1[].time以上の場合は、Event1[]についての処理を行う(S105)。なお、S101において、ポインタp2が総ノートイベント数Ne2以上である場合は、配列Event2[]内のノートイベントの処理を全て終えたことを意味するので、この場合にも、S105に進んで、Event1[]についての処理を行う。
S103のEvent2[]についての処理では、演算処理部12は、以下の〔数式1〕に従った処理を実行する。
〔数式1〕
EventW[pw].time←Event2[p2].time+offset2[h]
EventW[pw].channel←1
EventW[pw].note−number←Event2[p2].note−number
EventW[pw].velocity←Event2[p2].velocity
pw←pw+1
p2←p2+1
上記〔数式1〕の6つの式のうち、第1式、第3式、第4式では、Event2[p2]のノートイベントのtime、note−number、velocityをEventW[pw]のノートイベントのtime、note−number、velocityとして与えている。また、第2式では、EventW[pw]のノートイベントのchannelを1に設定している。この4つの式により、MIDIデータM2に存在していたノートイベントが、統合MIDIデータのチャンネル1のノートイベントとして移行されたことになる。第5式、第6式は、ポインタの加算である。
S105のEvent1[]についての処理では、演算処理部12は、以下の〔数式2〕に従った処理を実行する。
〔数式2〕
EventW[pw].time←Event1[p1].time+offset1[h]
EventW[pw].channel←0
EventW[pw].note−number←Event1[p1].note−number
EventW[pw].velocity←Event1[p1].velocity
pw←pw+1
p1←p1+1
上記〔数式2〕は、上記〔数式1〕におけるp2の代わりにp1が用いられており、channelが0に設定されている。上記〔数式2〕では、第1式〜第4式により、MIDIデータM1に存在していたノートイベントが、統合MIDIデータのチャンネル0のノートイベントとして移行されたことになる。第5式、第6式は、ポインタの加算である。
S105におけるEvent1[]についての処理後は、ポインタp1が総ノートイベント数Ne1より小さいかどうかを判断する(S106)。判断の結果、ポインタp1が総ノートイベント数Ne1より小さい場合は、S101に戻る。逆に、ポインタp1が総ノートイベント数Ne1以上の場合は、配列Event1[]内のノートイベントの処理を全て終えたことを意味するので、S103に進んで、Event2[]についての処理を行う。
S103におけるEvent2[]についての処理後は、ポインタp2が総ノートイベント数Ne2より小さいかどうかを判断する(S104)。判断の結果、ポインタp2が総ノートイベント数Ne2より小さい場合は、S103に戻って、Event2[]についての処理を行う。逆に、ポインタp2が総ノートイベント数Ne2以上の場合は、配列Event2[]内のノートイベントの処理を全て終えたことを意味するので、統合処理を終了する。
<重複ノートオン区間差分処理>
統合処理が終了したら、演算処理部12は、重複ノートオン区間差分処理を実行する(図2のS2)。ノートオン区間(発音区間)とは、ノートオンのイベントデータとそれに対応する同一ノートナンバーをもつノートオフの2つのイベントデータの対で構成される区間である。また、重複ノートオン区間とは、他方のチャンネルのノートオン区間と時間的に全てまたは一部が重複するノートオン区間である。上記S1の統合処理の結果、EventW[]は、2チャンネルのMIDIイベントで構成されることになり、これに対して、単一チャンネルのMIDIイベント配列EventS[]に変換する処理を行う。ただし、EventW[]は、同一時間に同一ノートナンバーのノートオン区間が重複してしまう可能性がある。重複ノートオン区間差分処理では、ノートオン区間が重複する部分について強度値(ベロシティ)の差分演算を行い、1つのチャンネルに統一することにより、単一チャンネルのMIDIイベント配列EventS[]に変換する。
ここで、重複ノートオン区間差分処理の概要を図4を用いて説明する。図4(a)は2つのMIDIデータ統合後の1つの2チャンネルMIDIデータを示し、図4(b)は重複ノートオン区間差分処理後の1チャンネルMIDIデータを示している。説明の便宜上、図4においては、1つのノートナンバーについてだけ示している。また、各矩形は、左端がノートオンイベントの時刻、右端がノートオフイベントの時刻であり、左右方向の幅がノートオン区間を示している。また、各矩形の上下方向がベロシティを示している。図4(a)の例では、全てのノートオン区間が他方のチャンネルのノートオン区間と時間的に全てまたは一部が重複しているため、全てが重複ノートオン区間である。また、ノートオン区間02のように、その一部が他方のチャンネルのノートオン区間12と重複している場合は、重複している区間を重複区間、重複していない区間を非重複区間と呼ぶことにする。
図4(a)の例では、チャンネル0(図中、ch:0で示す。)のノートオン区間01とチャンネル1(図中、ch:1で示す。)のノートオン区間11が重複しているため、差分演算処理が行われ、図4(b)に示すように、チャンネル0に新ノートオン区間が得られる。新ノートオン区間のベロシティは、ノートオン区間01のベロシティとノートオン区間11のベロシティの差分となる。ノートオン区間01とノートオン区間11は、ノートオンイベントの時刻、ノートオフイベントの時刻が同一であり、ノートオン区間が完全に重複しているため、差分演算処理後の新ノートオン区間のノートオンイベントの時刻、ノートオフイベントの時刻は、ノートオン区間01、ノートオン区間11と同一となる。
ノートオン区間02とノートオン区間12のように一部が重複している場合、重複している一部についてだけ、差分演算処理が行われる。ノートオン区間02とノートオン区間12のベロシティは同じであるので、ノートオン区間02とノートオン区間12が重複している区間については、ノートオン区間が存在しなくなる。また、ノートオン区間02には、チャンネル1のノートオン区間と重複していない部分があるので、重複していない部分については、チャンネル0に新ノートオン区間が得られる。新ノートオン区間のベロシティは、ノートオン区間02のベロシティがそのまま与えられる。また、新ノートオン区間のノートオン時刻は、ノートオン区間12のノートオフ時刻が与えられ、新ノートオン区間のノートオフ時刻は、ノートオン区間02のノートオフ時刻がそのまま与えられる。
重複ノートオン区間差分処理に際して、演算処理部12は、EventW[]、EventS[]の各配列へのポインタをpw、psとし、初期状態ではpw=ps=0に設定する。また、EventS[]のChannel値は全て0に設定する。さらに、演算処理部12は、0〜127のノートナンバーに対応してノートオン時にMIDIイベント配列へのポインタを格納するノートオンテーブルをEventW[]のチャンネル0とチャンネル1に対応してtableW0[]、tableW1[]を定義し、EventS[]に対応してtableS[]を定義する。そして、tableW0[]、tableW1[]、tableS[]の全ての初期値を−1に設定する。また、生成されるMIDIイベント配列EventS[]の総ノートイベント数をNsとする。
配列の準備ができたら、演算処理部12は、重複ノートオン区間差分処理を開始する。この重複ノートオン区間差分処理の詳細を図5のフローチャートを用いて説明する。まず、演算処理部12は、ポインタpwを特定した後、以下の〔数式3〕に従った処理を実行し、処理対象のノートナンバーnn、ベロシティをvelを決定する。
〔数式3〕
nn←EventW[pw].note−number
vel←EventW[pw].velocity
そして、EventW[pw].channelが0か1かを判断する(S201)。EventW[pw].channelが1の場合、S202〜S207においてチャンネル1についての処理を行い、EventW[pw].channelが0の場合、S208〜S213においてチャンネル0についての処理を行う。
EventW[pw].channelが1の場合、まず、tableW0[nn]が0以上であるかどうかの判断を行う(S202)。すなわち、チャンネル0に同一ノートナンバーのノートオンになっているイベントが存在するかどうかの判断を行う。tableW0[nn]が0以上である場合は、同一ノートナンバーのノートオンイベントが少なくともチャンネル0側に存在していることになるので、時間的に重複する部分が存在する場合は、強制的にノートオフイベントを発行してノートオン区間を中断させる処理を行う(S203)。
具体的には、tableS[nn]が0以上であるかどうかを判断し、tableS[nn]が0以上である場合は、演算処理部12は、以下の〔数式4〕に従った処理を実行する。
〔数式4〕
EventS[ps].time←EventW[pw].time
EventS[ps].channel←0
EventS[ps].note−number←nn
EventS[ps].velocity←0
tableS[nn]←−1
ps←ps+1
上記〔数式4〕の6つの式のうち、第1式、第3式では、EventW[pw]のノートイベントのtime、note−numberをEventS[ps]のノートイベントのtime、note−numberとして与えている。第2式では、EventS[ps]のノートイベントのchannelを0に設定している。EventS[]内のノートイベントは1つのチャンネルに納められるため、全てチャンネル0に設定される。第4式では、EventS[ps]のノートイベントのvelocityを0に設定している。これは、ノートオフイベントであることを示すものである。この4つの式により、EventS[]内に強制的にノートオフが設定される。これにより、概念上は、他方のチャンネルの同一ナンバーのノートオン区間が、他方のチャンネルの同一ノートナンバーのノートオンまたはノートオフイベントにより重複区間と非重複区間とに分割されることになる。(この段階では、2つのチャンネルが当該ノートナンバーで時間的にどのように重複するかがわからない)。第5式は、ノートナンバーnnについてのノートオン区間が終了したことを示すための処理である。第6式は、ポインタの加算である。
〔数式4〕に従った処理を実行したら、演算処理部12は、velが0より大きいかどうかを判断する(S204)。なお、S203において、tableS[nn]が0より小さい場合は、〔数式4〕に従った処理を実行せずにS204に進む。S204において、velが0より大きいと判断された場合には、2つのチャンネルが当該ノートイベントを起点に時間的に重複すると判断され、演算処理部12は、以下の〔数式5〕に従った処理を実行する(S205)。
〔数式5〕
vel←|vel−EventW[tableW0[nn]].velocity|
tableW1[nn]←pw
上記〔数式5〕の2つの式のうち、第1式では、チャンネル0の同一ノートナンバーのノートイベントとのベロシティの差分を演算し、その差分をvelとしている。この第1式により重複区間の差分演算処理が行われたことになる。なお、この結果である差分velが0の場合は、vel←1とする処理を行う。第2式は、処理したノートナンバーがノートオン区間に入り、何番目のノートイベントでオンになったかを特定する処理である。
S204において、vel=0であると判断された場合には、2つのチャンネルで時間的に重複していた区間が終了すると判断され、演算処理部12は、以下の〔数式6〕に従った処理を実行する(S206)。
〔数式6〕
vel←EventW[tableW0[nn]].velocity
tableW1[nn]←−1
S204においてvel=0と判断された場合、チャンネル1のノートイベントは、既にノートオン状態になっていて本イベントでノートオフになったと考えられるため、上記〔数式6〕の第1式では、チャンネル0のノートイベントのベロシティをvelに与える。第2式は、チャンネル1におけるノートナンバーnnについてノートオン区間が終了したことを示すための処理である。
一方、S202において、tableW0[nn]が0より小さい場合は、同一ノートナンバーでチャンネル0側はノートオン状態ではなくチャンネル1側がノートオンになってもノートオフになっても、重複処理を行う必要がないため、tableW1[nn]の処理に進む(S207)。S207では、vel>0でノートオンの場合、演算処理部12は、tableW1[nn]←pwとし、vel=0でノートオフの場合、tableW1[nn]←−1とする処理を実行する。
上記S202〜S207の処理は、S201においてEventW[pw].channelが1であると判断された場合のチャンネル1に対する処理であるが、上述のように、S201においてEventW[pw].channelが0であると判断された場合は、S208〜S213においてチャンネル0についての処理を行う。ここで、チャンネル0に対する処理のフローチャートを図6に示す。S208〜S213における処理は、処理対象のチャンネルが異なるだけであり、基本的にはS202〜S207における処理と同一である。
まず、S208においては、tableW1[nn]が0以上であるかどうかの判断を行う(S202)。すなわち、チャンネル1に同一ノートナンバーのノートがオンになっているかの判断を行う。tableW1[nn]が0以上である場合は、少なくとも同一ノートナンバーでオンになっているノートがチャンネル1側に存在していることになるので、時間的に重複する部分が存在する場合は、その処理を行う(S209)。
具体的には、tableS[nn]が0以上であるかどうかを判断し、tableS[nn]が0以上である場合は、ノートオン区間になっているため、演算処理部12は、上記〔数式4〕に従った処理を実行しノートオン区間を強制的に終了する。
〔数式4〕に従った処理を実行したら、演算処理部12は、velが0より大きいかどうかを判断する(S210)。なお、S209において、tableS[nn]が0より小さい場合は、〔数式4〕に従った処理を実行せずにS210に進む。S210において、velが0より大きいと判断された場合には、同一ノートナンバーのノートイベントが重複してノートオンになるため、演算処理部12は、以下の〔数式7〕に従った処理を実行する(S211)。
〔数式7〕
vel←|vel−EventW[tableW1[nn]].velocity|
tableW0[nn]←pw
上記〔数式7〕は、上記〔数式5〕におけるtableW1とtableW0が置き換えられたものである。2つの式のうち、第1式では、チャンネル1の同一ノートナンバーのノートイベントとのベロシティの差分を演算し、その差分をvelとしている。この第1式により重複区間の差分演算処理が行われたことになる。なお、この結果である差分velが0の場合は、vel←−1とする処理を行う。以降の処理では、vel=0の場合はノートオフとして扱い、それ以外の場合は、vel=−1のような負値も含めノートオンとして扱う。第2式は、チャンネル0でノートオンになったノートナンバーが何番目のノートイベントであるかを特定する処理である。
S210において、vel=0であると判断された場合には、演算処理部12は、以下の〔数式8〕に従った処理を実行する(S212)。
〔数式8〕
vel←EventW[tableW1[nn]].velocity
tableW0[nn]←−1
上記〔数式8〕は、上記〔数式6〕におけるtableW1とtableW0が置き換えられたものである。S210においてvel=0と判断された場合、チャンネル0のノートイベントは、ノートオフイベントであったと考えられるため、上記〔数式8〕の第1式では、チャンネル1のノートイベントのベロシティをそのままvelに与える。第2式は、チャンネル0におけるノートナンバーnnについてノートオン区間が終了したことを示すための処理である。
一方、S208において、tableW0[nn]が0より小さい場合は、同一ノートナンバーがチャンネル0側でノートオフになっていることになるので、重複処理を行う必要がないため、tableW0[nn]の処理に進む(S213)。S213では、vel>0の場合、演算処理部12は、tableW0[nn]←pwとし、vel=0の場合、tableW0[nn]←−1とする処理を実行する。
チャンネル1に対して、S205、S206、S207のいずれの処理を行った場合でも、チャンネル0に対して、S211、S212、S213のいずれの処理を行った場合でも、処理が終了した場合には、ノートオン/オフ処理を実行する(S214)。S214では、まず、tableS[nn]=−1かつvel>0、またはtableS[nn] >0かつvel=0の場合、以下の〔数式7〕に従った処理を実行し、出力用の配列EventS[]にノートオンイベントまたはノートオフイベントを生成する。ここで、条件となるtableS[nn]=−1かつvel>0は、そのノートナンバーnnがノートオフ状態であって、現在処理中のノートイベントが、ノートオンイベントであることを示している。また、もう一方の条件であるtableS[nn] >0かつvel=0は、既にそのノートナンバーnnがノートオン状態であって、現在処理中のノートイベントが、ノートオフイベントであることを示している。
〔数式9〕
EventS[ps].time←EventW[pw].time
EventS[ps].channel←0
EventS[ps].note−number←nn
EventS[ps].velocity←vel
vel>0の場合tableS[nn]←ps、vel=0の場合tableS[nn]←−1
ps←ps+1
上記〔数式9〕の6つの式のうち、第1式、第2式、第3式、第6式は、上記〔数式4〕と同一である。〔数式4〕との違いは、velの値によりノートオフまたはノートオンの双方の場合があるため、第4式において、EventS[ps]のノートイベントのvelocityに現在処理中のベロシティまたは〔数式5〕〜〔数式8〕で補正したベロシティを代入している点である。これは、ノートオンまたはノートオフのいずれの可能性もあり、かつベロシティ値が補正される場合があるためである。第5式では、velの値に応じてtableS[nn]に設定する値が異なっている。vel=0の場合は、〔数式4〕と同様、−1を設定するが、vel>0の場合は、psの値を設定する。
S214におけるノートオン処理が終わったら、入力側のEventW[]の格納されている全てのノートイベントの処理が終わったかどうかを判断する(S215)。具体的には、pw←pw+1とした後、pw<Nwの場合、全てのノートイベントの処理が終わっていないため、S201に戻って次のノートイベントについての処理を実行する。pw≧Nwの場合、全てのノートイベントの処理が終わったことになるため、Ns←psとして、重複ノートオン区間処理を終了する。
<0デュレーションイベント削除処理>
重複ノートオン区間処理が終了したら、演算処理部12は、0デュレーションイベント削除処理を行う(図2のS3)。重複ノートオン区間についての処理が終了すると、統合された単一チャンネルのMIDIイベント配列EventS[]には、同一ノートナンバーで時間的にノートオン区間が重複するようなノートイベントが存在しなくなる。しかし、EventS[]には、ノートオンとノートオフが同一時刻となる0デュレーションのノートイベントが含まれている可能性がある。そこで、次に、0デュレーションのノートイベントを削除する処理を行う。
0デュレーションイベント削除処理に際して、演算処理部12は、削除処理後の出力する差分MIDIイベント配列をEventD[h,]として用意し、総ノートイベント数をNd[h]とし、EventS[]、EventD[h,]の各配列へのポインタをps、pdとし、初期状態ではps=pd=0に設定する。また、EventD[h,]のChannel値は全て0に設定する。さらに、コンピュータ(符号化装置)は、0〜127のノートナンバーに対応してノートオン時にMIDIイベント配列へのポインタを格納するノートオンテーブルtableS[]を定義する。そして、tableS[]の全ての初期値を−1に設定する。
配列の準備ができたら、演算処理部12は、0デュレーションイベント削除処理を開始する。この0デュレーションイベント削除処理の詳細を図7のフローチャートを用いて説明する。まず、演算処理部12は、ポインタpsを特定した後、以下の〔数式10〕に従った処理を実行し、処理対象のノートナンバーnn、ベロシティをvelを決定する。
〔数式10〕
nn←EventS[ps].note−number
vel←EventS[ps].velocity
そして、velが0より大きいか否かを判断する(S301)。velが0より大きいと判断された場合には、以下の〔数式11〕に従った処理を実行する(S302)。
〔数式11〕
tableS[nn]←ps
一方、S301において、vel=0であると判断された場合には、まず、EventS[tableS[nn]].timeとEventS[ps].timeが一致するかどうかを判断し、両者が一致する場合に限り、以下の〔数式12〕に従った処理を実行する(S303)。
〔数式12〕
EventS[tableS[nn] ].note−number←−1
EventS[ps].note−number←−1
tableS[nn]←−1
EventS[tableS[nn]].timeとEventS[ps].timeが一致する場合は、デュレーションが0であることを意味するので、そのノートイベントを削除する。本実施形態では、上記〔数式12〕の第1式、第2式に示すように、そのノートイベントにノートナンバーとしては無効な負の値(−1)を設定している。S303において、EventS[tableS[nn]].timeとEventS[ps].timeが一致しないと判断された場合には、上記〔数式12〕に従った処理は実行しない。
また、S301において、vel<0であると判断された場合には、上記〔数式7〕においてvelに“−1”が設定されたことになり、これは、重複区間のベロシティの差分が“0”であったことを意味する。この場合、事前の設定に従って以下の2通りの処理のいずれか一方を実行する。1つ目は、velの値を0以外の1〜127の範囲で小さな値に変更する処理である。本実施形態では、vel←1としている。“0以外の1〜127の範囲で小さな値”としては、必ずしも“1”である必要はなく、MIDIデータに記録された音響信号の特性に応じて適宜設定しておくことが可能である。
2つ目は、重複区間を符号化対象から削除する処理である。具体的には、対応するノートオフイベントを探索し、上記〔数式12〕に従った処理を実行して、無効化する。この無効化により、後の処理において符号化対象から削除されることになる。
S302、S303のいずれの処理を行った場合でも、次に、エネルギー値の更新処理を実行する(S304)。具体的には、以下の〔数式13〕に従った処理を実行する。
〔数式13〕
Energy[h]←Energy[h]+EventS[tableS[nn]].velocity・(EventS[ps].time−EventS[tableS[nn]].time)
ps←ps+1
上記〔数式13〕の第1式では、ノートオン区間のベロシティにデュレーションを乗じてエネルギー値を算出し、それまでに算出されている総エネルギー値に加算することにより、総エネルギー値Energy[h]を更新している。総エネルギー値Energy[h]を更新したら、上記〔数式13〕の第2式によりpsの値をインクリメントする。そして、ps<Nsであるかどうかを判断する(S305)。ps<Nsである場合は、S301に戻る。一方、ps≧Nsである場合は、全てのノートイベントについて処理したことを意味するので、出力イベント配列の生成に進む。結局、S301〜S305のループにおいては、デュレーションが0のノートイベントを削除し、総エネルギー値を算出する処理を実行していることになる。
全てのノートイベントに対する処理を実行し、デュレーション0のノートイベントの削除、総エネルギー値の算出が行われたら、出力イベント配列の生成を行う(S306)。まず、ps=pd=0に設定する。続いて、EventS[ps].note−number≧0であるかどうかを判断する。そして、EventS[ps].note−number≧0である場合は、無効化されていないノートイベントであることを意味するので、以下の〔数式14〕に従った処理を実行し、出力イベント配列EventD[h,pd]に値を出力する。
〔数式14〕
EventD[h,pd].time←EventS[ps].time
EventD[h,pd].channel←0
EventD[h,pd].note−number←EventS[ps].note−number
EventD[h,pd].velocity←EventS[ps].velocity
pd←pd+1
ps←ps+1
上記〔数式14〕により、1つのノートイベントについての出力イベント配列EventD[h,pd]への出力が終わったら、ps<Nsであるかどうかを判断する(S307)。ps<Nsである場合は、S306に戻る。一方、ps≧Nsである場合は、位相hに対して全てのノートイベントについて処理したことを意味するので、処理を終了する。
本発明では、位相ずれを考慮しない処理を行うことも可能である。位相ずれを考慮しない場合は、上記図7の終了をもって全て処理を終了とし、図2のS1〜S3の処理により得られた出力イベント配列EventD[]が差分MIDIデータとして得られる。しかし、位相ずれを考慮しない場合、MIDIデータM1とMIDIデータM2の位相ずれ(時間的な位置ずれ)が生じた場合に、両者の差異が実際よりも大きくなるという問題がある。ここで、この差分処理時の位相ずれの様子を図8に示す。
図8(a)、(b)、(c)はそれぞれMIDIデータM1、MIDIデータM2、差分MIDIデータを示している。いずれも左右方向は時間軸を示している。上下方向は、音高(ノートナンバー)を示すが、各矩形の上下方向の幅は、音の強さ(ベロシティ)を示している。また、網掛けされた部分はノートオン区間を示している。図8(a)、(b)を比較するとわかるように、MIDIデータM1とM2は、全く同じMIDIデータが、時間軸方向に位置ずれしたものである。
図8(a)に示したMIDIデータM1と図8(b)に示したMIDIデータM2の差分演算を行うと、図8(c)に示すような差分MIDIデータが得られる。図8(c)において網掛けされた部分がベロシティの差分が0とならなかった部分である。このように、本来全く同じMIDIデータであっても、位置ずれが生じていると、図8(c)のような擬似差分が生じることになる。本実施形態では、このような擬似差分をなくすため、MIDIデータM1、M2のいずれか一方を時間軸方向に移動させることにより時間を合わせ、差分を得るようにしている。現実には、時間を完全に合わせることは不可能であるので、移動させる時間を変化させながら差分演算を行い、差分が最小となったときを、時間的な位置が合っているものとみなして、その差分を出力する。
位相ずれを考慮する場合、図7の0デュレーションイベント削除処理または図2のS3の処理が終了したら、図2でNd[h]←pd、h←h+1とした後、h≧Hであるかどうかを判断する(S4)。すなわち、全ての位相についてS1〜S3の処理を終えたかどうかを判断する。h<Hの場合、未処理の位相が残っているため、繰り返し、S1〜S3の処理を実行する。h≧Hの場合、全ての位相について処理を終えたことになるので、差分MIDIデータの選別を行う(S5)。
具体的には、h=0,・・・,H−1において算出されたノートイベントの総エネルギー値Energy[h]を最小とするhをhmとして、MIDIイベント配列EventD[hm,]を求める差分MIDIデータとして採用し、それをMIDI符号として出力する。
差分MIDIデータは、様々な形式で出力することができる。表示用のデータに変換して、表示部13に画面出力することも可能であるし、音響信号に変換して音響出力部14に音響出力することも可能であるし、そのまま記憶媒体等のデータ出力部15にデータ出力することも可能である。表示部13に画面出力するに際しては、ノートオンおよびノートオフをノートオン区間に変換して左右幅を決定し、ベロシティに対応する上下方向の幅を決定して矩形を生成し、対応するノートナンバーの位置に配置することにより、表示用データを生成し、表示部13に出力する。すなわち、図8に示したような形式で表示されることになる。表示部13と音響出力部14に同時に出力した場合には、2種の音響信号を視覚的かつ聴覚的に評価することができる。
本発明は、各種符号化技術の開発や、電子透かし埋め込み技術の開発など音響信号に対して何らかの改変を加え、その信号劣化度を評価する産業に利用することができる。また、その開発成果は、PCM等により得られた音響信号を、MIDI符号等の符号コードに変換する技術を用い、放送メディア(地上・BSなどによるデジタルラジオ・テレビ放送など)、通信メディア(CS放送、インターネット・ストリーミング放送、携帯電話サービス、携帯音楽配信サービスなど)、パッケージメディア(CD、DVD、BlueRay、メモリICカードなど)向けのオーディオコンテンツ制作産業に利用することができる。
11 データ入力部
12 演算処理部
13 表示部
14 音響出力部
15 データ出力部

Claims (16)

  1. 音響信号を符号化して得られた2つの独立した符号データに対して両者の差分を表す1つの差分符号データを作成する方法であって、
    前記符号データは時系列に配置されたイベントデータで構成され、各イベントデータには、発音開始または発音終了のイベントの識別、当該イベントの時刻、音の高さ、チャンネル番号、音の強さの属性情報を備え、
    前記2つの符号データの各イベントデータに対して互いに異なるチャンネル番号を付与しながら、前記時刻が早い順にソートして、2つのチャンネル番号を有する1つの時系列な符号データに統合し、2チャンネル符号データを作成する符号データ統合段階と、
    発音開始のイベントデータと、当該イベントデータと同一の音の高さをもつ発音終了のイベントデータとの2つのイベントデータの対で構成される区間を発音区間としたとき、前記2チャンネル符号データの中で、一方のチャンネルの発音区間が、同一の音の高さをもつ他方のチャンネルの発音区間と時間的に全てまたは一部が重複する場合に、両発音区間が重複する区間を、両発音区間の音の強さの差分値を新たな音の強さとする新たな発音区間を重複区間として生成し、前記重複する両発音区間のうち、一方のチャンネルにのみノートオン区間が存在する区間については、当該一方のチャンネルの音の強さを有する発音区間を生成する重複発音区間差分処理段階と、
    前記重複発音区間差分処理段階にて更新された発音区間の各々の発音開始のイベントデータと発音終了のイベントデータを時系列にソートし、
    所定の形式で符号化する差分符号データ符号化段階と、
    を有することを特徴とする差分符号データの作成方法。
  2. 請求項1において、
    前記重複発音区間差分処理段階は、前記重複区間の音の強さが0の場合、前記音の強さを0以外の1〜127の範囲で小さな値に変更することを特徴とする差分符号データの作成方法。
  3. 請求項1において、
    前記重複発音区間差分処理段階は、前記重複区間の音の強さが0の場合、前記重複区間を符号化対象から削除することを特徴とする差分符号データの作成方法。
  4. 請求項1から請求項3のいずれかにおいて、
    前記符号データ統合段階は、前記2つの符号データのいずれか一方の全ての発音開始、発音終了のイベントデータの時刻に対して複数通りのオフセット値を一律に加えるようにし、
    前記複数通りのオフセット値に基づいて、前記差分符号データ符号化段階までを複数回実行して複数通りの差分符号データを符号化するようにし、
    前記差分符号データ符号化段階にて符号化された複数通りの各差分符号データに対して、発音開始のイベントデータとそれに対応する同一の音の高さをもつ発音終了の2つのイベントデータの対で構成される発音区間を抽出し、前記抽出された全ての発音区間の音の強さと発音区間の時間間隔(発音終了のイベントデータの時刻と発音開始のイベントデータの時刻との差)との積の総和値を算出し、前記総和値が最小となる差分符号データを選別する差分符号データ選別段階を、前記差分符号データ符号化段階の後に有することを特徴とする差分符号データの作成方法。
  5. 請求項1から請求項4のいずれかにおいて、
    前記差分符号データ符号化段階は、前記重複発音区間差分処理段階により得られた発音区間として、発音開始と発音終了の時刻が同一のものがある場合に、当該発音区間を構成するイベントデータを削除する処理をさらに行うことを特徴とする差分符号データの作成方法。
  6. 請求項1から請求項5のいずれかにおいて、
    前記差分符号データ符号化段階により得られた差分符号データを表示手段に画面表示する段階、および/または前記差分符号データを音響再生手段により音響再生する段階をさらに有することを特徴とする差分符号データの作成方法。
  7. 請求項1から請求項6のいずれかにおいて、
    前記符号データは、MIDIデータであり、前記発音開始の識別はノートオン、前記発音終了の識別はノートオフ、前記時刻はデルタタイム、前記音の高さはノートナンバー、前記音の強さはベロシティ、前記発音区間はノートオン区間で表現されることを特徴とする差分符号データの作成方法。
  8. 音響信号を符号化して得られた2つの独立した符号データに対して両者の差分を表す1つの差分符号データを作成する装置であって、
    前記符号データは時系列に配置されたイベントデータで構成され、各イベントデータには、発音開始または発音終了のイベントの識別、当該イベントの時刻、音の高さ、チャンネル番号、音の強さの属性情報を備え、
    前記2つの符号データの各イベントデータに対して互いに異なるチャンネル番号を付与しながら、前記時刻が早い順にソートして、2つのチャンネル番号を有する1つの時系列な符号データに統合し、2チャンネル符号データを作成する符号データ統合手段と、
    発音開始のイベントデータと、当該イベントデータと同一の音の高さをもつ発音終了のイベントデータとの2つのイベントデータの対で構成される区間を発音区間としたとき、前記2チャンネル符号データの中で、一方のチャンネルの発音区間が、同一の音の高さをもつ他方のチャンネルの発音区間と時間的に全てまたは一部が重複する場合に、両発音区間が重複する区間を、両発音区間の音の強さの差分値を新たな音の強さとする新たな発音区間を重複区間として生成し、前記重複する両発音区間のうち、一方のチャンネルにのみノートオン区間が存在する区間については、当該一方のチャンネルの音の強さを有する発音区間を生成する重複発音区間差分処理手段と、
    前記重複発音区間差分処理手段にて更新された発音区間の各々の発音開始のイベントデータと発音終了のイベントデータを時系列にソートし、所定の形式で符号化する差分符号データ符号化手段と、
    を有することを特徴とする差分符号データの作成装置。
  9. 請求項8において、
    前記重複発音区間差分処理手段は、前記重複区間の音の強さが0の場合、前記音の強さを0以外の1〜127の範囲で小さな値に変更することを特徴とする差分符号データの作成装置。
  10. 請求項8において、
    前記重複発音区間差分処理手段は、前記重複区間の音の強さが0の場合、前記重複区間を符号化対象から削除することを特徴とする差分符号データの作成装置。
  11. 請求項8から請求項10のいずれかにおいて、
    前記符号データ統合手段は、前記2つの符号データのいずれか一方の全ての発音開始、発音終了のイベントデータの時刻に対して複数通りのオフセット値を一律に加えるようにし、
    前記複数通りのオフセット値に基づいて、前記差分符号データ符号化手段までを複数回実行して複数通りの差分符号データを符号化するようにし、
    前記差分符号データ符号化手段にて符号化された複数通りの各差分符号データに対して、発音開始のイベントデータとそれに対応する同一の音の高さをもつ発音終了の2つのイベントデータの対で構成される発音区間を抽出し、前記抽出された全ての発音区間の音の強さと発音区間の時間間隔(発音終了のイベントデータの時刻と発音開始のイベントデータの時刻との差)との積の総和値を算出し、前記総和値が最小となる差分符号データを選別する差分符号データ選別手段を、さらに有することを特徴とする差分符号データの作成装置。
  12. 請求項8から請求項11のいずれかにおいて、
    前記差分符号データ符号化手段は、前記重複発音区間差分処理手段により得られた発音区間として、発音開始と発音終了の時刻が同一のものがある場合に、当該発音区間を構成するイベントデータを削除する処理をさらに行うことを特徴とする差分符号データの作成装置。
  13. 請求項8から請求項12のいずれかにおいて、
    前記差分符号データ符号化手段により得られた差分符号データを画面表示する表示手段、および/または前記差分符号データを音響再生する音響再生手段をさらに有することを特徴とする差分符号データの作成装置。
  14. 請求項8から請求項13のいずれかにおいて、
    前記符号データは、MIDIデータであり、前記発音開始の識別はノートオン、前記発音終了の識別はノートオフ、前記時刻はデルタタイム、前記音の高さはノートナンバー、前記音の強さはベロシティ、前記発音区間はノートオン区間で表現されることを特徴とする差分符号データの作成装置。
  15. 請求項1から請求項7のいずれかに記載の差分符号データの作成方法をコンピュータに実行させるためのプログラム。
  16. 請求項8から請求項14のいずれかに記載の差分符号データの作成装置としてコンピュータを機能させるためのプログラム。
JP2010130680A 2010-06-08 2010-06-08 差分符号データの作成方法および装置 Expired - Fee Related JP5609281B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010130680A JP5609281B2 (ja) 2010-06-08 2010-06-08 差分符号データの作成方法および装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010130680A JP5609281B2 (ja) 2010-06-08 2010-06-08 差分符号データの作成方法および装置

Publications (2)

Publication Number Publication Date
JP2011257512A JP2011257512A (ja) 2011-12-22
JP5609281B2 true JP5609281B2 (ja) 2014-10-22

Family

ID=45473767

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010130680A Expired - Fee Related JP5609281B2 (ja) 2010-06-08 2010-06-08 差分符号データの作成方法および装置

Country Status (1)

Country Link
JP (1) JP5609281B2 (ja)

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4132239B2 (ja) * 1998-06-26 2008-08-13 大日本印刷株式会社 音響編集システム
JP3601373B2 (ja) * 1999-09-29 2004-12-15 ヤマハ株式会社 波形編集方法
JP2002372968A (ja) * 2001-06-14 2002-12-26 Dainippon Printing Co Ltd 音響信号の比較評価方法および装置

Also Published As

Publication number Publication date
JP2011257512A (ja) 2011-12-22

Similar Documents

Publication Publication Date Title
JP4899416B2 (ja) ネットワーク接続装置
KR20110122631A (ko) 입체 음향 재생 방법 및 장치
JP2003177784A (ja) 音響変節点抽出装置及びその方法、音響再生装置及びその方法、音響再生システム、音響配信システム、情報提供装置、音響信号編集装置、音響変節点抽出方法プログラム記録媒体、音響再生方法プログラム記録媒体、音響信号編集方法プログラム記録媒体、音響変節点抽出方法プログラム、音響再生方法プログラム、音響信号編集方法プログラム
JP4867765B2 (ja) 音響信号に対する情報の埋め込み装置および音響信号からの情報の抽出装置
JP5609281B2 (ja) 差分符号データの作成方法および装置
JP5857418B2 (ja) 聴覚マスキングデータの作成方法および装置
JP4660275B2 (ja) 音響信号に対する情報の埋め込み装置および方法
WO2014142201A1 (ja) 分離用データ処理装置およびプログラム
JP4910920B2 (ja) 音響信号に対する情報の埋め込み装置および音響信号からの情報の抽出装置
JP5552794B2 (ja) 音響信号の符号化方法および装置
JP4063048B2 (ja) 音声データと演奏データの同期再生を行うための装置および方法
JP6168649B2 (ja) コード検出装置及びプログラム
JP4152502B2 (ja) 音響信号の符号化装置および符号データの編集装置
JP2007298607A (ja) 音響信号分析装置、音響信号分析方法、及び音響信号分析用プログラム
WO2024241791A1 (ja) 情報処理装置、および情報処理方法、並びにプログラム
CN111653255A (zh) 一种音源库采集生成系统
JP2014109603A (ja) 演奏評価装置、演奏評価方法
JP4713181B2 (ja) 音響信号に対する情報の埋め込み装置、音響信号からの情報の抽出装置、および音響信号再生装置
JP5310498B2 (ja) 音響信号に対する情報の埋め込み装置
JP4831335B2 (ja) 音響信号に対する情報の埋め込み装置および音響信号からの情報の抽出装置
US20210286584A1 (en) Reproduction device and reproduction method
JP5104202B2 (ja) 音響信号に対する情報のリアルタイム埋め込み装置
Hyrkas Algorithms for Roughness Control Using Frequency Shifting and Attenuation of Partials in Audio
WO2024034115A1 (ja) 音声信号処理装置、音声信号処理方法およびプログラム
JP2008225234A (ja) 音声信号処理装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130419

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20130823

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140520

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140605

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20140805

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140818

R150 Certificate of patent or registration of utility model

Ref document number: 5609281

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees