JP2008516288A - 音声信号の基礎となるメロディの抽出 - Google Patents
音声信号の基礎となるメロディの抽出 Download PDFInfo
- Publication number
- JP2008516288A JP2008516288A JP2007536025A JP2007536025A JP2008516288A JP 2008516288 A JP2008516288 A JP 2008516288A JP 2007536025 A JP2007536025 A JP 2007536025A JP 2007536025 A JP2007536025 A JP 2007536025A JP 2008516288 A JP2008516288 A JP 2008516288A
- Authority
- JP
- Japan
- Prior art keywords
- segment
- time
- spectral
- melody
- predetermined
- 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.)
- Pending
Links
- 230000005236 sound signal Effects 0.000 title claims abstract description 99
- 238000000605 extraction Methods 0.000 title abstract description 34
- 230000003595 spectral effect Effects 0.000 claims abstract description 156
- 238000001228 spectrum Methods 0.000 claims abstract description 104
- 230000011218 segmentation Effects 0.000 claims description 67
- 238000000034 method Methods 0.000 claims description 66
- 230000006870 function Effects 0.000 claims description 54
- 239000011159 matrix material Substances 0.000 claims description 53
- 238000013507 mapping Methods 0.000 claims description 32
- 230000008447 perception Effects 0.000 claims description 23
- 230000001419 dependent effect Effects 0.000 claims description 17
- 230000036961 partial effect Effects 0.000 claims description 11
- 238000001914 filtration Methods 0.000 claims description 10
- 238000004590 computer program Methods 0.000 claims description 6
- 230000005540 biological transmission Effects 0.000 claims description 4
- 238000006243 chemical reaction Methods 0.000 claims description 4
- 230000002123 temporal effect Effects 0.000 claims description 3
- 238000011045 prefiltration Methods 0.000 claims 2
- 238000012986 modification Methods 0.000 claims 1
- 230000004048 modification Effects 0.000 claims 1
- 230000001502 supplementing effect Effects 0.000 claims 1
- 238000013518 transcription Methods 0.000 abstract description 28
- 230000035897 transcription Effects 0.000 abstract description 28
- 238000012937 correction Methods 0.000 description 30
- 238000004458 analytical method Methods 0.000 description 27
- 238000000926 separation method Methods 0.000 description 26
- 238000012545 processing Methods 0.000 description 25
- 238000010586 diagram Methods 0.000 description 22
- 230000033764 rhythmic process Effects 0.000 description 13
- 238000011156 evaluation Methods 0.000 description 12
- 230000015572 biosynthetic process Effects 0.000 description 10
- 238000009499 grossing Methods 0.000 description 10
- 238000003786 synthesis reaction Methods 0.000 description 10
- 230000008569 process Effects 0.000 description 9
- 238000013459 approach Methods 0.000 description 7
- 238000004364 calculation method Methods 0.000 description 6
- 238000001514 detection method Methods 0.000 description 6
- 230000008859 change Effects 0.000 description 5
- 230000033001 locomotion Effects 0.000 description 5
- 238000011160 research Methods 0.000 description 5
- 238000003672 processing method Methods 0.000 description 4
- 238000013139 quantization Methods 0.000 description 4
- 238000012795 verification Methods 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000011897 real-time detection Methods 0.000 description 3
- 230000002194 synthesizing effect Effects 0.000 description 3
- 241000233805 Phoenix Species 0.000 description 2
- 241000220010 Rhode Species 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 230000001186 cumulative effect Effects 0.000 description 2
- 230000007717 exclusion Effects 0.000 description 2
- 238000005259 measurement Methods 0.000 description 2
- 239000000203 mixture Substances 0.000 description 2
- 238000005192 partition Methods 0.000 description 2
- 238000009527 percussion Methods 0.000 description 2
- 238000005070 sampling Methods 0.000 description 2
- 230000007704 transition Effects 0.000 description 2
- 125000002066 L-histidyl group Chemical group [H]N1C([H])=NC(C([H])([H])[C@](C(=O)[*])([H])N([H])[H])=C1[H] 0.000 description 1
- 230000001174 ascending effect Effects 0.000 description 1
- 239000003795 chemical substances by application Substances 0.000 description 1
- 230000001427 coherent effect Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 238000002592 echocardiography Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000012447 hatching Effects 0.000 description 1
- 230000009191 jumping Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- TVMXDCGIABBOFY-UHFFFAOYSA-N octane Chemical compound CCCCCCCC TVMXDCGIABBOFY-UHFFFAOYSA-N 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 238000012552 review Methods 0.000 description 1
- 230000035945 sensitivity Effects 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 238000000844 transformation Methods 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
- 238000011144 upstream manufacturing Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10H—ELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
- G10H1/00—Details of electrophonic musical instruments
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10H—ELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
- G10H1/00—Details of electrophonic musical instruments
- G10H1/0008—Associated control or indicating means
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10K—SOUND-PRODUCING DEVICES; METHODS OR DEVICES FOR PROTECTING AGAINST, OR FOR DAMPING, NOISE OR OTHER ACOUSTIC WAVES IN GENERAL; ACOUSTICS NOT OTHERWISE PROVIDED FOR
- G10K15/00—Acoustics not otherwise provided for
-
- 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
- G10L19/00—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
- G10L19/02—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using spectral analysis, e.g. transform vocoders or subband vocoders
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10H—ELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
- G10H2210/00—Aspects or methods of musical processing having intrinsic musical character, i.e. involving musical theory or musical parameters or relying on musical knowledge, as applied in electrophonic musical tools or instruments
- G10H2210/031—Musical analysis, i.e. isolation, extraction or identification of musical elements or musical parameters from a raw acoustic signal or from an encoded audio signal
- G10H2210/066—Musical analysis, i.e. isolation, extraction or identification of musical elements or musical parameters from a raw acoustic signal or from an encoded audio signal for pitch analysis as part of wider processing for musical purposes, e.g. transcription, musical performance evaluation; Pitch recognition, e.g. in polyphonic sounds; Estimation or use of missing fundamental
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10H—ELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
- G10H2210/00—Aspects or methods of musical processing having intrinsic musical character, i.e. involving musical theory or musical parameters or relying on musical knowledge, as applied in electrophonic musical tools or instruments
- G10H2210/031—Musical analysis, i.e. isolation, extraction or identification of musical elements or musical parameters from a raw acoustic signal or from an encoded audio signal
- G10H2210/086—Musical analysis, i.e. isolation, extraction or identification of musical elements or musical parameters from a raw acoustic signal or from an encoded audio signal for transcription of raw audio or music data to a displayed or printed staff representation or to displayable MIDI-like note-oriented data, e.g. in pianoroll format
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Acoustics & Sound (AREA)
- Multimedia (AREA)
- Spectroscopy & Molecular Physics (AREA)
- Computational Linguistics (AREA)
- Signal Processing (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Human Computer Interaction (AREA)
- Auxiliary Devices For Music (AREA)
Abstract
主旋律とは、人が最も大きく、最も正確であると知覚する音楽作品の部分であると、十分考慮した仮定の場合に、メロディ抽出または自動トランスクリプションをより明らかにし、より安定させ、適用可能ならば、費用があまりかからないようにする。これについて、音声信号のメロディの判定で、まずはじめに、時間/スペクトル表現に延びるメロディラインを求める。各時間区分またはフレームに対し、時間/スペクトル表現の1つのスペクトル成分または1つの周波数ビンが、正確に、一意に対応付けられている。すなわち、特別な実施の形態により、このフレームで最大強度のサウンド結果が導かれる。
【選択図】図3
【選択図】図3
Description
本発明は、音声信号の基礎となるメロディの抽出に関する。例えば、モノフォニック音声信号またはポリフォニック音声信号の基礎となるメロディのトランスクライブイラストレーションまたは音楽表現を得るために、このような抽出を用いることもできる。これらは、アナログ形式またはデジタルサンプル形式で存在する場合もある。従って、メロディ抽出を行うことにより、例えば、歌を歌うこと、ハミング、口笛または等の、任意の音声信号から、携帯電話の着信音を生成することが可能になる。
既に何年も前から、携帯電話の信号音は、もはや、電話がかかってきたことを知らせるだけではなくなっている。これは、モバイル装置のメロディ生成機能がますます発達しているので、娯楽的要素となり、若者の間でステータスシンボルとなっている。
初期の携帯電話は、特に、装置自体でモノフォニック着信音を作るための可能性を提供していた。しかしながら、これは複雑で、音楽知識のほとんどないユーザにとってはなかなか思うようにならず、満足のいく結果とならなかった。従って、この可能性または機能性が、新規の電話からは大方なくなっている。
ポリフォニック通知メロディまたは着信音が可能な、特に最新の電話により、このような組み合わせが豊富に提供されているので、このようなモバイル装置でメロディを別々に作ることは、もはやほとんどできない。従って、限られたやり方で着信音を別々に作るために、たかだか、既製のメロディや伴奏パターンを新規に組み合わせるくらいである。
既製のメロディや伴奏パターンをこのように組み合わせる可能性は、例えば、ソニーエリクソン社のT610型電話で実施されている。しかしながら、それに加えて、ユーザは、市販の、既製の着信音を購入することに依存している。
高い音楽教育を前提としないで、自分のポリフォニックメロディに変換するのに適した、ユーザに好適な通知メロディを生成するための、直感的に操作できるインターフェースを提供できることが望ましい。
用いる和音が所定のものならば、今日のキーボードの大抵のものには、いわゆる伴奏の自動装置として知られている、メロディの伴奏を自動的に行う機能性が備えられている。このようなキーボードには、インターフェースを通じて伴奏がついたメロディをコンピュータに送信して、このメロディを携帯電話の着信音として用いることができるように、適した携帯電話フォーマットに変換する可能性がないという事実を別にして、携帯電話用の自分のポリフォニック通知メロディを生成するためにキーボードを用いることは、この楽器を演奏することができないので、大抵のユーザにとって、選択肢とならない。
本発明の出願人と同じ出願人で、2004年3月5日ドイツ特許商標庁に出願した、ドイツ特許第102004010878.1号「信号メロディを送信する装置並びに方法」には、Java(登録商標)アプレットおよびサーバソフトウェアを援用して、モノフォニック着信音およびポリフォニック着信音を生成して、モバイル装置に送信する方法が記載されている。しかしながら、提案された、この音声信号からメロディを抽出するアプローチは、エラーが非常に多く発生したり、限られたやり方でしか用いることができなかったりする。なかでも、生成したメロディに最も一致する結果として、事前に記憶したメロディの対応する特徴と比較して、事前に記憶したメロディの中から選択するために、音声信号から特色のある特徴を抽出することにより、音声信号のメロディを得ることが提案されている。しかしながら、このアプローチは本質的に、事前に記憶したメロディのセットに対するメロディ認識に限定されている。
ドイツ特許第102004033867.1号「可聴周波信号をリズム処理する方法並びに装置」およびドイツ特許第102004033829.9号「多音メロディを発生させる方法並びに装置」は、ドイツ特許商標庁の同日に出願したもので、やはり、メロディを音声信号から生成することを目的としているが、メロディにリズムおよびハーモニー依存の処理を行うとともに、メロディから伴奏を導出する次の処理よりも、実際のメロディ認識の詳細が考慮されていない。
J.P.ベロ(Bello)著、「単純なポリフォニック音楽の自動化分析に向けて:知識ベースのアプローチ」(ロンドン大学、学位論文、2003年1月)では、例えば、メロディ認識の可能性について扱っている。時間信号のローカルエネルギーまたは周波数領域の分析のいずれかに基づいて、音符の最初の時点について、タイプが異なる認識を行うことが記載されている。これとは別に、メロディライン認識の異なる方法が記載されている。これらの手順に共通しているのは、音声信号の時間/スペクトル表現で、いくつかの軌跡それぞれの処理を行ったり、跡をたどって調べたりして、これらの軌跡から、メロディラインまたはメロディを最終的に選択するという事実により、回り道をして、最終的に得られたメロディを得るという点で、複雑な手順であることである。
また、K.D.マーチン(Martin)著、「単純なポリフォニック音楽の自動トランスクリプションを行う黒板システム」(マサチューセッツ工科大学メディア研究所、知覚コンピューティング部門技術リポート第385、1996年)に、自動トランスクリプションの可能性が記載されている。これは、音声信号の時間/周波数表現または音声信号のスペクトルで、いくつかのハーモニートレースを評価することに基づいている。
A.P.クラプリ(Klapuri)著、「音楽の自動トランスクリプションのための信号処理方法」(タンペレ工業大学、学位論文要約、2003年12月)、A.P.クラプリ著、「音楽の自動トランスクリプションのための信号処理方法」(タンペレ工業大学、論文、2003年12月)、A.P.クラプリ著、「複数の高調波サウンドの混合を分解する数論手段」(ヨーロッパ信号処理会議会報、ギリシャ、ロードス、1998年)、A.P.クラプリ著、「心理音響学知識を応用したサウンドオンセット検出」(音響、音声および信号処理会報IEEE国際会議、アリゾナ州フェニックス、1999年)、A.P.クラプリ著、「スペクトル平坦性原理によるマルチピッチ推定およびサウンド分離」(音響、音声および信号処理会報IEEE国際会議、ユタ州ソルトレークシティ2001年)、A.P.クラプリおよびJ.T.アストーラ(Astola)著、「サウンドの生理的表現の効率的な算出」(デジタル信号処理会報第14回IEEE国際会議、ギリシャ、サントリーン2002年)、A.P.クラプリ著、「高調波性およびスペクトル平坦性に基づく複数の基本周波数の推定」(IEEEスピーチおよび音声学会会報、11(6)、804−816ページ、2003年)、A.P.クラプリ、A.J.エローネン(Eronen)およびJ.T.アストーラ著、「音楽信号メータの自動推定」(タンペレ工業大学信号処理研究所、リポート1−2004、タンペレ、フィンランド、2004、ISSN:1459:4595、ISBN:952−15−1149−4)に、音楽の自動トランスクリプションに関する異なる方法が記載されている。
ポリフォニックトランスクリプションの特殊な場合として、主旋律抽出分野の基本的な研究については、さらに、バウマン ウー(Bauman U.)著:「多重音響物体を検出し分離する方法」、学位論文、人間機械通信講座、ミュンヘン工科大学(Technishe Universitaet Muenchen)、1995年に留意されたい。
メロディ認識または自動トランスクリプションの上述の異なるアプローチは、入力信号に特別な要件がある。例えば、ピアノ音楽だけ、または特定の数の楽器だけを受け付ける、打楽器を除外する等である。
現在の最新ポピュラー音楽に対して最も実用可能な従来アプローチは、ゴトーのアプローチである。例えば、次の文献に記載されている。ゴトー、M著「CD録音におけるメロディラインおよびバスラインのリアルタイム検出のためのロバスト・プレドミナントFO推定方法」(音響、音声および信号処理学会IEEE国際会議会報、II757−760ページ、2000年6月)。この方法の目的は、主要なメロディラインおよびバスラインを抽出することである。すなわち、いわゆる“エージェント”を用いて、いくつかの軌跡から選択することにより、ライン検出を行う迂回をもう一度行っている。従って、方法は費用がかかる。
メロディ検出については、次の文献でも扱っている。R.P.パイバ(Paiva)ら著「ポリフォニック音楽信号のメロディ検出を行う方法」(第116回AES会議、2004年5月ベルリン)。時間/スペクトル表現での軌跡トレーシングの経路をとることについても、提案されている。この文献はまた、音符シーケンスに対して、軌跡の後処理を行うまでの、個別の軌跡のセグメント化に関している。
幅広い複数の異なる音声信号に対する、さらに安定した、確実な機能であるメロディ抽出または自動トランスクリプションの方法があることが望ましい。このような安定したシステムは、“ハミング検索”システムにおいて当然に実施し、費用を節約することになる。すなわち、システムデータベースの参照ファイルの自動トランスクリプションが可能になるので、ユーザがハミングすることによって、データベース内の曲を検索することができるシステムである。安定して機能するトランスクリプションは、フロントエンドで受信するものとして用いることもできる。さらに、自動トランスクリプションを、音声IDシステムの補助装置として用いることも可能である。すなわち、例えば、フィンガープリントがないせいで、音声IDシステムが認識しない場合、ファイルに含まれるフィンガープリントで、音声ファイルを認識するシステムである。入力音声ファイルを評価するために、自動トランスクリプションを選択肢として用いることもできる。
さらに、安定して機能する自動トランスクリプションは、例えば、“推奨エンジン”に対して、例えば、キー、ハーモニーおよびリズム等の他の音楽特徴に関連して、類似関係の生成を提供することもできる。音楽科学では、安定した自動トランスクリプションは、新規の視野を提供し、昔の音楽に対する評価を見直すことにもなる。また、音楽作品を客観的に比較して著作権を維持するために、安定して適用することができる自動トランスクリプションを用いることもできる。
要約すると、メロディ認識または自動トランスクリプションを適用することは、上述の携帯電話の着信音生成に限定されず、一般に、ミュージシャンや音楽に関心がある人々を支援するために用いることもできる。
本発明の目的は、メロディ認識、または幅広い複数の音声信号に対して正確に動作することに、より安定した方法を提供することである。
この目的は、請求項1に記載の装置、および請求項33に記載の方法により達成される。
本発明の知見は、主旋律とは、人が最も大きく、最も正確であると知覚する音楽作品の部分であると、十分考慮した仮定の場合に、メロディ抽出または自動トランスクリプションをより明らかにし、より安定させ、適用可能ならば、費用があまりかからないようにする。これについて、本発明によれば、音声信号のメロディの判定で、まずはじめに、時間/スペクトル表現に延びるメロディラインが求められる。その事実により、各時間区分またはフレームに対し、時間/スペクトル表現の1つのスペクトル成分または1つの周波数ビンが、正確に、一意に対応付けられている。すなわち、特別な実施の形態により、このフレームで最大強度のサウンド結果が導かれる。
本発明の好適な実施の形態によれば、主旋律とは、人が最も大きく、最も正確であると知覚する音楽作品の部分であるという、上述の音楽理論について、2つの状況について考える。この実施の形態によれば、得られる知覚関連時間/スペクトル表現に基づいて、音声信号のメロディを求めるために、人間の音量知覚による等音量曲線を用いて、対象とする音声信号の時間/スペクトル表現またはスペクトルのスケーリングが行われる。より詳細には、この実施の形態によれば、対数化スペクトル値が音圧力レベルを表すように、音声信号のスペクトルが、まずはじめに、対数化される。続いて、それぞれの値と、属するスペクトル成分とにより、知覚関連スペクトル値に対し、対数化スペクトルの対数化スペクトル値のマッピングが行われる。その際に、スペクトル成分または周波数により、異なる音量に対応付けられた、等音量曲線を音圧力として表す関数が用いられる。所定のスペクトル成分に対し、フレーム毎に非対数化知覚関連スペクトル値を合計することにより、結果から時間/サウンドスペクトルを生成するために、知覚関連スペクトルがもう一度非対数化される。これらの合計は、それぞれのスペクトル成分に倍音を形成する、それぞれのスペクトル成分の非対数化知覚関連スペクトル値と、スペクトル成分の非対数化知覚関連スペクトル値とを含んでいる。従って、得られた時間/サウンドスペクトルは、導出された時間/スペクトル表現のバージョンである。
以下に、添付の図面を参照して、本発明の好適な実施の形態について詳細に説明する。
図1は、ポリフォニックメロディ生成装置を示すブロック図である。
図2は、図1の装置の抽出手段機能を示すフローチャートである。
図3は、ポリフォニック音声入力信号の場合の、図1の装置の抽出手段機能を示す詳細なフローチャートである。
図4は、図3の周波数分析となる、一例の音声信号の時間/スペクトル表現またはスペクトルを示す。
図5は、図3の対数化後の結果である、対数化スペクトルを示す。
図6は、図3のスペクトル評価の基礎となる、等音量曲線の図である。
図7は、対数化の基準値を得るために、図3の実際に対数化を行う前に用いる、音声信号のグラフである。
図8は、図3における図5のスペクトル評価後に得られた知覚関連スペクトルである。
図9は、図3のメロディライン判定による、図8の知覚関連スペクトルから得られる時間/スペクトル領域で示す、メロディラインまたは関数である。
図10は、図3の一般セグメント化を説明するフローチャートである。
図11は、時間/スペクトル領域の一例のメロディライン経路の概略図である。
図12は、図10の一般セグメント化でのフィルタリング動作を説明するための、図11のメロディライン経路からの区分を示す概略図である。
図13は、図10の一般セグメント化での周波数範囲制限後の図10のメロディライン経路である。
図14は、図10の一般セグメント化での最後から2番目のステップの動作を説明するための、メロディラインの区分を示す概略図である。
図15は、図10の一般セグメント化でのセグメント分類動作を説明するための、メロディラインからの区分を示す概略図である。
図16は、図3のギャップ埋め込みを説明するフローチャートである。
図17は、図3の可変半音ベクトルを位置決めする手順を説明するための概略図である。
図18は、図16のギャップ埋め込みを説明するための概略図である。
図19は、図3のハーモニーマッピングを説明するためのフローチャートである。
図20は、図19によるハーモニーマッピング動作を説明するためのメロディライン経路からの区分を示す概略図である。
図21は、図3の振動子認識および振動子バランスを説明するためのフローチャートである。
図22は、図21による手順を説明するためのセグメント経路の概略図である。
図23は、図3の統計補正における手順を説明するためのメロディライン経路からの区分を示す概略図である。
図24は、図3のオンセット認識および補正における手順を説明するためのフローチャートである。
図25は、図24によるオンセット認識において用いられる一例のフィルタ伝送関数を示すグラフである。
図26は、図24のオンセット認識および補正に用いられる、2方向整流フィルタ後の音声信号およびこの音声信号のエンベロープの概略の経路である。
図27は、モノフォニック音声入力信号の場合の図1の抽出手段の機能を説明するためのフローチャートである。
図28は、図27の音分離を説明するためのフローチャートである。
図29は、図28による、音分離の関数を説明するためのセグメントに沿った、音声信号のスペクトルの振幅経路からの区分の概略図である。
図30aおよび図30bは、図28による、音分離の関数を説明するためのセグメント沿った、音声信号のスペクトルの振幅経路からの区分の概略図である。
図31は、図27の音の平滑化を説明するためのフローチャートである。
図32は、図1による、音の平滑化の手順を説明するためのメロディライン経路からのセグメントを示す概略図である。
図33は、図27のオフセット認識および補正を説明するためのフローチャートである。
図34は、図33による、手順を説明するための2方向整流フィルタ後の音声信号およびその補間からの区分の概略図である。
図35は、考えられるセグメント延長を行う場合の2方向整流フィルタ後の音声信号およびその補間からの区分を示す。
図1は、ポリフォニックメロディ生成装置を示すブロック図である。
図2は、図1の装置の抽出手段機能を示すフローチャートである。
図3は、ポリフォニック音声入力信号の場合の、図1の装置の抽出手段機能を示す詳細なフローチャートである。
図4は、図3の周波数分析となる、一例の音声信号の時間/スペクトル表現またはスペクトルを示す。
図5は、図3の対数化後の結果である、対数化スペクトルを示す。
図6は、図3のスペクトル評価の基礎となる、等音量曲線の図である。
図7は、対数化の基準値を得るために、図3の実際に対数化を行う前に用いる、音声信号のグラフである。
図8は、図3における図5のスペクトル評価後に得られた知覚関連スペクトルである。
図9は、図3のメロディライン判定による、図8の知覚関連スペクトルから得られる時間/スペクトル領域で示す、メロディラインまたは関数である。
図10は、図3の一般セグメント化を説明するフローチャートである。
図11は、時間/スペクトル領域の一例のメロディライン経路の概略図である。
図12は、図10の一般セグメント化でのフィルタリング動作を説明するための、図11のメロディライン経路からの区分を示す概略図である。
図13は、図10の一般セグメント化での周波数範囲制限後の図10のメロディライン経路である。
図14は、図10の一般セグメント化での最後から2番目のステップの動作を説明するための、メロディラインの区分を示す概略図である。
図15は、図10の一般セグメント化でのセグメント分類動作を説明するための、メロディラインからの区分を示す概略図である。
図16は、図3のギャップ埋め込みを説明するフローチャートである。
図17は、図3の可変半音ベクトルを位置決めする手順を説明するための概略図である。
図18は、図16のギャップ埋め込みを説明するための概略図である。
図19は、図3のハーモニーマッピングを説明するためのフローチャートである。
図20は、図19によるハーモニーマッピング動作を説明するためのメロディライン経路からの区分を示す概略図である。
図21は、図3の振動子認識および振動子バランスを説明するためのフローチャートである。
図22は、図21による手順を説明するためのセグメント経路の概略図である。
図23は、図3の統計補正における手順を説明するためのメロディライン経路からの区分を示す概略図である。
図24は、図3のオンセット認識および補正における手順を説明するためのフローチャートである。
図25は、図24によるオンセット認識において用いられる一例のフィルタ伝送関数を示すグラフである。
図26は、図24のオンセット認識および補正に用いられる、2方向整流フィルタ後の音声信号およびこの音声信号のエンベロープの概略の経路である。
図27は、モノフォニック音声入力信号の場合の図1の抽出手段の機能を説明するためのフローチャートである。
図28は、図27の音分離を説明するためのフローチャートである。
図29は、図28による、音分離の関数を説明するためのセグメントに沿った、音声信号のスペクトルの振幅経路からの区分の概略図である。
図30aおよび図30bは、図28による、音分離の関数を説明するためのセグメント沿った、音声信号のスペクトルの振幅経路からの区分の概略図である。
図31は、図27の音の平滑化を説明するためのフローチャートである。
図32は、図1による、音の平滑化の手順を説明するためのメロディライン経路からのセグメントを示す概略図である。
図33は、図27のオフセット認識および補正を説明するためのフローチャートである。
図34は、図33による、手順を説明するための2方向整流フィルタ後の音声信号およびその補間からの区分の概略図である。
図35は、考えられるセグメント延長を行う場合の2方向整流フィルタ後の音声信号およびその補間からの区分を示す。
以下に、図面の説明を参照して、音声信号からポリフォニック呼出メロディを生成するという特別な場合の適用例について、単に一例として本発明を説明することに留意されたい。しかしながら、次の点についてはっきりと留意されたい。本発明はもちろん、この場合の適用例に限定されるわけではなく、本発明のメロディ抽出または自動トランスクリプションが、例えば、データベース検索を容易にすること、単なる音楽作品の認識、音楽作品を具体的に比較することにより著作権の維持を可能にすること等や、ミュージシャンにトランスクリプション結果を示すことができるようにするために、単なる音声信号トランスクリプションにも用いることができる。
図1は、所望のメロディを含む音声信号から、ポリフォニックメロディを生成する装置の実施の形態を示す。換言すれば、図1は、リズムおよびハーモニー抽出を行い、メロディを表す音声信号の新規の計測を行い、適した伴奏により得られるメロディを補助する装置を示す。
全体を300と表す図1の装置は、音声信号を受信するための入力302を含んでいる。この場合は、装置300または入力302が、例えば、WAVファイル等の時間サンプリング表現での音声信号を想定している場合の例である。しかしながら、音声信号は、例えば、非圧縮または圧縮した形式、または周波数帯域表現等の別の形式で、入力302に存在してもよい。装置300はさらに、任意のフォーマットでポリフォニックメロディを出力する出力304を含んでいる。この場合は、MIDIフォーマットのポリフォニックメロディを出力する例が仮定される(MIDI=音楽楽器デジタルインターフェース)。入力302と出力304との間に、抽出手段304、リズム手段306、キー手段308、ハーモニー手段310および合成手段312が、この順序で直列に接続する。さらに、手段300は、メロディ記憶装置314を含む。キー手段308の出力は、次のハーモニー手段310の入力だけでなく、メロディ記憶装置314の入力にさらに接続している。従って、ハーモニー手段310の入力は、上流側に配置されているキー手段308の出力だけでなく、メロディ記憶装置314の出力にも接続している。さらに、メロディ記憶装置314の入力は、用意されている識別番号IDを受信するために提供される。さらに、合成手段312の入力は、スタイル情報を受信するために導入される。スタイル情報と、用意されている識別番号との意味は、次の機能説明からわかるであろう。抽出手段304およびリズム手段306はともに、リズム表現手段316を構成している。
図1の装置300のセットアップについて上述したが、以下に、その機能について説明する。
抽出手段304は、音声信号から音符シーケンスを得るために、入力302で受信した音声信号を音符抽出または認識を受けさせるために導入される。本実施の形態では、抽出手段304をリズム手段306に渡す音符シーケンス318は、音符nそれぞれに対し、例えば、音または音符の開始をそれぞれ、秒で表す音符開始時間tn、例えば、秒で表す音符の音符継続時間である、音または音符継続時間τn、例えば、MIDI音符で表すC、Fシャープ等の、量子化音符または音ピッチ、音符の音量Ln、音符シーケンスに含まれる音または音符の正確な周波数fnの型式で表される。nは、次の音符の大きさで大きくなる音符シーケンスの各音符、または音符シーケンスの各音符の位置を示すインデックスを表す。
音符シーケンス318を生成する手段304によって行われる、メロディ認識または音声トランスクリプションについて、図2〜図35を参照して、より詳細に説明する。
音声信号302で表したように音符シーケンス318は、やはりメロディを表す。次に、音符シーケンス318は、リズム手段306に供給される。供給した音符シーケンスを分析するために、リズム手段306を用いる。時間長、1拍裏、すなわち、音符シーケンスの時間ラスタを求め、音符シーケンスの個別の音符を、例えば、全音符、半音符、四分音符、八分音符等の一定時間の適した時間限定長に適用し、音符の音符開始を時間ラスタに調整するためである。従って、リズム手段306からの音符シーケンス出力は、リズミカルに表現した音符シーケンス324を表す。
リズミカルに表現した音符シーケンス324で、キー手段308は、キー判定と、適用可能ならば、キー補正とを行う。特に、手段308は、音符シーケンス324に基づいて、例えば、歌った音楽作品のモード、すなわち長調または短調を含む、音符シーケンス324または音声信号302が表す、ユーザメロディのメインキーまたはキーを求める。その後、美しい響きのサウンドの最終的な結果となるように、すなわち、リズミカルに表現したおよびキー補正音符シーケンス700となるように、さらに、音階に含まれない音符シーケンス114の音または音符を認識し、補正する。これが、ハーモニー手段310に送られ、ユーザが要求したメロディのキー補正形式を表す。
キー判定に関する手段324の機能は、異なるやり方で実施することもできる。例えば、キー判定は、以下に記載の方法で行ってもよい。クルムハンシル(Krumhansl)、Carol L.著、「音楽ピッチの認識の基礎」(オックスフォード大学出版、1990年)、または、テンパーレイ(Temperley)、David著、「基礎音楽構造の認識」MIT出版、2001年)。
ハーモニー手段310は、手段308から音符シーケンス700を受信し、この音符シーケンス700によって表わされるメロディの適した伴奏を検索するために導入される。このために、手段310は、水平方向に作用または動作する。特に、手段310は、各時間で発生した音符Tnの音または音ピッチの統計データを生成するように、リズム手段306が求めた時間ラスタで判定するように、小節毎に動作可能である。次に、発生する音の統計データが、キー手段308が求めたような、メインキーの音階の考えられる和音と比較される。手段310は、特に、統計データが示すように、それぞれの時間で音と一番合う音を有する考えられる和音から、その音を選択する。このように、手段310は、例えば、歌を歌った各時間で、音または音符の最も適した1つの和音を時間毎に求める。換言すれば、和音進行が、メロディ経路に対して作成されるように、手段310は、モードに基づいて、和音段階の基本キーを手段306によって検出された時間に対応付ける。手段310の出力で、NLを含むリズミカルに表現したおよびキー補正音符シーケンスとは別に、さらに、時間毎の和音段階表示を合成手段312に出力する。
合成を行うために、すなわち、最終的に得られるポリフォニックメロディを人工的に生成するために、合成手段312は、702の場合で示されるように、ユーザによって入力するスタイル情報を用いる。例えば、スタイル情報により、すなわちポップ、テクノ、ラテンまたはレゲエ等の、このポリフォニックメロディを生成する4つの異なるスタイルまたは音楽指示から、ユーザは選択する。これらのスタイルそれぞれについて、1つ、またはいくつかの伴奏パターンを合成手段312に保存する。伴奏を生成するために、合成手段312は、ここで、スタイル情報702が示す伴奏パターンを用いる。伴奏を生成するために、合成手段312は、小節毎の伴奏パターンをつなぎ合わせる。手段310により求めた時間の和音が、伴奏パターンがすでにある和音バージョンならば、次に、合成手段312は、単に、伴奏のこの時間の現在のスタイルの対応する伴奏パターンを選択する。しかしながら、一定時間の間、手段310が求めた和音が、手段312に保存されている伴奏パターンではない場合は、次に、合成手段312が、伴奏対応する数の半音だけ、パターンの音符を移動したり、別のモードの場合は、第3音を移動したり、第6音および第5音を半音だけ変更したりする。すなわち、長調和音の場合は半音上げ、短調和音の場合はまた別に変更する。
さらに、合成手段312は、主旋律を得るために、ハーモニー手段310から合成手段312へ送った音符シーケンス700によって表されるメロディを測定し、最終的に伴奏および主旋律をポリフォニックメロディと合成し、出力304に、MIDIファイル形式で現在の例として出力する。
キー手段308は、さらに、用意されている識別番号で、メロディ記憶装置314に音符シーケンス700を保存するために導入される。ユーザが、出力304でのポリフォニックメロディの結果に満足しなかった場合は、用意されている識別番号を新規のスタイル情報とともに図1の装置にもう一度入力する。すぐに、メロディ記憶装置314は、用意されている識別番号で保存されているシーケンス700をハーモニー手段310に送り、次に、上述のように、和音を求める。すぐに、和音により、新規のスタイル情報を用いて、合成手段312が、音符シーケンス700に基づいて、新規の伴奏および新規の主旋律を生成して、出力304で、これを新規のポリフォニックメロディと合成する。
以下では、図2〜図35を参照して、抽出手段304の機能について説明する。ここで、まずはじめに、図2〜図26を参照して、手段304の入力でのポリフォニック音声信号302のメロディ認識を行う場合の手順について説明する。
まずはじめに、図2は、メロディ抽出または自動トランスクリプションの大まかな手順を示している。開始点は、上述のように、ステップ750におけるWAVファイルで表す場合もある音声ファイルを、読み込みまたは入力を行う。その後、手段304は、ファイルに含まれる音声信号の時間/周波数表現またはスペクトルを生成するために、ステップ752で、音声ファイルの周波数分析を行う。特に、ステップ752は、周波数帯域に音声信号を分解することを含む。ここで、音声信号は、次に、スペクトル成分のセットに対して、各時間区分または各フレームのスペクトル値を得るために、それぞれスペクトルに分解されるウインドウ化の範囲で、好ましくは時間的に重複する時間区分に分割される。スペクトル成分のセットは、周波数分析752の基礎となる変換を選択することに依存している。特別な実施の形態は、次の図4を参照して、このことについて説明する。
ステップ752の後、手段304は、ステップ754で、重み付き振幅スペクトルまたは知覚関連スペクトルを求める。以下に、図3〜図8を参照して、知覚関連スペクトルを求める正確な手順について、より詳細に説明する。ステップ754の結果は、スペクトルを人の知覚感覚に調整するために、人の知覚感覚を反映する等音量曲線を用いて、周波数分析752から得られたスペクトルの再スケーリングである。
ステップ754の次の処理756では、音符セグメントに構成されたメロディラインの形式における出力信号のメロディを最終的に得るために、ステップ754から得られた知覚関連スペクトルを用いる。すなわち、次のフレームのグループそれぞれが、同じ対応付けられた音ピッチを有する形式である。これらのグループは、1つまたはいくつかのフレームに対して時間的に互いに間隔が開いていて、重複していないので、モノフォニックメロディの音符セグメントに対応している。
図2では、処理756は、3つのサブステップ758、760および762から構成されている。第1のサブステップでは、時間/基本周波数表現を得るために、知覚関連スペクトルを用い、この時間/基本周波数表現をもう一度用いて、1つのスペクトル成分または1つの周波数ビンが、フレーム毎に、正確に一意に対応付けられているように、メロディラインをもう一度求める。まずはじめに、この周波数ビンと、それぞれの周波数ビンの倍音を表す周波数ビンとで、非対数化知覚関連スペクトル値を介して、各フレームと、各周波数ビンとに対し、加算を行うために、ステップ754の知覚関連スペクトルが非対数化されるという事実により、時間/基本周波数表現は、サウンドを部分音に分離することを考えている。結果は、1つのフレーム毎の1つの範囲のサウンドとなる。各フレームに対し、主音または周波数または周波数を選択することにより、この範囲のサウンドから、メロディラインの判定を行う。サウンドの範囲は、その最大である。従って、ステップ758の結果は、多かれ少なかれ、1つの周波数ビンを各フレームに一意に正確に対応付けるメロディライン関数である。このメロディライン関数は、一方では、考えられるスペクトル成分またはビン、他方では、考えられるフレームにわたる、時間的/周波数領域または2次元メロディ行列のメロディライン経路をもう一度定義する。
次のサブステップ760および762は、連続メロディラインをセグメント化して、個別の音符にするために提供される。図2で、セグメント化は、セグメント化を入力周波数分解能、すなわち周波数ビン分解能で行うのか、またはセグメント化を半音分解能、すなわち周波数を半音周波数に量子化した後で行うのかに基づいている2つのサブステップ760および762から構成されている。
音符シーケンスをメロディラインセグメントから生成するために、処理756の結果は、ステップ764で処理する。各音符に対し、開始音符時点、音符継続時間、量子化音ピッチ、正確な音ピッチ等が対応付けられている。
図1の抽出手段304の機能について、図2を参照して上述した後、次に、一般に、以下に図3を参照して、入力302の音声ファイルで表す音楽が元のポリフォニックによる場合に対して、この機能についてより詳細に説明する。ポリフォニック音声信号とモノフォニック音声信号との間の区別は、次の考えから得られる。音楽演奏能力があまりない人が、モノフォニック音声信号を生成することが多く、これには音楽的欠点が含まれているので、セグメント化を行うのに若干異なる手順が必要となる。
はじめに2つのステップ750および752では、図3は、図2に対応している。すなわち、まずはじめに、音声信号に750を入力されて、この周波数分析752を行う。本発明の一実施の形態によれば、WAVファイルは、たとえば、サンプリング周波数16kHzで個別に音声サンプルをサンプリングしたフォーマットである。個別のサンプルは、ここでは、例えば、16ビットフォーマットで存在する。さらに、以下に、音声信号がモノラルファイルとして存在する場合を例として考える。
次に、例えば、歪みフィルタバンクおよびFFT(高速フーリエ変換)を用いて、周波数分析752が行われる。特に、周波数分析752で、まずはじめに、音声値シーケンスが512サンプルのウインドウ長でウインドウ化される。128サンプルのホップサイズを用いる。すなわち、128サンプル毎にウインドウ化を繰り返す。16kHzのサンプルレートと16ビットの量子化分解能とを用いると、これらのパラメータは、時間および周波数分解能の両方をうまく満足させる。これらの一例の設定により、1つの時間区分または1つのフレームは、8ミリ秒の時間に対応している。
約1,550Hzまでの周波数範囲に対し、特別な実施の形態による歪みフィルタバンクが用いられる。低周波数に対し十分に良好な分解能を得るために、このことが必要である。良好な半音分解能に対し、十分な周波数帯域を利用できるようにする必要がある。100Hzの周波数で、16kHzのサンプルレートで−0.85からのラムダ値では、約2つ〜4つの周波数帯域が1つの半音に対応している。低周波数については、各周波数帯域は、1つの半音に対応付けられている。次に8kHzまでの周波数範囲には、FFTが用いられる。FFTの周波数分解能は、約1,550Hzからの良好な半音表現に十分である。ここで、約2つ〜6つ周波数帯域は、半音に対応している。
一例としての上述の実施例では、歪みフィルタバンクの遷移パフォーマンスについて留意されたい。好ましくは、このために、2つの変換を組み合わせて時間同期が行われる。例えば、出力スペクトルFFTの最後の16フレームについて考えないように、フィルタバンク出力の最初の16フレームは廃棄される。適した解釈では、振幅レベルは、フィルタバンクおよびFFTで全く同じで、調整する必要はない。
図4は、例として、歪みフィルタバンクおよびFFTの組み合わせの直前の実施の形態から得られた、音声信号の振幅スペクトルまたは時間/周波数表現またはスペクトルを示す。図4の横軸の時間tを秒(s)で示し、縦軸の周波数fはHzで動作する。個別のスペクトル値の高さは、グレースケールである。換言すれば、音声信号の時間/周波数表現は、1つには(縦軸)、考えられる周波数ビンまたはスペクトル成分、もう一方では(横軸)時間区分またはフレームにわたる、二次元領域である。フレームのあるタプルと周波数ビンとで、この領域の各位置に対して、スペクトル値または振幅が対応付けられている。
特別な実施の形態によれば、歪みフィルタバンクで算出した振幅が、次の処理に十分正確でないことがあるので、図4のスペクトルの振幅も、周波数分析752の範囲で後処理する。周波数帯域の中心周波数に正確になっていない周波数は、周波数帯域の中心周波数に正確に対応している周波数より低い振幅値である。また、歪みフィルタバンクの出力スペクトルでは、隣接周波数帯域へのクロストークについても、ビンまたは周波数ビンと呼ぶことになる。
障害となる振幅を補正するために、クロストークの作用を用いてもよい。最大で、各方向の2つの隣接周波数帯域が、これらの障害の影響を受ける。一実施の形態によれば、この理由で、図4のスペクトルでは、各フレーム内で、隣接ビンの振幅は、中心ビンの振幅値に加えられる。これは、すべてのビンに当てはまる。音楽信号で2つの音周波数が特に互いに近い場合に、誤った振幅値が算出される恐れがあり、2つの元の正弦部分より大きい値のファントム周波数を生成するので、1つの好適な実施の形態では、直接隣接するビンの振幅値だけを元の信号部分の振幅に加えられる。このことは、精度と、直接隣接するビンを加えることによる副作用の発生との両方をうまく満足させることを表す。振幅値の精度が低いにもかかわらず、3つまたは5つの周波数帯域を加算することで、算出した振幅値の変化を無視できるので、この両方をうまく満足させることは、メロディ抽出に関して許容できる。これに対して、ファントム周波数の展開は、さらに重要である。音楽作品に同時に発生するサウンドの数で、ファントム周波数の生成を増加させる。メロディラインに対する検索では、これにより、誤った結果を導くこともある。好ましくは、正確な振幅の算出が、歪みフィルタバンクとFFTとの両方に行うので、続いて、振幅レベルで完全な周波数スペクトルにわたって、音楽信号が表される。
歪みフィルタバンクとFFTとの組み合わせから信号分析を行う上記の実施の形態は、聴覚適用周波数分解能を行うことと、半音毎に十分な数の周波数ビンを存在させることとが可能になる。参照する実施例のより詳細については、次に文献に記載されている。クラース・デルボーヘン(Class Derboven)の論文「多音可聴周波信号から音声物体を検出する方法のための装置と研究」(イルメナウ工業大学2003年)、およびオラフ・シュロイジング(Olaf Schleusing)の論文「可聴周波信号からメタデータを抽出するための周波数帯変換の研究」(イルメナウ工業大学2002年)。
上述のように、周波数分析752の分析結果は、スペクトル値の行列またはフィールドである。これらのスペクトル値は、振幅による音量を表す。しかしながら、人間の音量知覚は、対数分割である。従って、振幅スペクトルをこの分割に調整することは、賢明である。これを、次のステップ752の対数化770で行う。対数化770では、すべてのスペクトル値が、人の対数音量知覚に対応する音圧力レベルのレベルに対数化される。特に、スペクトルにおけるスペクトル値pの対数化770では、周波数分析752から得られるように、音圧力レベル値または対数化スペクトル値Lに対し、pがマッピングを行う。p0は、ここでは音の基準圧力、すなわち、1,000Hzの最も小さい知覚可能な音圧力の音量レベルを表す。
対数化770のうち、この基準値は、まずはじめに求める必要がある。アナログ信号分析では、基準値として、最も小さい知覚可能な音圧力p0を用いられるが、この規則性を、デジタル信号処理に送信することは、簡単でないことがある。基準値を求めるには、一実施の形態によれば、図7に示すように、このためにサンプル音声信号が用いられる。図7は、時間tに対するサンプル音声信号772を示す。Y方向では、示されている最も小さいデジタル単位で振幅Aがグラフ化される。これからわかるように、サンプル音声信号または基準信号772は、示されている1つのLSB振幅値または最も小さいデジタル値で存在している。換言すれば、基準信号772の振幅は、1ビットだけで振動する。基準信号772の周波数は、人間の聴感閾値の最も高い感度の周波数に対応している。しかしながら、場合によっては、基準値に対する他の判定が、より利点がある場合もある。
図5では、図4のスペクトルの対数化770の結果が、例として示される。対数化スペクトルの一部分が、対数化のために負の値の範囲にある場合は、全周波数範囲にわたって正の結果を得るために、さらに処理を行う際に意味をなさない結果となることを防止するために、これらの負のスペクトルまたは振幅値は、0dBに設定される。念のために、次のことに留意されたい。図5では、対数化スペクトル値を図4と同じように示している。すなわち、時間tおよび周波数fにわたる行列で配置し、値により、グレースケールで配置している。すなわち、色が濃くなるほど、それぞれのスペクトル値が高くなっている。
人間の音量評価は、周波数依存である。従って、人のこの周波数依存の評価の調整値を得るために、対数化770から得られる、対数化スペクトルを、ステップ772で次のように評価する。このために、等音量曲線774が用いられる。人間の知覚により、低周波数の振幅値の評価は、高周波数の振幅よりも低いので、特に、周波数音階にわたる音楽サウンドの異なる振幅評価を人間の知覚に対して調整するために、評価772が必要である。
現在の例として、等音量曲線774に対して、次の文献に記載の曲線特性を用いる。ドイツ規格化協会(Deutches Institut fuer Normung)、社団法人、「音響測定の基礎、同一音位の基準曲線」(DIN456302ページ、1967年)。グラフ経路が、図6に示される。図6からわかるように、等音量曲線774は、それぞれ、単音で示される、異なる音量レベル対応付けられている。特に、これらの曲線774は、それぞれの曲線に位置する任意の音圧力レベルは、それぞれの曲線の同じ音量レベルに対応するように、dBの音圧力レベルを各周波数に対応付ける関数を示している。
好ましくは、等音量曲線774は、手段204に分析的形式で存在している。もちろん、音量レベル値を周波数ビンおよび音圧力レベル量子化値の各対に対応付けるルックアップテーブルとして備えることも考えられる。最も低い音量レベルの音量曲線には、例えば、次の式を用いることもできる。
しかしながら、ドイツ工業規格に基づくこの曲線の形と聴感閾値の間には、低周波数および高周波数値の範囲で、偏差がある。調整のために、図6の上述のドイツ工業規格の最も低い音量曲線の形に対応するように、利用されていない聴感閾値の関数パラメータは、上記の式により、変更されてもよい。次に、この曲線は、10dBの間隔でより高い音量レベルの方向に縦に移動され、関数パラメータは、関数グラフ774のそれぞれの特性に調整される。中間値は、線形補間により、1dBの幅で求められる。好ましくは、最も高い値範囲の関数が、100dBのレベルで評価する。16ビットのワード幅が98dBのダイナミックレンジに対応しているので、これで十分である。
しかしながら、ドイツ工業規格に基づくこの曲線の形と聴感閾値の間には、低周波数および高周波数値の範囲で、偏差がある。調整のために、図6の上述のドイツ工業規格の最も低い音量曲線の形に対応するように、利用されていない聴感閾値の関数パラメータは、上記の式により、変更されてもよい。次に、この曲線は、10dBの間隔でより高い音量レベルの方向に縦に移動され、関数パラメータは、関数グラフ774のそれぞれの特性に調整される。中間値は、線形補間により、1dBの幅で求められる。好ましくは、最も高い値範囲の関数が、100dBのレベルで評価する。16ビットのワード幅が98dBのダイナミックレンジに対応しているので、これで十分である。
同じ音量の曲線774に基づいて、ステップ772における手段304は、各対数化スペクトル値、すなわち、図5のアレイにおける各値でマッピングする。周波数fまたは周波数ビンにより、そして音圧力レベルを表すその値により、音量レベルを表す知覚関連スペクトル値に属している。
図5の対数化スペクトルの場合のこの手順の結果は、図8に示される。これからわかるように、図8のスペクトルでは、低周波数はもはや特に重要ではない。より高い周波数およびそれらの倍音が、この評価によりさらに強く強調される。これも、異なる周波数の音量を評価する人間の知覚に対応している。
上述のステップ770〜774は、図2からのステップ754の考えられるサブステップを表している。
ステップ776でのスペクトルの評価772を行った後で、図3の方法では、基本周波数判定または音声信号の各サウンド全体的な強度の算出を続ける。このために、ステップ776では、各主音の強度が、対応付けられたハーモニーに加えられる。物理的視野から、サウンドは、対応付けられた部分音のうちの主音からなる。ここで、部分音は、サウンドの基本周波数の整数の倍数である。部分音または倍音について、高調波とも呼ぶ。ここで、各主音に対して、その強度と、それぞれ対応付けられたハーモニーとを加算するために、ステップ776において、各考えられる主音、すなわち各周波数ビンに対し、主音の整数の倍数である倍音または倍音を検索するために、ハーモニーラスタ778が用いられる。従って、主音としての特定の周波数ビンに対し、さらに、主音の周波数ビンの整数の倍数に対応する周波数ビンは、倍音周波数として対応付けられている。
ステップ776において、考えられる主音周波数すべてに対し、音声信号のスペクトルの強度が、それぞれの主音およびその倍音で加算される。しかしながら、これを行う際に、音楽作品でいくつかの同時に発生するサウンドにより、サウンドの主音が、低周波数の主音を有する別のサウンドの倍音でマスクされる可能性があるので、個別の強度値の重み付けが行われる。また、サウンドの倍音が別のサウンドの倍音でマスクされる場合もある。
いずれにしても共に属するサウンドの音を求めるために、ステップ776において、ゴトウマサタカのモデルの原理に基づいて、音モデルが用いられ、周波数分析752のスペクトル分解能を調整する。ゴトーの音モデルは、次の文献に記載されている。ゴトー、M著、「CD録音でメロディラインおよびバスラインのリアルタイム検出を行うための安定したプレドミナントFO推定方法」、(音響、音声および信号処理IEEE国際会議会報、2000年トルコ、イスタンブール)。
各周波数帯域または周波数ビンのハーモニーラスタ778により、サウンドの考えられる基本周波数に基づいて、それに属する倍音周波数が対応付けられている。好適な実施の形態によれば、例えば、80Hz〜4,100Hzの1つの特定の周波数ビン範囲でだけ、基本周波数の倍音が検索され、15次高調波についてだけ考える。これを行う際に、異なるサウンドの倍音は、いくつかの基本周波数の音モデルに対応付けられている場合もある。この作用により、検索したサウンドの振幅比率を、基本的に変更してもよい。この作用を弱めるために、部分音の振幅は、1/2ガウスフィルタで評価される。ここで、基本音は最も高い原子価を受信する。任意の次の部分音は、その次数により、より低い重み付けを受信する。例えば、小さい順のガウス形で、重み付けが小さくなる。従って、実際の倍音をマスクする別のサウンドの倍音振幅が、検索した音声の全体的な結果に特別に作用することはない。より高い次数の各倍音ではなく、より高い周波数のスペクトルの周波数分解能が低くなるので、対応する周波数があるビンが存在する。検索した倍音の周波数環境の隣接するビンに対するクロストークのために、ガウスフィルタを用いて、最も近い周波数帯域にわたり、検索した倍音の振幅について、比較的よい再生を行ってもよい。従って、同じ周波数帯域の倍音周波数または強度を、周波数ビン単位で求めるだけでなく、倍音周波数での強度値を正確に求めるために、補間を用いてもよい。
しかしながら、ステップ772の知覚関連スペクトルで強度値にわたる加算は直接行わない。そうではなく、はじめにステップ776において、まずはじめに、ステップ770からの基準値を利用して、図8の知覚関連スペクトルの非対数化を行う。結果は、非対数化知覚関連スペクトル、すなわち、周波数ビンとフレームとの各タプルの非対数化知覚関連スペクトル値のアレイとなる。この非対数化知覚関連スペクトル内で、各考えられる主音に対し、対応付けられたハーモニーのハーモニーラスタ778を用いて、主音のスペクトル値と、適用可能ならば、補間したスペクトル値が加算される。すべての考えられる主音周波数の周波数範囲のサウンド強度値と、80〜4,000Hzの範囲内だけの、上述の例での各フレームに対するサウンド強度値とになる。換言すれば、ステップ776の結果がサウンドスペクトルである。ステップ776自体が、音声信号のスペクトル内のレベル加算に対応している。ステップ776の結果は、例えば、考えられる主音周波数の周波数範囲内の各周波数ビンに対する行と、各フレームの列とから構成される新規の行列に入力される。各行列要素、すなわち、列および行の交差のそれぞれで、対応する周波数ビンの加算結果が主音として入力される。
次に、ステップ780で、考えられるメロディラインの事前判定が行われる。メロディラインは、時間で関数、すなわち、正確に1つの周波数帯域または1つの周波数ビンを各フレームに対応付ける関数に対応している。換言すれば、ステップ780で求めたメロディラインが、ステップ776のサウンドスペクトルまたは行列の定義範囲に沿ったトレースを定義している。周波数軸に沿ったトレースは重複していないし、曖昧でもない。
ステップ780における、サウンドスペクトルの全周波数範囲の各フレームに対し、最大振幅、すなわち、最も高い加算値を求めるように、判定が行われる。結果、すなわち、メロディラインは主に、音声信号302の基礎となる音楽タイトルのメロディの基本経路に対応している。
ステップ772における等音量曲線のスペクトル評価と、ステップ780における最大強度の音の結果の検索とは、主旋律は、人が最も大きく、最も簡潔であると認知する音楽タイトルの部分であるという、音楽科学の報告をサポートするものである。
上述のステップ776〜780は、図2のステップ758の考えられるサブステップを示している。
ステップ780の考えられるメロディラインで、メロディに属していないセグメントが配置されている。メロディ休符またはメロディ音符間で、例えば、低音域経路または他の伴奏楽器からの主要なセグメントを検出してもよい。これらのメロディ休符は、図3の後のステップから除外する必要はない。これ以外は、短い個別の要素は、タイトルの任意の範囲に対応付けられていない結果となる。これらを、例えば、以下に説明するように、3×3平均値フィルタを用いて除去する。
ステップ780において、考えられるメロディラインの判定を行った後で、ステップ782において、まずはじめに、一般セグメント化782が行われる。これは、明白に、実際のメロディラインに属していない、考えられるメロディラインを除外する。図9では、例えば、ステップ780のメロディライン判定結果は、図8の知覚関連スペクトルの場合の例として示される。図9は、x軸に沿った時間tまたはフレームシーケンスと、y軸に沿った周波数fまたは周波数ビンとに対するメロディライングラフ化を示している。換言すれば、図9では、ステップ780のメロディラインは、バイナリ画像アレイの型式で示される。これは、以下で、メロディ行列ともよく呼ばれ、各周波数ビンの行と、各フレームの列とから構成されている。メロディラインが存在しないアレイの点すべては、0の値または白から構成され、メロディラインが存在するアレイの点は、1の値または黒で構成されている。これらの点は結果として、周波数ビンと、ステップ780のメロディライン関数で互いに対応付けられたフレームとのタプルで配置されている。
図9に参照番号784で示されている図9のメロディラインで、ここで、一般セグメント化のステップ782が行われる。図10を参照して、考えられる実施例をより詳細に説明する。
一般セグメント化782は、周波数/時間範囲の表現で、メロディライン784のフィルタリングを行うステップ786において、開始する。図9に示すように、メロディライン784は、周波数ビンと、フレームとにわたるアレイのバイナリトレースとして示される。図9のピクセルアレイは、例えば、x×yピクセルアレイである。xはフレームの数に対応し、yは周波数ビンの数に対応している。
ステップ786で、メロディラインの小さな異常値またはアーティファクトを除去するために提供される。図11は、例として、図9による表現において、メロディライン784の考えられる形を概略で示している。これからわかるように、ピクセルアレイは、領域788を示している。この領域では、継続時間が短い時間なので実際のメロディに特に属していないと考えられるメロディライン784の区分に対応している別の黒ピクセル要素が配置されている。従ってこれを除外する。
ステップ786で、メロディラインをバイナリで示す図9または図11のピクセルアレイからの理由で、はじめに、対応するピクセルおよびこのピクセルに隣接するピクセルで、バイナリ値の加算に対応する各ピクセルの値を入力することにより、第2のピクセルアレイが生成される。このために、図12aを参照する。そこで、図9または図11のバイナリ画像におけるメロディライン経路の一例の区分が示される。図12aの一例の区分は、異なる周波数ビン1〜5に対応する5つの行と、異なる隣接フレームに対応する5つの列A〜Eとを含む。メロディライン部分を表す対応するピクセル要素に斜線を付して、図12でメロディラインの経路が表される。図12aの実施の形態によれば、メロディラインにより、周波数ビン4は、フレームBに対応付けられ、周波数ビン3は、フレームCに対応付けられている。また、メロディラインにより、周波数ビンは、フレームAに対応付けられている。しかしながら、これは、図12aの区分の5つの周波数ビンの間にない。
ステップ786のフィルタリングで、まずはじめに、既に述べたように、各ピクセル790に対し、そのバイナリ値と隣接ピクセルのバイナリ値とが加算される。例えば、これを、図12aのピクセル792に例として示している。794で、ピクセル隣接ピクセル792およびピクセル792自体を取り囲む四角が描かれている。ピクセル792の周囲の領域794で、メロディラインに属する2つのピクセルだけが、すなわち、フレームCおよびビン3で、ピクセル792自体およびピクセルC3が配置されているので、ピクセル792に対し、次に、2の合計値となる。さらに任意のピクセルに対して領域794を移動していくことにより、この加算が繰り返される。これにより、以下で中間行列としばしば呼ぶ、第2のピクセル画像となる。
次に、この第2のピクセル画像は、ピクセル毎のマッピングを行う。ピクセル画像で、0または1のすべての合計値をゼロにマッピングし、2以上のすべての合計値を1にマッピングする。このマッピングの結果が、図12aの例の場合の個別のピクセル790の“0”および“1”の数字で、図12aに示される。これからわかるように、3×3加算と、次の閾値2を用いた“1”および“0”マッピングの組み合わせにより、メロディラインが“不鮮明になる”。いわば、この組み合わせが、ローパスフィルタとして作用し、これは不要になる。従って、ステップ786の範囲で、第1のピクセル画像、すなわち、図9または図11のもの,または図12の斜線を付したピクセルで表したピクセル画像が、第2のピクセルアレイ、すなわち、図12aの0と1とで表すもので、で乗算される。この乗算は、フィルタリング786によるメロディラインのローパスフィルタリングを回避し、周波数ビンとフレームとの曖昧でない対応付けを加算的に確実に行う。
図12aの区分の乗算の結果は、フィルタリング786が、メロディラインで全く変更しないことである。この領域でメロディラインは明らかにコヒーレントで、ステップ786のフィルタリングは、異常値またはアーティファクト788を除去するために提供されるので、このことはここで所望のことである。
フィルタリング786の作用を説明するために、図12bは、さらに、図9または図11のメロディ行列からの一例の区分を示している。これからわかるように、ここで、加算および閾値マッピングの組み合わせは、中間行列を導く。これらのピクセル位置に存在するメロディラインを示す図12bのハッチングからわかるように、メロディ行列は、これらのピクセル位置で1のバイナリ値で構成されているが、2つの個別のピクセルP4およびR2のバイナリ値が0を得る。従って、乗算後に、ステップ786のフィルタリングを行うことにより、これらのたまに発生するメロディラインの“異常値”が除去される。
ステップ786の後、一般セグメント化782の範囲で、次はステップ796である。所定の周波数範囲内にないメロディライン部分が無視されるという事実により、メロディライン784の部分が除去される。換言すれば、ステップ796において、ステップ780のメロディライン関数の値範囲が、所定の周波数範囲に制限される。もう一度換言すれば、ステップ796で、図9または図11のメロディ行列のすべてのピクセルが0に設定される。これらは、所定の周波数範囲外にある。現在想定するようなポリフォニック分析の場合、周波数範囲は、例えば、100〜200から1,000〜1,100Hzの範囲、好ましくは150〜1,050Hzの範囲である。図27以降を参照して想定するように、モノフォニック分析の場合は、周波数範囲は、例えば、50〜150から1,000〜1,100Hzの範囲、好ましくは80から1,050Hzの範囲である。この帯域幅に周波数範囲を制限することにより、ポピュラー音楽のメロディの大抵のものは、人間の言語のように、この周波数範囲内にある歌を歌うことで表されているという所見をサポートする。
ステップ796を説明するために、図9で、例として、150から1,050Hzの範囲の周波数範囲が、下のカットオフ周波数ライン798と、上のカットオフ周波数ライン800とで示される。図13は、ステップ786でフィルタして、ステップ796で刈り込んだメロディラインを示している。これは、図13で参照番号802として区別している。
ステップ796の後、ステップ804で、小さすぎる振幅のあるメロディライン802の区分の除去が実施される。抽出手段304は、ここで、ステップ770の図5の対数スペクトルに戻る。特に、抽出手段304は、図5の対数化スペクトルで、メロディライン802が送られる周波数ビンおよびフレームの各タプルの対応する対数化スペクトル値を検索して、対応する対数化スペクトル値が、図5の対数化スペクトルで、所定のパーセンテージの最大振幅または最大対数化スペクトル値よりも少ないかどうか判定する。モノフォニック分析では、このパーセンテージは好ましくは、20から40%の間、好ましくは30%であるが、ポリフォニック分析の場合、このパーセンテージは、好ましくは、50から70%の間、好ましくは60%である。この場合のメロディライン802の部分は、無視される。この手順は、メロディが通常、常に、おおよそ同じ音量となること、または急に大音量に変動することがまず予測されないという条件をサポートする。従って、換言すれば、ステップ804において、図9または図17のメロディ行列のピクセルすべては、対数化スペクトル値が、最大対数化スペクトル値の所定のパーセンテージより小さくなる、ゼロに設定される。
ステップ804の後、ステップ806において、残りのメロディラインのこれらの区分の除去は、続いて、ある程度連続するメロディ経路をごく短く示すために、メロディラインの経路が周波数方向に不規則に変化する。このことを説明するために、A〜Mの次のフレームにわたるメロディ行列からの区分を示す図14を参照する。フレームは列に配列され、列方向に沿って、周波数が下から上に増加している。理解しやすいように、図14には周波数ビン分解能が示されない。
ステップ804から得られるようなメロディラインが、例として、図14に参照番号808で示される。これからわかるように、次に、フレームDと、半音間隔HTより大きいフレームEとの間の周波数ジャンプを示すために、メロディライン808が、フレームA〜Dの1つの周波数ビンに常に残っている。次に、フレームHからフレームIまでにやはり入るために、次に、半音間隔HT以上によりフレームEとフレームHとの間に、メロディライン808が、やはり1つの周波数ビンに常に残っている。半音間隔HTより大きいこのような周波数ジャンプが、フレームJとフレームKとの間でやはり発生している。そこから、メロディライン808が、フレームJとフレームMとの間に、1つの周波数ビンに常に残っている。
ステップ806を行うために、手段304は、ここで、例えば前から後ろへ、フレーム毎にメロディラインのスキャンを行う。これを行う際に、手段304は、フレーム毎に、このフレームと次のフレームとの間で、半音間隔HTより大きい周波数ジャンプが発生しているかどうか調べる。この場合は、手段302は、これらのフレームに印を付ける。図14に、この印付けの結果が、例として、対応するフレームを丸で囲んで示される。ここでは、フレームD、HおよびJである。第2のステップで、手段304は、ここで、所定の数の配列フレームより少ない数の印を付けたフレームの間で調べる。この場合は、所定の数は、好ましくは3つである。これを行うことにより、同じ時間だが、4つのフレーム要素の長さより短い、すぐ次のフレームの間で、半音小さい同じジャンプで、メロディライン808の区分が全体的に選択される。この一例の場合、フレームDとフレームHとの間で、3つのフレームがある。これは、フレームE〜Hにわたり、メロディライン808は、せいぜい1つの半音だけジャンプすることにほかならない。しかしながら、印を付けたフレームHとフレームJとの間には、1つだけフレームがある。フレームIおよびフレームJの領域で、メロディライン808が、2つの半音以上、時間的に前後方向にジャンプすることにほかならない。従って、すなわちフレームIおよびフレームJの領域で、メロディラインの次の処理を行う間、メロディライン808のこの区分は無視される。現在のメロディ行列において、この理由で、フレームIおよびフレームJで、対応するメロディライン要素をゼロに設定する。すなわち、白になる。この除外は、24ミリ秒に対応しているせいぜい3つの次のフレームである。しかしながら、30ミリ秒より短い音は、今の音楽では滅多に発生しないので、ステップ806後の除外が、トランスクリプションの結果を悪化させることはない。
ステップ806の後、一般セグメント化782の範囲の処理は、ステップ810に進む。手段304は、ステップ780の前の考えられるメロディラインの残りの残余を、セグメントのシーケンスに分割する。セグメントに分割する際に、メロディ行列のすべての要素を、直接隣接する1つのセグメントまたは1つの軌跡に一体化する。このことを説明するために、図15は、ステップ806の後の結果である、メロディライン812からの区分を示す。図15に、メロディライン812の進行に沿って、メロディ行列からの個別の行列要素814だけを示す。どの行列要素814を1つのセグメントに一体化するか調べるために、手段304は例えば、次のようにこれを調べる。まずはじめに、手段304は、メロディ行列が、第1のフレームに対して印を付けた行列要素814を本当に含んでいるかどうか調べる。含んでいなければ、手段304は、次の行列要素に進み、対応する行列要素が存在するか、次のフレームをやはり調べる。そうでない場合は、すなわち、メロディライン812の一部である行列要素が存在する場合は、手段304は、メロディライン812の一部である行列要素が存在するか、次のフレームを調べる。この場合、手段304はさらに、この行列要素が、直前のフレームの行列要素に直接隣接するかどうか調べる。行方向に互いに直接隣接する場合、あるいは、対角線の角から角にある場合は、1つの行列要素が別のものに直接隣接する。次のフレームについても隣接関係がある場合は、次に、手段304は、隣接関係の存在を調べる。そうでない場合は、すなわち、隣接関係がない場合は、現在認識されているセグメントが直前のフレームで終わり、および新規のセグメントが現在のフレームで始まっている。
図15に示すメロディライン812からの区分は、不完全なセグメントを表す。メロディラインの一部であるすべての行列要素814またはメロディラインが進んでいくすべての行列要素814は、互いに直接隣接する。
セグメントシーケンスとなるように、このように検出したセグメントに番号を振る。
一般セグメント化782の結果は、次に、メロディセグメントのシーケンスとなる。各メロディセグメントは、直接隣接フレームのシーケンスをカバーする。直前の実施の形態では、せいぜい1つの周波数ビンだけであるが、各セグメント内で、メロディラインは、せいぜい所定の数の周波数ビンだけ、フレームからフレームへジャンプする。
一般セグメント化782の後、手段304は、ステップ816において、メロディ抽出を続ける。ステップ816は、例えば、打楽器イベントのために、ステップ780におけるメロディライン判定ステップで、間違って他のサウンド部分が認識されて、一般セグメント化782でフィルタされてしまったような場合に向けて、隣接セグメント間のギャップを埋めることを行う。図16を参照して、ギャップ埋め込み816は、より詳細に説明される。ギャップ埋め込み816は、ステップ818において判定した半音ベクトルに戻ることである。図17を参照して、半音ベクトルの判定についてより詳細に説明する。
ギャップ埋め込み816ではやはり半音ベクトルを用いるので、以下に、はじめに図17を参照して、可変半音ベクトルの判定が説明される。図17は、メロディ行列入力した形式において、一般セグメント化782から得られる不完全なメロディライン812を示す。ステップ818において、半音ベクトルの判定を行う際に、手段304は、ここで、周波数ビンメロディライン812を何回送るか、または、いくつのフレームに送るか、定義する。820の場合で示すこの手順の結果は、各周波数ビンfの周波数を示すヒストグラム822である。メロディライン812を何回送るか、または、メロディライン812の一部であるメロディ行列の行列要素をいくつ、それぞれの周波数ビンで配列するか、示している。このヒストグラム822から、手段304は、ステップ824において、最大周波数の周波数ビンを求める。これを、図17の矢印826により示している。周波数f0のこの周波数ビン826に基づいて、手段304は、次に、互いに離れた周波数、特に、半音長HTの整数の倍数に対応する周波数f0と離れた周波数から構成される周波数fiのベクトルを求める。半音ベクトルの周波数について以下では、半音周波数と呼ぶ。以下では、半音カットオフ周波数についても参照する場合もある。これらは、隣接半音周波数の間に正確に位置している。すなわち、正確に隣接半音周波数の中心となっている。音楽で通常見られるように、半音間隔を、通常の周波数f0の21/12と定義する。ステップ818において、半音ベクトルの判定を行うことにより、周波数ビンをグラフ化した周波数軸fを、半音カットオフ周波数から隣接カットオフ周波数に延びる半音領域828に分割する。
図16を参照して以下に説明するように、ギャップ埋め込みは、周波数軸fを半音領域にこのように分割することに基づいている。上述で既に述べたように、メロディライン認識780または一般セグメント化782において、間違って得られたメロディライン812の隣接セグメントの間のギャップ埋めるように、ギャップ埋め込み816において試みられる。ギャップ埋め込みを、セグメントで行う。現在の基準セグメントに対し、ギャップ埋め込み816の範囲で、まずはじめに、ステップ830において、基準セグメントと従属セグメントとの間のギャップが、所定の数のpフレームを下回るかどうか判定する。図18は、例として、メロディライン812からの区分のあるメロディ行列からの区分を示している。例として考えられている場合では、メロディライン812は、セグメント812aが上述の基準セグメントである、2つのセグメント812aおよび812bの間のギャップ832を含んでいる。これからわかるように、図18の一例における場合のギャップは、6つフレームである。
好適なサンプル周波数等で示す上記のこの一例の場合は、pは好ましくは4である。従って、この場合は、ギャップ832は、4つのフレーム以上あるので、ギャップ832がqフレーム以上かどうか調べるために、処理はステップ834に進む。qは好ましくは15である。この現在の場合、なぜ処理がステップ836に進むかというのは、基準セグメント812aと次のセグメント812bのセグメントの終わりが、互いに向かい合っているかどうか、すなわち、セグメント812aの終わりと次のセグメント812bの始まりとが、1つの半音領域または隣接する半音領域にあるがどうか調べることである。図18では、状況を説明するために、ステップ818で求めたように、周波数軸fを半音領域に分割する。これからわかるように、図18の場合では、互いに向き合っている、セグメント812aおよび812bのセグメントの終わりが、1つの半音領域838にある。
ステップ836で肯定的な検証の場合ならば、ギャップ埋め込み範囲の処理は、ステップ840に進む。ステップ772の知覚関連スペクトルの振幅差が、基準セグメント812aの終わりと、従属セグメント812bの始まりとの位置にあるかどうか調べる。換言すれば、手段304は、ステップ840において、ステップ772の知覚関連スペクトルのセグメント812aの終わりとセグメント812bの始まりとの位置のそれぞれの知覚関連スペクトル値を検索し、2つのスペクトル値の差の絶対値を求める。さらに、手段304は、ステップ840で、差が所定の閾値rより大きいかどうか判定する。好ましくは20〜40%、さらに好ましくは、基準セグメント812aの終わりの知覚関連スペクトル値の30%である。
ステップ840における判定は、肯定的な結果となれば、ギャップ埋め込みはステップ842に進む。そこで、手段304は、基準セグメント812aの終わりと従属セグメント812bの始まりとを直接つなぐメロディ行列のギャップ埋め込みライン844を求める。図18に示すように、ギャップ埋め込みラインは好ましくは直線である。特に、接続線844は、ギャップ832が延びる、フレームにわたる関数である。関数は、1つの周波数ビンをこれらのフレームそれぞれに対応付けるので、メロディ行列で、所望の接続線844となる。
この接続線に沿って、手段304は、次に、知覚関連スペクトルのギャップ埋め込みライン844の周波数ビンとフレームとのそれぞれのタプルで検索することにより、ステップ772の知覚関連スペクトルから対応する知覚関連スペクトル値を求める。ギャップ埋め込みラインに沿ったこれらの知覚関連スペクトル値を介して、手段304は、平均値を求め、ステップ842の範囲で、基準要素812aおよび従属セグメント812bに沿った、知覚関連スペクトル値の対応する平均値と比較する。比較の結果、ギャップ埋め込みラインの平均値が、基準セグメント812aまたは次のセグメント812bの平均値以上であれば、次に、ステップ846においてギャップ832を埋め込む。すなわち、メロディ行列のギャップ埋め込みライン844を入力したり、その対応する行列要素を1に設定したりすることにより、行う。同時に、ステップ846において、セグメント812aおよび812bを1つの共通セグメントに一体化するために、セグメントのリストが変更される。すぐに、基準セグメントおよび従属セグメントのギャップ埋め込みを完了する。
ステップ830において、ギャップ832の長さが4フレームを下回る場合は、やはり、ギャップ埋め込みライン844に沿ったギャップ埋め込みとなる。この場合、ステップ848において、ギャップ832は埋め込まれる。すなわち、ステップ846の場合のように、セグメント812a、812bの向かい合う終わりをつなぐ、直接の、好ましくは直線のギャップ埋め込みライン844に沿って、埋め込む。すぐに、2つのセグメントのギャップ埋め込みを完了し、もしあれば、従属セグメントに進む。これは図16に示していないが、ステップ836に対応するある条件により、ギャップ埋め込みステップ848をさらに行う。すなわち、2つの向かい合うセグメントの終わりが、同じ半音領域または隣接半音領域にあるという事実によるものである。
ステップ834、836、840または842にうちの1つにより、負の検証結果となった場合は、基準セグメント812aのギャップ埋め込みを完了して、従属セグメント812bに対しもう一度行う。
従って、ギャップ埋め込み816の結果はおそらく、適用可能ならば、メロディ行列の同じ場所のギャップ埋め込みラインを含む、セグメントまたはメロディラインの短くなったリストとなる。前の説明から得られるように、4フレームを下回るギャップでは、同じ半音領域または隣接する半音領域の隣接セグメント間の接続が常に得られる。
考えられるメロディラインの判定780で間違って、誤った主音またはサウンドの主音が判定されたという事実により得られたメロディラインにおけるエラーを除外するために、ギャップ埋め込み816の次に、ハーモニーマッピング850が行われる。特に、オクターブ、第5音または長調第3音により、ギャップ埋め込み816を行って得られるメロディラインの個別のセグメントを移動するために、ハーモニーマッピング850がセグメント毎に行われる。以下に、より詳細に説明する。次の説明で示すように、間違って周波数でセグメントを誤って移動しないように、この条件は厳格である。図19および図20を参照して、ハーモニーマッピング850は、以下に、より詳細に説明される。
既に述べたように、ハーモニーマッピング850は、セグメントで行われる。図20は、例として、ギャップ埋め込み816を行った後で得られる、メロディライン区分を示す。このメロディラインは、図20に参照番号852で示される。図20の区分では、メロディライン852の3つのセグメントがわかる。すなわち、セグメント852a〜cである。メロディラインの図を、やはりメロディ行列におけるトレースとして表される。しかしながら、メロディライン852は、周波数ビンを、全部ではなく、個別のフレームに一意に対応付ける関数なので、図20に示すトレースとなることに、やはり留意されたい。
セグメント852aおよび852cから得られるように、セグメント852aと852cとの間のセグメント852bは、メロディライン経路が切り取られたように見える。特に、この場合は、セグメント852bは、例として、破線854に示すように、フレームギャップなしに基準要素852aに接続している。同じように、例として、破線856で示すように、セグメント852がカバーする時間領域は、セグメント852cがカバーする時間領域に直接隣接する必要がある。
図20に、ここで、メロディ行列または時間的/周波数表現で、それぞれ、さらに破線、一点鎖線および二点鎖線ラインを示しているが、周波数軸fに沿った、セグメント852bの平行移動から得られたものである。特に、4つの半音、すなわち長調第3音で、より高い周波数に向かうセグメント852bに対して、一点鎖線858をずらしている。破線858bは、周波数方向fから下に、12の半音で、すなわち、1オクターブでずらされる。このラインに対し、第3音858cのラインを一点鎖線で示し、第5音858dのラインを二点鎖線、すなわち、ライン858bを基準として、より高い周波数に向かう7つの半音でずらしたラインで示している。
図20からわかるように、1オクターブだけ下にずらした場合に、隣接セグメント852aおよび852cの間にあまり不規則でなく挿入しているので、セグメント852bは、メロディライン判定780の範囲で、誤って判定したように見える。従って、ハーモニーマッピング850の役目は、このような周波数ジャンプがメロディであまり発生しないように、このような“異常値”をずらすかどうか、調べることである。
ハーモニーマッピング850は、ステップ860において、平均値フィルタを用いたメロディセンターラインの判定から開始する。特に、ステップ860は、時間tの方向のセグメントにわたる特定の数のフレームが、あるメロディ経路852のすべり平均値の算出を含む。上記の例で述べたように、ウインドウ長は、例えば、80〜120、好ましくは8ミリ秒のフレーム長の100フレーム、従って、すなわち、別のフレーム長の異なる数のフレームである。メロディ中心ラインの判定について、より詳細に説明する。100フレーム長のウインドウが、フレームの時間軸tに沿って移動する。これを行う際に、メロディライン852により、フィルタウインドウ内のフレームに対応付けられたすべての周波数ビンを平均され、フレームのこの平均値は、フィルタウインドウの中央に入力することにより、図20の場合の次のフレームに繰り返した後で、メロディ中心ライン862は、周波数を個別のフレームに一意に対応付ける関数となる。メロディ中心ライン862は、音声信号の全時間領域に渡り延びる場合もある。この場合、それに対応して、始まりと終わりだけで、または、フィルタウインドウ幅の半分によって、音声部分の始まりと終わりで間隔を開けた領域にわたって、フィルタウインドウを“狭くする”必要がある。
次に、ステップ864において、手段304は、基準セグメント852aが、時間軸tに沿って、従属セグメント852bに直接隣接しているかどうか調べる。そうでない場合は、従属セグメントを基準セグメントとして用いて、もう一度処理を行う(866)。
しかしながら、図20のこの場合は、ステップ864の検証により、肯定的な結果となったら、すぐに、処理はステップ868に進む。ステップ868において、オクターブ、第5音および/または第3音858a〜dのラインを得るために、従属セグメント852bは、仮想的に移動する。長調、第3音、第5音およびオクターブの選択を行うことは、ここでは主に長調和音だけが用いられるので、ポップ音楽で利点がある。和音の最も高いおよび最も低い音の間隔は、長調第3音プラス短調第3音、すなわち、第5音である。あるいは、もちろん、上記の手順を短調キーに適用することもできる。短調第3音の和音、次に、長調第3音の和音が発生する。
ステップ870において、手段304は、次に、基準セグメント852aと、オクターブ、第5音および/または第3音858a〜dのラインとに沿ったそれぞれの最小知覚関連スペクトル値を得るために、ステップ772の等音量曲線または知覚関連スペクトルで評価したスペクトルを検索する。図20の一例の場合、その結果として、5つの最小値が得られる。
オクターブ、第5音および/または第3音のそれぞれのラインに対して求めた最小値が、基準セグメントの最小値に対する所定の関係を含んでいるかどうかに基づいて、オクターブ、第5音および/または第3音858a〜dの移動ラインから1つ選ぶ、あるいは選ばないようにするために、これらの最小値が、次のステップ872において用いられる。特に、最小値が、30%ほど基準セグメント852aの最小値より小さい場合に、オクターブライン858bは、ライン858a〜dから選択される。求めた最小値が基準セグメント852aの最小値より2.5%ほど小さい場合に、第5音858dのラインが選択される。このラインの対応する最小値が、基準セグメント852aの最小値より少なくとも10%大きい場合に、第3音858cのラインのうちの1つが用いられる。
ポップ音楽の音楽作品に良好な結果が得られるならば、ライン858a〜858bから選択するための基準として用いられた上述の値は、もちろん変更することもできる。また、基準セグメントまたは個別のライン858a〜dの最小値を求めるのに必ずしも必要ではないが、例えば、個別の平均値を用いることもできる。個別のラインに対する基準の違いの利点は、これにより、メロディライン判定780において、誤ってオクターブ、第5音または第3音のジャンプが発生した可能性、または、このようなホップが、メロディで実際に所望のものであるという可能性を考えることもできる。
次のステップ874において、従属セグメント852bから見て、メロディ中心ライン862の方向の移動点とすれば、このようなライン1つが、ステップ872で選択された場合に限って、手段304は、セグメント852bを選択したライン858a〜858dに移動する。図20の一例の場合では、第3音858aのラインをステップ872において選択しない限り、後者の条件が満たされる。
ハーモニーマッピング850の後、ステップ876において、ビブラート認識およびビブラートバランスまたは等化が行われる。その機能は、図21および図27を参照して、より詳細に説明される。
ハーモニーマッピング850で得られるように、ステップ876は、メロディラインにおける各セグメント878に対しセグメントで実行される。図22で、一例のセグメント878が、拡大して示される。すなわち、直前の図面の場合のように、横軸が、時間軸に対応していて、縦軸が、周波数軸に対応している図である。第1のステップ880で、ここでビブラート認識876の範囲で、まずはじめに、局所的に極端な部分について、基準セグメント878が調べられる。これを行う際に、セグメント888を生成するために、やはりメロディライン関数を示すので、セグメントにわたるフレームを周波数ビンに一意にマッピングする。このセグメント関数が、局所的に極端な部分について調べられる。換言すれば、ステップ880において、基準セグメント878は、周波数方向に対して局所的に極端な部分を含むこれらの位置に対して、すなわち、メロディライン関数の勾配がゼロになる位置に対して、調べる。これらの位置は、例として図22に縦線882で示される。
次のステップ884において、隣接する局所的に極端な部分882が、時間方向において、所定の数のビン、すなわち、例えば、15〜25ビンであるが、好ましくは、図4を参照して説明した周波数分析で行った22ビン、または、約2〜6の半音領域毎の多数のビンより大きい、または小さい、または同じ数の周波数分離からなる周波数ビンで配列されているというように、極端な部分882が、配列しているかどうか調べる。図22で、22の周波数ビンの長さが、例として双方向矢印886で示される。これからわかるように、極端な部分882は、基準884を満たす。
次のステップ888において、手段304は、隣接する極端な部分882の間で、時間間隔が、常に、所定の数の時間フレーム以下であるかどうか調べる。所定の数は、例えば、21である。
21フレーム長に対応している、双方向矢印890で示す図22の例の場合のように、ステップ888の考察が肯定ならば、ステップ892において、極端な部分882の数が、所定の数以上であるかどうか調べる。この場合は、好ましくは5である。これは、図22の例に示されている。従って、ステップ892における検証がやはり肯定ならば、次のステップ894において、基準セグメント878または認識されているビブラートは、その平均値と置き換えられる。ステップ894の結果は、896で図22において示される。しかしながら、基準セグメント878が、置き換えた基準セグメント878が延びている周波数ビンの平均値に対応する一定の周波数ビンに沿って延びているので、特に、ステップ894において、基準セグメント878は、現在のメロディラインから除いて、同じフレームを介して延長する基準セグメント896によって置き換える。検証884、888および892のうちの1つの結果が否定的ならば、次に、それぞれの基準セグメントに対して、ビブラート認識行う、またはバランスは、終わる。
換言すれば、図21によるビブラート認識およびビブラートバランスは、段階的に特徴抽出を行うことによって、ビブラート認識を行う。変調の許容周波数ビンの数に対する制限と、極端な部分の時間間隔に対する制限とにより、局所的に極端な部分、すなわちローカル最小および最大を検索する。ビブラートとして、1群の少なくとも5極端な部分についてだけ考える。次に認識されているビブラートが、メロディ行列においてその平均値によって置き換えられる。
ステップ876におけるビブラート認識の後、ステップ898において、統計的補正が行われる。このことは、短い極端な部分のメロディにおいて、音ピッチ変動が予測されないという所見について考慮している。898による統計的補正は、図23を参照してより詳細に説明される。図23に例として、ビブラート認識876の後の結果として、メロディライン区分900を示す。やはり、周波数軸fおよび時間軸tにわたるメロディラインの経路900が、メロディ行列に入力したものが示されている。統計的補正898では、まずはじめに、ハーモニーマッピングにおけるステップ860と同様に、メロディライン900のメロディ中心ラインが求められる。ステップ860の場合のように、判定を行うために、ウインドウ902内でメロディライン900によって通過された、フレーム毎に周波数ビンの平均値を算出するために、所定の時間長、例えば100フレーム長のウインドウ902が、時間軸tに沿ってフレーム毎に移動される。平均値は、周波数ビンとしてウインドウ902の中央に、フレームに対応付けられている。そして、求めるメロディ中心ラインの点904となる。従って、得られるメロディ中心ラインは、図23に参照番号906によって示される。
その後、図23に図示しない第2のウインドウは、例えば170フレームのウインドウ長からなるフレームにおいて、時間軸tに沿って移動される。ここで、フレーム毎に、メロディ中心ライン906に対するメロディライン900の標準偏差が求められる。各フレームの得られる標準偏差に2を乗算し、1ビンを補足する。上下の標準偏差ライン908aおよび908bを得るために、この値は、次に、各フレームについて、このフレームでメロディ中心ライン902を通過するそれぞれの周波数ビンに加算して、そして、同様に減算する。2つの標準偏差ライン908aおよび908bが、これらの間の受け入れ領域910を定義する。統計的補正898の範囲内で、ここで、受け入れ910の領域から完全に外れたところにあるメロディライン900のすべてのセグメントが除外される。統計的補正898の結果は、したがって、セグメントの数が減る。
ステップ898の後、次に、半音マッピング912が、実行される。半音マッピングフレーム毎に行われる。これに対し、半音周波数を定義するのに、ステップ818の半音ベクトルが用いられる。半音マッピング912は、次のように作用する。ステップ898から得られたメロディラインが存在する各フレームについて調べる。半音領域のうちのどの1つに周波数ビンが存在するか、メロディラインが、それぞれのフレームのどれを通過するか、または、どの周波数ビンに対し、メロディライン関数が、それぞれのフレームをマッピングするかについて調べる。次に、それぞれのフレームにおいて、メロディラインは、通過した周波数ビンが存在する配列の半音の半音周波数に対応する周波数値に変更するように、メロディラインが変更される。
フレーム毎の半音マッピングまたは量子化を行う代わりに、例えば、セグメント毎の周波数平均値だけが、半音領域のうちの1つに対応付けられているという事実により、上述のように、対応する半音領域周波数に対してセグメント毎の半音量子化を行って、次に、周波数として、対応するセグメントの全時間長に対し用いられる。
ステップ782、816、818、850、876、898および912は結果として、図2でステップ760に対応している。
半音マッピング912の後、各セグメントに対して行うオンセット認識および補正が、ステップ914において行われる。図24〜図26を参照してより詳細に説明される。
オンセット認識および補正914の目的は、半音マッピング912により得られるメロディラインの個別のセグメントを補正する、あるいは指定することで、開始時点についてより詳細に説明する。セグメントは、検索したメロディの個別の音符にますます対応するようになっている。このために、やはり、入力音声信号302またはステップ750で生成したものを用いる。以下により詳細に説明する。
ステップ916、まずはじめに、ステップ912により、それぞれの基準セグメントを量子化した半音周波数に対応するバンドパスフィルタ、または、間にそれぞれのセグメントの量子化半音周波数が存在するカットオフ周波数を含むバンドパスフィルタで、音声信号302がフィルタされる。好ましくは、バンドパスフィルタが、対象のセグメントがある半音領域の半音カットオフ周波数fuおよびf0に対応するカットオフ周波数を含むフィルタとして用いられる。やはり好ましくは、バンドパスフィルタとして、フィルタカットオフ周波数、またはその伝送関数が、図25に示すものであるバターワースバンドパスフィルタとして、それぞれの半音領域に対応付けられたカットオフ周波数fuおよびf0で、IIRバンドパスフィルタが用いられる。
続いて、ステップ918において、ステップ916においてフィルタした音声信号の2方向整流が行われる。そして、ステップ920において、ステップ918において得られた時間信号を補間し、補間した時間信号をハミングフィルタで包み込まれることにより、2方向整流またはフィルタした音声信号のエンベロープが求められる。
ステップ916〜920が、図26を参照して、再度、説明される。図26は、ステップ918の後で得られる参照番号922の2方向整流音声信号を示す。すなわち、横に仮想単位で時間tをグラフ化し、縦に仮想単位で音声信号の振幅Aをグラフ化したグラフである。さらに、グラフには、ステップ920において得られるエンベロープ924が示される。
ステップ916〜920は、エンベロープ924を生成する可能性を表すことに限られ、もちろん変更することもできる。いずれにしても、音声信号のエンベロープ924が、これらの半音周波数または半音領域すべてに生成される。現在のメロディラインのセグメントまたは音符セグメントが配置される。次に、このようなエンベロープ924それぞれに対し、図24の次のステップが行われる。
まずはじめに、ステップ926において、考えられる開始時点が、エンベロープ924が大きくなるローカル最大位置として求められる。換言すれば、エンベロープ924の変曲点をステップ926で求める。変曲点の時点は、図26の場合において縦線928で示される。
求めた考えられる開始時点または考えられる傾きの次の評価を行うために、適用可能ならば、図24に図示しないステップ926の範囲で、前処理の時間分解能に対するダウンサンプリングが行われる。ステップ926で、考えられる開始時点のすべて、または変曲点のすべてを求める必要はないことに留意されたい。さらに、求めた、または設定した考えられる開始時点すべてを、必ずしも次の処理に供給する必要はない。これらの変曲点だけを考えられる開始時点として設定し、またはさらに処理することも考えられる。これらは、エンベロープ924の判定の基礎となる半音領域に配列しているメロディラインのセグメントのうちの1つに対応する時間領域の前、または時間領域内の時間的に近接して配置されている。
ステップ928において、ここで、対応するセグメントが始まるセグメントの前にある考えられる最初の時点に対し、真であるかどうか調べる。この場合、処理は、ステップ930に進む。そうでない場合は、すなわち、考えられる最初の時点が既存のセグメントの始まりの後ろにある場合は、ステップ928が、次の考えられる最初の時点に繰り返されるか、別の半音領域を求めた次のエンベロープにステップ926を行うか、セグメント毎に行ったオンセット認識および補正を従属セグメントに行う。
ステップ930において、考えられる最初の時点が、対応するセグメントの始まりの前のxフレームより大きいかどうか調べる。他のフレーム長の値が、それに対応して変化する必要がある、8ミリ秒のフレーム長の、xは、例えば、8から12の間、好ましくは10である。そうでない場合は、すなわち、考えられる最初の時点、または求めた最初の時点が、対象とするセグメントの前の10フレームまでならば、ステップ932において、考えられる最初の時点と、前のセグメントの始まりとの間のギャップを埋め込むか、前のセグメントの始まりを、考えられる最初の時点に補正する。このために、適用可能ならば、前のセグメントをそれに対応して短くするか、そのセグメントの終わりを、考えられる最初の時点の前のフレームに変更する。換言すれば、ステップ932は、2つのセグメントの重複を避けるために、考えられる最初の時点まで前方方向に基準セグメントを延長することと、その終わりで前のセグメントの長さを短縮可能にすることとを含んでいる。
しかしながら、ステップ930の考察は、考えられる最初の時点が対応するセグメントの始まりの前のxフレームより近いことを示している場合は、次に、ステップ934で、この考えられる最初の時点に第1の時間でステップ934を行っているかどうかを調べる。そうでない場合は、この考えられる最初の時点のおよび対応するセグメントに対する処理をここで終了し、オンセット認識処理はステップ928に進み、さらに考えられる最初の時点を処理するか、ステップ926に進んでさらにエンベロープの処理を行う。
しかしながら、そうでない場合は、ステップ936において、対象とするセグメントの前のセグメントの始まりが、仮想的に前方に移動される。このために、セグメントの仮想的に移動した開始時点にある知覚関連スペクトル値は、知覚関連スペクトルにおいて検索される。知覚関連スペクトルにおけるこれらの知覚関連スペクトル値の低下が、特定の値を越えている場合は、次に、この超過が発生したフレームを、基準セグメントのセグメントの始まりとして一時的に用いて、ステップ930がもう一度繰り返される。次に、考えられる最初の時点が、対応するセグメントのステップ936で求めた始まりの前のxフレームを越えていない場合は、上述のように、ステップ932における、ギャップが埋め込まれる。
オンセット認識および補正914の作用は結果として、時間延長について、現在のメロディラインで個別のセグメントを変更するという事実を含んでいる。すなわち、前が長くなるか、後ろが短くなるかである。
ステップ914の後、次に、長さのセグメント化938を行う。長さのセグメント化938では、半音マッピング912により、半音周波数にあるメロディ行列の横線に発生しているメロディラインのセグメントすべてをスキャンして、所定の長さより短いこれらのセグメントをメロディラインから除く。例えば、10〜14フレームを下回るもの、好ましくは12フレームを下回るもの、8ミリ秒のフレーム長を考えたり、またはフレーム数の対応する調整値を下回るセグメントを除外する。8ミリ秒の時間分解能またはフレーム長の12フレームは、96ミリ秒に対応していて、約1/64音符を下回っている。
ステップ914および938は、結果として、図2のステップ762に対応している。
ステップ938で得たメロディラインは、次に、特定の数の次のフレームにわたる、正確に同じ半音周波数を含む、若干数が少なくなったセグメントから構成されている。これらのセグメントは、音符セグメントに一意に対応付けられている場合もある。次に、図2の上述のステップ764に対応しているステップ940において、このメロディラインが、音符表現またはmidiファイルに変換される。特に、それぞれのセグメントにおいて、第1のフレームを検出するために、長さのセグメント化938を行った後のメロディラインにやはり配置されている各セグメントが調べられる。次に、このフレームが、このセグメントに対応する音符の、音符の最初の時点を求める。音符に対し、次に、対応するセグメントが延びるフレームの数から音符長を求める。ステップ912により、各セグメントで一定の半音周波数から、音符の量子化ピッチが得られる。
次に、リズム手段306が上述の動作を行うことに基づいて、手段304からのmidi出力914が音符シーケンスとなる。
図3〜図26で行った直前の説明は、ポリフォニック音声部分302の場合の手段304におけるメロディ認識に関するものであった。しかしながら、上述のように、例えば、着信音を生成するハミングまたは口笛の場合のように、音声信号302がモノフォニックタイプであると赤っている場合は、元の音声信号302の音楽的欠点による図3の手順となるエラーを防止する場合に限って、図3の手順と比較して若干変更した手順が好適である場合もある。
図27は、図3の手順と比較してモノフォニック音声信号に好適な手段304の別の機能を示す。しかしながら、基本的にポリフォニック音声信号にも適用可能である。
ステップ782まで、図27に基づく手順は図3に対応している。これが、これらのステップで、図3の場合と同じ参照番号を用いている理由である。
図3に基づく手順と対照的に、ステップ782の後、図27に基づく手順では、ステップ950において音分離が行われる。ステップ950で音分離を行う理由が、図28を参照してより詳細に説明される。これについて、図29を参照する。この図は、音声信号のスペクトルの周波数/時間間隔区分のスペクトルの形式で示している。周波数分析752を行った後、主音およびその倍音に対し一般セグメント化782を行った後で、メロディラインの所定のセグメント952が得られる。換言すれば、図29で、倍音ラインを求めるために、それぞれの周波数の整数の倍数で周波数方向fに沿って、一例のセグメント952を移動したものである。ここで図29は、基準セグメント952および対応する倍音ライン954a〜954gの一部だけを示している。ステップ752のスペクトルは、超過する一例の値を越えるスペクトル値を含んでいる。
これからわかるように、一般セグメント化782から得られた基準セグメント952の主音の振幅は、連続して一例の値を上回っている。上に並んでいる倍音だけは、セグメントのほぼ中央において中断がある。おそらくセグメント952のほぼ中央で、音符境界またはインターフェースが存在しているが、そのセグメントによる主音の連続性は、一般セグメント化782で2つの音符に分割されなかった。この種のエラーは、モノフォニック音楽で支配的に発生する。これが、図27の場合に音分離が行われる理由である。
次に、音分離950が、図22、図29および図30a、30bを参照してここでより詳細に説明される。音分離は、倍音またはこれらの倍音ライン954a〜954gを検索して、ステップ782で得られたメロディラインに基づいて、ステップ958で開始する。周波数分析752から得られたスペクトルは、ダイナミックが一番大きい振幅経路を含んでいる。図30aは、例として、振幅経路960等の倍音ライン954a〜954gのうちの1つに対し、x軸が、時間軸tに対応し、y軸が、スペクトルの振幅または値に対応しているグラフを示している。振幅経路960のダイナミックは、経路960の最大スペクトル値と、経路960内の最小値との間の差から求められる。図30aは、一例として、倍音ライン450a〜450gに沿ったスペクトルの振幅経路を示している。これは、これらの振幅経路すべてのうちの最大ダイナミックを含んでいる。ステップ958では、好ましくは、次数4〜15の倍音だけを考える。
次にステップ962で、最大ダイナミックのある振幅経路上で、これらの位置が、ローカル振幅最小が所定の閾値を下回る考えられる分離位置として特定される。これを図20bに示す。図30aまたは30bの一例の場合では、もちろんローカル最小と示されている絶対最小964だけが、閾値を下回る。これは、破線966を用いて、例として図30bにおいて示される。図30bでは、結果として、考えられる分離位置が1つだけ、すなわち、最小964が配置される時点またはフレームが1つだけある。
ステップ968では、次に、考えられるいくつかの分離位置の間で、セグメントの始まり972周囲の境界領域970内、またはセグメントの終わり976周囲の境界領域974内にあるものが分類される。残りの考えられる分離位置について、ステップ978で、最小964の振幅最小と、最小964に隣接するローカル最大980または982の振幅の平均値との間の差が、振幅経路960において生成される。差は、双方向矢印984によって図30bにおいて示される。
次にステップ986で、差984が所定の閾値より大きいかどうかを調べる。そうでない場合は、この考えられる分離位置と、適用可能ならば、対象のセグメント960の音分離とを終了する。そうでない場合は、ステップ988において、考えられる分離位置または最小964で基準セグメントは、2つのセグメントに分離される。一方が、セグメントの始まり972から最小964のフレームに延び、もう一方が、最小964のフレームまたは次のフレームと、セグメントの終わり976との間に延びる。それに対応して、セグメントのリストが拡張される。分離988の異なる可能性は、2つの新規に生成したセグメントの間にギャップを生成することである。例えば、振幅経路960が、閾値を下回る領域、図30bで例えば、時間領域990にわたる領域である。
モノフォニック音楽で主に発生する別の問題は、個別の音符が周波数変動の影響を受けやすく、次のセグメント化がさらに難しくなってしまうことである。これにより、ステップ992において音分離950を行った後、音の平滑化を行う。これについて、図31および図32を参照してより詳細に説明する。
図32は、音分離950から得られたメロディラインがある、大きく拡大した1つのセグメント994を概略で示している。図32の図は、周波数ビンと、セグメント994が通過するフレームとの各タプルを示し、図32は、対応するタプルの数字を提供する。数字の割り当ては、以下に、図31を参照してより詳細に説明される。これからわかるように、図32の一例の場合のセグメント994は、4つの周波数ビンにわたって変動し、27フレームにわたって延びている。
音の平滑化の目的は、セグメント994が変動する周波数ビンから、すべてのフレームに対し、セグメント994が、常に対応付けられたものを1つ選択することである。
音の平滑化は、カウンタ変数iを1に初期化するステップ996において開始する。次のステップ998において、カウンタ値zが1に初期化される。このカウンタ変数iは、図32の左から右へ、セグメント994のフレームに番号を振る意味がある。カウンタ変数zは、1つの周波数ビンに次のフレームセグメント994がいくつあるか計数を行うカウンタの意味である。図32で、次のステップが理解しやすいように、zの値が、図32のセグメント994の経路を図面に個別のフレームの形式ですでに示される。
ステップ1000で、カウンタ値zは、ここで、セグメントのi番目のフレームの周波数ビンの合計に累積される。セグメント994が、前後に変動する各周波数ビンに対し、合計値または累積値が存在する。ここで、例えば、係数f(i)で、実施の形態を変更することにより、カウンタ値に重みを付けてもよい。例えば、遷移処理と音符の始まりとに比較して、音声がすでに音によく同化しているので、セグメントの終わりで合計する部分にもっと強く重みを付けるために、f(i)は、iで連続して増加する関数である。図32の角括弧の横の時間軸の下に、f(i)のこのような関数を例として示す。図32で、iは、時間で増加し、隣接セグメントのフレームの間でどの位置に特定のフレームをとるかを示し、図示の例としての次の部分の関数をとる次の値が、時間軸に沿った小さな縦線で示しており、これらの角括弧に数字で示している。これからわかるように、一例の重み関数は、1から2.2にiで増加する。
ステップ1002において、i番目のフレームが、セグメント994の最後のフレームかどうか調べる。そうでない場合は、次に、ステップ1004において、カウンタ変数iをインクリメントする。すなわち、次のフレームへスキップが実行される。次のステップ1006において、現在のフレームのセグメント994が、すなわち、i番目のフレームが、(i−1)番目のフレームにあるかどうかというように、同じ周波数ビンにあるかどうかを調べる。この場合、ステップ1008において、カウンタ変数zは、インクリメントされ、処理は、ステップ1000に続く。しかしながら、i番目のフレームと(i−1)番目のフレームとのセグメント994が同じ周波数ビンになければ、処理は、カウンタ変数zを1に初期化するステップ998に続く。
ステップ1002において、i番目のフレームがセグメント994の最後のフレームであると最終的に求めた場合は、次に、セグメント994がある各周波数ビンに対し、図32の1010に示すように、合計が出る。
ステップ1002において、最後のフレームを判定し、ステップ1012において、累積合計1010が最も大きい周波数ビンが1つ選択される。図32の一例の場合、これは、セグメント994が、ある4つの周波数ビンのうちの第2に最も低い周波数ビンである。ステップ1014において、次に、セグメント994が位置していた各フレームに、選択した周波数ビンが対応付けられているセグメントと交換することにより、基準セグメント994が平滑化される。すべてのセグメントに、図31の音の平滑化がセグメント毎に繰り返される。
換言すれば、音の平滑化は結果として、歌の歌い始めと、低いまたはより高い周波数から始まる音で歌を歌い始めることとを補償するように働き、定常状態の音の周波数に対応している音の時間経路にわたって値を求めることにより、これを容易にする。発振信号から周波数値を判定するために、周波数帯域のすべての要素が数え上げられ、音符シーケンスにある周波数帯域の数え上げたすべての要素が加算される。次に、音符シーケンスの時間に対して、合計が最も高い周波数帯域で、音をグラフ化する。
音の平滑化992の後、続いて統計的補正916が行われる。統計的補正のパフォーマンスは、図3のものに対応している。すなわち、特にステップ898に対応している。統計的補正1016の後、半音マッピング1018を行う。これは、図3の半音マッピング912に対応し、図3の818に対応する半音ベクトル判定1020で求めた半音ベクトルを用いる。
ステップ950、992、1016、1018および1020は結果として、図2のステップ760に対応している。
半音マッピング1018の後、オンセット認識1022が行われる。これは、基本的に、図3の1つ、すなわちステップ914に対応している。好ましくは、ステップ932で、ギャップをもう一度埋め込んだり、音分離950を行ったセグメントをもう一度埋め込んだりしないようにする。
オンセット認識1022の後、オフセット認識および補正1024が行われる。これについて、図32〜図35を参照してより詳細に説明される。オンセット認識と対照的に、オフセット認識および補正は、音符が終わる時点を補正するものである。オフセット認識1024は、モノフォニックの音楽作品のエコーを防止するものである。
ステップ916と同様なステップ1026において、まずはじめに、基準セグメントの半音周波数に対応するバンドパスフィルタで、音声信号をフィルタする。ステップ918に対応するステップ1028において、フィルタした音声信号に2方向整流が行われる。さらに、ステップ1028において、整流時間信号の解釈が再び実行される。およそのエンベロープを求めるために、オフセット認識および補正の場合でこの手順は十分なので、オンセット認識の複雑なステップ920を省略することもできる。
図34は、x軸に沿って時間tが仮想単位でグラフ化され、y軸に沿って振幅Aが仮想単位でグラフ化されているグラフを示している。例えば、参照番号1030の補間した時間信号を、ステップ920におけるオンセット認識において求めたような、参照番号1032のエンベロープと比較している。
ステップ1034において、ここで、基準セグメントに対応する時間区分1036で、補間した時間信号1030の最大を求める。すなわち、特に、最大1040の補間した時間信号1030の値が求められる。ステップ1042において、整流音声信号が、最大1040の所定のパーセンテージの値に対する最大1040より時間的に後になる時点として、考えられる音符が終わる時点を求める。ステップ1042におけるパーセンテージは好ましくは15%である。考えられる音符の終わりが、図34に破線1044で示される。
次のステップ1046において、次に、考えられる音符の終わり1044が、時間的にセグメントの終わり1048の後になるかどうかを調べる。そうでない場合は、例として図34に示すように、次に、考えられる音符の終わり1044で終了させるために、時間領域1036の基準セグメントを短くする。しかしながら、音符の終わりが、時間的にセグメントの終わりより前ならば、例としての図35に示すように、次に、ステップ1050で、考えられる音符の終わり1044とセグメントの終わり1048との間の時間間隔が、所定のパーセンテージの現在のセグメント長aを下回るかどうか、調べる。所定のパーセンテージステップ1050は、好ましくは25%である。考察1050の結果が肯定ならば、考えられる音符の終わり1044で終了させるために、長さで基準セグメントの延長1051が行われる。しかしながら、次のセグメントとの重複を避けるために、ステップ1051は、重複の危険性に基づいて、この場合は行わなかったり、特定の間隔で適用可能ならば、従属セグメントの始まりまで、行わなかったりすることもある。
しかしながら、ステップ1050における考察が否定的ならば、オフセット補正を行わずに、ステップ1034および次のステップを同じ半音周波数の別の基準セグメントに繰り返すか、または、ステップ1026に進んで他の半音周波数について行われる。
オフセット認識1024の後、ステップ1052において、図3のステップ938に対応する長さのセグメント化1052が行われる。図3のステップ940に対応するMIDI出力1054が、これに続く。ステップ1022、1024および1052は、図2のステップ762に対応している。
図3〜図35の前の説明を参照して、次のことに留意されたい。ここに示すメロディ抽出のための2つの別の手順は、メロディ抽出の演算手順に同時に含まなくてもよい、異なる面を含んでいる。まずはじめに、以下のことに留意されたい。基本的に、ルックアップテーブルで知覚関連スペクトル値の探索を1回だけ行って、周波数分析752のスペクトルのスペクトル値を変換することにより、ステップ770〜774を組み合わせることもできる。
もちろん基本的に、ステップ770〜774を省略したり、またはステップ772および774だけを省略したりすることも考えられるが、しかしながら、こうすると、ステップ780におけるメロディライン判定が低下するので、メロディ抽出方法の全体的な結果も低下することになる。
基本周波数判定776において、ゴトーの音モデルが用いられた。他の音モデルまたは他の倍音部分の重み付けについても考えられるが、例えば、着信音生成の実施の形態で、ユーザがハミングを求めた場合というように、それがわかっている限り、例えば、元の音声信号、または音声信号の音源に調整することもできる。
ステップ780において考えられるメロディラインの判定について、音楽科学の上述の説明により、各フレームに対し、最も大きいサウンド部分の基本周波数だけが選択されたが、さらに考えられることは、各フレームに対し、一番大きい部分を一意に選択ことに限定しないことに留意されたい。例えば、パイバに記載されている場合のように、考えられるメロディライン780の判定が、いくつかの周波数ビンを1つのフレームに対応付けることを含んでもよい。続いて、いくつかの軌跡の検出を実行してもよい。このことは、各フレームに対し、いくつかの基本周波数またはいくつかのサウンドを選択することが可能になる。次に、次のセグメント化が、もちろん部分的に異なるように行うことができ、特に、いくつかの軌跡またはセグメントを考えて、検出する必要があるので、次のセグメント化は、いくらか費用がかかる。逆に、この場合、上述のステップまたはサブステップのいくつかを、セグメント化に引き継いで、時間的に重複する軌跡を判定することもできる。特に、一般セグメント化のステップ786、796および804は、この場合に簡単に移行することもできる。軌跡を特定した後で、このステップを行う場合は、ステップ806は、メロディラインが時間的に重複する軌跡から構成される場合に移行することができる。軌跡の特定は、ステップ810と同様に行うことができるが、時間的に重複するいくつかの軌跡をトレースできるように、変更を行う。また、時間ギャップがないこのような軌跡に対し、ギャップ埋め込みを同様に行うこともできる。また、時間的に直接続く2つの軌跡の間で、ハーモニーマッピングを行うこともできる。上述の非重複メロディラインセグメントのように、ビブラート認識またはビブラート補償を、1つの軌跡に簡単に適用することもできる。また、オンセット認識および補正についても、軌跡に適用することができる。音分離および音の平滑化とともに、オフセット認識および補正、統計的補正および長さのセグメント化についても同じことが当てはまる。しかしながら、判定ステップ780の判定を行う際のメロディラインの時間重複する軌跡の受け入れには、少なくとも、実際の音符シーケンス出力の前に、時間重複する軌跡を同時に除去する必要がある。図3および図27を参照して上述したように、考えられるメロディラインの判定を行う利点は、一般セグメント化を行う前に調べるセグメントの数を、前もって最も重要な点に制限することと、ステップ780のメロディライン判定自体が非常に簡単で、良好なメロディ抽出または音符シーケンス生成またはトランスクリプションになることとである。
上述の一般セグメント化を行うのに、サブステップ786、796、804および806をすべて含む必要はないが、これらのサブステップから選択したものを含んでよい。
ギャップ埋め込みでは、ステップ840および842において、知覚関連スペクトルが用いられた。しかしながら、基本的に、これらのステップで周波数分析から直接得られた対数化スペクトルまたはスペクトルを用いることができる。しかしながら、これらのステップにおいて知覚関連スペクトルを用いると、メロディ抽出について最も良い結果となる。ハーモニーマッピングのステップ870についても、同じことが当てはまる。
ハーモニーマッピングに関して、従属セグメントを移動する(868)場合は、メロディ中心ラインの方向だけに移動を行うので、ステップ874における第2の条件を省略してもよいことに留意されたい。ステップ872を参照すると、優先順位リストをこれらで生成するという事実により、オクターブ、第5音および/または第3音の異なるラインから選択する際の明確さが得られることに留意されたい。例えば、第3音のラインの前の、第5音のラインの前のオクターブライン、同じラインタイプのライン(オクターブ、第5音または第3音のライン)のうちの、従属セグメントの元の位置に近いもの等である。
オンセット認識およびオフセット認識に関して、オフセット認識の代わりに用いたエンベロープまたは補間した時間信号の判定を、異なるように行うこともできることに留意されたい。ただ基本的なことは、オンセットおよびオフセット認識において、このように生成したフィルタ信号のエンベロープから音符の最初の時点を認識したり、エンベロープの低下により音符の時間の終点を認識したりするために、それぞれの半音周波数の中心に伝送特性を持つバンドパスフィルタでフィルタした音声信号を用いることである。
図8〜図41のフローチャートに関して、これらの図にはメロディ抽出手段304の動作が示されていて、このフローチャートにブロックで示されている各ステップが、手段304の対応する部分的な手段で実施されてもよいことに留意されたい。個別のステップを実行するには、ASIC回路部としてのハードウェア、またはサブルーチンとしてのソフトウェアとして実施することもできる。特に、これらの図面では、ブロック間の矢印は、手段304の動作のステップの順序を示しているが、それぞれのブロックに対応している、それぞれのステップを処理するブロックの説明を大まかに示している。
特に、条件によるが、本発明の方法は、ソフトウェアで実施することもできることに留意されたい。対応する方法を行うプログラム可能なコンピュータシステムに組み込まれる、電子的に読み取り可能な制御信号を有するデジタル記憶装置媒体、特に、フロッピー(登録商標)ディスクまたはCDと協働して、実施することができる。従って、本発明は、一般に、コンピュータプログラム製品をコンピュータ上で、実行する場合は、本発明の方法を実行する機械読み取り可能キャリアに、プログラムコードを記憶したコンピュータプログラム製品から構成される。換言すれば、本発明は、従って、コンピュータプログラムをコンピュータ上で実行する場合は、この方法を行うプログラムコードを有するコンピュータプログラムとして実施することができる。
Claims (34)
- 音声信号(302)の基礎となるメロディを抽出する装置であって、
スペクトル値のシーケンスを有するスペクトル帯域を含む時間/スペクトル表現を複数のスペクトル成分それぞれに生成し、時間/スペクトル表現が各スペクトル帯域に、前記音声信号の時間区分シーケンスの各時間区分のスペクトル値を含むように構成された、前記音声信号(302)の時間/スペクトル表現を生成する手段(750)と、
前記音声信号(302)の前記時間/スペクトル表現に基づいて、前記時間/スペクトル表現または最大のものから導出した前記時間/スペクトル表現のバージョンについて、正確に前記1つのスペクトル成分を各時間区分に一意に対応付けることにより、前記音声信号のメロディラインを求める手段(754、758)と、
前記メロディラインに基づいて、前記音声信号の前記メロディを求める手段(760、762)とを備える装置。 - 前記メロディラインを求める手段が、
知覚関連時間/スペクトル表現を得るために、前記人間の音量知覚を反映する等音量曲線を用いて、前記時間/スペクトル表現をスケーリングする手段(754;770、772、774)と、
前記知覚関連時間/スペクトル表現に基づいて、前記音声信号の前記メロディを求める手段(760、762)とを備える、請求項1に記載の前記装置。 - スケーリング手段が、
前記音圧力レベルを示すことにより、対数化時間/スペクトル表現を得るために、前記時間/スペクトル表現の前記スペクトル値の対数化を行う手段(770)と、
前記知覚関連時間/スペクトル表現を得るために、属するそれぞれの値および前記スペクトル成分により、前記対数化時間/スペクトル表現の前記対数化スペクトル値を知覚関連スペクトル値にマッピングする手段(772)とを備える、請求項2に記載の前記装置。 - 異なる音量に対応付けられた関数で、音圧力レベルを表す各スペクトル成分に対数スペクトル値を対応付ける関数である、前記等音量曲線を表す関数(774)に基づいて、前記マッピングを行うために、マッピング手段(772)を実行する、請求項3に記載の前記装置。
- 前記音声信号の前記メロディラインを求める手段(756)が、
非対数化知覚関連スペクトル値を有する非対数化知覚関連スペクトルを得るために、前記知覚関連スペクトルの前記スペクトル値の非対数化(776)を行い、
スペクトルサウンド値を得ることにより、時間/サウンド表現を得るために、時間区分および各スペクトル成分に対し、前記それぞれのスペクトル成分の前記非対数化知覚関連スペクトル値と、前記それぞれのスペクトル成分に対する部分音を表すこれらのスペクトル成分の前記非対数化知覚関連スペクトル値との合計(776)を行い、
前記対応する時間区分に対し、前記加算を行うことにより、前記最大スペクトルサウンド値となる、各時間区分に前記スペクトル成分を一意に割り当てることにより、メロディラインの生成(780)を行う、請求項4に記載の前記装置。 - 前記音声信号の前記メロディラインを求める手段が、高い次数の部分音の前記非対数化知覚関連スペクトル値を小さく重み付けできるように、前記それぞれのスペクトル成分の前記非対数化知覚関連スペクトル値を、前記加算(780)での前記それぞれのスペクトル成分に対する部分音を表すこれらのスペクトル成分のものと異なるように重み付けを行う、請求項5に記載の前記装置。
- 前記音声信号の前記メロディラインを求める手段が、
セグメントを得るために、前記メロディラインをセグメント化する(784)手段(782、816、818、850、876、898、912、914、938;782、950、992、1016、1018、1020、1022、1024、1052)を備える、請求項5または請求項6に記載の前記装置。 - 前記一方側の前記スペクトル成分と、前記他方側の前記時間区分とにわたる行列位置のメロディ行列のバイナリ形式で表す前記メロディラインのような状態で、前記メロディラインの事前フィルタ(786)を行うために、セグメント化手段を実行する、請求項7に記載の前記装置。
- セグメント化手段が、事前フィルタ(786)を行う場合、各行列位置(792)に対し、前記エントリをこの行列位置および隣接行列位置に合計し、前記得られる情報値を閾値と比較し、前記比較結果を対応する行列位置で中間行列に入力し、次に、事前フィルタした形式の前記メロディラインを得るために、前記メロディ行列および前記中間行列の乗算を行う、請求項8に記載の前記装置。
- セグメント化手段が、次の部分をセグメント化する間に、所定のスペクトル値(798、800)外の前記メロディラインの一部を無視したままにする(796)、請求項6ないし請求項9のいずれかに記載の前記装置。
- 前記所定のスペクトル範囲が、50〜200Hzから1000〜1200Hzになるように、セグメント化手段を実行する、請求項10に記載の前記装置。
- セグメント化手段は、前記対数化時間/スペクトル表現が、前記対数化時間/スペクトル表現の所定のパーセンテージの前記最大対数化スペクトル値より小さい対数化スペクトル値を含む、次の部分の前記セグメント化で、メロディラインの一部を無視したままにする(804)、請求項7ないし請求項11のいずれかに記載の前記装置。
- セグメント化手段が、前記メロディラインにより、半音間隔より小さい間隔で、隣接時間区分に対応付けられた所定の数のスペクトル成分より小さい次の部分の前記セグメント化で、前記メロディラインの一部を無視したままにする(806)、請求項7ないし請求項12のいずれかに記載の前記装置。
- 前記セグメントの数ができるだけ小さく、その間隔が所定の尺度より小さい前記メロディラインにより、セグメントの隣接時間区分がスペクトル成分に対応付けられるように、前記無視した部分だけ減少した前記メロディライン(812)をセグメント(812a、812b)に分割するために、セグメント化手段を実行する、請求項10ないし請求項13のいずれかに記載の前記装置。
- セグメント化手段は、
ギャップが第1の数の時間区分(830)より小さい場合、前記メロディラインで、同じ半音領域(838)または隣接する半音領域(836)にある前記隣接セグメントのスペクトル成分が、他のものに最も近い前記隣接セグメント(12a、812b)の前記時間区分に対応付けられている場合、前記隣接セグメントからセグメントを得るために、隣接セグメント(12a、812b)の間の、前記ギャップ(832)を埋め込み(816)、
前記ギャップが前記第1の数の時間区分以上であるが、前記第1の数(834)より大きい第2の数の時間区分より小さい場合に限って、
前記メロディラインにより、スペクトル成分が、同じ半音領域(838)または隣接する半音領域(836)にある、前記隣接セグメントのうちの別の1つに最も近い前記隣接セグメント(812a、812b)の前記時間区分に対応付けられる場合、
所定の閾値より小さく、これらの時間区分での前記知覚関連スペクトル値が異なる(840)場合、
前記隣接セグメント(812a、812b)の間の接続線(844)に沿った知覚関連スペクトル値すべての平均値が、前記2つの隣接セグメント(842)に沿った前記知覚スペクトル値の前記平均値以上の場合に、
前記ギャップ(836)を埋め込む、請求項14に記載の前記装置。 - セグメント化手段が、前記セグメント化の範囲で、最も頻出する前記メロディラインにより、前記時間区分に対応付けられたこれらのスペクトル成分(826)を求め、このスペクトル成分を基準として、前記半音領域(828)を順に定義する半音境界により、互いに分離している半音のセットを求める(824)、請求項15に記載の前記装置。
- セグメント化手段が、直線の接続線(844)により、前記ギャップの埋め込みを行う、請求項15または請求項16に記載の前記装置。
- セグメント化手段が、
オクターブ、第5音および/または第3音のラインを得るために、前記スペクトル方向の間に時間区分がない前記セグメントの基準セグメント(852a)に直接隣接(864)する、前記セグメントの従属セグメント(852b)を一時的に移動(868)し、
前記知覚関連スペクトル値の間の、前記基準セグメント(852a)に沿った最小が、前記オクターブ、第5音および/または第3音の前記ラインに沿った前記知覚関連スペクトル値の間の最小と所定の関係があるかどうかにより、前記オクターブ、第5音および/または第3音の前記ラインから、1つを選択する、あるいは何も選択(872)せず、
前記オクターブ、第5音および/または第3音の前記ラインを選択する場合は、前記従属セグメントを最終的に前記オクターブ、第5音および/または第3音の前記選択したラインに移動する(874)、請求項14ないし請求項17のいずれかに記載の前記装置。 - セグメント化手段が、
所定のセグメント(878)において前記メロディラインのすべての局所的に極端な部分(882)を求め、
第1の所定の尺度(886)より小さく互いに分離しているスペクトル成分と、第2の所定の尺度(890)より小さく互いに分離している時間区分とで、配列されているすべての隣接する極端な部分に対し、前記求めた極端な部分の間の隣接する極端な部分のシーケンスを求め、
極端な部分の前記シーケンスの間の極端な部分の前記シーケンスの前記時間区分と、前記時間区分とが、これらの時間区分で前記メロディラインの前記スペクトル成分の前記平均値に対応付けられている(894)ように、前記所定のセグメント(878)を変更する、請求項14ないし請求項18のいずれかに記載の前記装置。 - セグメント化手段が、前記セグメント化の範囲で、前記メロディラインにより、最も頻繁に前記時間区分に対応付けられている前記スペクトル成分(832)を求め、
このスペクトル成分(832)を基準として、前記半音領域を順に定義する半音境界で互いに分離している半音のセットを求め、
セグメント化手段が、各セグメントで各時間区分に対し、対応付けられた前記スペクトル成分を前記半音のセットの半音に変更する(912)、請求項14ないし請求項19のいずれかに記載の前記装置。 - セグメント化手段が、前記半音のセットの間のこの半音が、変更する前記スペクトル成分に最も近くなるように、前記半音の変更を行う、請求項20に記載の前記装置。
- セグメント化手段は、
フィルタした音声信号(922)を得るために、所定のセグメントの共通半音を中心として伝送特性を含む前記音声信号をバンドパスフィルタ(916)でフィルタし、
前記フィルタした音声信号(922)の時点エンベロープ(924)が、候補となる開始時点を表す変曲点を含む時点で求めるために、前記フィルタした音声信号(922)を調べ(918、920、926)、
所定の候補となる最初の時点が、前記第1のセグメント(928、930)の前の所定の時間より小さいかどうかにより、前記所定の候補となる最初の時点でおおよそ終わる、延長セグメントを得るために、前記所定のセグメントを、1つまたはいくつかのさらに時間区分(932)だけ前に延長する、請求項20または請求項21に記載の前記装置。 - 前記所定のセグメントを延長する(932)場合、これにより、1つまたはいくつかの時間区分にわたる前記セグメントの重複を回避する場合は、直前のセグメントを前方に短くするために、セグメント化手段を実行する、請求項22に記載の前記装置。
- セグメント化手段が、
前記所定の候補となる最初の時点が、前記所定のセグメント(930)の前記第1の時間区分の前の前記第1の所定の継続時間より長いかどうかにより、前記知覚関連時間/スペクトル表現で、所定の勾配(936)より低下する仮想時点まで、前記候補となる最初の時点の方向に、前記所定のセグメントの延長に沿って、前記知覚関連スペクトル値をトレースし、次に、前記所定の候補となる最初の時点が、前記仮想時点の前の前記第1の所定の継続時間より長いかどうかにより、前記所定の候補となる最初の時点でおおよそ終わる、前記延長セグメントを得るために、1つまたはいくつかの別の時間区分で前記所定のセグメントを前方に延長する(932)、請求項22または請求項23に記載の前記装置。 - セグメント化手段が、前記フィルタリング、前記判定および前記補足を行った後で、所定の数の時間区分より短いセグメント(938)を処分する、請求項22ないし請求項24のいずれかに記載の前記装置。
- 前記セグメントを音符に変換する手段(940)をさらに備え、各セグメントに対し、前記セグメントの前記第1の時間区分に対応している音符開始時点と、時間区分継続時間を乗算した前記セグメントの前記時間区分の数に対応している音符継続時間と、前記セグメントが通過する前記スペクトル成分の平均に対応する音ピッチとを割り当てるために、変換手段を行う、請求項17ないし請求項25のいずれかに記載の前記装置。
- セグメント化手段が、
前記セグメントの所定の1つ(952)に対し、倍音セグメント(954a〜954g)を求め、
前記倍音セグメントから、前記音声信号の前記時間/スペクトル表現が前記最大ダイナミックを含む、前記音セグメントを求め(958)、
前記所定の倍音セグメントに沿った、前記時間/スペクトル表現の前記経路(960)で、最小(964)を設定し(962)、
前記最小が所定の条件を満たすかどうか調べ(986)、
前記の場合ならば、所定のセグメントを、前記最小がある前記時間区分で、2つのセグメントに分離する(988)、請求項14ないし請求項26のいずれかに記載の前記装置。 - セグメント化手段が、前記考察で、前記最小が所定の条件を満たすかどうか、前記最小(964)を前記所定の倍音セグメントに沿って、前記時間/スペクトル表現の前記経路(960)の隣接ローカル最大(980、982)の平均値と比較し(986)、前記比較により、前記所定のセグメントを前記2つのセグメントに分離(988)する、請求項27に記載の前記装置。
- セグメント化手段は、
前記メロディラインで同じスペクトル成分が対応付けられている、直接隣接時間区分の全グループに対し、前記隣接時間区分に直接対応付けられた数が、1から直接隣接時間区分の前記数までの異なる数となるように、所定のセグメント(994)に対し、前記セグメントの各時間区分(i)に前記数(z)を割り当て、
前記所定のセグメントの前記時間区分のうちの1つに対応付けられている各スペクトル成分に対し、前記それぞれのスペクトル成分が、時間区分その対応付けられているこれらのグループの前記数を加算し(1000)、
前記最大加算結果に対し、平滑化スペクトル成分を前記スペクトル成分として求め(1012)、
前記特定の平滑化スペクトル成分によって、前記所定のセグメントの各時間区分に対応付けることにより、前記セグメントを変更する(1014)、請求項14ないし請求項28のいずれかに記載の前記装置。 - セグメント化手段は、
フィルタした音声信号を得るために、所定のセグメントの共通半音を中心としたバンドパスを含むバンドパスフィルタで、前記音声信号をフィルタし(1026)、
前記フィルタした音声信号のエンベロープで、前記所定のセグメントに対応する時間的ウインドウ(1036)で最大(1040)をローカライズし(1034)、
所定の値より小さい前記最大(1040)の後で、前記エンベロープが最初、値をとる前記時点として、考えられるセグメントの終わりを求め(1042)、
前記考えられるセグメントの終わりが、(1046)前記所定のセグメントの実際のセグメントの終わりより時間的に前ならば、前記所定のセグメントを短くする(1049)、請求項14ないし請求項29のいずれかに記載の前記装置。 - セグメント化手段が、
(1046)前記考えられるセグメントの終わりが前記所定のセグメントの前記実際のセグメントの終わりより時間的に後ならば、前記考えられるセグメントの終わり(1044)と前記実際のセグメントの終わり(1049)との間の前記時間間隔が、所定の閾値(1050)以下の場合は、前記所定のセグメントを延長する(1051)、請求項30に記載の前記装置。 - 前記音声信号の前記メロディラインを求める手段(756)が、
スケーリングを行って、スペクトルサウンド値を得ることにより、時間/歪み表現を得るために、各時間区分および各スペクトル成分に対し、前記それぞれのスペクトル成分の前記スペクトル値、またはスケーリングにより、スペクトル成分から得られたスケーリングスペクトル値、および前記スペクトル値を、前記それぞれのスペクトル成分,またはスペクトル成分から得られたスケーリングスペクトル値の部分音を表すこれらのスペクトル成分に加算し(776)、
各時間区分に対し、前記対応する時間区分の前記加算を行うことにより前記最も高いスペクトルサウンド値を得るそのスペクトル成分を、一意に割り当てることにより、メロディラインを生成する(780)、請求項1ないし請求項31のいずれかに記載の前記装置。 - 音声信号(302)の基礎となるメロディを抽出する方法であって、
スペクトル値のシーケンスを有するスペクトル帯域を含む時間/スペクトル表現を複数のスペクトル成分それぞれに生成し、時間/スペクトル表現が各スペクトル帯域に、前記音声信号の時間区分シーケンスの各時間区分のスペクトル値を含むように(750)前記音声信号(302)の時間/スペクトル表現を生成し、
前記音声信号(302)の前記時間/スペクトル表現に基づいて、前記時間/スペクトル表現または最大のものから導出した前記時間/スペクトル表現のバージョンについて、正確に前記1つのスペクトル成分を各時間区分に一意に対応付けることにより、前記音声信号のメロディラインを求め(754、758)、
前記メロディラインに基づいて前記音声信号の前記メロディを求める(760、762)方法。 - コンピュータプログラムをコンピュータ上で動作する場合は、請求項33に記載の方法を実行するプログラムコードを有する、コンピュータプログラム。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102004049517A DE102004049517B4 (de) | 2004-10-11 | 2004-10-11 | Extraktion einer einem Audiosignal zu Grunde liegenden Melodie |
PCT/EP2005/010325 WO2006039992A1 (de) | 2004-10-11 | 2005-09-23 | Extraktion einer einem audiosignal zu grunde liegenden melodie |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2008516288A true JP2008516288A (ja) | 2008-05-15 |
Family
ID=35466126
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007536025A Pending JP2008516288A (ja) | 2004-10-11 | 2005-09-23 | 音声信号の基礎となるメロディの抽出 |
Country Status (6)
Country | Link |
---|---|
EP (1) | EP1787283A1 (ja) |
JP (1) | JP2008516288A (ja) |
KR (1) | KR20070062551A (ja) |
CN (1) | CN101076849A (ja) |
DE (1) | DE102004049517B4 (ja) |
WO (1) | WO2006039992A1 (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010134290A (ja) * | 2008-12-05 | 2010-06-17 | Sony Corp | 情報処理装置、メロディーライン抽出方法、ベースライン抽出方法、及びプログラム |
JP2012181304A (ja) * | 2011-03-01 | 2012-09-20 | Dainippon Printing Co Ltd | 音響信号の符号化方法および装置 |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7705231B2 (en) | 2007-09-07 | 2010-04-27 | Microsoft Corporation | Automatic accompaniment for vocal melodies |
JP2009244567A (ja) * | 2008-03-31 | 2009-10-22 | Brother Ind Ltd | メロディライン特定システムおよびプログラム |
CN102063904B (zh) * | 2010-11-30 | 2012-06-27 | 广州酷狗计算机科技有限公司 | 一种音频文件的旋律提取方法及旋律识别*** |
CN103226197A (zh) * | 2013-04-16 | 2013-07-31 | 哈尔滨工程大学 | 一种基于音色参数模型的水下目标回波分类方法 |
JP2014219607A (ja) * | 2013-05-09 | 2014-11-20 | ソニー株式会社 | 音楽信号処理装置および方法、並びに、プログラム |
CN106919583B (zh) * | 2015-12-25 | 2020-11-10 | 广州酷狗计算机科技有限公司 | 音频文件的推送方法及装置 |
EP3220386A1 (en) * | 2016-03-18 | 2017-09-20 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Apparatus and method for harmonic-percussive-residual sound separation using a structure tensor on spectrograms |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH04220880A (ja) * | 1990-12-21 | 1992-08-11 | Casio Comput Co Ltd | 量子化装置 |
JPH06291671A (ja) * | 1991-12-03 | 1994-10-18 | Matsushita Electric Ind Co Ltd | ディジタルオーディオ信号の符号化方法 |
JPH1195753A (ja) * | 1997-09-19 | 1999-04-09 | Dainippon Printing Co Ltd | 音響信号の符号化方法およびコンピュータ読み取り可能な記録媒体 |
JPH1195780A (ja) * | 1997-09-24 | 1999-04-09 | Sony Corp | 伴奏演奏装置およびその演奏方法 |
JP2000099009A (ja) * | 1998-09-18 | 2000-04-07 | Dainippon Printing Co Ltd | 音響信号の符号化方法 |
JP2002023799A (ja) * | 2000-07-05 | 2002-01-25 | Nec Corp | 音声符号化装置及びそれに用いる心理聴覚分析方法 |
JP2003022096A (ja) * | 2001-07-10 | 2003-01-24 | Dainippon Printing Co Ltd | 音響信号の符号化方法 |
JP2003173195A (ja) * | 2001-09-28 | 2003-06-20 | Nippon Telegr & Teleph Corp <Ntt> | 占有度抽出装置および基本周波数抽出装置、それらの方法、それらのプログラム並びにそれらのプログラムを記録した記録媒体 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5808225A (en) * | 1996-12-31 | 1998-09-15 | Intel Corporation | Compressing music into a digital format |
WO2001069575A1 (en) * | 2000-03-13 | 2001-09-20 | Perception Digital Technology (Bvi) Limited | Melody retrieval system |
JP2001265330A (ja) * | 2000-03-21 | 2001-09-28 | Alpine Electronics Inc | 旋律抽出装置および旋律抽出方法 |
DE10117870B4 (de) * | 2001-04-10 | 2005-06-09 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Verfahren und Vorrichtung zum Überführen eines Musiksignals in eine Noten-basierte Beschreibung und Verfahren und Vorrichtung zum Referenzieren eines Musiksignals in einer Datenbank |
-
2004
- 2004-10-11 DE DE102004049517A patent/DE102004049517B4/de not_active Expired - Fee Related
-
2005
- 2005-09-23 CN CNA2005800424173A patent/CN101076849A/zh active Pending
- 2005-09-23 JP JP2007536025A patent/JP2008516288A/ja active Pending
- 2005-09-23 WO PCT/EP2005/010325 patent/WO2006039992A1/de active Application Filing
- 2005-09-23 KR KR1020077008256A patent/KR20070062551A/ko not_active Application Discontinuation
- 2005-09-23 EP EP05793771A patent/EP1787283A1/de not_active Withdrawn
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH04220880A (ja) * | 1990-12-21 | 1992-08-11 | Casio Comput Co Ltd | 量子化装置 |
JPH06291671A (ja) * | 1991-12-03 | 1994-10-18 | Matsushita Electric Ind Co Ltd | ディジタルオーディオ信号の符号化方法 |
JPH1195753A (ja) * | 1997-09-19 | 1999-04-09 | Dainippon Printing Co Ltd | 音響信号の符号化方法およびコンピュータ読み取り可能な記録媒体 |
JPH1195780A (ja) * | 1997-09-24 | 1999-04-09 | Sony Corp | 伴奏演奏装置およびその演奏方法 |
JP2000099009A (ja) * | 1998-09-18 | 2000-04-07 | Dainippon Printing Co Ltd | 音響信号の符号化方法 |
JP2002023799A (ja) * | 2000-07-05 | 2002-01-25 | Nec Corp | 音声符号化装置及びそれに用いる心理聴覚分析方法 |
JP2003022096A (ja) * | 2001-07-10 | 2003-01-24 | Dainippon Printing Co Ltd | 音響信号の符号化方法 |
JP2003173195A (ja) * | 2001-09-28 | 2003-06-20 | Nippon Telegr & Teleph Corp <Ntt> | 占有度抽出装置および基本周波数抽出装置、それらの方法、それらのプログラム並びにそれらのプログラムを記録した記録媒体 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010134290A (ja) * | 2008-12-05 | 2010-06-17 | Sony Corp | 情報処理装置、メロディーライン抽出方法、ベースライン抽出方法、及びプログラム |
JP2012181304A (ja) * | 2011-03-01 | 2012-09-20 | Dainippon Printing Co Ltd | 音響信号の符号化方法および装置 |
Also Published As
Publication number | Publication date |
---|---|
EP1787283A1 (de) | 2007-05-23 |
CN101076849A (zh) | 2007-11-21 |
DE102004049517B4 (de) | 2009-07-16 |
WO2006039992A1 (de) | 2006-04-20 |
KR20070062551A (ko) | 2007-06-15 |
DE102004049517A1 (de) | 2006-04-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2008516289A (ja) | 音声信号の基礎となるメロディを抽出する方法および装置 | |
US10789921B2 (en) | Audio extraction apparatus, machine learning apparatus and audio reproduction apparatus | |
JP2008516288A (ja) | 音声信号の基礎となるメロディの抽出 | |
JP4665836B2 (ja) | 楽曲分類装置、楽曲分類方法、及び楽曲分類プログラム | |
JP3964792B2 (ja) | 音楽信号を音符基準表記に変換する方法及び装置、並びに、音楽信号をデータバンクに照会する方法及び装置 | |
CN112382257B (zh) | 一种音频处理方法、装置、设备及介质 | |
US20060075881A1 (en) | Method and device for a harmonic rendering of a melody line | |
WO2007010637A1 (ja) | テンポ検出装置、コード名検出装置及びプログラム | |
KR100659212B1 (ko) | 어학 학습 시스템 및 어학 학습용의 음성 데이터 제공 방법 | |
US6951977B1 (en) | Method and device for smoothing a melody line segment | |
CN105825868A (zh) | 一种演唱者有效音域的提取方法 | |
KR101813704B1 (ko) | 사용자 음색 분석 장치 및 음색 분석 방법 | |
CN108804474B (zh) | 歌曲的音频信号处理方法、音频相似度匹配方法及装置 | |
Lerch | Software-based extraction of objective parameters from music performances | |
Gulati | A tonic identification approach for Indian art music | |
CN105244021B (zh) | 哼唱旋律到midi旋律的转换方法 | |
JP2000148136A (ja) | 音信号分析装置、音信号分析方法及び記憶媒体 | |
JP4722738B2 (ja) | 楽曲分析方法及び楽曲分析装置 | |
CN115331682B (zh) | 修正音频的音高的方法和装置 | |
JP4483561B2 (ja) | 音響信号分析装置、音響信号分析方法及び音響信号分析プログラム | |
Hergert et al. | Envelope functions for sound spectra of pipe organ ranks and the influence of pitch on tonal timbre | |
CN115171729B (zh) | 音频质量确定方法、装置、电子设备及存储介质 | |
CN113270081B (zh) | 调整歌伴奏音的方法及调整歌伴奏音的电子装置 | |
Müller et al. | Music signal processing | |
Wu | Guitar Sound Analysis and Pitch Detection |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20100611 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100907 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20110215 |