JPWO2006070768A1 - オーディオ信号処理装置、オーディオ信号処理方法およびその方法をコンピュータに実行させるプログラム - Google Patents

オーディオ信号処理装置、オーディオ信号処理方法およびその方法をコンピュータに実行させるプログラム Download PDF

Info

Publication number
JPWO2006070768A1
JPWO2006070768A1 JP2006550774A JP2006550774A JPWO2006070768A1 JP WO2006070768 A1 JPWO2006070768 A1 JP WO2006070768A1 JP 2006550774 A JP2006550774 A JP 2006550774A JP 2006550774 A JP2006550774 A JP 2006550774A JP WO2006070768 A1 JPWO2006070768 A1 JP WO2006070768A1
Authority
JP
Japan
Prior art keywords
waveform
band
phase
processing
audio
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2006550774A
Other languages
English (en)
Other versions
JP4031813B2 (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.)
P Softhouse Co Ltd
Original Assignee
P Softhouse 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 P Softhouse Co Ltd filed Critical P Softhouse Co Ltd
Application granted granted Critical
Publication of JP4031813B2 publication Critical patent/JP4031813B2/ja
Publication of JPWO2006070768A1 publication Critical patent/JPWO2006070768A1/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L21/00Speech or voice signal processing techniques to produce another audible or non-audible signal, e.g. visual or tactile, in order to modify its quality or its intelligibility
    • G10L21/04Time compression or expansion
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech 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/02Speech 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
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L21/00Speech or voice signal processing techniques to produce another audible or non-audible signal, e.g. visual or tactile, in order to modify its quality or its intelligibility
    • G10L21/003Changing voice quality, e.g. pitch or formants
    • G10L21/007Changing voice quality, e.g. pitch or formants characterised by the process used
    • G10L21/013Adapting to target pitch
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech 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/02Speech 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
    • G10L19/0204Speech 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 using subband decomposition

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Quality & Reliability (AREA)
  • Computational Linguistics (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Spectroscopy & Molecular Physics (AREA)
  • Electrophonic Musical Instruments (AREA)
  • Stereophonic System (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)

Abstract

ボコーダ方式によりタイムストレッチやピッチシフトを行うオーディオ波形処理に関し、波形全体を通してボコーダ方式において必ず発生する位相の変化を軽減させた、聴感上違和感のない高品位なオーディオ波形処理を提供することを目的とする。オーディオ入力波形をそのまま1つのバンドとして扱うか複数バンドに周波数帯域分割し、各バンド波形に対して従来のボコーダ方式と同様に時間伸縮やピッチ変換を行いながら波形を合成し、各バンドの合成波形に対して一定の間隔で位相同期化処理を実行し、位相の変化を軽減させる。更に各バンドの位相同期化処理後の波形を加算して、最終的な出力波形を得る。

Description

本発明は、ボコーダ方式によりタイムストレッチやピッチシフトを行うオーディオ波形処理に関する。
タイムストレッチとはオーディオ波形の音程はそのままで時間軸のみを伸縮させるものであり、ピッチシフトとは時間軸を変えずに音程のみを変化させる技術である。タイムストレッチやピッチシフトを行うオーディオ波形処理として、公知のものとしてボコーダ方式というものがある(例えば、特許文献1を参照。)。この方式は入力されたオーディオ波形を周波数分析し、タイムストレッチの際には時間軸を縮伸させ、ピッチシフトの際は出力する波形の周波数をスケーリングした後に、各周波数成分を加算するというものである。
従来のボコーダ方式では、オーディオ入力波形とタイムストレッチ/ピッチシフト処理後の波形とでは、大きく位相が変化してしまう。図7に一例として、ある2チャンネルステレオオーディオ波形をタイムストレッチさせた際に生じる位相の変化を示している。グラフの横軸は時間軸、縦軸は周波数成分の位相を表している。(a)はオーディオ入力波形を周波数分析したもののうち、2つのチャンネルのある周波数帯域における成分AとBの位相変化を示している。(b)は(a)をボコーダ方式により1/2に時間圧縮した際の、AとBに対応するA1とB1の位相を示している。時間軸が1/2倍になるとともに、位相に関する縦軸も1/2倍になる。
ここでストレッチ処理前の時刻Tと、時間圧縮後のT1(=T/2)に注目してみる。処理前の(a)のグラフでは時刻TにおけるAとBの位相差は2πであり、−πからπの表現をすると位相差は0である。時刻T以降もAとBの位相差は0で推移している。一方、時間圧縮後の時刻T1ではA1とB1の位相差はπであり、T1以降も位相差πで推移しており、A1とB1の位相の関係は、時間圧縮前のAとBとは明らかに変化している。
上述した説明から明らかなように、ボコーダ方式では時間軸の伸縮を行うことにより、その伸縮の量だけ位相の遅れ/進みが発生する。ピッチシフトにおいても同様である。位相の変化量は周波数分析された各周波数成分間で異なり、ステレオオーディオの場合では各チャンネル間でも異なる。このため、音を打ち消しあったり、ステレオの音の定位感が崩れたりするなど聴感上の違和感が発生し、高品位なタイムストレッチやピッチシフトは実現できない。
また、このボコーダ方式を改良し、音質を改善しようとする技術もこれまでに提案されている。例えば特許文献1では、オーディオ波形のレベルが大きく変化するアタック部分において帯域分割する際に発生するプリエコーに着目し、プリエコーの区間の始めにて位相をリセットする装置が開示されている。
特開2001−117595号公報
ところで、特許文献1に開示される形態のオーディオ波形装置の発明はアタック感を保つことを鑑みてなされたものであり、アタック後の位相の変化は問題とされていない。また、複雑にミックスされた曲ではアタック部分を検出するのが困難であるという問題もある。
そこで本発明は、ボコーダ方式によりタイムストレッチやピッチシフトを行うオーディオ波形処理に関し、波形全体を通してボコーダ方式において必ず発生する位相の変化を軽減した、聴感上違和感のない高品位なオーディオ波形処理を提供することを目的とする。
上記目的を達成するため、本発明によるオーディオ波形処理装置、方式およびプログラムでは、オーディオ入力波形をそのまま1つのバンド(バンドとは周波数帯域のことであり、以下周波数帯域のことをバンドと呼ぶ)として扱うか複数バンドに周波数帯域分割し、各バンド波形に対して従来のボコーダ方式と同様に時間伸縮やピッチ変換を行いながら波形を合成し、各バンドの合成波形に対して一定の間隔で位相同期化処理を実行し、位相の変化を軽減させるようとするものである。更に各バンドの位相同期化処理後の波形を加算して、最終的な出力波形を得る。
即ち、本発明のうち請求項1に記載の発明は、オーディオ波形を周波数分析し各周波数成分を必要に応じ時間圧縮/伸長やピッチ変換を行いながら正弦波もしくは余弦波合成処理するオーディオ波形処理装置であって、その周波数分析や合成処理はオーディオ信号を複数に周波数帯域分割したバンドごとに行われ、各バンドの原波形と合成処理後の波形との類似性を評価し、類似性の高い箇所において合成処理後の波形からバンド原波形へクロスフェード処理を行うことにより、波形合成時に発生する位相の変化をリセットするように構成したオーディオ波形処理装置である。周波数帯域分割された各バンド波形をボコーダ方式により時間伸縮やピッチ変換を行いながら合成処理し、その合成波形に対して位相同期化処理を実施することを特徴とする。
請求項2に記載の発明は、請求項1に記載の周波数帯域分割において、帯域分割せずにオーディオ波形をそのまま1つのバンドと見なし処理するように構成したオーディオ波形処理装置である。オーディオ波形をそのまま1つのバンドとして扱い、ボコーダ方式により時間伸縮やピッチ変換を行いながら合成処理し、その合成波形に対して位相同期化処理を実施することを特徴とする。
請求項3に記載の発明は、オーディオ波形を周波数分析し各周波数成分を必要に応じ時間圧縮/伸長やピッチ変換を行いながら正弦波もしくは余弦波合成処理するオーディオ波形処理方式であって、その周波数分析や合成処理はオーディオ信号を複数に周波数帯域分割したバンドごとに行われ、各バンドの原波形と合成処理後の波形との類似性を評価し、類似性の高い箇所において合成処理後の波形からバンド原波形へクロスフェード処理を行うことにより、波形合成時に発生する位相の変化をリセットするように構成したオーディオ波形処理方式である。周波数帯域分割された各バンド波形をボコーダ方式により時間伸縮やピッチ変換を行いながら合成処理し、その合成波形に対して位相同期化処理を実施する方式を特徴とする。
請求項4に記載の発明は、請求項3の周波数帯域分割において、帯域分割せずにオーディオ波形をそのまま1つのバンドと見なし処理するように構成したオーディオ波形処理方式である。オーディオ波形をそのまま1つのバンドとして扱い、ボコーダ方式により時間伸縮やピッチ変換を行いながら合成処理し、その合成波形に対して位相同期化処理を実施する方式を特徴とする。
請求項5に記載の発明は、請求項3、4のいずれかに記載のオーディオ波形処理方法をコンピュータに実行させるための命令群で構成されるコンピュータプログラムである。位相同期化処理をコンピュータプログラムで実現することを特徴とする。
請求項6に記載の発明は、オーディオ波形を周波数分析して各周波数成分を必要に応じ時間圧縮/伸長やピッチ変換を行いながら正弦波もしくは余弦波合成処理するオーディオ波形処理装置であって、その周波数分析を複数に周波数帯域分割したオーディオ信号のバンドごとに実施して、各バンドの前記波形合成処理後の位相状態と各バンドの原波形の位相状態とを評価関数を用いて比較して、合成処理後の位相状態と相関が高い原波形に対して線形な位相進み又は線形な位相遅れを有する波形を位相同期化波形として生成し、前記合成処理後の波形から前記の生成した位相同期化波形へ位相同期化処理期間でクロスフェード処理を行うことにより、波形合成時に発生する位相の変化を位相同期化処理期間でリセットするように構成したオーディオ波形処理装置を特徴とする。
請求項7に記載の発明は、請求項6の装置の周波数帯域分割において、帯域分割せずにオーディオ波形をそのまま1つのバンドと見なし処理するように構成したオーディオ波形処理装置を特徴とする。
請求項8に記載の発明は、オーディオ波形を周波数分析して各周波数成分を必要に応じ時間圧縮/伸長やピッチ変換を行いながら正弦波もしくは余弦波合成処理するオーディオ波形処理方式であって、その周波数分析を複数に周波数帯域分割したオーディオ信号のバンドごとに実施して、各バンドの前記波形合成処理後の位相状態と各バンドの原波形の位相状態とを評価関数を用いて比較して、合成処理後の位相状態と相関が高い原波形に対して線形な位相進み又は線形な位相遅れを有する波形を位相同期化波形として生成し、前記合成処理後の波形から前記の生成した位相同期化波形へ位相同期化処理期間でクロスフェード処理を行うことにより、波形合成時に発生する位相の変化を位相同期化処理期間でリセットするように構成したオーディオ波形処理方式を特徴とする。
請求項9に記載の発明は、請求項8の方式の周波数帯域分割において、帯域分割せずにオーディオ波形をそのまま1つのバンドと見なし処理するように構成したオーディオ波形処理方式を特徴とする。
請求項10に記載の発明は、請求項8、9のいずれかに記載のオーディオ波形処理方法をコンピュータに実行させるための命令群で構成されるコンピュータプログラムを特徴とする。
請求項11に記載の発明は、請求項6、7の各バンドの波形合成処理後の位相状態と各バンドの原波形の位相状態との差を評価する評価関数に波形間の複素数平面上での距離を用いることを特徴とするオーディオ波形処理装置を特徴とする。
請求項12に記載の発明は、請求項8、9の各バンドの波形合成処理後の位相状態と各バンドの原波形の位相状態との差を評価する評価関数に波形間の複素数平面上での距離を用いることを特徴とするオーディオ波形処理方式を特徴とする。
請求項13に記載の発明は、請求項10の波形合成処理後の位相状態と各バンドの原波形の位相状態との差を評価するコンピュータプログラム演算で、評価関数として波形間の複素数平面上での距離を用いることを特徴とするコンピュータプログラムを特徴とする。
本発明における位相同期化処理とは、各バンドにおいて時間伸縮やピッチ変換された合成波形に対し、時系列をずらしながら元々のバンド波形との類似性を評価し、類似性が高いと判定される箇所において、合成波形から元々のバンド波形に戻るようにクロスフェード処理をすることである。その結果、位相同期化処理が終了した時点、つまりクロスフェード処理が終わった時点の波形は元々のバンド波形と同じ位相状態となる。類似性を評価するのは、クロスフェード処理による不連続さを少なくし、聴感上違和感のない波形を得ることを目的としている。
図8は位相同期化処理による効果を示している。(a)は、図7の(a)と同じオーディオ入力波形の位相状態を示している。(b)は(a)を時刻T1(=T/2)において位相同期化処理を実行しながら1/2に時間圧縮したものである。(a)のAとBに対応する周波数成分の位相をそれぞれA2、B2としている。
図7で示される従来のボコーダ方式での時間圧縮は、時刻T1におけるA1とB1の位相関係は元々のそれから変化していた。しかし図8で明らかなように、位相同期化処理が行われた時刻T1ではA2の位相は6.5π、B2の位相は8.5πとなり、その差は2πであるので位相差はなくなり、元々のAとBと同じ位相の関係が保たれていることがわかる。
上述した説明から明らかなように、ボコーダ方式によりタイムストレッチ/ピッチシフト処理をした合成波形に対して位相同期化処理を行うことにより、元の波形の位相関係が保たれることになる。この位相同期化処理を一定の間隔で実行することにより、そのつど元の波形の位相関係が保たれ、結果として波形全体を通して位相の変化が軽減された聴感上の違和感のないタイムストレッチ/ピッチシフト処理が可能となる。
請求項1、3の発明によれば、複数の周波数帯域に分割したバンドごとにオーディオ信号の周波数分析や合成処理を実施して、各バンドの原波形と合成処理後の波形との類似性を評価し、類似性の高い箇所において合成処理後の波形からバンド原波形へクロスフェード処理を行い、波形合成時に発生する位相の変化をリセットできるので、聴感上の違和感の無い高品位なオーディオ出力が得られる。
請求項2、4の発明によれば、帯域分割をせずにオーディオ波形をそのまま1つのバンドと見なして原波形と合成処理後の波形との類似性を評価し、類似性の高い箇所において合成処理後の波形から原波形へクロスフェード処理を行い、波形合成時に発生する位相の変化をリセットできるので、聴感上の違和感の無い高品位なオーディオ出力がより少ない部品数で実現でき、オーディオ波形合成装置のより低価格化が実現できる。
請求項5の発明によれば、請求項3、4のいずれかに記載のオーディオ波形処理方法を市販のパーソナルコンピュータ用オーディオ処理プログラムで実施できるので、高品位のボコーダ方式オーディオ処理がよりいっそう低価格で実現できる。
請求項6、8の発明によれば、周波数分析や合成処理がオーディオ信号を複数に周波数帯域分割したバンドごとに行われ、各バンドの合成処理後の位相状態と原波形の位相状態とを比較し、合成処理後の位相状態と相関が高く、かつ原波形の線形な位相進み又は線形な位相遅れである波形を位相同期化波形として生成し、合成処理後の波形から移動同期化波形へクロスフェード処理を行ない、波形合成時に発生する位相の変化をリセットできるので、聴感上の違和感の無い高品位なオーディオ出力が得られる。
請求項7、9の発明によれば、請求項6の装置の周波数帯域分割において、帯域分割せずにオーディオ波形をそのまま1つのバンドと見なして処理するので、聴感上の違和感の無い高品位なオーディオ出力がより少ない部品数で実現でき、オーディオ波形合成装置のより低価格化が実現できる。
請求項10の発明によれば、請求項8、9のいずれかに記載のオーディオ波形処理方法を市販のパーソナルコンピュータ用オーディオ処理プログラムで実施できるので、高品位のボコーダ方式オーディオ処理がよりいっそう低価格で実現できる。
請求項11、12、13の発明によれば、各バンドの波形合成処理後の位相状態と各バンドの原波形の位相状態との差を評価する評価関数に波形間の複素数平面上での距離を用いるので、位相状態の差を比較的簡便な方法で評価でき、オーディオ波形合成装置の簡易化と高速化が図られる。
すなわち、本発明のオーディオ波形処理装置、方式およびプログラムを用いることにより、オーディオ入力波形がモノラルであれステレオであれ、従来のボコーダ方式において必ず発生する位相の変化が波形全体を通して軽減され、高品位なタイムストレッチやピッチシフト処理を実現できるという効果がある。
本発明における波形処理の流れを示すブロック図である。 バンド成分合成部の詳細を説明するためのブロック図である。 位相同期化処理部の詳細を説明するためのブロック図である。 リファレンス波形生成法を説明するための図である。 位相同期化処理の概念を説明するための図である。 本発明にかかる一実施例としてのオーディオ信号処理装置を示す図である。 従来のボコーダ方式による位相の変化の様子を説明するための図である。 本発明の位相同期化処理による効果を説明するための図である。 本発明における波形処理の流れを示すブロック図である。 バンド成分合成部の詳細を説明するためのブロック図である。 位相同期化処理部の詳細を説明するためのブロック図である。 チャンネル分割処理部の詳細を説明するための図である。 周波数分析部においてメモリに格納される情報を説明するための図である。 タイムストレッチ/ピッチシフト処理を説明するための図である。 チャンネル統合処理部の詳細を説明するための図である。 バッファリング処理部のメモリ使用状況を説明するための図である。 リファレンス波形生成のデータの流れを説明するための図である。 波形類似性評価部の評価の詳細を説明するためのブロック図である。 クロスフェード処理の詳細を説明するためのブロック図である。 本発明のコンピュータプログラムを説明するためのフローチャートである。 チャンネル分割処理部の詳細を説明するための図である。 タイムストレッチ/ピッチシフト処理を説明するための図である。 チャンネル統合処理部の詳細を説明するための図である。 評価関数を用いて位相差の評価値を求める方法を説明するためのブロック図である。 波形類似性評価部の評価の詳細を説明するためのブロック図である。 クロスフェード処理の詳細を説明するためのブロック図である。
符号の説明
1 オーディオ入力波形
2 周波数帯域分割部
3 タイムストレッチ/ピッチシフト量設定部
4 バンド成分合成部
5 位相同期化処理部
6オーディオ出力波形
7 タイムストレッチ量補正部
8 チャンネル分割処理部
9 周波数分析部
10 タイムストレッチ/ピッチシフト処理部
11 チャンネル統合処理部
12 バッファリング処理部
13 リファレンス波形生成部
14 波形類似性評価部
15 クロスフェード処理部
16 CPU(中央処理装置)
17 ROM(リード・オンリー・メモリ)
18 RAM(ランダム・アクセス・メモリ)
19 ハードディスク駆動装置
20 CD−ROM駆動装置
21 音声出力装置
22 操作子群
23オーディオ入力波形
24 周波数帯域分割部
25 タイムストレッチ/ピッチシフト量設定部
26 バンド成分合成部
27 位相同期化処理部
28オーディオ出力波形
29 チャンネル分割処理部
30 周波数分析部
31 タイムストレッチ/ピッチシフト処理部
32 チャンネル統合処理部
33 バッファリング処理部
34 位相同期化波形生成部
35 クロスフェード処理部
36 ステレオ波形メモリ
37 チャンネル0波形メモリ
38 チャンネル1波形メモリ
39 チャンネル0合成波形メモリ
40 チャンネル1合成波形メモリ
41 ステレオ合成波形メモリ
42 ステレオ波形メモリ
43 チャンネル0波形メモリ
44 チャンネル1波形メモリ
45 チャンネル0合成波形メモリ
46 チャンネル1合成波形メモリ
47 ステレオ合成波形メモリ
230 表示器
本発明の実施の形態を図面に基づき説明する。本発明はその趣旨を外れない限り、以下の実施例によって、限定されるものではない。
図1は本発明の第1の実施例である請求項1、3のオーディオ波形処理のブロック図を示している。この実施例で取り扱うオーディオ波形はデジタル化されている。
オーディオ入力波形1は、周波数帯域分割部2でいくつかのバンドに分けられる。この実施例では6つのバンドに分割している。3はタイムストレッチ/ピッチシフト量設定部であり、使用者の操作によりパラメータが変化するものである。周波数帯域分割部2で生成されたバンド波形は、バンド成分合成部4−0〜4−5で周波数分析され、分析結果をもとに設定されるタイムストレッチ/ピッチシフト量に従い、時間軸の伸縮とピッチ変換を行いながら波形の合成処理をする。
次に位相同期化処理部5−0〜5−5で、バンド成分合成部4で合成処理された波形と、周波数帯域分割部2において生成されたバンド原波形とを用い、位相同期化処理を行う。オーディオ出力波形6は各バンドの位相同期化処理部5の出力波形を加算合成したものである。また、位相同期化処理部5において出力する波形の長さに誤差が発生するため、補正値をバンド成分合成部4にフィードバックし、次回の合成処理時に出力される波形の長さを揃える操作をする。
周波数帯域分割部2で分割するバンドの数とその帯域は、オーディオ入力波形にあわせて設定することが望ましい。単一楽器の演奏など単純なオーディオ信号に対しての分割は不要な場合があり、逆に複雑にミックスされた楽曲に対しては分割数を増やさなければいけない。また、図1のブロック図に示されているように、バンド単位で位相同期化処理が行われバンド内での位相変化は軽減されるが、バンド間での位相関係は崩れてしまう可能性がある。そのため、分割数が多すぎない適切な分割数と帯域を用いる必要がある。音階にして1オクターブ程度となる帯域幅に分割すると、音楽などのオーディオ入力波形に対して適切に処理ができる。
図2は図1のバンド成分合成部4の詳細をブロック構成図で示している。ここではステレオ2チャンネルオーディオ波形を処理するものと想定している。7はタイムストレッチ量補正処理部であり、位相同期化処理部5で出力波形の長さに誤差が生じた場合にストレッチ量を補正し、位相リセット信号を付加するものである。
図2のチャンネル分割処理部8は図1の周波数帯域分割部2で生成されたバンド波形を単一のチャンネルに分割する。ここでの分割数はオーディオ入力波形のチャンネル数により異なる。分割されたチャンネルごとに、以降の周波数分析とタイムストレッチ/ピッチシフト処理が行われる。
図12は図2のチャンネル分割処理部8の波形データの流れを示している。ステレオ波形メモリ36には2つのチャンネルの波形データがひとまとめに配置されており、これをチャンネル0波形メモリ37とチャンネル1波形メモリ38にそれぞれのチャンネルのデータを配置し直し、周波数分析部9−0〜9−1へ渡す。また、このときデータを配置し直すのではなく、波形メモリ36におけるそれぞれのチャンネルの先頭アドレスを周波数分析部9−0〜9−1へ渡すことでも、同様の処理が可能である。
次に図2の周波数分析部9−0〜9−1では、チャンネル分割処理部8で分割された波形に含まれる周波数、位相、振幅をSTFFT(短時間フーリエ変換、Short−Time Fast Fourier Transform)を用いて算出する。なお、一度のSTFFTで分析できるオーディオ波形の長さは、用いられる窓関数およびFFTサイズにより決まる。この長さを1フレームと定義し、1フレームごとに次に説明する波形合成が行われる。例えば44.1キロヘルツで離散化されたデジタルオーディオ波形を処理する場合には、窓関数およびFFTサイズは1024点を用いる。すると時間軸上の幅は約23.2ミリ秒であり、周波数軸上で約43ヘルツ刻みのデータが得られ、周波数分解能と時間分解能のバランスが良い。これよりも周波数分解能を高くする場合はFFTサイズを大きくし、時間分解能を高くする場合にはFFTサイズを小さくする。FFTで計算されたデータから平方根や逆正接演算を行い、図13に示すようにメモリアドレスに周波数成分の振幅AS/AE、位相PS/PE、瞬時角振動数Wのデータを格納する。1つの周波数成分の帯域幅は音階にして1半音程度が適切で、周波数帯域分割部2で1オクターブの帯域幅にバンドを分割した場合は、12個の周波数成分データが計算される。
次に図2のタイムストレッチ/ピッチシフト処理部10−0〜10−1で、周波数分析部9で分析された結果と要求されるタイムストレッチ/ピッチシフト量に従い波形を合成する。周波数成分ごとに正弦または余弦発振を行い、それらを加算合成することで合成波形が得られる。このとき要求されるタイムストレッチ量に従い、波形を合成する時間軸を縮伸させる。時間軸の縮伸により振幅が不連続にならないように、振幅値の補間も行う。また、要求されるピッチシフト量に従い、発振の角振動数をスケーリングする。発振開始時の位相は、初回動作時や位相リセット信号が入力された場合には、周波数分析部9によって算出された位相を設定する。それ以外の場合は、前回フレームの発振終了時の位相をそのまま用い、フレーム間で滑らかに波形がつながるように処理する。これらの処理の構成は、図14のようになる。合成された波形データはメモリに格納され、チャンネル統合処理部11に渡される。
更にチャンネル統合処理部11で、タイムストレッチ/ピッチシフト処理部10においてチャンネルごとに合成処理された波形は、オーディオ入力波形と同じチャンネル数になるようにステレオ化される。図15にチャンネル統合処理部11のデータの流れを示している。チャンネル0合成波形メモリ39とチャンネル1合成波形メモリ40に格納された波形は、ステレオ合成波形メモリ41にひとまとめに再配置される。またこのとき、チャンネル0合成波形メモリ39とチャンネル1合成波形メモリ40の先頭アドレスをステレオ合成波形メモリ41に保持し、それぞれのメモリアドレスを参照することでステレオ波形データとして扱う方法もある。ステレオ化されたバンド成分合成後のオーディオ波形は、更に位相同期化処理部5で処理される。
図3は図1の位相同期化処理部5の詳細をブロック構成図で示している。図1のバンド成分合成部4で生成される1フレーム分の波形は、図3のバッファリング処理部12で一度蓄積される。これは、位相同期化処理にはある程度の長さの波形が必要であり、1フレームの長さでは不十分な場合があるためである。
位相同期化処理に必要なフレーム数は、周波数帯域分割されたバンドごとに異なる。後述する位相同期化処理の類似性の評価には、合成波形に含まれる周期成分が数波長分必要であり、そのため必要な波形の長さは低域側のバンドでは長くなり、高域側では短くなる。
また、フレーム数を長く取りすぎると位相同期化処理の間隔が広がってしまい、位相の変化が大きくなり、位相の変化による聴感上の違和感を知覚できてしまう。バンドの周波数帯域と聴感上の品質を考慮し、適切なフレーム数を用いることが望ましい。時間の長さとして40ミリ秒以内となるフレーム数であれば位相の変化による違和感はそれほど知覚できないが、低域側のバンドでは波長が長くなるため、5波長程度の波形が含まれるような40ミリ秒以上のフレーム数を用いる。
図3のバッファリング処理部12で位相同期化処理に必要な長さの波形が蓄積されると波形は出力され、バッファはクリアされる。同時にリファレンス波形生成信号も出力され、リファレンス波形生成部13により、周波数帯域分割部2で分割されたバンド原波形から位相同期化処理のためのリファレンス波形が生成される。図16にバッファリング処理部のメモリ使用状況を示している。この図では位相同期化処理に必要な波形の長さは3フレームと想定しており、3フレーム分のバンド合成波形が蓄積されると波形は出力され、4フレーム目の合成波形はバッファリングメモリの先頭に配置される。
リファレンス波形の生成法について図4を参照しながら説明する。この例では3フレームごとに位相同期化処理を行うものと想定している。図4(a)はバンド原波形とフレームがどのように対応しているかを示しており、フレーム3とフレーム6の処理後に位相同期化処理が発生する。図中で波形は上下2段に書かれているが、これはステレオオーディオ波形のそれぞれのチャネンルを分けて書いたものである。図4(b)はピッチシフトがない場合について、それぞれの位相同期化処理におけるリファレンス波形を示している。この波形は、位相同期化処理が実行されるまでの区間の最終フレーム、図中ではフレーム3とフレーム6の終端の一部をそのまま切り取ったものである。
また、図4(c)はピッチシフトがある場合のリファレンス波形を示している。ここでは、1/2にピッチシフトした際の例を示している。図のように図4(b)の波形を時間軸に対し単純にスケーリングをしたものであり、時間軸の伸縮率はピッチシフトの周波数スケーリングの値をαとすると、1/αである。
リファレンス波形の長さは、周期成分が1〜2波長程度含まれる長さが適切である。長すぎても短すぎても、次に説明する類似性の評価で良い結果が得られない。また、リファレンス波形生成時のピッチシフト処理は単純な時間軸のスケーリングを行うだけである。通常、時間軸のスケーリングによるピッチシフトは波形の長さが変化してしまうという問題があるが、リファレンス波形は類似性の評価とクロスフェード処理に用いるだけなので問題ない。図17に図3のリファレンス波形生成部13のデータの流れを示している。バッファリングメモリに蓄えられた波形データのうち、3フレーム目の終端部分のアドレスから波形データを読み出し、ピッチシフト量に応じて時間軸スケーリングし、リファレンス波形を出力するものである。
次に図3の波形類似性評価部14では、バッファリング処理部12において蓄積された波形とリファレンス波形生成部13で生成された波形を用いて、2つの波形が時間軸上のどの時点で類似性が高いかを評価する。後のクロスフェード処理では、ここで求めた類似性が高い箇所がクロスフェード位置として用いられる。これを求めるには、類似性を評価する任意の評価関数を用意し、バッファリングされたバンド合成波形に対して時間軸をずらしながら評価関数を実行し、評価値の一番高い時点を結果とする。評価関数の例として、バンド合成波形とリファレンス波形の差分の絶対値を各サンプル点において計算し、それらを合算したものを評価値として用いるものが挙げられる。図18にこの評価法について具体的に説明している。この図ではリファレンス波形のサンプル点数はlrとしている。バッファに蓄積された波形データの一部を取り出し、リファレンス波形との差分の絶対値をn個のサンプル点全てにおいて計算し、それらの和を評価値としている。バッファリングメモリのアドレスをずらして波形の切り出しを行い、波形データ全体に対して評価値の計算を行う。このようにして計算された評価値のうち、より値の小さいものほど波形の差が少なく、類似性が高いといえる。
次に、図3のリファレンス波形生成部13で生成された波形と波形類似性評価部14で算出されたクロスフェード位置を用い、クロスフェード処理部15でバッファリングされたバンド合成波形からリファレンス波形に戻るようにクロスフェード処理を行う。
これまで説明した位相同期化処理の概念について図5に示す一例を参照しながら説明する。図5ではステレオオーディオ波形の2つのチャネンルを上下2段に分けて書いており、これはリファレンス波形生成と類似性評価とクロスフェード処理がステレオで行われることを示している。
図5の(a)はバンド原波形を示しており、これを2倍にタイムストレッチすることを想定する。このとき、図5(a)のバンド原波形の長さをlとする。
これまで説明した処理に従って、図3のバッファリング処理部12に蓄積される2倍にストレッチされたバンド合成波形図5(b)と、リファレンス波形生成部13により生成されるリファレンス波形図5(c)がそれぞれ得られる。このとき、図5(b)のバンド合成波形の長さをl(=l1×2)、図5(c)のリファレンス波形の長さをlrと定義する。また、これらの波形の類似性は図3の類似性評価部14で評価され、図5の算出されるクロスフェード位置をtcfとする。
図5のクロスフェード処理は、算出されたクロスフェード位置tcfからリファレンス波形の長さの範囲、つまりtcfからのtcf+lrの区間で行われる。クロスフェード処理後の波形を図5(d)に示す。図からわかるように、クロスフェード終了後の波形の終端はリファレンス波形の終端と同じ値になる。つまり、バンド原波形と同じ位相状態に戻る(位相同期化される)ことになる。オーディオ入力波形がステレオであったとしても、上記の処理によりチャンネル間の位相関係は保たれる。この部分が本発明において特筆すべきところである。
図19にクロスフェード処理の詳細を示している。この図では位相同期化処理に必要な波形の長さは3フレーム分であると想定している。バッファリングメモリに蓄積されたクロスフェード位置tcf以降の波形は、サンプル点ごとに比率計算され乗算される。同時にリファレンス波形に対しても比率計算を行い乗算し、乗算後の値の和を出力とする。図の比率計算は、線形補間によるクロスフェードの例を示している。また、クロスフェード位置tcf以前の波形は、そのまま出力波形として出力波形メモリに格納される。
クロスフェード処理終了後の波形がそのままバンド出力波形となる。しかし、その長さはtcf+lであり、本来のストレッチされた波形の長さlよりも短くなっている。tcf+lr以降の残りのl−(tcf+lr)の長さに相当する部分は破棄されるため、その長さが位相同期化処理においての誤差として発生する。これを補正するために、誤差の値をストレッチ補正値として図2のバンド成分合成部のタイムストレッチ量補正処理部7に引き渡す。その結果、次回フレームではこの誤差の長さを加えて波形合成されるように処理され、本来の波形の長さが保たれる。
この位相同期化処理による誤差が大きいと図1のバンド成分合成部4で生成される波形を破棄する量が増大し、処理効率の低下につながる。これを防止するためには誤差を小さくする必要がある。解決する手段の一つとして、図3の波形類似性評価部14の評価関数において、後ろの位置ほど評価値が高くなるような傾斜をかけるなどの工夫が考えられる。
以上の処理を各バンドに対して行い、それらを加算して最終的なオーディオ出力波形を得る。
次に、本発明のオーディオ波形処理装置について説明する。図6に本発明にかかる一実施例としてのオーディオ信号波形処理装置を示している。この例ではハードディスク駆動装置19やCD−ROM駆動装置20などの記録媒体上のオーディオ波形を、タイムストレッチやピッチシフトを行いながら再生して出力するものである。この例に限らず、本発明におけるオーディオ波形処理装置はサンプラーや電子楽器など多くの機器に搭載することができる。
図6において、CPU16は装置の全体的な制御を司る中央処理装置、ROM17は制御プログラムを格納しているリード・オンリー・メモリ、RAM18は作業用のメモリエリアなどとして利用されるランダム・アクセス・メモリである。ハードディスク駆動装置19、CD−ROM駆動装置20は外部記憶装置でありオーディオ波形の入力として用いられる。音声出力装置21はデジタルオーディオ波形をアナログ化するD/A変換器とスピーカーで構成される。操作子群22は各種スイッチ類である。表示器230はタイムストレッチ/ピッチシフト量選択の際にパラメータを画面表示するなどに用いる表示器である。
本発明におけるオーディオ波形処理方法をコンピュータに実行させるための命令群で構成されるプログラムはROM17に記憶され、ハードディスク駆動装置19やCD−ROM駆動装置20のオーディオ波形に対し、CPU16がRAM18をワーキングメモリとして使用しながら波形処理を行い、音声出力装置21のスピーカーから音として出力される。以上の構成により、ハードディスクやCD−ROMに記録された音楽に対し、高品位なタイムストレッチ/ピッチシフト処理を施したオーディオ再生装置が実現できる。
第1の実施例ではオーディオ入力波形を帯域分割して波形処理を実施する例を説明したが、オーディオ入力波形を帯域分割しない請求項2、4で開示する手段を用いて、実施例1で説明したと同様な波形処理を実現できる。図1において、周波数帯域分割部2と、バンド成分合成部(バンド1)4−1 〜 バンド成分合成部(バンド5)4−5と、位相同期化処理部(バンド1)5−1 〜 位相同期化処理部(バンド5)5−5とを削除して、オーディオ入力波形1をバンド成分合成部(バンド0)4−0に直接入力して、実施例1で説明したと同様な波形処理を実施する。
次に、第3の実施例である請求項5のコンピュータプログラムについて説明する。図20にコンピュータプログラムのフローチャートを示している。最初に入力波形データを読み出し(ステップS1)、図1の周波数帯域分割部2と同様の周波数帯域分割処理(ステップS2)をし、バンドごとの波形を出力する。この処理は帯域通過フィルタを実現するための乗算や加算といった命令群や、フーリエ変換により帯域分割を実現する場合にはFFTを実行するための命令群から成る。
次に、周波数帯域分割されたバンド波形データの瞬時振幅・角振動数・位相の分析処理(ステップS3)をする。この処理は図2の周波数分析部9−0〜9−1に相当する部分であり、FFTを実行するための命令群や、振幅を計算するための平方根、位相を計算するための逆正接関数などの命令群から成る。
分析されたデータをもとに、波形合成処理(ステップS4)を実行する。この処理は図2のタイムストレッチ/ピッチシフト処理部10−0〜10−1と同様の処理である。発振器の役割をする余弦関数や振幅を掛け合わせるための乗算などの命令群から成り、タイムストレッチ/ピッチシフトされた波形が合成される。
次に、合成された波形の長さが位相同期化処理に必要な長さに達したかを判定する(ステップS5)。達していない場合は再度ステップS1に戻り、合成波形をメモリに蓄積しながら必要な長さに達するまで処理を繰り返す。必要な長さに達した場合は次のステップに進む。この処理は図3のバッファリング処理部12と同様のものである。
合成された波形に対して位相同期化処理(ステップS6)を実行する。この処理は図3のリファレンス波形生成部13、波形類似性評価部14、クロスフェード処理部15の処理に相当し、類似性の評価関数を実行するための減算などの命令群や、クロスフェード処理をするための乗算や加算といった命令群から成る。
ステップS2からステップS6の処理は帯域分割されたバンドごとに行われ、それぞれのバンドの出力波形データを合算して、出力波形データ書き込み(ステップS7)を実行する。バンドの出力波形データの合算には加算の命令を使用する。次に、入力波形全体に対して処理が終了したかを判定し(ステップS8)、処理が終了していなければステップS1へ戻り繰り返し処理を実行し、入力波形全体に対して処理が終了していれば処理を終了する。
次に、本発明の請求項6、8、にかかる実施の形態について説明する。図9は第4の実施例としてのオーディオ波形処理のブロック図を示している。この実施例で取り扱うオーディオ波形はデジタル化されている。
オーディオ入力波形23は、周波数帯域分割部24でいくつかのバンドに分けられる。この実施例では6つのバンドに分割している。25はタイムストレッチ/ピッチシフト量設定部であり、使用者の操作によりパラメータが変化するものである。周波数帯域分割部24で生成されたバンド波形は、バンド成分合成部26−0〜26−5で周波数分析され、分析結果をもとに設定されるタイムストレッチ/ピッチシフト量に従い、時間軸の伸縮とピッチ変換を行いながら波形の合成処理をする。
次に位相同期化処理部27−0〜27−5で、バンド成分合成部26で合成処理された波形と周波数成分情報を用い、位相同期化処理を行う。オーディオ出力波形28は各バンドの位相同期化処理部27の出力波形を加算合成したものである。また、位相同期化処理部27において合成波形の位相状態は原波形の位相状態の線形な位相進み又は線形な位相遅れとなるので、位相補正値をバンド成分合成部26にフィードバックし、次回の合成処理時に適用される位相値を補正する操作をする。
周波数帯域分割部24で分割するバンドの数とその帯域は、オーディオ入力波形にあわせて設定することが望ましい。単一楽器の演奏など単純なオーディオ信号に対しての分割は不要な場合があり、逆に複雑にミックスされた楽曲に対しては分割数を増やさなければいけない。また、ブロック図に示されているように、バンド単位で位相同期化処理が行われバンド内での位相変化は軽減されるが、バンド間での位相関係は崩れてしまう可能性がある。そのため、分割数が多すぎない適切な分割数と帯域を用いる必要がある。音階にして1オクターブ程度となる帯域幅に分割すると、音楽などのオーディオ入力波形に対して適切に処理ができる。
図10は図9のバンド成分合成部26の詳細をブロック構成図で示している。ここではステレオ2チャンネルオーディオ波形を処理するものと想定している。チャンネル分割処理部29は周波数帯域分割部24で生成されたバンド波形を単一のチャンネルに分割する。ここでの分割数はオーディオ入力波形のチャンネル数により異なる。分割されたチャンネルごとに、以降の周波数分析とタイムストレッチ/ピッチシフト処理が行われる。
図21は図10のチャンネル分割処理部29の波形データの流れを示している。ステレオ波形メモリ42には2つのチャンネルの波形データがひとまとめに配置されており、これをチャンネル0波形メモリ43とチャンネル1波形メモリ44にそれぞれのチャンネルのデータを配置し直し、周波数分析部30−0〜30−1へ渡す。また、このときデータを配置し直すのではなく、波形メモリ36におけるそれぞれのチャンネルの先頭アドレスを周波数分析部30−0〜30−1へ渡すことでも、同様の処理が可能である。
次に図10の周波数分析部30−0〜30−1では、チャンネル分割処理部29で分割された波形に含まれる周波数、位相、振幅をSTFFT(短時間フーリエ変換、Short−Time Fast Fourier Transform)を用いて算出する。なお、一度のSTFFTで分析できるオーディオ波形の長さは、用いられる窓関数およびFFTサイズにより決まる。この長さを1フレームと定義し、1フレームごとに次に説明する波形合成が行われる。例えば44.1キロヘルツで離散化されたデジタルオーディオ波形を処理する場合には、窓関数およびFFTサイズは1024点を用いる。すると時間軸上の幅は約23.2ミリ秒であり、周波数軸上で約43ヘルツ刻みのデータが得られ、周波数分解能と時間分解能のバランスが良い。これよりも周波数分解能を高くする場合はFFTサイズを大きくし、時間分解能を高くする場合にはFFTサイズを小さくする。FFTで計算されたデータから平方根や逆正接演算を行い、図13に示すようにメモリアドレスに周波数成分の振幅AS/AE、位相PS/PE、瞬時角振動数Wのデータを格納する。1つの周波数成分の帯域幅は音階にして1半音程度が適切で、周波数帯域分割部2で1オクターブの帯域幅にバンドを分割した場合は、12個の周波数成分データが計算される。
次に図10のタイムストレッチ/ピッチシフト処理部31−0〜31−1で、周波数分析部30で分析された結果と要求されるタイムストレッチ/ピッチシフト量に従い波形を合成する。周波数成分ごとに正弦または余弦発振を行い、それらを加算合成することで合成波形が得られる。このとき要求されるタイムストレッチ量に従い、波形を合成する時間軸を縮伸させる。時間軸の縮伸により振幅が不連続にならないように、振幅値の補間も行う。また、要求されるピッチシフト量に従い、発振の角振動数をスケーリングする。発振開始時の位相は、初回動作時には図10の周波数分析部30によって算出された位相を設定する。それ以外の場合で位相補正値が入力されていない状態では、前回フレームの発振終了時の位相をそのまま用い、フレーム間で滑らかに波形がつながるように処理する。位相補正値が入力されている場合は、以降で説明する位相同期化処理が行われた後のフレームであるため、位相補正値をもとに周波数分析部30によって分析された位相の線形な位相進み又は線形な位相遅れ状態を算出し、発振開始時の位相として用いる。これらの処理の構成は、図22のようになる。合成された波形データはメモリに格納され、チャンネル統合処理部32に渡される。
更にチャンネル統合処理部32で、タイムストレッチ/ピッチシフト処理部31においてチャンネルごとに合成処理された波形は、オーディオ入力波形と同じチャンネル数になるようにステレオ化される。図23にチャンネル統合処理部31のデータの流れを示している。チャンネル0合成波形メモリ45とチャンネル1合成波形メモリ46に格納された波形は、ステレオ合成波形メモリ47にひとまとめに再配置される。またこのとき、チャンネル0合成波形メモリ45とチャンネル1合成波形メモリ46の先頭アドレスをステレオ合成波形メモリ47に保持し、それぞれのメモリアドレスを参照することでステレオ波形データとして扱う方法もある。ステレオ化されたバンド成分合成後のオーディオ波形は、更に位相同期化処理部27で処理される。
図11は図9の位相同期化処理部27の詳細をブロック構成図で示している。バンド成分合成部26で生成される1フレーム分の波形は、バッファリング処理部33で一度蓄積される。これは、位相同期化処理にはある程度の長さの波形が必要であり、1フレームの長さでは不十分な場合があるためである。
位相同期化処理に必要なフレーム数は、周波数帯域分割されたバンドごとに異なる。後述する位相同期化処理の類似性の評価には、合成波形に含まれる周期成分が数波長分必要であり、そのため必要な波形の長さは低域側のバンドでは長くなり、高域側では短くなる。
また、フレーム数を長く取りすぎると位相同期化処理の間隔が広がってしまい、位相の変化が大きくなり、位相の変化による聴感上の違和感を知覚できてしまう。バンドの周波数帯域と聴感上の品質を考慮し、適切なフレーム数を用いることが望ましい。時間の長さとして40ミリ秒以内となるフレーム数であれば位相の変化による違和感はそれほど知覚できないが、低域側のバンドでは波長が長くなるため、5波長程度の波形が含まれるような40ミリ秒以上のフレーム数を用いる。
図11のバッファリング処理部33で位相同期化処理に必要な長さの波形が蓄積されると波形は出力され、バッファはクリアされる。図16にバッファリング処理部33のメモリ使用状況を示している。この図では位相同期化処理に必要な波形の長さは3フレームと想定しており、3フレーム分のバンド合成波形が蓄積されると波形は出力され、4フレーム目の合成波形はバッファリングメモリの先頭に配置される。
バッファリングされた波形の出力と同時に位相同期化波形生成信号も出力され、位相同期化波形生成部34により、バンド成分合成部26の周波数情報をもとに位相同期化波形が生成される。位相同期化波形とは、波形合成後の位相状態と相関が高く、かつ原波形の位相の線形な位相進み又は線形な位相遅れである波形である。線形な位相進み又は線形な位相遅れは時間領域での進みや遅れに対応するので、位相同期化波形は時間軸をずらして原波形を切り出したものと同等になる。図11のクロスフェード処理部35で、バッファリング波形から位相同期化波形へとクロスフェード処理をすることにより、ストレッチ/ピッチシフト処理を行っても原波形の位相状態を保つことが可能となる。
位相同期化波形生成部34の処理について式を用いながら説明する。バンドに含まれる全チャンネルの周波数成分の数をnとし、周波数成分の振幅をa0、a1、・・・an-1、波形合成処理終了時の位相をθ0、θ1、・・・θn-1、瞬時角振動数をω0、ω1、・・・ωn-1とする。また、フレーム終了時の原波形の位相、つまり次回フレーム開始時の原波形の位相をφ0、φ1、・・・φn-1とする。これらの周波数成分情報は図9のバンド成分合成部26で計算され、図13のようにメモリ上に記録されたものが入力される。すなわち、a0、a1、・・・an-1はフレーム終了時の振幅AEに対応し、ω0、ω1、・・・ωn-1は瞬時角周波数Wに対応し、φ0、φ1、・・・φn-1はフレーム終了時の位相PEに対応する。また、θ0、θ1、・・・θn-1には図22の余弦発振器の発振終了時点における位相が参照される。
波形合成処理終了時の位相状態と、次回フレーム開始時における原波形の位相状態の差を評価する式として、次のものを導入する。ここでeは自然対数である。
Figure 2006070768
全ての周波数成分においてθ=φの場合は位相差がなく、評価式は0となる。位相差が大きければ大きいほど、評価式の値は大きくなる。タイムストレッチ/ピッチシフト処理を行うと通常はθ≠φであり、評価式は0にはならない。そこで、波形合成処理終了時の位相状態と、原波形において次回フレーム開始位置から時間領域でtずれたと仮定した位置の位相状態の差を評価する関数F(t)を導入する。時間軸での進み又は遅れは線形な位相進み又は線形な位相遅れに対応するので、F(t)は(数1)のφkをφk+ωktに置き換えた(数2)の式になる。
Figure 2006070768
評価関数F(t)は0に近いほど位相差が少なく、波形としての相関も高い。したがって、評価関数F(t)が最小になる値tpを求め、原波形において次回フレーム開始位置から時間領域でtpずれたと仮定した波形を合成し、位相同期化波形として用いることで、クロスフェード処理の際に耳障りな音になるのを防ぐことができる。
図11の位相同期化波形生成部34では、まずこのtpを求める。これを求めるには、ある時間領域、−tw<t<twの範囲において評価関数F(t)の値を求め、F(t)が最小となったものをtpとして採用すればよい。twの大きさは、バンドに含まれる周波数成分の数波長分の長さがよい。twが小さすぎるとF(t)の値が小さい地点が見つからない場合があり、逆にtwが大きいとtが0から離れすぎた地点ではF(t)の評価に誤差が生じてしまう。
評価関数F(t)に誤差が生じる原因は、式中で瞬時角振動数ω0、ω1、・・・ωn-1を使用していることに起因する。ω0、ω1、・・・ωn-1は瞬間的な値であって、本来時間とともに刻々と変化するものである。F(t)の式ではω0、ω1、・・・ωn-1という固定値を使用しているため、tが0から離れるにしたがって、本来の原波形の位相状態とはかけはなれたものになり、位相状態の評価には適さない。そのため、twの値は大きすぎない適切な値にすることが重要である。また、同様の理由から、t=0近傍でF(t)の値が小さくなるように傾斜をかけ、tpが0に近い値をとるようにし、原波形の位相状態により近い位相同期化波形が得られるように工夫することも考えられる。
評価関数F(t)の計算方法について詳細を図24に示している。図9のバンド成分合成部26で分析された周波数成分情報は図24の周波数成分メモリに格納されており、バンド成分合成部26における余弦発振器の発振終了時の位相と、時間領域での変数tともに評価値が計算される。図24ではn個の周波数成分があるものと想定しており、それぞれの成分について乗算、減算、余弦、平方根を用いて値を求め、それらを合算したものが評価値となる。これは(数2)の計算方法をブロック図で表したものである。変数tを−twからtwの範囲で変化させながら評価値を求め、評価値が最小となるときの変数tがtpとして採用される。
次に、求められたtpをもとに位相同期化波形を合成する。合成処理は図10のタイムストレッチ/ピッチシフト処理部31と同様に、ピッチシフトを行いながらチャンネルごとに正弦または余弦発振する。位相同期化波形はクロスフェード処理に用いるだけなので、波形を合成する長さはバンドに含まれる周波数成分の数波長分の長さで充分であり、タイムストレッチは無視してよい。またこのとき、位相同期化波形の終端における位相状態が、次回フレーム開始時の原波形の位相状態からtpの分だけ線形な位相進み又は線形な位相遅れの状態になるように、発振開始時の位相状態を調整する必要がある。
以上のようにして合成された位相同期化波形は、図11のクロスフェード処理部35へ出力される。クロスフェード処理部35では、バッファリング処理部33で蓄積されたバンド成分合成後の波形から、位相同期化波形へとクロスフェード処理を行う。クロスフェード処理は波形どうしの終端を揃えて行う。クロスフェード処理後の波形において、その終端の位相状態は、位相同期化波形の終端の位相状態と同一になり、したがって原波形の位相状態の線形な位相進み又は線形な位相遅れの状態となる。つまり、原波形と同等の位相状態を持つことになる。クロスフェード処理後の波形は最終的なバンド波形として出力される。
また、図11の位相同期化波形生成部34で求められたtpは位相補正値として図9のバンド成分合成部26へ出力される。前述したとおり、位相補正値が出力されると次回フレームの合成処理開始時の位相は、原波形の位相状態の線形な位相進み又は線形な位相遅れとなり、クロスフェード処理後の波形と滑らかに繋る波形が次回フレームで合成される。
これまで説明した図11の位相同期化波形生成部34とクロスフェード処理部35の概念について、図25を用いて説明する。図ではステレオオーディオ波形の2つのチャネンルを上下2段に分けて書いており、これは類似性評価と位相同期化波形生成とクロスフェード処理がステレオで行われることを示している。
図25(a)はバンド原波形を示しており、これを2倍にタイムストレッチすることを想定する。バンド原波形をもとに、これまで説明した処理に従って、バッファリング処理部38に2倍にストレッチされたバンド合成波形図25(b)が蓄積される。バンド合成波形はバンド原波形を2倍にタイムストレッチしたものであるが、終端部分における周波数成分の位相関係はバンド原波形のものとはかけはなれたものになってしまい、ステレオの定位感が崩れるなど聴感上の違和感の原因となっている。
図25(c)は、評価関数F(t)と位相同期化波形の生成の様子を示している。バンド合成波形の生成時に分析された周波数成分情報と発振器の発振終了時の位相をもとに、図24を用いて説明したように変数tを−twからtwの範囲で変化させながら評価値を計算する。図25(c)の中段にはtを変化させたときの、バンド原波形終端部分の線形位相進み又は遅れである波形を示している。これは線形位相進み又は遅れの波形がどのようなものであるのかを示しており、全てのtにおいて実際に処理されるものではなく、評価値が最小となる場合のtにおいてのみ位相同期化波形として波形合成される。図25(c)ではこのとき合成される波形の長さは、バンドに含まれる周波数成分の2波長分の長さとしている。
図25(d)ではクロスフェード処理後の波形を示しており、図25(b)のバンド合成波形の終端部分と、図25(c)で合成された位相同期化波形の終端部分を揃えてクロスフェード処理が行われる。クロスフェード処理後の波形の終端部分は位相同期化波形の終端部分と同じ値を持ち、従ってバンド原波形の線形な位相の進み又は遅れ状態となる。これにより、オーディオ入力波形がステレオであったとしても、周波数成分の位相関係はバンド原波形ときわめて近いものとなり、位相同期化されたことになる。
図26にクロスフェード処理の詳細を示している。この図では位相同期化処理に必要な波形の長さは3フレーム分(位相同期化処理期間)であると想定している。バッファリングメモリには図11のバッファリング処理部33によってフレーム合成波形が蓄積される。また、位相同期化波形生成部34により位相同期化波形が生成される。このとき、バッファリングメモリに蓄積されたバンド合成波形の長さをl、位相同期化波形の長さをlpとすると、バンド合成波形においてl−lpの地点からクロスフェード処理を開始し、2つの波形の終端部分を揃える。クロスフェード処理はサンプル点ごとにそれぞれの波形に対して比率計算を行い乗算し、乗算後の値の和を出力とする。図26の比率計算は、線形補間によるクロスフェードの例を示している。l−lp以前の波形は、そのまま出力波形として出力波形メモリに格納される。
以上の処理を各バンドに対して行い、バンド波形出力を加算して最終的なオーディオ出力波形を得る。
第4の実施例ではオーディオ入力波形を帯域分割して波形処理を実施する例を説明したが、オーディオ入力波形を帯域分割しない請求項7、9で開示する手段を用いて、実施例4で説明したと同様な波形処理を実現できる。図9において、周波数帯域分割部24と、バンド成分合成部(バンド1)26−1 〜 バンド成分合成部(バンド5)26−5と、位相同期化処理部(バンド1)27−1 〜 位相同期化処理部(バンド5)27−5とを削除して、オーディオ入力波形23をバンド成分合成部(バンド0)26−0に直接入力して、実施例4で説明したと同様な波形処理を実施する。
次に、第6の実施例である請求項10のコンピュータプログラムについて説明する。図20にコンピュータプログラムのフローチャートを示している。最初に入力波形データを読み出し(ステップS1)、図9の周波数帯域分割部24と同様の周波数帯域分割処理(ステップS2)をし、バンドごとの波形を出力する。この処理は帯域通過フィルタを実現するための乗算や加算といった命令群や、フーリエ変換により帯域分割を実現する場合にはFFTを実行するための命令群から成る。
次に、周波数帯域分割されたバンド波形データの瞬時振幅・角振動数・位相分析処理(ステップS3)をする。この処理は図10の周波数分析部30−0〜30−1に相当する部分であり、FFTを実行するための命令群や、振幅を計算するための平方根、位相を計算するための逆正接関数などの命令群から成る。
分析されたデータをもとに、波形合成処理(ステップS4)を実行する。この処理は図10のタイムストレッチ/ピッチシフト処理部31−0〜31−1と同様の処理である。発振器の役割をする余弦関数や振幅を掛け合わせるための乗算などの命令群から成り、タイムストレッチ/ピッチシフトされた波形が合成される。
次に、合成された波形の長さが位相同期化処理に必要な長さに達したかを判定する(ステップS5)。達していない場合は再度ステップS1に戻り、合成波形をメモリに蓄積しながら必要な長さに達するまで処理を繰り返す。必要な長さに達した場合は次のステップに進む。この処理は図11のバッファリング処理部33と同様のものである。
合成された波形に対して位相同期化処理(ステップS6)を実行する。この処理は図11の位相同期化波形生成部34、クロスフェード処理部35の処理に相当し、位相評価関数を実行するための減算や乗算や余弦や平方根などの命令群や、クロスフェード処理をするための乗算や加算といった命令群から成る。
ステップS2からステップS6の処理は帯域分割されたバンドごとに行われ、それぞれのバンドの出力波形データを合算して、出力波形データ書き込み(ステップS7)を実行する。バンドの出力波形データの合算には加算の命令を使用する。次に、入力波形全体に対して処理が終了したかを判定し(ステップS8)、処理が終了していなければステップS1へ戻り繰り返し処理を実行し、入力波形全体に対して処理が終了していれば処理を終了する。
請求項1、3の発明によれば、複数の周波数帯域に分割したバンドごとにオーディオ信号の周波数分析や合成処理を実施して、各バンドの原波形と合成処理後の波形との類似性を評価し、類似性の高い箇所において合成処理後の波形からバンド原波形へクロスフェード処理を行い、波形合成時に発生する位相の変化をリセットできるので、聴感上の違和感の無い高品位なオーディオ出力が得られる。
請求項2、4の発明によれば、帯域分割をせずにオーディオ波形をそのまま1つのバンドと見なして原波形と合成処理後の波形との類似性を評価し、類似性の高い箇所において合成処理後の波形から原波形へクロスフェード処理を行い、波形合成時に発生する位相の変化をリセットできるので、聴感上の違和感の無い高品位なオーディオ出力がより少ない部品数で実現でき、オーディオ波形合成装置のより低価格化が実現できる。
請求項5の発明によれば、請求項3、4のいずれかに記載のオーディオ波形処理方法を市販のパーソナルコンピュータ用オーディオ処理プログラムで実施できるので、高品位のボコーダ方式オーディオ処理がよりいっそう低価格で実現できる。
請求項6、8の発明によれば、周波数分析や合成処理がオーディオ信号を複数に周波数帯域分割したバンドごとに行われ、各バンドの合成処理後の位相状態と原波形の位相状態とを比較し、合成処理後の位相状態と相関が高く、かつ原波形の線形な位相進み又は線形な位相遅れである波形を位相同期化波形として生成し、合成処理後の波形から移動同期化波形へクロスフェード処理を行ない、波形合成時に発生する位相の変化をリセットできるので、聴感上の違和感の無い高品位なオーディオ出力が得られる。
請求項7、9の発明によれば、請求項6の装置の周波数帯域分割において、帯域分割せずにオーディオ波形をそのまま1つのバンドと見なして処理するので、聴感上の違和感の無い高品位なオーディオ出力がより少ない部品数で実現でき、オーディオ波形合成装置のより低価格化が実現できる。
請求項10の発明によれば、請求項8、9のいずれかに記載のオーディオ波形処理方法を市販のパーソナルコンピュータ用オーディオ処理プログラムで実施できるので、高品位のボコーダ方式オーディオ処理がよりいっそう低価格で実現できる。
請求項11、12、13の発明によれば、各バンドの波形合成処理後の位相状態と各バンドの原波形の位相状態との差を評価する評価関数に波形間の複素数平面上での距離を用いるので、位相状態の差を比較的簡便な方法で評価でき、オーディオ波形合成装置の簡易化と高速化が図られる。
すなわち、本発明のオーディオ波形処理装置、方式およびプログラムを用いることにより、オーディオ入力波形がモノラルであれステレオであれ、従来のボコーダ方式において必ず発生する位相の変化が波形全体を通して軽減され、高品位なタイムストレッチやピッチシフト処理を実現できるという効果がある。
本発明は、ボコーダ方式によりタイムストレッチやピッチシフトを行うオーディオ波形処理に関する。
タイムストレッチとはオーディオ波形の音程はそのままで時間軸のみを伸縮させるものであり、ピッチシフトとは時間軸を変えずに音程のみを変化させる技術である。タイムストレッチやピッチシフトを行うオーディオ波形処理として、公知のものとしてボコーダ方式というものがある(例えば、特許文献1を参照。)。この方式は入力されたオーディオ波形を周波数分析し、タイムストレッチの際には時間軸を縮伸させ、ピッチシフトの際は出力する波形の周波数をスケーリングした後に、各周波数成分を加算するというものである。
従来のボコーダ方式では、オーディオ入力波形とタイムストレッチ/ピッチシフト処理後の波形とでは、大きく位相が変化してしまう。図7に一例として、ある2チャンネルステレオオーディオ波形をタイムストレッチさせた際に生じる位相の変化を示している。グラフの横軸は時間軸、縦軸は周波数成分の位相を表している。(a)はオーディオ入力波形を周波数分析したもののうち、2つのチャンネルのある周波数帯域における成分AとBの位相変化を示している。(b)は(a)をボコーダ方式により1/2に時間圧縮した際の、AとBに対応するA1とB1の位相を示している。時間軸が1/2倍になるとともに、位相に関する縦軸も1/2倍になる。
ここでストレッチ処理前の時刻Tと、時間圧縮後のT1(=T/2)に注目してみる。処理前の(a)のグラフでは時刻TにおけるAとBの位相差は2πであり、−πからπの表現をすると位相差は0である。時刻T以降もAとBの位相差は0で推移している。一方、時間圧縮後の時刻T1ではA1とB1の位相差はπであり、T1以降も位相差πで推移しており、A1とB1の位相の関係は、時間圧縮前のAとBとは明らかに変化している。
上述した説明から明らかなように、ボコーダ方式では時間軸の伸縮を行うことにより、その伸縮の量だけ位相の遅れ/進みが発生する。ピッチシフトにおいても同様である。位相の変化量は周波数分析された各周波数成分間で異なり、ステレオオーディオの場合では各チャンネル間でも異なる。このため、音を打ち消しあったり、ステレオの音の定位感が崩れたりするなど聴感上の違和感が発生し、高品位なタイムストレッチやピッチシフトは実現できない。
また、このボコーダ方式を改良し、音質を改善しようとする技術もこれまでに提案されている。例えば特許文献1では、オーディオ波形のレベルが大きく変化するアタック部分において帯域分割する際に発生するプリエコーに着目し、プリエコーの区間の始めにて位相をリセットする装置が開示されている。
特開2001−117595号公報
ところで、特許文献1に開示される形態のオーディオ波形装置の発明はアタック感を保つことを鑑みてなされたものであり、アタック後の位相の変化は問題とされていない。また、複雑にミックスされた曲ではアタック部分を検出するのが困難であるという問題もある。
そこで本発明は、ボコーダ方式によりタイムストレッチやピッチシフトを行うオーディオ波形処理に関し、波形全体を通してボコーダ方式において必ず発生する位相の変化を軽減した、聴感上違和感のない高品位なオーディオ波形処理を提供することを目的とする。
上記目的を達成するため、本発明によるオーディオ信号処理装置、オーディオ信号処理方法およびその方法をコンピュータに実行させるプログラムでは、オーディオ入力波形をそのまま1つのバンド(バンドとは周波数帯域のことであり、以下周波数帯域のことをバンドと呼ぶ)として扱うか複数バンドに周波数帯域分割し、各バンド波形に対して従来のボコーダ方式と同様に時間伸縮やピッチ変換を行いながら波形を合成し、各バンドの合成波形に対して一定の間隔で位相同期化処理を実行し、位相の変化を軽減させるようとするものである。更に各バンドの位相同期化処理後の波形を加算して、最終的な出力波形を得る。
即ち、本発明のうち請求項1に記載の発明は、入力オーディオ信号を複数の帯域に分割する周波数帯域分割部と、複数の帯域に分割された各オーディオ信号を周波数分析した結果および要求されるタイムストレッチ/ピッチシフト量に基づき各周波数成分毎の正弦または余弦発振を行って合成処理することによりタイムストレッチおよび/またはピッチシフトをそれぞれ実行する複数のタイムストレッチ/ピッチシフト処理部と、該複数のタイムストレッチ/ピッチシフト処理部から出力されるタイムストレッチ/ピッチシフト信号の位相を調整するための位相同期化処理を行う複数の位相同期化処理部と、を備え、該複数の位相同期化処理部の出力を合成して出力するオーディオ信号処理装置であって、前記各位相同期化処理部は、前記帯域分割されたオーディオ信号から1フレーム中の終端部分波形を複数フレームに1回ずつ切り出し、該切り出した終端部分波形を前記タイムストレッチ/ピッチシフト量に基づいて変形して前記位相同期化処理のためのリファレンス信号を生成出力するリファレンス信号生成部と、前記タイムストレッチ/ピッチシフト信号の複数フレーム分の時間軸波形の中で前記リファレンス信号波形に最も類似している時間軸上での位置を求め、該求めた位置を当該複数フレーム分における位相同期化処理のためのクロスフェード位置として検出するクロスフェード位置算出部と、前記検出した各クロスフェード位置において、前記タイムストレッチ/ピッチシフト信号から前記リファレンス信号へのクロスフェード処理を実行するクロスフェード処理部と、を備えたことを特徴とする。
請求項2に記載の発明は、上記の発明において、前記クロスフェード位置算出部は、前記類似性を評価する所定の評価関数を用いて、前記クロスフェード位置を求めることを特徴とする。
請求項3に記載の発明は、上記の発明において、前記クロスフェード処理部は、クロスフェード処理後の信号長と、本来の信号長との差をストレッチ補正値として出力し、前記タイムストレッチ/ピッチシフト処理部は、前記ストレッチ捕正値を用いて次の信号長の長さ補正を行うことを特徴とする。
請求項4に記載の発明は、上記の発明において、前記クロスフェード位置算出部は、前記タイムストレッチ/ピッチシフト信号の複数フレーム分の後ろ側ほど、前記類似性の評価が高くなるよう、前記評価関数に重み付けの傾斜をつけることを特徴とする。
請求項5に記載の発明は、入力オーディオ信号を周波数分析した結果および要求されるタイムストレッチ/ピッチシフト量に基づき各周波数成分毎の正弦または余弦発振を行って合成処理することによりタイムストレッチおよび/またはピッチシフトをそれぞれ実行するタイムストレッチ/ピッチシフト処理部と、該タイムストレッチ/ピッチシフト処理部から出力されるタイムストレッチ/ピッチシフト信号の位相を調整するための位相同期化処理を行った信号を出力する位相同期化処理部と、を備えたオーディオ信号処理装置であって、前記位相同期化処理部は、前記入力オーディオ信号から1フレーム中の終端部分波形を複数フレームに1回ずつ切り出し、該切り出した終端部分波形を前記タイムストレッチ/ピッチシフト量に基づいて変形して前記位相同期化処理のためのリファレンス信号を生成出力するリファレンス信号生成部と、前記タイムストレッチ/ピッチシフト信号の複数フレーム分の時間軸波形の中で前記リファレンス信号波形に最も類似している時間軸上での位置を求め、該求めた位置を当該複数フレーム分における位相同期化処理のためのクロスフェード位置として検出するクロスフェード位置算出部と、前記検出した各クロスフェード位置において、前記タイムストレッチ/ピッチシフト信号から前記リファレンス信号へのクロスフェード処理を実行するクロスフェード処理部と、を備えたことを特徴とする。
請求項6に記載の発明は、入力オーディオ信号を複数の帯域に分割する周波数帯域分割部と、複数の帯域に分割された各オーディオ信号を周波数分析した結果および要求されるタイムストレッチ/ピッチシフト量に基づき各周波数成分毎の正弦または余弦発振を行って合成処理することによりタイムストレッチおよび/またはピッチシフトをそれぞれ実行する複数のタイムストレッチ/ピッチシフト処理部と、該複数のタイムストレッチ/ピッチシフト処理部から出力されるタイムストレッチ/ピッチシフト信号の位相を調整するための位相同期化処理を行う複数の位相同期化処理部と、を備え、該複数の位相同期化処理部の出力を合成して出力するオーディオ信号処理装置であって、前記各位相同期化処理部は、タイムストレッチ/ピッチシフトが行われた現フレームにおけるタイムストレッチ/ピッチシフト信号波形の終端部の位相状態と前記帯域分割されたオーディオ信号波形の次回フレーム開始位置における位相状態との差を評価するために、該帯域分割されたオーディオ信号波形の次回フレーム開始位置を時間軸方向にシフトすることで該位相状態の差を評価し、該位相状態の差が最も小さいと評価されたときの時間シフト量を次回フレームにおける位相同期化処理のための位相補正値として算出するとともに、該帯域分割されたオーディオ信号の終端部における所定波長分の信号波形に対して該時間シフト量だけシフトさせた信号を位相同期化信号として生成する位相同期化信号生成部と、前記タイムストレッチ/ピッチシフト信号の終端部において、該タイムストレッチ/ピッチシフト信号から前記位相同期化信号へのクロスフェード処理を実行するクロスフェード処理部と、を備えたことを特徴とする。」
請求項7に記載の発明は、上記の発明において、前記各位相同期化処理部は、前記タイムストレッチ/ピッチシフトが行われた現フレームにおけるタイムストレッチ/ピッチシフト信号波形の終端部の位相状態と前記帯域分割されたオーディオ信号波形の次回フレーム開始位置における位相状態との差を評価するための評価関数として、該両波形間の複素平面上での距離を用いることを特徴とする。
請求項8に記載の発明は、上記の発明において、前記タイムストレッチ/ピッチシフト処理部は、前記位相同期化信号生成部から出力された前記位相補正値に基づいて、前記タイムストレッチ/ピッチシフト信号の次回フレームにおける開始時の位相を補正することを特徴とする。
請求項9に記載の発明は、上記の発明において、前記各位相同期化処理部は、前記位相状態の差を評価する際に、前記時間シフト量が、前記帯域分割されたオーディオ信号波形の次回フレーム開始位置を離れるに従って、該位相状態の差を評価した評価値が小さくなるように重み付けすることを特徴とする。
請求項10に記載の発明は、入力オーディオ信号を周波数分析した結果および要求されるタイムストレッチ/ピッチシフト量に基づき各周波数成分毎の正弦または余弦発振を行って合成処理することによりタイムストレッチおよび/またはピッチシフトをそれぞれ実行するタイムストレッチ/ピッチシフト処理部と、該タイムストレッチ/ピッチシフト処理部から出力されるタイムストレッチ/ピッチシフト信号の位相を調整するための位相同期化処理を行った信号を出力する位相同期化処理部と、を備えたオーディオ信号処理装置であって、前記各位相同期化処理部は、タイムストレッチ/ピッチシフトが行われた現フレームにおけるタイムストレッチ/ピッチシフト信号波形の終端部の位相状態と前記帯域分割されたオーディオ信号波形の次回フレーム開始位置における位相状態との差を評価するために、該帯域分割されたオーディオ信号波形の次回フレーム開始位置を時間軸方向にシフトすることで該位相状態の差を評価し、該位相状態の差が最も小さいと評価されたときの時間シフト量を次回フレームにおける位相同期化処理のための位相補正値として算出するとともに、該帯域分割されたオーディオ信号の終端部における所定波長分の信号波形に対して該時間シフト量だけシフトさせた信号を位相同期化信号として生成する位相同期化信号生成部と、前記タイムストレッチ/ピッチシフト信号の終端部において、該タイムストレッチ/ピッチシフト信号から前記位相同期化信号へのクロスフェード処理を実行するクロスフェード処理部と、を備えたことを特徴とする。
請求項11に記載の発明は、入力オーディオ信号を周波数分析した結果および要求されるタイムストレッチ/ピッチシフト量に基づき各周波数成分毎の正弦または余弦発振を行って合成処理することによりタイムストレッチおよび/またはピッチシフトをそれぞれ実行するタイムストレッチ/ピッチシフトステップと、タイムストレッチ/ピッチシフト処理されたタイムストレッチ/ピッチシフト信号の位相を調整するための位相同期化処理を行う位相同期化処理ステップと、を含むオーディオ信号処理方法であって、前記位相同期化処理ステップは、前記入力オーディオ信号から1フレーム中の終端部分波形を複数フレームに1回ずつ切り出し、該切り出した終端部分波形を前記タイムストレッチ/ピッチシフト量に基づいて変形して前記位相同期化処理のためのリファレンス信号を生成出力するリファレンス信号生成ステップと、前記タイムストレッチ/ピッチシフト信号の複数フレーム分の時間軸波形の中で前記リファレンス信号波形に最も類似している時間軸上での位置を求め、該求めた位置を当該複数フレーム分における位相同期化処理のためのクロスフェード位置として検出するクロスフェード位置算出ステップと、前記検出した各クロスフェード位置において、前記タイムストレッチ/ピッチシフト信号から前記リファレンス信号へのクロスフェード処理を実行するクロスフェード処理ステップと、を有することを特徴とする。
請求項12に記載の発明は、上記の発明において、前記クロスフェード位置算出ステップは、前記類似性を評価する所定の評価関数を用いて前記クロスフェード位置を算出するとともに、該クロスフェード位置を算出する際に、前記タイムストレッチ/ピッチシフト信号の複数フレーム分の後ろ側ほど、該類似性の評価が高くなるように該評価関数に傾斜をつけた重み付けを行い、前記クロスフェード処理ステップは、クロスフェード処理後の信号長と、本来の信号長との差をストレッチ補正値として出力し、前記タイムストレッチ/ピッチシフト処理ステップは、前記ストレッチ補正値を用いて次の信号長の長さ補正を行う、ことを特徴とする。
請求項13に記載の発明は、上記の発明において、前記入力オーディオ信号が、複数の帯域に分割されたオーディオ信号であり、前記タイムストレッチ/ピッチシフトステップおよび前記位相同期化処理ステップに基づく各処理を、該複数の帯域に分割された各オーディオ信号に対してそれぞれ行った信号を合成して出力することを特徴とする。
請求項14に記載の発明は、入力オーディオ信号を周波数分析した結果および要求されるタイムストレッチ/ピッチシフト量に基づき各周波数成分毎の正弦または余弦発振を行って合成処理することによりタイムストレッチおよび/またはピッチシフトをそれぞれ実行するタイムストレッチ/ピッチシフトステップと、タイムストレッチ/ピッチシフト処理されたタイムストレッチ/ピッチシフト信号の位相を調整するための位相同期化処理を行う位相同期化処理ステップと、を含むオーディオ信号処理方法であって、前記各位相同期化処理ステップは、タイムストレッチ/ピッチシフトが行われた現フレームにおけるタイムストレッチ/ピッチシフト信号波形の終端部の位相状態と前記入力オーディオ信号波形の次回フレーム開始位置における位相状態との差を、該入力オーディオ信号波形の次回フレーム開始位置を時間軸方向にシフトすることで評価する評価ステップと、該位相状態の差が最も小さいと評価されたときの時間シフト量を次回フレームにおける位相同期化処理のための位相補正値として算出する算出ステップと、該入力オーディオ信号の終端部における所定波長分の信号波形に対して該時間シフト量だけシフトさせた信号を位相同期化信号として生成する生成ステップと、前記タイムストレッチ/ピッチシフト信号の終端部において、該タイムストレッチ/ピッチシフト信号から前記位相同期化信号へのクロスフェード処理を実行するクロスフェード処理ステップと、を有することを特徴とする。
請求項15に記載の発明は、上記の発明において、前記位相同期化処理ステップは、前記タイムストレッチ/ピッチシフトが行われた現フレームにおけるタイムストレッチ/ピッチシフト信号波形の終端部の位相状態と前記入力オーディオ信号波形の次回フレーム開始位置における位相状態との差を評価するための評価関数として、該両波形間の複素平面上での距離を用いるとともに、前記位相状態の差を評価する際に、前記時間シフト量が、前記帯域分割されたオーディオ信号波形の次回フレーム開始位置を離れるに従って、該位相状態の差を評価した評価値が小さくなるような重み付けを行い、前記タイムストレッチ/ピッチシフト処理ステップは、前記位相同期化信号生成部から出力された前記位相補正値に基づいて、前記タイムストレッチ/ピッチシフト信号の次回フレームにおける開始時の位相を補正する、ことを特徴とする。
請求項16に記載の発明は、上記の発明において、前記入力オーディオ信号が、複数の帯域に分割されたオーディオ信号であり、前記タイムストレッチ/ピッチシフトステップおよび前記位相同期化処理ステップに基づく各処理を、該複数の帯域に分割された各オーディオ信号に対してそれぞれ行った信号を合成して出力することを特徴とする。
請求項17に記載の発明では、上記の発明のいずれか一つに記載された方法をコンピュータに実行させるプログラムがコンピュータ読み取り可能となり、これによって、上記の発明のいずれか一つの動作がコンピュータによって実行される。
本発明における位相同期化処理とは、各バンドにおいて時間伸縮やピッチ変換された合成波形に対し、時系列をずらしながら元々のバンド波形との類似性を評価し、類似性が高いと判定される箇所において、合成波形から元々のバンド波形に戻るようにクロスフェード処理をすることである。その結果、位相同期化処理が終了した時点、つまりクロスフェード処理が終わった時点の波形は元々のバンド波形と同じ位相状態となる。類似性を評価するのは、クロスフェード処理による不連続さを少なくし、聴感上違和感のない波形を得ることを目的としている。
図8は位相同期化処理による効果を示している。(a)は、図7の(a)と同じオーディオ入力波形の位相状態を示している。(b)は(a)を時刻T1(=T/2)において位相同期化処理を実行しながら1/2に時間圧縮したものである。(a)のAとBに対応する周波数成分の位相をそれぞれA2、B2としている。
図7で示される従来のボコーダ方式での時間圧縮は、時刻T1におけるA1とB1の位相関係は元々のそれから変化していた。しかし図8で明らかなように、位相同期化処理が行われた時刻T1ではA2の位相は6.5π、B2の位相は8.5πとなり、その差は2πであるので位相差はなくなり、元々のAとBと同じ位相の関係が保たれていることがわかる。
上述した説明から明らかなように、ボコーダ方式によりタイムストレッチ/ピッチシフト処理をした合成波形に対して位相同期化処理を行うことにより、元の波形の位相関係が保たれることになる。この位相同期化処理を一定の間隔で実行することにより、そのつど元の波形の位相関係が保たれ、結果として波形全体を通して位相の変化が軽減された聴感上の違和感のないタイムストレッチ/ピッチシフト処理が可能となる。
本発明によれば、複数の周波数帯域に分割したバンドごとにオーディオ信号の周波数分析や合成処理を実施して、各バンドの原波形と合成処理後の波形との類似性を評価し、類似性の高い箇所において合成処理後の波形からバンド原波形へクロスフェード処理を行い、波形合成時に発生する位相の変化をリセットできるので、聴感上の違和感の無い高品位なオーディオ出力が得られる。
本発明によれば、帯域分割をせずにオーディオ波形をそのまま1つのバンドと見なして原波形と合成処理後の波形との類似性を評価し、類似性の高い箇所において合成処理後の波形から原波形へクロスフェード処理を行い、波形合成時に発生する位相の変化をリセットできるので、聴感上の違和感の無い高品位なオーディオ出力がより少ない部品数で実現でき、オーディオ波形合成装置のより低価格化が実現できる。
本発明によれば、請求項3、4のいずれかに記載のオーディオ波形処理方法を市販のパーソナルコンピュータ用オーディオ処理プログラムで実施できるので、高品位のボコーダ方式オーディオ処理がよりいっそう低価格で実現できる。
本発明によれば、周波数分析や合成処理がオーディオ信号を複数に周波数帯域分割したバンドごとに行われ、各バンドの合成処理後の位相状態と原波形の位相状態とを比較し、合成処理後の位相状態と相関が高く、かつ原波形の線形な位相進み又は線形な位相遅れである波形を位相同期化波形として生成し、合成処理後の波形から移動同期化波形へクロスフェード処理を行ない、波形合成時に発生する位相の変化をリセットできるので、聴感上の違和感の無い高品位なオーディオ出力が得られる。
本発明によれば、請求項6の装置の周波数帯域分割において、帯域分割せずにオーディオ波形をそのまま1つのバンドと見なして処理するので、聴感上の違和感の無い高品位なオーディオ出力がより少ない部品数で実現でき、オーディオ波形合成装置のより低価格化が実現できる。
本発明によれば、請求項8、9のいずれかに記載のオーディオ波形処理方法を市販のパーソナルコンピュータ用オーディオ処理プログラムで実施できるので、高品位のボコーダ方式オーディオ処理がよりいっそう低価格で実現できる。
本発明によれば、各バンドの波形合成処理後の位相状態と各バンドの原波形の位相状態との差を評価する評価関数に波形間の複素数平面上での距離を用いるので、位相状態の差を比較的簡便な方法で評価でき、オーディオ波形合成装置の簡易化と高速化が図られる。
すなわち、本発明のオーディオ信号処理装置、方法およびプログラムを用いることにより、オーディオ入力波形がモノラルであれステレオであれ、従来のボコーダ方式において必ず発生する位相の変化が波形全体を通して軽減され、高品位なタイムストレッチやピッチシフト処理を実現できるという効果がある。
本発明における波形処理の流れを示すブロック図である。 バンド成分合成部の詳細を説明するためのブロック図である。 位相同期化処理部の詳細を説明するためのブロック図である。 リファレンス波形生成法を説明するための図である。 位相同期化処理の概念を説明するための図である。 本発明にかかる一実施例としてのオーディオ信号処理装置を示す図である。 従来のボコーダ方式による位相の変化の様子を説明するための図である。 本発明の位相同期化処理による効果を説明するための図である。 本発明における波形処理の流れを示すブロック図である。 バンド成分合成部の詳細を説明するためのブロック図である。 位相同期化処理部の詳細を説明するためのブロック図である。 チャンネル分割処理部の詳細を説明するための図である。 周波数分析部においてメモリに格納される情報を説明するための図である。 タイムストレッチ/ピッチシフト処理を説明するための図である。 チャンネル統合処理部の詳細を説明するための図である。 バッファリング処理部のメモリ使用状況を説明するための図である。 リファレンス波形生成のデータの流れを説明するための図である。 波形類似性評価部の評価の詳細を説明するためのブロック図である。 クロスフェード処理の詳細を説明するためのブロック図である。 本発明のコンピュータプログラムを説明するためのフローチャートである。 チャンネル分割処理部の詳細を説明するための図である。 タイムストレッチ/ピッチシフト処理を説明するための図である。 チャンネル統合処理部の詳細を説明するための図である。 評価関数を用いて位相差の評価値を求める方法を説明するためのブロック図である。 波形類似性評価部の評価の詳細を説明するためのブロック図である。 クロスフェード処理の詳細を説明するためのブロック図である。
符号の説明
1 オーディオ入力波形
2 周波数帯域分割部
3 タイムストレッチ/ピッチシフト量設定部
4 バンド成分合成部
5 位相同期化処理部
6オーディオ出力波形
7 タイムストレッチ量補正部
8 チャンネル分割処理部
9 周波数分析部
10 タイムストレッチ/ピッチシフト処理部
11 チャンネル統合処理部
12 バッファリング処理部
13 リファレンス波形生成部
14 波形類似性評価部
15 クロスフェード処理部
16 CPU(中央処理装置)
17 ROM(リード・オンリー・メモリ)
18 RAM(ランダム・アクセス・メモリ)
19 ハードディスク駆動装置
20 CD−ROM駆動装置
21 音声出力装置
22 操作子群
23オーディオ入力波形
24 周波数帯域分割部
25 タイムストレッチ/ピッチシフト量設定部
26 バンド成分合成部
27 位相同期化処理部
28オーディオ出力波形
29 チャンネル分割処理部
30 周波数分析部
31 タイムストレッチ/ピッチシフト処理部
32 チャンネル統合処理部
33 バッファリング処理部
34 位相同期化波形生成部
35 クロスフェード処理部
36 ステレオ波形メモリ
37 チャンネル0波形メモリ
38 チャンネル1波形メモリ
39 チャンネル0合成波形メモリ
40 チャンネル1合成波形メモリ
41 ステレオ合成波形メモリ
42 ステレオ波形メモリ
43 チャンネル0波形メモリ
44 チャンネル1波形メモリ
45 チャンネル0合成波形メモリ
46 チャンネル1合成波形メモリ
47 ステレオ合成波形メモリ
230 表示器
本発明の実施の形態を図面に基づき説明する。本発明はその趣旨を外れない限り、以下の実施例によって、限定されるものではない。
図1は本発明の第1の実施例にかかるオーディオ波形処理のブロック図を示している。この実施例で取り扱うオーディオ波形はデジタル化されている。
オーディオ入力波形1は、周波数帯域分割部2でいくつかのバンドに分けられる。この実施例では6つのバンドに分割している。3はタイムストレッチ/ピッチシフト量設定部であり、使用者の操作によりパラメータが変化するものである。周波数帯域分割部2で生成されたバンド波形は、バンド成分合成部4−0〜4−5で周波数分析され、分析結果をもとに設定されるタイムストレッチ/ピッチシフト量に従い、時間軸の伸縮とピッチ変換を行いながら波形の合成処理をする。
次に位相同期化処理部5−0〜5−5で、バンド成分合成部4で合成処理された波形と、周波数帯域分割部2において生成されたバンド原波形とを用い、位相同期化処理を行う。オーディオ出力波形6は各バンドの位相同期化処理部5の出力波形を加算合成したものである。また、位相同期化処理部5において出力する波形の長さに誤差が発生するため、補正値をバンド成分合成部4にフィードバックし、次回の合成処理時に出力される波形の長さを揃える操作をする。
周波数帯域分割部2で分割するバンドの数とその帯域は、オーディオ入力波形にあわせて設定することが望ましい。単一楽器の演奏など単純なオーディオ信号に対しての分割は不要な場合があり、逆に複雑にミックスされた楽曲に対しては分割数を増やさなければいけない。また、図1のブロック図に示されているように、バンド単位で位相同期化処理が行われバンド内での位相変化は軽減されるが、バンド間での位相関係は崩れてしまう可能性がある。そのため、分割数が多すぎない適切な分割数と帯域を用いる必要がある。音階にして1オクターブ程度となる帯域幅に分割すると、音楽などのオーディオ入力波形に対して適切に処理ができる。
図2は図1のバンド成分合成部4の詳細をブロック構成図で示している。ここではステレオ2チャンネルオーディオ波形を処理するものと想定している。7はタイムストレッチ量補正処理部であり、位相同期化処理部5で出力波形の長さに誤差が生じた場合にストレッチ量を補正し、位相リセット信号を付加するものである。
図2のチャンネル分割処理部8は図1の周波数帯域分割部2で生成されたバンド波形を単一のチャンネルに分割する。ここでの分割数はオーディオ入力波形のチャンネル数により異なる。分割されたチャンネルごとに、以降の周波数分析とタイムストレッチ/ピッチシフト処理が行われる。
図12は図2のチャンネル分割処理部8の波形データの流れを示している。ステレオ波形メモリ36には2つのチャンネルの波形データがひとまとめに配置されており、これをチャンネル0波形メモリ37とチャンネル1波形メモリ38にそれぞれのチャンネルのデータを配置し直し、周波数分析部9−0〜9−1へ渡す。また、このときデータを配置し直すのではなく、波形メモリ36におけるそれぞれのチャンネルの先頭アドレスを周波数分析部9−0〜9−1へ渡すことでも、同様の処理が可能である。
次に図2の周波数分析部9−0〜9−1では、チャンネル分割処理部8で分割された波形に含まれる周波数、位相、振幅をSTFFT(短時間フーリエ変換、Short−Time Fast Fourier Transform)を用いて算出する。なお、一度のSTFFTで分析できるオーディオ波形の長さは、用いられる窓関数およびFFTサイズにより決まる。この長さを1フレームと定義し、1フレームごとに次に説明する波形合成が行われる。例えば44.1キロヘルツで離散化されたデジタルオーディオ波形を処理する場合には、窓関数およびFFTサイズは1024点を用いる。すると時間軸上の幅は約23.2ミリ秒であり、周波数軸上で約43ヘルツ刻みのデータが得られ、周波数分解能と時間分解能のバランスが良い。これよりも周波数分解能を高くする場合はFFTサイズを大きくし、時間分解能を高くする場合にはFFTサイズを小さくする。FFTで計算されたデータから平方根や逆正接演算を行い、図13に示すようにメモリアドレスに周波数成分の振幅AS/AE、位相PS/PE、瞬時角振動数Wのデータを格納する。1つの周波数成分の帯域幅は音階にして1半音程度が適切で、周波数帯域分割部2で1オクターブの帯域幅にバンドを分割した場合は、12個の周波数成分データが計算される。
次に図2のタイムストレッチ/ピッチシフト処理部10−0〜10−1で、周波数分析部9で分析された結果と要求されるタイムストレッチ/ピッチシフト量に従い波形を合成する。周波数成分ごとに正弦または余弦発振を行い、それらを加算合成することで合成波形が得られる。このとき要求されるタイムストレッチ量に従い、波形を合成する時間軸を縮伸させる。時間軸の縮伸により振幅が不連続にならないように、振幅値の補間も行う。また、要求されるピッチシフト量に従い、発振の角振動数をスケーリングする。発振開始時の位相は、初回動作時や位相リセット信号が入力された場合には、周波数分析部9によって算出された位相を設定する。それ以外の場合は、前回フレームの発振終了時の位相をそのまま用い、フレーム間で滑らかに波形がつながるように処理する。これらの処理の構成は、図14のようになる。合成された波形データはメモリに格納され、チャンネル統合処理部11に渡される。
更にチャンネル統合処理部11で、タイムストレッチ/ピッチシフト処理部10においてチャンネルごとに合成処理された波形は、オーディオ入力波形と同じチャンネル数になるようにステレオ化される。図15にチャンネル統合処理部11のデータの流れを示している。チャンネル0合成波形メモリ39とチャンネル1合成波形メモリ40に格納された波形は、ステレオ合成波形メモリ41にひとまとめに再配置される。またこのとき、チャンネル0合成波形メモリ39とチャンネル1合成波形メモリ40の先頭アドレスをステレオ合成波形メモリ41に保持し、それぞれのメモリアドレスを参照することでステレオ波形データとして扱う方法もある。ステレオ化されたバンド成分合成後のオーディオ波形は、更に位相同期化処理部5で処理される。
図3は図1の位相同期化処理部5の詳細をブロック構成図で示している。図1のバンド成分合成部4で生成される1フレーム分の波形は、図3のバッファリング処理部12で一度蓄積される。これは、位相同期化処理にはある程度の長さの波形が必要であり、1フレームの長さでは不十分な場合があるためである。
位相同期化処理に必要なフレーム数は、周波数帯域分割されたバンドごとに異なる。後述する位相同期化処理の類似性の評価には、合成波形に含まれる周期成分が数波長分必要であり、そのため必要な波形の長さは低域側のバンドでは長くなり、高域側では短くなる。
また、フレーム数を長く取りすぎると位相同期化処理の間隔が広がってしまい、位相の変化が大きくなり、位相の変化による聴感上の違和感を知覚できてしまう。バンドの周波数帯域と聴感上の品質を考慮し、適切なフレーム数を用いることが望ましい。時間の長さとして40ミリ秒以内となるフレーム数であれば位相の変化による違和感はそれほど知覚できないが、低域側のバンドでは波長が長くなるため、5波長程度の波形が含まれるような40ミリ秒以上のフレーム数を用いる。
図3のバッファリング処理部12で位相同期化処理に必要な長さの波形が蓄積されると波形は出力され、バッファはクリアされる。同時にリファレンス波形生成信号も出力され、リファレンス波形生成部13により、周波数帯域分割部2で分割されたバンド原波形から位相同期化処理のためのリファレンス波形が生成される。図16にバッファリング処理部のメモリ使用状況を示している。この図では位相同期化処理に必要な波形の長さは3フレームと想定しており、3フレーム分のバンド合成波形が蓄積されると波形は出力され、4フレーム目の合成波形はバッファリングメモリの先頭に配置される。
リファレンス波形の生成法について図4を参照しながら説明する。この例では3フレームごとに位相同期化処理を行うものと想定している。図4(a)はバンド原波形とフレームがどのように対応しているかを示しており、フレーム3とフレーム6の処理後に位相同期化処理が発生する。図中で波形は上下2段に書かれているが、これはステレオオーディオ波形のそれぞれのチャネンルを分けて書いたものである。図4(b)はピッチシフトがない場合について、それぞれの位相同期化処理におけるリファレンス波形を示している。この波形は、位相同期化処理が実行されるまでの区間の最終フレーム、図中ではフレーム3とフレーム6の終端の一部をそのまま切り取ったものである。
また、図4(c)はピッチシフトがある場合のリファレンス波形を示している。ここでは、1/2にピッチシフトした際の例を示している。図のように図4(b)の波形を時間軸に対し単純にスケーリングをしたものであり、時間軸の伸縮率はピッチシフトの周波数スケーリングの値をαとすると、1/αである。
リファレンス波形の長さは、周期成分が1〜2波長程度含まれる長さが適切である。長すぎても短すぎても、次に説明する類似性の評価で良い結果が得られない。また、リファレンス波形生成時のピッチシフト処理は単純な時間軸のスケーリングを行うだけである。通常、時間軸のスケーリングによるピッチシフトは波形の長さが変化してしまうという問題があるが、リファレンス波形は類似性の評価とクロスフェード処理に用いるだけなので問題ない。図17に図3のリファレンス波形生成部13のデータの流れを示している。バッファリングメモリに蓄えられた波形データのうち、3フレーム目の終端部分のアドレスから波形データを読み出し、ピッチシフト量に応じて時間軸スケーリングし、リファレンス波形を出力するものである。
次に図3の波形類似性評価部14では、バッファリング処理部12において蓄積された波形とリファレンス波形生成部13で生成された波形を用いて、2つの波形が時間軸上のどの時点で類似性が高いかを評価する。後のクロスフェード処理では、ここで求めた類似性が高い箇所がクロスフェード位置として用いられる。これを求めるには、類似性を評価する任意の評価関数を用意し、バッファリングされたバンド合成波形に対して時間軸をずらしながら評価関数を実行し、評価値の一番高い時点を結果とする。評価関数の例として、バンド合成波形とリファレンス波形の差分の絶対値を各サンプル点において計算し、それらを合算したものを評価値として用いるものが挙げられる。図18にこの評価法について具体的に説明している。この図ではリファレンス波形のサンプル点数はlとしている。バッファに蓄積された波形データの一部を取り出し、リファレンス波形との差分の絶対値をn個のサンプル点全てにおいて計算し、それらの和を評価値としている。バッファリングメモリのアドレスをずらして波形の切り出しを行い、波形データ全体に対して評価値の計算を行う。このようにして計算された評価値のうち、より値の小さいものほど波形の差が少なく、類似性が高いといえる。
次に、図3のリファレンス波形生成部13で生成された波形と波形類似性評価部14で算出されたクロスフェード位置を用い、クロスフェード処理部15でバッファリングされたバンド合成波形からリファレンス波形に戻るようにクロスフェード処理を行う。
これまで説明した位相同期化処理の概念について図5に示す一例を参照しながら説明する。図5ではステレオオーディオ波形の2つのチャネンルを上下2段に分けて書いており、これはリファレンス波形生成と類似性評価とクロスフェード処理がステレオで行われることを示している。
図5の(a)はバンド原波形を示しており、これを2倍にタイムストレッチすることを想定する。このとき、図5(a)のバンド原波形の長さをlとする。
これまで説明した処理に従って、図3のバッファリング処理部12に蓄積される2倍にストレッチされたバンド合成波形図5(b)と、リファレンス波形生成部13により生成されるリファレンス波形図5(c)がそれぞれ得られる。このとき、図5(b)のバンド合成波形の長さをl(=l×2)、図5(c)のリファレンス波形の長さをlと定義する。また、これらの波形の類似性は図3の類似性評価部14で評価され、図5の算出されるクロスフェード位置をtcfとする。
図5のクロスフェード処理は、算出されたクロスフェード位置tcfからリファレンス波形の長さの範囲、つまりtcfからのtcf+lの区間で行われる。クロスフェード処理後の波形を図5(d)に示す。図からわかるように、クロスフェード終了後の波形の終端はリファレンス波形の終端と同じ値になる。つまり、バンド原波形と同じ位相状態に戻る(位相同期化される)ことになる。オーディオ入力波形がステレオであったとしても、上記の処理によりチャンネル間の位相関係は保たれる。この部分が本発明において特筆すべきところである。
図19にクロスフェード処理の詳細を示している。この図では位相同期化処理に必要な波形の長さは3フレーム分であると想定している。バッファリングメモリに蓄積されたクロスフェード位置tcf以降の波形は、サンプル点ごとに比率計算され乗算される。同時にリファレンス波形に対しても比率計算を行い乗算し、乗算後の値の和を出力とする。図の比率計算は、線形補間によるクロスフェードの例を示している。また、クロスフェード位置tcf以前の波形は、そのまま出力波形として出力波形メモリに格納される。
クロスフェード処理終了後の波形がそのままバンド出力波形となる。しかし、その長さはtcf+lであり、本来のストレッチされた波形の長さlよりも短くなっている。tcf+l以降の残りのl−(tcf+l)の長さに相当する部分は破棄されるため、その長さが位相同期化処理においての誤差として発生する。これを補正するために、誤差の値をストレッチ補正値として図2のバンド成分合成部のタイムストレッチ量補正処理部7に引き渡す。その結果、次回フレームではこの誤差の長さを加えて波形合成されるように処理され、本来の波形の長さが保たれる。
この位相同期化処理による誤差が大きいと図1のバンド成分合成部4で生成される波形を破棄する量が増大し、処理効率の低下につながる。これを防止するためには誤差を小さくする必要がある。解決する手段の一つとして、図3の波形類似性評価部14の評価関数において、後ろの位置ほど評価値が高くなるような傾斜をかけるなどの工夫が考えられる。
以上の処理を各バンドに対して行い、それらを加算して最終的なオーディオ出力波形を得る。
次に、本発明のオーディオ信号処理装置について説明する。図6に本発明にかかる一実施例としてのオーディオ信号波形処理装置を示している。この例ではハードディスク駆動装置19やCD−ROM駆動装置20などの記録媒体上のオーディオ波形を、タイムストレッチやピッチシフトを行いながら再生して出力するものである。この例に限らず、本発明におけるオーディオ波形処理装置はサンプラーや電子楽器など多くの機器に搭載することができる。
図6において、CPU16は装置の全体的な制御を司る中央処理装置、ROM17は制御プログラムを格納しているリード・オンリー・メモリ、RAM18は作業用のメモリエリアなどとして利用されるランダム・アクセス・メモリである。ハードディスク駆動装置19、CD−ROM駆動装置20は外部記憶装置でありオーディオ波形の入力として用いられる。音声出力装置21はデジタルオーディオ波形をアナログ化するD/A変換器とスピーカーで構成される。操作子群22は各種スイッチ類である。表示器230はタイムストレッチ/ピッチシフト量選択の際にパラメータを画面表示するなどに用いる表示器である。
本発明におけるオーディオ信号処理方法をコンピュータに実行させるための命令群で構成されるプログラムはROM17に記憶され、ハードディスク駆動装置19やCD−ROM駆動装置20のオーディオ波形に対し、CPU16がRAM18をワーキングメモリとして使用しながら波形処理を行い、音声出力装置21のスピーカーから音として出力される。以上の構成により、ハードディスクやCD−ROMに記録された音楽に対し、高品位なタイムストレッチ/ピッチシフト処理を施したオーディオ再生装置が実現できる。
第1の実施例ではオーディオ入力波形を帯域分割して波形処理を実施する例を説明したが、オーディオ入力波形を帯域分割しない以下の手段を用いて、実施例1で説明したと同様な波形処理を実現できる。図1において、周波数帯域分割部2と、バンド成分合成部(バンド1)4−1〜バンド成分合成部(バンド5)4−5と、位相同期化処理部(バンド1)5−1〜位相同期化処理部(バンド5)5−5とを削除して、オーディオ入力波形1をバンド成分合成部(バンド0)4−0に直接入力して、実施例1で説明したと同様な波形処理を実施する。
次に、第3の実施例であり、上述の実施例1、2にかかる手段/手法を実行させるコンピュータプログラムについて説明する。図20にコンピュータプログラムのフローチャートを示している。最初に入力波形データを読み出し(ステップS1)、図1の周波数帯域分割部2と同様の周波数帯域分割処理(ステップS2)をし、バンドごとの波形を出力する。この処理は帯域通過フィルタを実現するための乗算や加算といった命令群や、フーリエ変換により帯域分割を実現する場合にはFFTを実行するための命令群から成る。
次に、周波数帯域分割されたバンド波形データの瞬時振幅・角振動数・位相の分析処理(ステップS3)をする。この処理は図2の周波数分析部9−0〜9−1に相当する部分であり、FFTを実行するための命令群や、振幅を計算するための平方根、位相を計算するための逆正接関数などの命令群から成る。
分析されたデータをもとに、波形合成処理(ステップS4)を実行する。この処理は図2のタイムストレッチ/ピッチシフト処理部10−0〜10−1と同様の処理である。発振器の役割をする余弦関数や振幅を掛け合わせるための乗算などの命令群から成り、タイムストレッチ/ピッチシフトされた波形が合成される。
次に、合成された波形の長さが位相同期化処理に必要な長さに達したかを判定する(ステップS5)。達していない場合は再度ステップS1に戻り、合成波形をメモリに蓄積しながら必要な長さに達するまで処理を繰り返す。必要な長さに達した場合は次のステップに進む。この処理は図3のバッファリング処理部12と同様のものである。
合成された波形に対して位相同期化処理(ステップS6)を実行する。この処理は図3のリファレンス波形生成部13、波形類似性評価部14、クロスフェード処理部15の処理に相当し、類似性の評価関数を実行するための減算などの命令群や、クロスフェード処理をするための乗算や加算といった命令群から成る。
ステップS2からステップS6の処理は帯域分割されたバンドごとに行われ、それぞれのバンドの出力波形データを合算して、出力波形データ書き込み(ステップS7)を実行する。バンドの出力波形データの合算には加算の命令を使用する。次に、入力波形全体に対して処理が終了したかを判定し(ステップS8)、処理が終了していなければステップS1へ戻り繰り返し処理を実行し、入力波形全体に対して処理が終了していれば処理を終了する。
次に、本発明の実施例4について説明する。図9は第4の実施例としてのオーディオ波形処理のブロック図を示している。この実施例で取り扱うオーディオ波形はデジタル化されている。
オーディオ入力波形23は、周波数帯域分割部24でいくつかのバンドに分けられる。この実施例では6つのバンドに分割している。25はタイムストレッチ/ピッチシフト量設定部であり、使用者の操作によりパラメータが変化するものである。周波数帯域分割部24で生成されたバンド波形は、バンド成分合成部26−0〜26−5で周波数分析され、分析結果をもとに設定されるタイムストレッチ/ピッチシフト量に従い、時間軸の伸縮とピッチ変換を行いながら波形の合成処理をする。
次に位相同期化処理部27−0〜27−5で、バンド成分合成部26で合成処理された波形と周波数成分情報を用い、位相同期化処理を行う。オーディオ出力波形28は各バンドの位相同期化処理部27の出力波形を加算合成したものである。また、位相同期化処理部27において合成波形の位相状態は原波形の位相状態の線形な位相進み又は線形な位相遅れとなるので、位相補正値をバンド成分合成部26にフィードバックし、次回の合成処理時に適用される位相値を補正する操作をする。
周波数帯域分割部24で分割するバンドの数とその帯域は、オーディオ入力波形にあわせて設定することが望ましい。単一楽器の演奏など単純なオーディオ信号に対しての分割は不要な場合があり、逆に複雑にミックスされた楽曲に対しては分割数を増やさなければいけない。また、ブロック図に示されているように、バンド単位で位相同期化処理が行われバンド内での位相変化は軽減されるが、バンド間での位相関係は崩れてしまう可能性がある。そのため、分割数が多すぎない適切な分割数と帯域を用いる必要がある。音階にして1オクターブ程度となる帯域幅に分割すると、音楽などのオーディオ入力波形に対して適切に処理ができる。
図10は図9のバンド成分合成部26の詳細をブロック構成図で示している。ここではステレオ2チャンネルオーディオ波形を処理するものと想定している。チャンネル分割処理部29は周波数帯域分割部24で生成されたバンド波形を単一のチャンネルに分割する。ここでの分割数はオーディオ入力波形のチャンネル数により異なる。分割されたチャンネルごとに、以降の周波数分析とタイムストレッチ/ピッチシフト処理が行われる。
図21は図10のチャンネル分割処理部29の波形データの流れを示している。ステレオ波形メモリ42には2つのチャンネルの波形データがひとまとめに配置されており、これをチャンネル0波形メモリ43とチャンネル1波形メモリ44にそれぞれのチャンネルのデータを配置し直し、周波数分析部30−0〜30−1へ渡す。また、このときデータを配置し直すのではなく、波形メモリ36におけるそれぞれのチャンネルの先頭アドレスを周波数分析部30−0〜30−1へ渡すことでも、同様の処理が可能である。
次に図10の周波数分析部30−0〜30−1では、チャンネル分割処理部29で分割された波形に含まれる周波数、位相、振幅をSTFFT(短時間フーリエ変換、Short−Time Fast Fourier Transform)を用いて算出する。なお、一度のSTFFTで分析できるオーディオ波形の長さは、用いられる窓関数およびFFTサイズにより決まる。この長さを1フレームと定義し、1フレームごとに次に説明する波形合成が行われる。例えば44.1キロヘルツで離散化されたデジタルオーディオ波形を処理する場合には、窓関数およびFFTサイズは1024点を用いる。すると時間軸上の幅は約23.2ミリ秒であり、周波数軸上で約43ヘルツ刻みのデータが得られ、周波数分解能と時間分解能のバランスが良い。これよりも周波数分解能を高くする場合はFFTサイズを大きくし、時間分解能を高くする場合にはFFTサイズを小さくする。FFTで計算されたデータから平方根や逆正接演算を行い、図13に示すようにメモリアドレスに周波数成分の振幅AS/AE、位相PS/PE、瞬時角振動数Wのデータを格納する。1つの周波数成分の帯域幅は音階にして1半音程度が適切で、周波数帯域分割部2で1オクターブの帯域幅にバンドを分割した場合は、12個の周波数成分データが計算される。
次に図10のタイムストレッチ/ピッチシフト処理部31−0〜31−1で、周波数分析部30で分析された結果と要求されるタイムストレッチ/ピッチシフト量に従い波形を合成する。周波数成分ごとに正弦または余弦発振を行い、それらを加算合成することで合成波形が得られる。このとき要求されるタイムストレッチ量に従い、波形を合成する時間軸を縮伸させる。時間軸の縮伸により振幅が不連続にならないように、振幅値の補間も行う。また、要求されるピッチシフト量に従い、発振の角振動数をスケーリングする。発振開始時の位相は、初回動作時には図10の周波数分析部30によって算出された位相を設定する。それ以外の場合で位相補正値が入力されていない状態では、前回フレームの発振終了時の位相をそのまま用い、フレーム間で滑らかに波形がつながるように処理する。位相補正値が入力されている場合は、以降で説明する位相同期化処理が行われた後のフレームであるため、位相補正値をもとに周波数分析部30によって分析された位相の線形な位相進み又は線形な位相遅れ状態を算出し、発振開始時の位相として用いる。これらの処理の構成は、図22のようになる。合成された波形データはメモリに格納され、チャンネル統合処理部32に渡される。
更にチャンネル統合処理部32で、タイムストレッチ/ピッチシフト処理部31においてチャンネルごとに合成処理された波形は、オーディオ入力波形と同じチャンネル数になるようにステレオ化される。図23にチャンネル統合処理部31のデータの流れを示している。チャンネル0合成波形メモリ45とチャンネル1合成波形メモリ46に格納された波形は、ステレオ合成波形メモリ47にひとまとめに再配置される。またこのとき、チャンネル0合成波形メモリ45とチャンネル1合成波形メモリ46の先頭アドレスをステレオ合成波形メモリ47に保持し、それぞれのメモリアドレスを参照することでステレオ波形データとして扱う方法もある。ステレオ化されたバンド成分合成後のオーディオ波形は、更に位相同期化処理部27で処理される。
図11は図9の位相同期化処理部27の詳細をブロック構成図で示している。バンド成分合成部26で生成される1フレーム分の波形は、バッファリング処理部33で一度蓄積される。これは、位相同期化処理にはある程度の長さの波形が必要であり、1フレームの長さでは不十分な場合があるためである。
位相同期化処理に必要なフレーム数は、周波数帯域分割されたバンドごとに異なる。後述する位相同期化処理の類似性の評価には、合成波形に含まれる周期成分が数波長分必要であり、そのため必要な波形の長さは低域側のバンドでは長くなり、高域側では短くなる。
また、フレーム数を長く取りすぎると位相同期化処理の間隔が広がってしまい、位相の変化が大きくなり、位相の変化による聴感上の違和感を知覚できてしまう。バンドの周波数帯域と聴感上の品質を考慮し、適切なフレーム数を用いることが望ましい。時間の長さとして40ミリ秒以内となるフレーム数であれば位相の変化による違和感はそれほど知覚できないが、低域側のバンドでは波長が長くなるため、5波長程度の波形が含まれるような40ミリ秒以上のフレーム数を用いる。
図11のバッファリング処理部33で位相同期化処理に必要な長さの波形が蓄積されると波形は出力され、バッファはクリアされる。図16にバッファリング処理部33のメモリ使用状況を示している。この図では位相同期化処理に必要な波形の長さは3フレームと想定しており、3フレーム分のバンド合成波形が蓄積されると波形は出力され、4フレーム目の合成波形はバッファリングメモリの先頭に配置される。
バッファリングされた波形の出力と同時に位相同期化波形生成信号も出力され、位相同期化波形生成部34により、バンド成分合成部26の周波数情報をもとに位相同期化波形が生成される。位相同期化波形とは、波形合成後の位相状態と相関が高く、かつ原波形の位相の線形な位相進み又は線形な位相遅れである波形である。線形な位相進み又は線形な位相遅れは時間領域での進みや遅れに対応するので、位相同期化波形は時間軸をずらして原波形を切り出したものと同等になる。図11のクロスフェード処理部35で、バッファリング波形から位相同期化波形へとクロスフェード処理をすることにより、ストレッチ/ピッチシフト処理を行っても原波形の位相状態を保つことが可能となる。
位相同期化波形生成部34の処理について式を用いながら説明する。バンドに含まれる全チャンネルの周波数成分の数nとし、周波数成分の振幅をa、a、・・・an−1、波形合成処理終了時の位相をθ、θ、・・・θn−1、瞬時角振動数をω、ω、・・・ωn−1とする。また、フレーム終了時の原波形の位相、つまり次回フレーム開始時の原波形の位相をφ、φ、・・・φn−1とする。これらの周波数成分情報は図9のバンド成分合成部26で計算され、図13のようにメモリ上に記録されたものが入力される。すなわち、a、a、・・・an−1はフレーム終了時の振幅AEに対応し、ω、ω、・・・ωn−1は瞬時角周波数Wに対応し、φ、φ、・・・φn−1はフレーム終了時の位相PEに対応する。また、θ、θ、・・・θn−1には図22の余弦発振器の発振終了時点における位相が参照される。
波形合成処理終了時の位相状態と、次回フレーム開始時における原波形の位相状態の差を評価する式として、次のものを導入する。ここでeは自然対数である。
Figure 2006070768
全ての周波数成分においてθ=φの場合は位相差がなく、評価式は0となる。位相差が大きければ大きいほど、評価式の値は大きくなる。タイムストレッチ/ピッチシフト処理を行うと通常はθ≠φであり、評価式は0にはならない。そこで、波形合成処理終了時の位相状態と、原波形において次回フレーム開始位置から時間領域でtずれたと仮定した位置の位相状態の差を評価する関数F(t)を導入する。時間軸での進み又は遅れは線形な位相進み又は線形な位相遅れに対応するので、F(t)は(数1)のφをφ+ωtに置き換えた(数2)の式になる。
Figure 2006070768
評価関数F(t)は0に近いほど位相差が少なく、波形としての相関も高い。したがって、評価関数F(t)が最小になる値tを求め、原波形において次回フレーム開始位置から時間領域でtずれたと仮定した波形を合成し、位相同期化波形として用いることで、クロスフェード処理の際に耳障りな音になるのを防ぐことができる。
図11の位相同期化波形生成部34では、まずこのtを求める。これを求めるには、ある時間領域、−t<t<tの範囲において評価関数F(t)の値を求め、F(t)が最小となったものをtとして採用すればよい。tの大きさは、バンドに含まれる周波数成分の数波長分の長さがよい。tが小さすぎるとF(t)の値が小さい地点が見つからない場合があり、逆にtが大きいとtが0から離れすぎた地点ではF(t)の評価に誤差が生じてしまう。
評価関数F(t)に誤差が生じる原因は、式中で瞬時角振動数ω、ω、・・・ωn−1を使用していることに起因する。ω、ω、・・・ωn−1は瞬間的な値であって、本来時間とともに刻々と変化するものである。F(t)の式ではω、ω、・・・ωn−1という固定値を使用しているため、tが0から離れるにしたがって、本来の原波形の位相状態とはかけはなれたものになり、位相状態の評価には適さない。そのため、tの値は大きすぎない適切な値にすることが重要である。また、同様の理由から、t=0近傍でF(t)の値が小さくなるように傾斜をかけ、tが0に近い値をとるようにし、原波形の位相状態により近い位相同期化波形が得られるように工夫することも考えられる。
評価関数F(t)の計算方法について詳細を図24に示している。図9のバンド成分合成部26で分析された周波数成分情報は図24の周波数成分メモリに格納されており、バンド成分合成部26における余弦発振器の発振終了時の位相と、時間領域での変数tともに評価値が計算される。図24ではn個の周波数成分があるものと想定しており、それぞれの成分について乗算、減算、余弦、平方根を用いて値を求め、それらを合算したものが評価値となる。これは(数2)の計算方法をブロック図で表したものである。変数tを−tからtの範囲で変化させながら評価値を求め、評価値が最小となるときの変数tがtとして採用される。
次に、求められたtをもとに位相同期化波形を合成する。合成処理は図10のタイムストレッチ/ピッチシフト処理部31と同様に、ピッチシフトを行いながらチャンネルごとに正弦または余弦発振する。位相同期化波形はクロスフェード処理に用いるだけなので、波形を合成する長さはバンドに含まれる周波数成分の数波長分の長さで充分であり、タイムストレッチは無視してよい。またこのとき、位相同期化波形の終端における位相状態が、次回フレーム開始時の原波形の位相状態からtの分だけ線形な位相進み又は線形な位相遅れの状態になるように、発振開始時の位相状態を調整する必要がある。
以上のようにして合成された位相同期化波形は、図11のクロスフェード処理部35へ出力される。クロスフェード処理部35では、バッファリング処理部33で蓄積されたバンド成分合成後の波形から、位相同期化波形へとクロスフェード処理を行う。クロスフェード処理は波形どうしの終端を揃えて行う。クロスフェード処理後の波形において、その終端の位相状態は、位相同期化波形の終端の位相状態と同一になり、したがって原波形の位相状態の線形な位相進み又は線形な位相遅れの状態となる。つまり、原波形と同等の位相状態を持つことになる。クロスフェード処理後の波形は最終的なバンド波形として出力される。
また、図11の位相同期化波形生成部34で求められたtは位相補正値として図9のバンド成分合成部26へ出力される。前述したとおり、位相補正値が出力されると次回フレームの合成処理開始時の位相は、原波形の位相状態の線形な位相進み又は線形な位相遅れとなり、クロスフェード処理後の波形と滑らかに繋る波形が次回フレームで合成される。
これまで説明した図11の位相同期化波形生成部34とクロスフェード処理部35の概念について、図25を用いて説明する。図ではステレオオーディオ波形の2つのチャネンルを上下2段に分けて書いており、これは類似性評価と位相同期化波形生成とクロスフェード処理がステレオで行われることを示している。
図25(a)はバンド原波形を示しており、これを2倍にタイムストレッチすることを想定する。バンド原波形をもとに、これまで説明した処理に従って、バッファリング処理部38に2倍にストレッチされたバンド合成波形図25(b)が蓄積される。バンド合成波形はバンド原波形を2倍にタイムストレッチしたものであるが、終端部分における周波数成分の位相関係はバンド原波形のものとはかけはなれたものになってしまい、ステレオの定位感が崩れるなど聴感上の違和感の原因となっている。
図25(c)は、評価関数F(t)と位相同期化波形の生成の様子を示している。バンド合成波形の生成時に分析された周波数成分情報と発振器の発振終了時の位相をもとに、図24を用いて説明したように変数tを−tからtの範囲で変化させながら評価値を計算する。図25(c)の中段にはtを変化させたときの、バンド原波形終端部分の線形位相進み又は遅れである波形を示している。これは線形位相進み又は遅れの波形がどのようなものであるのかを示しており、全てのtにおいて実際に処理されるものではなく、評価値が最小となる場合のtにおいてのみ位相同期化波形として波形合成される。図25(c)ではこのとき合成される波形の長さは、バンドに含まれる周波数成分の2波長分の長さとしている。
図25(d)ではクロスフェード処理後の波形を示しており、図25(b)のバンド合成波形の終端部分と、図25(c)で合成された位相同期化波形の終端部分を揃えてクロスフェード処理が行われる。クロスフェード処理後の波形の終端部分は位相同期化波形の終端部分と同じ値を持ち、従ってバンド原波形の線形な位相の進み又は遅れ状態となる。これにより、オーディオ入力波形がステレオであったとしても、周波数成分の位相関係はバンド原波形ときわめて近いものとなり、位相同期化されたことになる。
図26にクロスフェード処理の詳細を示している。この図では位相同期化処理に必要な波形の長さは3フレーム分(位相同期化処理期間)であると想定している。バッファリングメモリには図11のバッファリング処理部33によってフレーム合成波形が蓄積される。また、位相同期化波形生成部34により位相同期化波形が生成される。このとき、バッファリングメモリに蓄積されたバンド合成波形の長さをl、位相同期化波形の長さをlとすると、バンド合成波形においてl−lの地点からクロスフェード処理を開始し、2つの波形の終端部分を揃える。クロスフェード処理はサンプル点ごとにそれぞれの波形に対して比率計算を行い乗算し、乗算後の値の和を出力とする。図26の比率計算は、線形補間によるクロスフェードの例を示している。l−l以前の波形は、そのまま出力波形として出力波形メモリに格納される。
以上の処理を各バンドに対して行い、バンド波形出力を加算して最終的なオーディオ出力波形を得る。
第4の実施例ではオーディオ入力波形を帯域分割して波形処理を実施する例を説明したが、オーディオ入力波形を帯域分割しない以下の手段を用いて、実施例4で説明したと同様な波形処理を実現できる。図9において、周波数帯域分割部24と、バンド成分合成部(バンド1)26−1〜バンド成分合成部(バンド5)26−5と、位相同期化処理部(バンド1)27−1〜位相同期化処理部(バンド5)27−5とを削除して、オーディオ入力波形23をバンド成分合成部(バンド0)26−0に直接入力して、実施例4で説明したと同様な波形処理を実施する。
次に、第6の実施例である請求項10のコンピュータプログラムについて説明する。図20にコンピュータプログラムのフローチャートを示している。最初に入力波形データを読み出し(ステップS1)、図9の周波数帯域分割部24と同様の周波数帯域分割処理(ステップS2)をし、バンドごとの波形を出力する。この処理は帯域通過フィルタを実現するための乗算や加算といった命令群や、フーリエ変換により帯域分割を実現する場合にはFFTを実行するための命令群から成る。
次に、周波数帯域分割されたバンド波形データの瞬時振幅・角振動数・位相分析処理(ステップS3)をする。この処理は図10の周波数分析部30−0〜30−1に相当する部分であり、FFTを実行するための命令群や、振幅を計算するための平方根、位相を計算するための逆正接関数などの命令群から成る。
分析されたデータをもとに、波形合成処理(ステップS4)を実行する。この処理は図10のタイムストレッチ/ピッチシフト処理部31−0〜31−1と同様の処理である。発振器の役割をする余弦関数や振幅を掛け合わせるための乗算などの命令群から成り、タイムストレッチ/ピッチシフトされた波形が合成される。
次に、合成された波形の長さが位相同期化処理に必要な長さに達したかを判定する(ステップS5)。達していない場合は再度ステップS1に戻り、合成波形をメモリに蓄積しながら必要な長さに達するまで処理を繰り返す。必要な長さに達した場合は次のステップに進む。この処理は図11のバッファリング処理部33と同様のものである。
合成された波形に対して位相同期化処理(ステップS6)を実行する。この処理は図11の位相同期化波形生成部34、クロスフェード処理部35の処理に相当し、位相評価関数を実行するための減算や乗算や余弦や平方根などの命令群や、クロスフェード処理をするための乗算や加算といった命令群から成る。
ステップS2からステップS6の処理は帯域分割されたバンドごとに行われ、それぞれのバンドの出力波形データを合算して、出力波形データ書き込み(ステップS7)を実行する。バンドの出力波形データの合算には加算の命令を使用する。次に、入力波形全体に対して処理が終了したかを判定し(ステップS8)、処理が終了していなければステップS1へ戻り繰り返し処理を実行し、入力波形全体に対して処理が終了していれば処理を終了する。
本発明によれば、複数の周波数帯域に分割したバンドごとにオーディオ信号の周波数分析や合成処理を実施して、各バンドの原波形と合成処理後の波形との類似性を評価し、類似性の高い箇所において合成処理後の波形からバンド原波形へクロスフェード処理を行い、波形合成時に発生する位相の変化をリセットできるので、聴感上の違和感の無い高品位なオーディオ出力が得られる。
本発明によれば、帯域分割をせずにオーディオ波形をそのまま1つのバンドと見なして原波形と合成処理後の波形との類似性を評価し、類似性の高い箇所において合成処理後の波形から原波形へクロスフェード処理を行い、波形合成時に発生する位相の変化をリセットできるので、聴感上の違和感の無い高品位なオーディオ出力がより少ない部品数で実現でき、オーディオ波形合成装置のより低価格化が実現できる。
本発明によれば、請求項3、4のいずれかに記載のオーディオ波形処理方法を市販のパーソナルコンピュータ用オーディオ処理プログラムで実施できるので、高品位のボコーダ方式オーディオ処理がよりいっそう低価格で実現できる。
本発明によれば、周波数分析や合成処理がオーディオ信号を複数に周波数帯域分割したバンドごとに行われ、各バンドの合成処理後の位相状態と原波形の位相状態とを比較し、合成処理後の位相状態と相関が高く、かつ原波形の線形な位相進み又は線形な位相遅れである波形を位相同期化波形として生成し、合成処理後の波形から移動同期化波形へクロスフェード処理を行ない、波形合成時に発生する位相の変化をリセットできるので、聴感上の違和感の無い高品位なオーディオ出力が得られる。
本発明によれば、請求項6の装置の周波数帯域分割において、帯域分割せずにオーディオ波形をそのまま1つのバンドと見なして処理するので、聴感上の違和感の無い高品位なオーディオ出力がより少ない部品数で実現でき、オーディオ波形合成装置のより低価格化が実現できる。
本発明によれば、請求項8、9のいずれかに記載のオーディオ波形処理方法を市販のパーソナルコンピュータ用オーディオ処理プログラムで実施できるので、高品位のボコーダ方式オーディオ処理がよりいっそう低価格で実現できる。
請求項11、12、13の発明によれば、各バンドの波形合成処理後の位相状態と各バンドの原波形の位相状態との差を評価する評価関数に波形間の複素数平面上での距離を用いるので、位相状態の差を比較的簡便な方法で評価でき、オーディオ波形合成装置の簡易化と高速化が図られる。
すなわち、本発明のオーディオ信号処理装置、方法およびプログラムを用いることにより、オーディオ入力波形がモノラルであれステレオであれ、従来のボコーダ方式において必ず発生する位相の変化が波形全体を通して軽減され、高品位なタイムストレッチやピッチシフト処理を実現できるという効果がある。
【0003】
位相同期化処理後の波形を加算して、最終的な出力波形を得る。
[0010]
即ち、本発明のうち請求項1に記載の発明は、入力オーディオ信号を複数の帯域に分割する周波数帯域分割部と、複数の帯域に分割された各オーディオ信号を周波数分析した結果および要求されるタイムストレッチ/ピッチシフト量に基づき各周波数成分毎の正弦または余弦発振を行って合成処理することによりタイムストレッチおよび/またはピッチシフトをそれぞれ実行する複数のタイムストレッチ/ピッチシフト処理部と、該複数のタイムストレッチ/ピッチシフト処理部から出力されるタイムストレッチ/ピッチシフト信号の位相を調整するための位相同期化処理を行う複数の位相同期化処理部と、を備え、該複数の位相同期化処理部の出力を合成して出力するオーディオ信号処理装置であって、前記各位相同期化処理部は、前記帯域分割されたオーディオ信号から1フレーム中の終端部分波形を複数フレームに1回ずつ切り出し、該切り出した終端部分波形を前記タイムストレッチ/ピッチシフト量に基づいて変形して前記位相同期化処理のためのリファレンス信号を生成出力するリファレンス信号生成部と、前記タイムストレッチ/ピッチシフト信号の複数フレーム分の時間軸波形の中で前記リファレンス信号波形に類似している時間軸上での位置を該複数フレーム分の時間軸波形の後部側から探索し、類似性があると判定した探索位置を当該複数フレーム分における位相同期化処理のためのクロスフェード位置として検出するクロスフェード位置算出部と、前記検出した各クロスフェード位置において、前記タイムストレッチ/ピッチシフト信号から前記リファレンス信号へのクロスフェード処理を実行するクロスフェード処理部と、を備えたことを特徴とする。
[0011]
請求項2に記載の発明は、上記の発明において、前記クロスフェード位置算出部は、前記類似性を評価する所定の評価関数を用いて、前記クロスフェード位置を求めることを特徴とする。
[0012]
請求項3に記載の発明は、上記の発明において、前記クロスフェード処理部は、クロスフェード処理後の信号長と、本来の信号長との差をストレッチ補正値として出力し、前記タイムストレッチ/ピッチシフト処理部は、前記ストレッチ補正値を用いて次の信号長の長さ補正を行うことを特徴とする。
[0013]
請求項4に記載の発明は、上記の発明において、前記クロスフェード位置算出部は、前記タイムストレッチ/ピッチシフト信号の複数フレーム分の後部側ほど、前記類似性の評価が高くなるよう、前記評価関数に重み付けの傾斜をつけることを特徴とする。
【0004】
[0014]
請求項5に記載の発明は、入力オーディオ信号を周波数分析した結果および要求されるタイムストレッチ/ピッチシフト量に基づき各周波数成分毎の正弦または余弦発振を行って合成処理することによりタイムストレッチおよび/またはピッチシフトをそれぞれ実行するタイムストレッチ/ピッチシフト処理部と、該タイムストレッチ/ピッチシフト処理部から出力されるタイムストレッチ/ピッチシフト信号の位相を調整するための位相同期化処理を行った信号を出力する位相同期化処理部と、を備えたオーディオ信号処理装置であって、前記位相同期化処理部は、前記入力オーディオ信号から1フレーム中の終端部分波形を複数フレームに1回ずつ切り出し、該切り出した終端部分波形を前記タイムストレッチ/ピッチシフト量に基づいて変形して前記位相同期化処理のためのリファレンス信号を生成出力するリファレンス信号生成部と、前記タイムストレッチ/ピッチシフト信号の複数フレーム分の時間軸波形の中で前記リファレンス信号波形に類似している時間軸上での位置を該複数フレーム分の時間軸波形の後部側から探索し、類似性があると判定した探索位置を当該複数フレーム分における位相同期化処理のためのクロスフェード位置として検出するクロスフェード位置算出部と、前記検出した各クロスフェード位置において、前記タイムストレッチ/ピッチシフト信号から前記リファレンス信号へのクロスフェード処理を実行するクロスフェード処理部と、を備えたことを特徴とする。
[0015]
請求項6に記載の発明は、入力オーディオ信号を複数の帯域に分割する周波数帯域分割部と、複数の帯域に分割された各オーディオ信号を周波数分析した結果および要求されるタイムストレッチ/ピッチシフト量に基づき各周波数成分毎の正弦または余弦発振を行って合成処理することによりタイムストレッチおよび/またはピッチシフトをそれぞれ実行する複数のタイムストレッチ/ピッチシフト処理部と、該複数のタイムストレッチ/ピッチシフト処理部から出力されるタイムストレッチ/ピッチシフト信号の位相を調整するための位相同期化処理を行う複数の位相同期化処理部と、を備え、該複数の位相同期化処理部の出力を合成して出力するオーディオ信号処理装置であって、前記各位相同期化処理部は、タイムストレッチ/ピッチシフトが行われた現フレームにおけるタイムストレッチ/ピッチシフト信号波形の終端部の位相状態と前記帯域分割されたオーディオ信号波形の次回フレーム開始位置における位相状態と、の差を評価するために、該帯域分割されたオーディオ信号波形の次
【0005】
回フレーム開始位置を時間軸方向にシフトすることで該位相状態の差を評価し、該位相状態の差が最も小さいと評価されたときの時間シフト量を算出するとともに、該帯域分割されたオーディオ信号の終端部における所定波長分の信号波形を切り出し、該切り出した終端部分波形を前記時間シフト量だけシフトさせた位相進み信号または位相遅れ信号を位相同期化信号として生成する位相同期化信号生成部と、前記タイムストレッチ/ピッチシフト信号の終端部において、該タイムストレッチ/ピッチシフト信号から前記位相同期化信号へのクロスフェード処理を実行するクロスフェード処理部と、を備えたことを特徴とする。
[0016]
請求項7に記載の発明は、上記の発明において、前記各位相同期化処理部は、前記タイムストレッチ/ピッチシフトが行われた現フレームにおけるタイムストレッチ/ピッチシフト信号波形の終端部の位相状態と前記帯域分割されたオーディオ信号波形の次回フレーム開始位置における位相状態との差を評価するための評価関数として、該両波形間の複素平面上での距離を用いることを特徴とする。
[0017]
請求項8に記載の発明は、上記の発明において、前記位相同期化信号生成部は、前記時間シフト量に基づいて、次回フレームにおける位相同期化処理のための位相補正値を算出し、前記タイムストレッチ/ピッチシフト処理部は、前記位相同期化信号生成部から出力された前記位相補正値に基づいて、前記タイムストレッチ/ピッチシフト信号の次回フレームにおける開始時の位相を補正することを特徴とする。
[0018]
請求項9に記載の発明は、上記の発明において、前記各位相同期化処理部は、前記位相状態の差を評価する際に、前記時間シフト量が、前記帯域分割されたオーディオ信号波形の次回フレーム開始位置を離れるに従って、該位相状態の差を評価した評価値が小さくなるように重み付けすることを特徴とする。
[0019]
請求項10に記載の発明は、入力オーディオ信号を周波数分析した結果および要求されるタイムストレッチ/ピッチシフト量に基づき各周波数成分毎の正弦または余弦発振を行って合成処理することによりタイムストレッチおよび/またはピッチシフトをそれぞれ実行するタイムストレッチ/ピッチシフト処理部と、該タイムストレッチ/ピッチシフト処理部から出力されるタイムストレッチ/ピッチシフト信号の位相を調整するための位相同期化処理を行った信号を出力する位相同期化処理部と、を備えたオーディオ信号処理装置であって、前記各位相同期化処理部は、タイムストレッチ/ピッチシフトが行われた現フレームにおけるタイムストレッチ/ピッチシフト信号波形の終端部の位相状態と、前記帯域分割されたオーディオ信号波形の次回フレーム開始位置における位相状態と、の差を評価するために、該帯域分割されたオーディオ信号波形の次回フレーム開始位置を時間軸方向にシフトすることで該位相状態の差を評価し、該位相状態の差が最も小さいと評価されたときの時間シフト量を算出するとともに、該帯域分割されたオーディオ信号の終端部における所定波長分の信号波形を切り出し、該切り出した終端部分波形を前記時間シフト量だけシフトさせた位相進み信号または位相遅れ信号を位相同期化信号として生成する位相同期化信号生成部と、前記タイムストレッチ/ピッチシフト信号の終端部において、該タイムストレッチ/ピッチシフト信号から前記位相同期化信号へのクロスフェード処理を実行するクロスフェード処理部と、を備えたことを特徴とする。
[0020]
請求項11に記載の発明は、入力オーディオ信号を周波数分析した結果および要求されるタイムストレッチ/ピッチシフト量に基づき各周波数成分毎の正弦または余弦発振を行って合成処理することによりタイムストレッチおよび/またはピッチシフトをそれぞれ実行するタイムストレッチ/ピッチシフトステップと、タイムストレッチ/ピッチシフト処理されたタイムストレッチ/ピッチシフト信号の位相を調整するための位相同期化処理を行う位相同期化処理ステップと、を含むオーディオ信号処理方法であって、前記位相同期化処理ステップは、前記入力オーディオ信号から1フレーム中の終端部分波形を複数フレームに1回ずつ切り出し、該切り出した終端部分波形を前記タイムストレッチ/ピッチシフト量に基づいて変形して前記位相同期化処理のためのリファレンス信号を生成出力するリファレンス信号生成ステップと、前記タイムストレッチ/ピッチシフト信号の複数フレーム分の時間軸波形の中で前記リファレンス信号波形に類似している時間軸上での位置を該複数フレーム分の時間軸波形の後部側から探索し、類似性があると判定した探索位置を当該複数フレーム分における位相同期化処理のためのクロスフェード位置として検出するクロスフェード位置算出ステップと、前記検出した各クロスフェード位置において、前記タイムストレッチ/ピッチシフト信号から前記リファレンス信号へのクロスフェード処理を実行するクロスフェード処理ステップと、を有することを特徴とする。
[0021]
請求項12に記載の発明は、上記の発明において、前記クロスフェード位置算出ステップは、前記類似性を評価する所定の評価関数を用いて前記クロスフェード位置を算出するとともに、該クロスフェード位置を算出する際に、前記タイムストレッチ/ピッチシフト信号の複数フレーム分の後部側ほど、該類似性の評価が高くなるように該評価関数に傾斜をつけた重み付けを行い、前記クロスフェード処理ステップは、クロスフェード処理後の信号長と、本来の信号長との差をストレッチ補正値として出力し、前記タイムストレッチ/ピッチシフト処理ステップは、前記ストレッチ補正値を用いて次の信号長の長さ補正を行う、ことを特徴とする。
[0022]
請求項13に記載の発明は、上記の発明において、前記入力オーディオ信号が、複数の帯域に分割されたオーディオ信号であり、前記タイムストレッチ/ピッチシフトステップおよび前記位相同期化処理ステップに基づく各処理を、該複数の帯域に分割された各オーディオ信号に対してそれぞれ行った信号を合成して出力することを特徴とする。
請求項14に記載の発明は、入力オーディオ信号を周波数分析した結果および要求されるタイムストレッチ/ピッチシフト量に基づき各周波数成分毎の正弦または余弦発振を行って合成処理することによりタイムストレッチおよび/またはピッチシフトをそれぞれ実行するタイムストレッチ/ピッチシフトステップと、タイムストレッチ/ピッチシフト処理されたタイムストレッチ/ピッチシフト信号の位相を調整するための位相同期化処理を行う位相同期化処理ステップと、を含むオーディオ信号処理方法であって、前記各位相同期化処理ステップは、タイムストレッチ/ピッチシフトが行われた現フレームにおけるタイムストレッチ/ピッチシフト信号波形の終端部の位相状態と、前記入力オーディオ信号波形の次回フレーム開始位置における位相状態と、の差を、該入力オーディオ信号波形の次回フレーム開始位置を時間軸方向にシフトすることで評価する評価ステップと、前記位相状態の差が最も小さいと評価されたときの時間シフト量を算出する時間シフト量算出ステップと、前記入力オーディオ信号の終端部における所定波長分の信号波形を切り出し、該切り出した終端部分波形を前記時間シフト量だけシフトさせた位相進み信号または位相遅れ信号を位相同期化信号として生成する位相同期化信号生成ステップと、前記タイムストレッチ/ピッチシフト信号の終端部において、該タイムストレッチ/ピッチシフト信号から前記位相同期化信号へのクロスフェード処理を実行するクロスフェード処理ステップと、を有することを特徴とする。
請求項15に記載の発明は、上記の発明において、前記時間シフト量に基づいて次回フレームにおける位相同期化処理のための位相補正値を算出する位相補正値算出ステップをさらに有し、前記位相同期化処理ステップは、前記タイムストレッチ/ピッチシフトが行われた現フレームにおけるタイムストレッチ/ピッチシフト信号波形の終端部の位相状態と前記入力オーディオ信号波形の次回フレーム開始位置における位相状態との差を評価するための評価関数として、該両波形間の複素平面上での距離を用いるとともに、前記位相状態の差を評価する際に、前記時間シフト量が、前記帯域分割されたオーディオ信号波形の次回フレーム開始位置を離れるに従って、該位相状態の差を評価した評価値が小さくなるような重み付けを行い、前記タイムストレッチ/ピッチシフト処理ステップは、前記位相補正値算出ステップによって生成された前記位相補正値に基づいて、前記タイムストレッチ/ピッチシフト信号の次回フレームにおける開始時の位相を補正する、ことを特徴とする。
請求項16に記載の発明は、上記の発明において、前記入力オーディオ信号が、複数の帯域に分割されたオーディオ信号であり、前記タイムストレッチ/ピッチシフトステップおよび前記位相同期化処理ステップに基づく各処理を、該複数の帯域に分割された各オーディオ信号に対してそれぞれ行った信号を合成して出力することを特徴とする。
請求項17に記載の発明では、上記の発明のいずれか一つに記載された方法をコンピュータに実行させるプログラムがコンピュータ読み取り可能となり、これによって、上記の発明のいずれか一つの動作がコンピュータによって実行される。
[0023]
本発明における位相同期化処理とは、各バンドにおいて時間伸縮やピッチ変換された合成波形に対し、時系列をずらしながら元々のバンド波形との類似性を評価し、類似性が高いと判定される箇所において、合成波形から元々のバンド波形に戻るようにクロスフェード処理をすることである。その結果、位相同期化処理が終了した時点、つまりクロスフェード処理が終わった時点の波形は元々のバンド波形と同じ位相状態となる。類似性を評価するのは、クロスフェード処理による不連続さを少なくし、聴感上違和感のない波形を得ることを目的としている。
[0024]
図8は位相同期化処理による効果を示している。(a)は、図7の(a)と同じオーディオ入力波形の位相状態を示している。(b)は(a)を時刻T1(=T/2)において位相同期化処理を実行しながら1/2に時間圧縮したものである。(a)のAとBに対応する周波数成分の位相をそれぞれA2、B2としている。
[0025]
図7で示される従来のボコーダ方式での時間圧縮は、時刻T1におけるA1とB1の
【書類名】 明細書
【発明の名称】 オーディオ信号処理装置、オーディオ信号処理方法およびその方法をコンピュータに実行させるプログラム
【技術分野】
【0001】
本発明は、ボコーダ方式によりタイムストレッチやピッチシフトを行うオーディオ波形処理に関する。
【背景技術】
【0002】
タイムストレッチとはオーディオ波形の音程はそのままで時間軸のみを伸縮させるものであり、ピッチシフトとは時間軸を変えずに音程のみを変化させる技術である。タイムストレッチやピッチシフトを行うオーディオ波形処理として、公知のものとしてボコーダ方式というものがある(例えば、特許文献1を参照。)。この方式は入力されたオーディオ波形を周波数分析し、タイムストレッチの際には時間軸を縮伸させ、ピッチシフトの際は出力する波形の周波数をスケーリングした後に、各周波数成分を加算するというものである。
【0003】
従来のボコーダ方式では、オーディオ入力波形とタイムストレッチ/ピッチシフト処理後の波形とでは、大きく位相が変化してしまう。図7に一例として、ある2チャンネルステレオオーディオ波形をタイムストレッチさせた際に生じる位相の変化を示している。グラフの横軸は時間軸、縦軸は周波数成分の位相を表している。(a)はオーディオ入力波形を周波数分析したもののうち、2つのチャンネルのある周波数帯域における成分AとBの位相変化を示している。(b)は(a)をボコーダ方式により1/2に時間圧縮した際の、AとBに対応するA1とB1の位相を示している。時間軸が1/2倍になるとともに、位相に関する縦軸も1/2倍になる。
【0004】
ここでストレッチ処理前の時刻Tと、時間圧縮後のT1(=T/2)に注目してみる。処理前の(a)のグラフでは時刻TにおけるAとBの位相差は2πであり、−πからπの表現をすると位相差は0である。時刻T以降もAとBの位相差は0で推移している。一方、時間圧縮後の時刻T1ではA1とB1の位相差はπであり、T1以降も位相差πで推移しており、A1とB1の位相の関係は、時間圧縮前のAとBとは明らかに変化している。
【0005】
上述した説明から明らかなように、ボコーダ方式では時間軸の伸縮を行うことにより、その伸縮の量だけ位相の遅れ/進みが発生する。ピッチシフトにおいても同様である。位相の変化量は周波数分析された各周波数成分間で異なり、ステレオオーディオの場合では各チャンネル間でも異なる。このため、音を打ち消しあったり、ステレオの音の定位感が崩れたりするなど聴感上の違和感が発生し、高品位なタイムストレッチやピッチシフトは実現できない。
【0006】
また、このボコーダ方式を改良し、音質を改善しようとする技術もこれまでに提案されている。例えば特許文献1では、オーディオ波形のレベルが大きく変化するアタック部分において帯域分割する際に発生するプリエコーに着目し、プリエコーの区間の始めにて位相をリセットする装置が開示されている。
【0007】
【特許文献1】 特開2001−117595号公報
【発明の開示】
【発明が解決しようとする課題】
【0008】
ところで、特許文献1に開示される形態のオーディオ波形装置の発明はアタック感を保つことを鑑みてなされたものであり、アタック後の位相の変化は問題とされていない。また、複雑にミックスされた曲ではアタック部分を検出するのが困難であるという問題もある。
【0009】
そこで本発明は、ボコーダ方式によりタイムストレッチやピッチシフトを行うオーディオ波形処理に関し、波形全体を通してボコーダ方式において必ず発生する位相の変化を軽減した、聴感上違和感のない高品位なオーディオ波形処理を提供することを目的とする。
【課題を解決するための手段】
【0010】
上記目的を達成するため、本発明によるオーディオ信号処理装置、オーディオ信号処理方法およびその方法をコンピュータに実行させるプログラムでは、オーディオ入力波形をそのまま1つのバンド(バンドとは周波数帯域のことであり、以下周波数帯域のことをバンドと呼ぶ)として扱うか複数バンドに周波数帯域分割し、各バンド波形に対して従来のボコーダ方式と同様に時間伸縮やピッチ変換を行いながら波形を合成し、各バンドの合成波形に対して一定の間隔で位相同期化処理を実行し、位相の変化を軽減させるようとするものである。更に各バンドの位相同期化処理後の波形を加算して、最終的な出力波形を得る。
【0011】
即ち、本発明のうち請求項1に記載の発明は、入力オーディオ信号を複数の帯域に分割する周波数帯域分割部と、複数の帯域に分割された各オーディオ信号を周波数分析した結果および要求されるタイムストレッチ/ピッチシフト量に基づき各周波数成分毎の正弦または余弦発振を行って合成処理することによりタイムストレッチおよび/またはピッチシフトをそれぞれ実行する複数のタイムストレッチ/ピッチシフト処理部と、該複数のタイムストレッチ/ピッチシフト処理部から出力されるタイムストレッチ/ピッチシフト信号の位相を調整するための位相同期化処理を行う複数の位相同期化処理部と、を備え、該複数の位相同期化処理部の出力を合成して出力するオーディオ信号処理装置であって、前記各位相同期化処理部は、前記帯域分割されたオーディオ信号から1フレーム中の終端部分波形を複数フレームに1回ずつ切り出し、該切り出した終端部分波形を前記タイムストレッチ/ピッチシフト量に基づいて変形して前記位相同期化処理のためのリファレンス信号を生成出力するリファレンス信号生成部と、前記タイムストレッチ/ピッチシフト信号の複数フレーム分の時間軸波形の中で前記リファレンス信号波形に類似している時間軸上での位置を該複数フレーム分の時間軸波形の後部側から探索し、類似性があると判定した探索位置を当該複数フレーム分における位相同期化処理のためのクロスフェード位置として検出するクロスフェード位置算出部と、前記検出した各クロスフェード位置において、前記タイムストレッチ/ピッチシフト信号から前記リファレンス信号へのクロスフェード処理を実行するクロスフェード処理部と、を備えたことを特徴とする。
【0012】
請求項2に記載の発明は、上記の発明において、前記クロスフェード位置算出部は、前記類似性を評価する所定の評価関数を用いて、前記クロスフェード位置を求めることを特徴とする。
【0013】
請求項3に記載の発明は、上記の発明において、前記クロスフェード処理部は、クロスフェード処理後の信号長と、本来の信号長との差をストレッチ補正値として出力し、前記タイムストレッチ/ピッチシフト処理部は、前記ストレッチ補正値を用いて次の信号長の長さ補正を行うことを特徴とする。
【0014】
請求項4に記載の発明は、上記の発明において、前記クロスフェード位置算出部は、前記タイムストレッチ/ピッチシフト信号の複数フレーム分の後部側ほど、前記類似性の評価が高くなるよう、前記評価関数に重み付けの傾斜をつけることを特徴とする。
【0015】
請求項5に記載の発明は、入力オーディオ信号を周波数分析した結果および要求されるタイムストレッチ/ピッチシフト量に基づき各周波数成分毎の正弦または余弦発振を行って合成処理することによりタイムストレッチおよび/またはピッチシフトをそれぞれ実行するタイムストレッチ/ピッチシフト処理部と、該タイムストレッチ/ピッチシフト処理部から出力されるタイムストレッチ/ピッチシフト信号の位相を調整するための位相同期化処理を行った信号を出力する位相同期化処理部と、を備えたオーディオ信号処理装置であって、前記位相同期化処理部は、前記入力オーディオ信号から1フレーム中の終端部分波形を複数フレームに1回ずつ切り出し、該切り出した終端部分波形を前記タイムストレッチ/ピッチシフト量に基づいて変形して前記位相同期化処理のためのリファレンス信号を生成出力するリファレンス信号生成部と、前記タイムストレッチ/ピッチシフト信号の複数フレーム分の時間軸波形の中で前記リファレンス信号波形に類似している時間軸上での位置を該複数フレーム分の時間軸波形の後部側から探索し、類似性があると判定した探索位置を当該複数フレーム分における位相同期化処理のためのクロスフェード位置として検出するクロスフェード位置算出部と、前記検出した各クロスフェード位置において、前記タイムストレッチ/ピッチシフト信号から前記リファレンス信号へのクロスフェード処理を実行するクロスフェード処理部と、を備えたことを特徴とする。
【0016】
請求項6に記載の発明は、入力オーディオ信号を複数の帯域に分割する周波数帯域分割部と、複数の帯域に分割された各オーディオ信号を周波数分析した結果および要求されるタイムストレッチ/ピッチシフト量に基づき各周波数成分毎の正弦または余弦発振を行って合成処理することによりタイムストレッチおよび/またはピッチシフトをそれぞれ実行する複数のタイムストレッチ/ピッチシフト処理部と、該複数のタイムストレッチ/ピッチシフト処理部から出力されるタイムストレッチ/ピッチシフト信号の位相を調整するための位相同期化処理を行う複数の位相同期化処理部と、を備え、該複数の位相同期化処理部の出力を合成して出力するオーディオ信号処理装置であって、前記各位相同期化処理部は、タイムストレッチ/ピッチシフトが行われた現フレームにおけるタイムストレッチ/ピッチシフト信号波形の終端部における位相状態と、前記帯域分割されたオーディオ信号波形の次回フレーム開始位置における位相状態と、の差を評価するために、該帯域分割されたオーディオ信号波形の次回フレーム開始位置を時間軸方向にシフトすることで該位相状態の差を評価し、該位相状態の差が最も小さいと評価されたときの時間シフト量を算出するとともに、該帯域分割されたオーディオ信号の終端部における所定波長分の信号波形を切り出し、該切り出した終端部分波形を前記時間シフト量だけシフトさせた位相進み信号または位相遅れ信号を位相同期化信号として生成する位相同期化信号生成部と、前記タイムストレッチ/ピッチシフト信号の終端部において、該タイムストレッチ/ピッチシフト信号から前記位相同期化信号へのクロスフェード処理を実行するクロスフェード処理部と、を備えたことを特徴とする。
【0017】
請求項7に記載の発明は、上記の発明において、前記各位相同期化処理部は、前記タイムストレッチ/ピッチシフトが行われた現フレームにおけるタイムストレッチ/ピッチシフト信号波形の終端部の位相状態と前記帯域分割されたオーディオ信号波形の次回フレーム開始位置における位相状態との差を評価するための評価関数として、該両波形間の複素平面上での距離を用いることを特徴とする。
【0018】
請求項8に記載の発明は、上記の発明において、前記位相同期化信号生成部は、前記時間シフト量に基づいて、次回フレームにおける位相同期化処理のための位相補正値を算出し、前記タイムストレッチ/ピッチシフト処理部は、前記位相同期化信号生成部から出力された前記位相補正値に基づいて、前記タイムストレッチ/ピッチシフト信号の次回フレームにおける開始時の位相を補正することを特徴とする。
【0019】
請求項9に記載の発明は、上記の発明において、前記各位相同期化処理部は、前記位相状態の差を評価する際に、前記時間シフト量が、前記帯域分割されたオーディオ信号波形の次回フレーム開始位置を離れるに従って、該位相状態の差を評価した評価値が小さくなるように重み付けすることを特徴とする。
【0020】
請求項10に記載の発明は、入力オーディオ信号を周波数分析した結果および要求されるタイムストレッチ/ピッチシフト量に基づき各周波数成分毎の正弦または余弦発振を行って合成処理することによりタイムストレッチおよび/またはピッチシフトをそれぞれ実行するタイムストレッチ/ピッチシフト処理部と、該タイムストレッチ/ピッチシフト処理部から出力されるタイムストレッチ/ピッチシフト信号の位相を調整するための位相同期化処理を行った信号を出力する位相同期化処理部と、を備えたオーディオ信号処理装置であって、前記位相同期化処理部は、タイムストレッチ/ピッチシフトが行われた現フレームにおけるタイムストレッチ/ピッチシフト信号波形の終端部の位相状態と、前記入力オーディオ信号波形の次回フレーム開始位置における位相状態と、の差を評価するために、該帯域分割されたオーディオ信号波形の次回フレーム開始位置を時間軸方向にシフトすることで該位相状態の差を評価し、該位相状態の差が最も小さいと評価されたときの時間シフト量を算出するとともに、該帯域分割されたオーディオ信号の終端部における所定波長分の信号波形を切り出し、該切り出した終端部分波形を前記時間シフト量だけシフトさせた位相進み信号または位相遅れ信号を位相同期化信号として生成する位相同期化信号生成部と、前記タイムストレッチ/ピッチシフト信号の終端部において、該タイムストレッチ/ピッチシフト信号から前記位相同期化信号へのクロスフェード処理を実行するクロスフェード処理部と、を備えたことを特徴とする。
【0021】
請求項11に記載の発明は、入力オーディオ信号を周波数分析した結果および要求されるタイムストレッチ/ピッチシフト量に基づき各周波数成分毎の正弦または余弦発振を行って合成処理することによりタイムストレッチおよび/またはピッチシフトをそれぞれ実行するタイムストレッチ/ピッチシフトステップと、タイムストレッチ/ピッチシフト処理されたタイムストレッチ/ピッチシフト信号の位相を調整するための位相同期化処理を行う位相同期化処理ステップと、を含むオーディオ信号処理方法であって、前記位相同期化処理ステップは、前記入力オーディオ信号から1フレーム中の終端部分波形を複数フレームに1回ずつ切り出し、該切り出した終端部分波形を前記タイムストレッチ/ピッチシフト量に基づいて変形して前記位相同期化処理のためのリファレンス信号を生成出力するリファレンス信号生成ステップと、前記タイムストレッチ/ピッチシフト信号の複数フレーム分の時間軸波形の中で前記リファレンス信号波形に類似している時間軸上での位置を該複数フレーム分の時間軸波形の後部側から探索し、類似性があると判定した探索位置を当該複数フレーム分における位相同期化処理のためのクロスフェード位置として検出するクロスフェード位置算出ステップと、前記検出した各クロスフェード位置において、前記タイムストレッチ/ピッチシフト信号から前記リファレンス信号へのクロスフェード処理を実行するクロスフェード処理ステップと、を有することを特徴とする。
【0022】
請求項12に記載の発明は、上記の発明において、前記クロスフェード位置算出ステップは、前記類似性を評価する所定の評価関数を用いて前記クロスフェード位置を算出するとともに、該クロスフェード位置を算出する際に、前記タイムストレッチ/ピッチシフト信号の複数フレーム分の後部側ほど、該類似性の評価が高くなるように該評価関数に傾斜をつけた重み付けを行い、前記クロスフェード処理ステップは、クロスフェード処理後の信号長と、本来の信号長との差をストレッチ補正値として出力し、前記タイムストレッチ/ピッチシフト処理ステップは、前記ストレッチ補正値を用いて次の信号長の長さ補正を行う、ことを特徴とする。
【0023】
請求項13に記載の発明は、上記の発明において、前記入力オーディオ信号が、複数の帯域に分割されたオーディオ信号であり、前記タイムストレッチ/ピッチシフトステップおよび前記位相同期化処理ステップに基づく各処理を、該複数の帯域に分割された各オーディオ信号に対してそれぞれ行った信号を合成して出力することを特徴とする。
【0024】
請求項14に記載の発明は、上記の発明において、入力オーディオ信号を周波数分析した結果および要求されるタイムストレッチ/ピッチシフト量に基づき各周波数成分毎の正弦または余弦発振を行って合成処理することによりタイムストレッチおよび/またはピッチシフトをそれぞれ実行するタイムストレッチ/ピッチシフトステップと、タイムストレッチ/ピッチシフト処理されたタイムストレッチ/ピッチシフト信号の位相を調整するための位相同期化処理を行う位相同期化処理ステップと、を含むオーディオ信号処理方法であって、前記位相同期化処理ステップは、タイムストレッチ/ピッチシフトが行われた現フレームにおけるタイムストレッチ/ピッチシフト信号波形の終端部の位相状態と、前記入力オーディオ信号波形の次回フレーム開始位置における位相状態と、の差を、該入力オーディオ信号波形の次回フレーム開始位置を時間軸方向にシフトすることで評価する評価ステップと、前記位相状態の差が最も小さいと評価されたときの時間シフト量を算出する時間シフト量算出ステップと、前記入力オーディオ信号の終端部における所定波長分の信号波形を切り出し、該切り出した終端部分波形を前記時間シフト量だけシフトさせた位相進み信号または位相遅れ信号を位相同期化信号として生成する位相同期化信号生成ステップと、前記タイムストレッチ/ピッチシフト信号の終端部において、該タイムストレッチ/ピッチシフト信号から前記位相同期化信号へのクロスフェード処理を実行するクロスフェード処理ステップと、を有することを特徴とする。
【0025】
請求項15に記載の発明は、上記の発明において、前記時間シフト量に基づいて次回フレームにおける位相同期化処理のための位相補正値を算出する位相補正値算出ステップをさらに有し、前記位相同期化処理ステップは、前記タイムストレッチ/ピッチシフトが行われた現フレームにおけるタイムストレッチ/ピッチシフト信号波形の終端部の位相状態と前記入力オーディオ信号波形の次回フレーム開始位置における位相状態との差を評価するための評価関数として、該両波形間の複素平面上での距離を用いるとともに、前記位相状態の差を評価する際に、前記時間シフト量が、前記入力オーディオ信号波形の次回フレーム開始位置を離れるに従って、該位相状態の差を評価した評価値が小さくなるような重み付けを行い、前記タイムストレッチ/ピッチシフト処理ステップは、前記位相補正値算出ステップによって生成された前記位相補正値に基づいて、前記タイムストレッチ/ピッチシフト信号の次回フレームにおける開始時の位相を補正する、ことを特徴とする。
【0026】
請求項16に記載の発明は、上記の発明において、前記入力オーディオ信号が、複数の帯域に分割されたオーディオ信号であり、前記タイムストレッチ/ピッチシフトステップおよび前記位相同期化処理ステップに基づく各処理を、該複数の帯域に分割された各オーディオ信号に対してそれぞれ行った信号を合成して出力することを特徴とする。
【0027】
請求項17に記載の発明では、上記の発明のいずれか一つに記載された方法をコンピュータに実行させるプログラムがコンピュータ読み取り可能となり、これによって、上記の発明のいずれか一つの動作がコンピュータによって実行される。
【0028】
本発明における位相同期化処理とは、各バンドにおいて時間伸縮やピッチ変換された合成波形に対し、時系列をずらしながら元々のバンド波形との類似性を評価し、類似性が高いと判定される箇所において、合成波形から元々のバンド波形に戻るようにクロスフェード処理をすることである。その結果、位相同期化処理が終了した時点、つまりクロスフェード処理が終わった時点の波形は元々のバンド波形と同じ位相状態となる。類似性を評価するのは、クロスフェード処理による不連続さを少なくし、聴感上違和感のない波形を得ることを目的としている。
【0029】
図8は位相同期化処理による効果を示している。(a)は、図7の(a)と同じオーディオ入力波形の位相状態を示している。(b)は(a)を時刻T1(=T/2)において位相同期化処理を実行しながら1/2に時間圧縮したものである。(a)のAとBに対応する周波数成分の位相をそれぞれA2、B2としている。
【0030】
図7で示される従来のボコーダ方式での時間圧縮は、時刻T1におけるA1とB1の位相関係は元々のそれから変化していた。しかし図8で明らかなように、位相同期化処理が行われた時刻T1ではA2の位相は6.5π、B2の位相は8.5πとなり、その差は2πであるので位相差はなくなり、元々のAとBと同じ位相の関係が保たれていることがわかる。
【0031】
上述した説明から明らかなように、ボコーダ方式によりタイムストレッチ/ピッチシフト処理をした合成波形に対して位相同期化処理を行うことにより、元の波形の位相関係が保たれることになる。この位相同期化処理を一定の間隔で実行することにより、そのつど元の波形の位相関係が保たれ、結果として波形全体を通して位相の変化が軽減された聴感上の違和感のないタイムストレッチ/ピッチシフト処理が可能となる。
【発明を実施するための最良の形態】
発明を実施するための最良の形態
【0032】
本発明の実施の形態を図面に基づき説明する。本発明はその趣旨を外れない限り、以下の実施例によって、限定されるものではない。
【実施例1】
【0033】
図1は本発明の第1の実施例にかかるオーディオ波形処理のブロック図を示している。この実施例で取り扱うオーディオ波形はデジタル化されている。
【0034】
オーディオ入力波形1は、周波数帯域分割部2でいくつかのバンドに分けられる。この実施例では6つのバンドに分割している。3はタイムストレッチ/ピッチシフト量設定部であり、使用者の操作によりパラメータが変化するものである。周波数帯域分割部2で生成されたバンド波形は、バンド成分合成部4−0〜4−5で周波数分析され、分析結果をもとに設定されるタイムストレッチ/ピッチシフト量に従い、時間軸の伸縮とピッチ変換を行いながら波形の合成処理をする。
【0035】
次に位相同期化処理部5−0〜5−5で、バンド成分合成部4で合成処理された波形と、周波数帯域分割部2において生成されたバンド原波形とを用い、位相同期化処理を行う。オーディオ出力波形6は各バンドの位相同期化処理部5の出力波形を加算合成したものである。また、位相同期化処理部5において出力する波形の長さに誤差が発生するため、補正値をバンド成分合成部4にフィードバックし、次回の合成処理時に出力される波形の長さを揃える操作をする。
【0036】
周波数帯域分割部2で分割するバンドの数とその帯域は、オーディオ入力波形にあわせて設定することが望ましい。単一楽器の演奏など単純なオーディオ信号に対しての分割は不要な場合があり、逆に複雑にミックスされた楽曲に対しては分割数を増やさなければいけない。また、図1のブロック図に示されているように、バンド単位で位相同期化処理が行われバンド内での位相変化は軽減されるが、バンド間での位相関係は崩れてしまう可能性がある。そのため、分割数が多すぎない適切な分割数と帯域を用いる必要がある。音階にして1オクターブ程度となる帯域幅に分割すると、音楽などのオーディオ入力波形に対して適切に処理ができる。
【0037】
図2は図1のバンド成分合成部4の詳細をブロック構成図で示している。ここではステレオ2チャンネルオーディオ波形を処理するものと想定している。7はタイムストレッチ量補正処理部であり、位相同期化処理部5で出力波形の長さに誤差が生じた場合にストレッチ量を補正し、位相リセット信号を付加するものである。
【0038】
図2のチャンネル分割処理部8は図1の周波数帯域分割部2で生成されたバンド波形を単一のチャンネルに分割する。ここでの分割数はオーディオ入力波形のチャンネル数により異なる。分割されたチャンネルごとに、以降の周波数分析とタイムストレッチ/ピッチシフト処理が行われる。
【0039】
図12は図2のチャンネル分割処理部8の波形データの流れを示している。ステレオ波形メモリ36には2つのチャンネルの波形データがひとまとめに配置されており、これをチャンネル0波形メモリ37とチャンネル1波形メモリ38にそれぞれのチャンネルのデータを配置し直し、周波数分析部9−0〜9−1へ渡す。また、このときデータを配置し直すのではなく、波形メモリ36におけるそれぞれのチャンネルの先頭アドレスを周波数分析部9−0〜9−1へ渡すことでも、同様の処理が可能である。
【0040】
次に図2の周波数分析部9−0〜9−1では、チャンネル分割処理部8で分割された波形に含まれる周波数、位相、振幅をSTFFT(短時間フーリエ変換、Short−Time Fast Fourier Transform)を用いて算出する。なお、一度のSTFFTで分析できるオーディオ波形の長さは、用いられる窓関数およびFFTサイズにより決まる。この長さを1フレームと定義し、1フレームごとに次に説明する波形合成が行われる。例えば44.1キロヘルツで離散化されたデジタルオーディオ波形を処理する場合には、窓関数およびFFTサイズは1024点を用いる。すると時間軸上の幅は約23.2ミリ秒であり、周波数軸上で約43ヘルツ刻みのデータが得られ、周波数分解能と時間分解能のバランスが良い。これよりも周波数分解能を高くする場合はFFTサイズを大きくし、時間分解能を高くする場合にはFFTサイズを小さくする。FFTで計算されたデータから平方根や逆正接演算を行い、図13に示すようにメモリアドレスに周波数成分の振幅AS/AE、位相PS/PE、瞬時角振動数Wのデータを格納する。1つの周波数成分の帯域幅は音階にして1半音程度が適切で、周波数帯域分割部2で1オクターブの帯域幅にバンドを分割した場合は、12個の周波数成分データが計算される。
【0041】
次に図2のタイムストレッチ/ピッチシフト処理部10−0〜10−1で、周波数分析部9で分析された結果と要求されるタイムストレッチ/ピッチシフト量に従い波形を合成する。周波数成分ごとに正弦または余弦発振を行い、それらを加算合成することで合成波形が得られる。このとき要求されるタイムストレッチ量に従い、波形を合成する時間軸を縮伸させる。時間軸の縮伸により振幅が不連続にならないように、振幅値の補間も行う。また、要求されるピッチシフト量に従い、発振の角振動数をスケーリングする。発振開始時の位相は、初回動作時や位相リセット信号が入力された場合には、周波数分析部9によって算出された位相を設定する。それ以外の場合は、前回フレームの発振終了時の位相をそのまま用い、フレーム間で滑らかに波形がつながるように処理する。これらの処理の構成は、図14のようになる。合成された波形データはメモリに格納され、チャンネル統合処理部11に渡される。
【0042】
更にチャンネル統合処理部11で、タイムストレッチ/ピッチシフト処理部10においてチャンネルごとに合成処理された波形は、オーディオ入力波形と同じチャンネル数になるようにステレオ化される。図15にチャンネル統合処理部11のデータの流れを示している。チャンネル0合成波形メモリ39とチャンネル1合成波形メモリ40に格納された波形は、ステレオ合成波形メモリ41にひとまとめに再配置される。またこのとき、チャンネル0合成波形メモリ39とチャンネル1合成波形メモリ40の先頭アドレスをステレオ合成波形メモリ41に保持し、それぞれのメモリアドレスを参照することでステレオ波形データとして扱う方法もある。ステレオ化されたバンド成分合成後のオーディオ波形は、更に位相同期化処理部5で処理される。
【0043】
図3は図1の位相同期化処理部5の詳細をブロック構成図で示している。図1のバンド成分合成部4で生成される1フレーム分の波形は、図3のバッファリング処理部12で一度蓄積される。これは、位相同期化処理にはある程度の長さの波形が必要であり、1フレームの長さでは不十分な場合があるためである。
【0044】
位相同期化処理に必要なフレーム数は、周波数帯域分割されたバンドごとに異なる。後述する位相同期化処理の類似性の評価には、合成波形に含まれる周期成分が数波長分必要であり、そのため必要な波形の長さは低域側のバンドでは長くなり、高域側では短くなる。
【0045】
また、フレーム数を長く取りすぎると位相同期化処理の間隔が広がってしまい、位相の変化が大きくなり、位相の変化による聴感上の違和感を知覚できてしまう。バンドの周波数帯域と聴感上の品質を考慮し、適切なフレーム数を用いることが望ましい。時間の長さとして40ミリ秒以内となるフレーム数であれば位相の変化による違和感はそれほど知覚できないが、低域側のバンドでは波長が長くなるため、5波長程度の波形が含まれるような40ミリ秒以上のフレーム数を用いる。
【0046】
図3のバッファリング処理部12で位相同期化処理に必要な長さの波形が蓄積されると波形は出力され、バッファはクリアされる。同時にリファレンス波形生成信号も出力され、リファレンス波形生成部13により、周波数帯域分割部2で分割されたバンド原波形から位相同期化処理のためのリファレンス波形が生成される。図16にバッファリング処理部のメモリ使用状況を示している。この図では位相同期化処理に必要な波形の長さは3フレームと想定しており、3フレーム分のバンド合成波形が蓄積されると波形は出力され、4フレーム目の合成波形はバッファリングメモリの先頭に配置される。
【0047】
リファレンス波形の生成法について図4を参照しながら説明する。この例では3フレームごとに位相同期化処理を行うものと想定している。図4(a)はバンド原波形とフレームがどのように対応しているかを示しており、フレーム3とフレーム6の処理後に位相同期化処理が発生する。図中で波形は上下2段に書かれているが、これはステレオオーディオ波形のそれぞれのチャネンルを分けて書いたものである。図4(b)はピッチシフトがない場合について、それぞれの位相同期化処理におけるリファレンス波形を示している。この波形は、位相同期化処理が実行されるまでの区間の最終フレーム、図中ではフレーム3とフレーム6の終端の一部をそのまま切り取ったものである。
【0048】
また、図4(c)はピッチシフトがある場合のリファレンス波形を示している。ここでは、1/2にピッチシフトした際の例を示している。図のように図4(b)の波形を時間軸に対し単純にスケーリングをしたものであり、時間軸の伸縮率はピッチシフトの周波数スケーリングの値をαとすると、1/αである。
【0049】
リファレンス波形の長さは、周期成分が1〜2波長程度含まれる長さが適切である。長すぎても短すぎても、次に説明する類似性の評価で良い結果が得られない。また、リファレンス波形生成時のピッチシフト処理は単純な時間軸のスケーリングを行うだけである。通常、時間軸のスケーリングによるピッチシフトは波形の長さが変化してしまうという問題があるが、リファレンス波形は類似性の評価とクロスフェード処理に用いるだけなので問題ない。図17に図3のリファレンス波形生成部13のデータの流れを示している。バッファリングメモリに蓄えられた波形データのうち、3フレーム目の終端部分のアドレスから波形データを読み出し、ピッチシフト量に応じて時間軸スケーリングし、リファレンス波形を出力するものである。
【0050】
次に図3の波形類似性評価部14では、バッファリング処理部12において蓄積された波形とリファレンス波形生成部13で生成された波形を用いて、2つの波形が時間軸上のどの時点で類似性が高いかを評価する。後のクロスフェード処理では、ここで求めた類似性が高い箇所がクロスフェード位置として用いられる。これを求めるには、類似性を評価する任意の評価関数を用意し、バッファリングされたバンド合成波形に対して時間軸をずらしながら評価関数を実行し、評価値の一番高い時点を結果とする。評価関数の例として、バンド合成波形とリファレンス波形の差分の絶対値を各サンプル点において計算し、それらを合算したものを評価値として用いるものが挙げられる。図18にこの評価法について具体的に説明している。この図ではリファレンス波形のサンプル点数はlrとしている。バッファに蓄積された波形データの一部を取り出し、リファレンス波形との差分の絶対値をn個のサンプル点全てにおいて計算し、それらの和を評価値としている。バッファリングメモリのアドレスをずらして波形の切り出しを行い、波形データ全体に対して評価値の計算を行う。このようにして計算された評価値のうち、より値の小さいものほど波形の差が少なく、類似性が高いといえる。
【0051】
次に、図3のリファレンス波形生成部13で生成された波形と波形類似性評価部14で算出されたクロスフェード位置を用い、クロスフェード処理部15でバッファリングされたバンド合成波形からリファレンス波形に戻るようにクロスフェード処理を行う。
【0052】
これまで説明した位相同期化処理の概念について図5に示す一例を参照しながら説明する。図5ではステレオオーディオ波形の2つのチャネンルを上下2段に分けて書いており、これはリファレンス波形生成と類似性評価とクロスフェード処理がステレオで行われることを示している。
【0053】
図5の(a)はバンド原波形を示しており、これを2倍にタイムストレッチすることを想定する。このとき、図5(a)のバンド原波形の長さをlとする。
【0054】
これまで説明した処理に従って、図3のバッファリング処理部12に蓄積される2倍にストレッチされたバンド合成波形図5(b)と、リファレンス波形生成部13により生成されるリファレンス波形図5(c)がそれぞれ得られる。このとき、図5(b)のバンド合成波形の長さをl(=l1×2)、図5(c)のリファレンス波形の長さをlrと定義する。また、これらの波形の類似性は図3の類似性評価部14で評価され、図5の算出されるクロスフェード位置をtcfとする。
【0055】
図5のクロスフェード処理は、算出されたクロスフェード位置tcfからリファレンス波形の長さの範囲、つまりtcfからのtcf+lrの区間で行われる。クロスフェード処理後の波形を図5(d)に示す。図からわかるように、クロスフェード終了後の波形の終端はリファレンス波形の終端と同じ値になる。つまり、バンド原波形と同じ位相状態に戻る(位相同期化される)ことになる。オーディオ入力波形がステレオであったとしても、上記の処理によりチャンネル間の位相関係は保たれる。この部分が本発明において特筆すべきところである。
【0056】
図19にクロスフェード処理の詳細を示している。この図では位相同期化処理に必要な波形の長さは3フレーム分であると想定している。バッファリングメモリに蓄積されたクロスフェード位置tcf以降の波形は、サンプル点ごとに比率計算され乗算される。同時にリファレンス波形に対しても比率計算を行い乗算し、乗算後の値の和を出力とする。図の比率計算は、線形補間によるクロスフェードの例を示している。また、クロスフェード位置tcf以前の波形は、そのまま出力波形として出力波形メモリに格納される。
【0057】
クロスフェード処理終了後の波形がそのままバンド出力波形となる。しかし、その長さはtcf+lであり、本来のストレッチされた波形の長さlよりも短くなっている。tcf+lr以降の残りのl−(tcf+lr)の長さに相当する部分は破棄されるため、その長さが位相同期化処理においての誤差として発生する。これを補正するために、誤差の値をストレッチ補正値として図2のバンド成分合成部のタイムストレッチ量補正処理部7に引き渡す。その結果、次回フレームではこの誤差の長さを加えて波形合成されるように処理され、本来の波形の長さが保たれる。
【0058】
この位相同期化処理による誤差が大きいと図1のバンド成分合成部4で生成される波形を破棄する量が増大し、処理効率の低下につながる。これを防止するためには誤差を小さくする必要がある。解決する手段の一つとして、図3の波形類似性評価部14の評価関数において、後ろの位置ほど評価値が高くなるような傾斜をかけるなどの工夫が考えられる。
【0059】
以上の処理を各バンドに対して行い、それらを加算して最終的なオーディオ出力波形を得る。
【0060】
次に、本発明のオーディオ信号処理装置について説明する。図6に本発明にかかる一実施例としてのオーディオ信号波形処理装置を示している。この例ではハードディスク駆動装置19やCD−ROM駆動装置20などの記録媒体上のオーディオ波形を、タイムストレッチやピッチシフトを行いながら再生して出力するものである。この例に限らず、本発明におけるオーディオ波形処理装置はサンプラーや電子楽器など多くの機器に搭載することができる。
【0061】
図6において、CPU16は装置の全体的な制御を司る中央処理装置、ROM17は制御プログラムを格納しているリード・オンリー・メモリ、RAM18は作業用のメモリエリアなどとして利用されるランダム・アクセス・メモリである。ハードディスク駆動装置19、CD−ROM駆動装置20は外部記憶装置でありオーディオ波形の入力として用いられる。音声出力装置21はデジタルオーディオ波形をアナログ化するD/A変換器とスピーカーで構成される。操作子群22は各種スイッチ類である。表示器230はタイムストレッチ/ピッチシフト量選択の際にパラメータを画面表示するなどに用いる表示器である。
【0062】
本発明におけるオーディオ信号処理方法をコンピュータに実行させるための命令群で構成されるプログラムはROM17に記憶され、ハードディスク駆動装置19やCD−ROM駆動装置20のオーディオ波形に対し、CPU16がRAM18をワーキングメモリとして使用しながら波形処理を行い、音声出力装置21のスピーカーから音として出力される。以上の構成により、ハードディスクやCD−ROMに記録された音楽に対し、高品位なタイムストレッチ/ピッチシフト処理を施したオーディオ再生装置が実現できる。
【実施例2】
【0063】
第1の実施例ではオーディオ入力波形を帯域分割して波形処理を実施する例を説明したが、オーディオ入力波形を帯域分割しない以下の手段を用いて、実施例1で説明したと同様な波形処理を実現できる。図1において、周波数帯域分割部2と、バンド成分合成部(バンド1)4−1 〜 バンド成分合成部(バンド5)4−5と、位相同期化処理部(バンド1)5−1 〜 位相同期化処理部(バンド5)5−5とを削除して、オーディオ入力波形1をバンド成分合成部(バンド0)4−0に直接入力して、実施例1で説明したと同様な波形処理を実施する。
【実施例3】
【0064】
次に、第3の実施例であり、上述の実施例1、2にかかる手段/手法を実行させるコンピュータプログラムについて説明する。図20にコンピュータプログラムのフローチャートを示している。最初に入力波形データを読み出し(ステップS1)、図1の周波数帯域分割部2と同様の周波数帯域分割処理(ステップS2)をし、バンドごとの波形を出力する。この処理は帯域通過フィルタを実現するための乗算や加算といった命令群や、フーリエ変換により帯域分割を実現する場合にはFFTを実行するための命令群から成る。
【0065】
次に、周波数帯域分割されたバンド波形データの瞬時振幅・角振動数・位相の分析処理(ステップS3)をする。この処理は図2の周波数分析部9−0〜9−1に相当する部分であり、FFTを実行するための命令群や、振幅を計算するための平方根、位相を計算するための逆正接関数などの命令群から成る。
【0066】
分析されたデータをもとに、波形合成処理(ステップS4)を実行する。この処理は図2のタイムストレッチ/ピッチシフト処理部10−0〜10−1と同様の処理である。発振器の役割をする余弦関数や振幅を掛け合わせるための乗算などの命令群から成り、タイムストレッチ/ピッチシフトされた波形が合成される。
【0067】
次に、合成された波形の長さが位相同期化処理に必要な長さに達したかを判定する(ステップS5)。達していない場合は再度ステップS1に戻り、合成波形をメモリに蓄積しながら必要な長さに達するまで処理を繰り返す。必要な長さに達した場合は次のステップに進む。この処理は図3のバッファリング処理部12と同様のものである。
【0068】
合成された波形に対して位相同期化処理(ステップS6)を実行する。この処理は図3のリファレンス波形生成部13、波形類似性評価部14、クロスフェード処理部15の処理に相当し、類似性の評価関数を実行するための減算などの命令群や、クロスフェード処理をするための乗算や加算といった命令群から成る。
【0069】
ステップS2からステップS6の処理は帯域分割されたバンドごとに行われ、それぞれのバンドの出力波形データを合算して、出力波形データ書き込み(ステップS7)を実行する。バンドの出力波形データの合算には加算の命令を使用する。次に、入力波形全体に対して処理が終了したかを判定し(ステップS8)、処理が終了していなければステップS1へ戻り繰り返し処理を実行し、入力波形全体に対して処理が終了していれば処理を終了する。
【実施例4】
【0070】
次に、本発明の実施例4について説明する。図9は第4の実施例としてのオーディオ波形処理のブロック図を示している。この実施例で取り扱うオーディオ波形はデジタル化されている。
【0071】
オーディオ入力波形23は、周波数帯域分割部24でいくつかのバンドに分けられる。この実施例では6つのバンドに分割している。25はタイムストレッチ/ピッチシフト量設定部であり、使用者の操作によりパラメータが変化するものである。周波数帯域分割部24で生成されたバンド波形は、バンド成分合成部26−0〜26−5で周波数分析され、分析結果をもとに設定されるタイムストレッチ/ピッチシフト量に従い、時間軸の伸縮とピッチ変換を行いながら波形の合成処理をする。
【0072】
次に位相同期化処理部27−0〜27−5で、バンド成分合成部26で合成処理された波形と周波数成分情報を用い、位相同期化処理を行う。オーディオ出力波形28は各バンドの位相同期化処理部27の出力波形を加算合成したものである。また、位相同期化処理部27において合成波形の位相状態は原波形の位相状態の線形な位相進み又は線形な位相遅れとなるので、位相補正値をバンド成分合成部26にフィードバックし、次回の合成処理時に適用される位相値を補正する操作をする。
【0073】
周波数帯域分割部24で分割するバンドの数とその帯域は、オーディオ入力波形にあわせて設定することが望ましい。単一楽器の演奏など単純なオーディオ信号に対しての分割は不要な場合があり、逆に複雑にミックスされた楽曲に対しては分割数を増やさなければいけない。また、ブロック図に示されているように、バンド単位で位相同期化処理が行われバンド内での位相変化は軽減されるが、バンド間での位相関係は崩れてしまう可能性がある。そのため、分割数が多すぎない適切な分割数と帯域を用いる必要がある。音階にして1オクターブ程度となる帯域幅に分割すると、音楽などのオーディオ入力波形に対して適切に処理ができる。
【0074】
図10は図9のバンド成分合成部26の詳細をブロック構成図で示している。ここではステレオ2チャンネルオーディオ波形を処理するものと想定している。チャンネル分割処理部29は周波数帯域分割部24で生成されたバンド波形を単一のチャンネルに分割する。ここでの分割数はオーディオ入力波形のチャンネル数により異なる。分割されたチャンネルごとに、以降の周波数分析とタイムストレッチ/ピッチシフト処理が行われる。
【0075】
図21は図10のチャンネル分割処理部29の波形データの流れを示している。ステレオ波形メモリ42には2つのチャンネルの波形データがひとまとめに配置されており、これをチャンネル0波形メモリ43とチャンネル1波形メモリ44にそれぞれのチャンネルのデータを配置し直し、周波数分析部30−0〜30−1へ渡す。また、このときデータを配置し直すのではなく、波形メモリ36におけるそれぞれのチャンネルの先頭アドレスを周波数分析部30−0〜30−1へ渡すことでも、同様の処理が可能である。
【0076】
次に図10の周波数分析部30−0〜30−1では、チャンネル分割処理部29で分割された波形に含まれる周波数、位相、振幅をSTFFT(短時間フーリエ変換、Short−Time Fast Fourier Transform)を用いて算出する。なお、一度のSTFFTで分析できるオーディオ波形の長さは、用いられる窓関数およびFFTサイズにより決まる。この長さを1フレームと定義し、1フレームごとに次に説明する波形合成が行われる。例えば44.1キロヘルツで離散化されたデジタルオーディオ波形を処理する場合には、窓関数およびFFTサイズは1024点を用いる。すると時間軸上の幅は約23.2ミリ秒であり、周波数軸上で約43ヘルツ刻みのデータが得られ、周波数分解能と時間分解能のバランスが良い。これよりも周波数分解能を高くする場合はFFTサイズを大きくし、時間分解能を高くする場合にはFFTサイズを小さくする。FFTで計算されたデータから平方根や逆正接演算を行い、図13に示すようにメモリアドレスに周波数成分の振幅AS/AE、位相PS/PE、瞬時角振動数Wのデータを格納する。1つの周波数成分の帯域幅は音階にして1半音程度が適切で、周波数帯域分割部2で1オクターブの帯域幅にバンドを分割した場合は、12個の周波数成分データが計算される。
【0077】
次に図10のタイムストレッチ/ピッチシフト処理部31−0〜31−1で、周波数分析部30で分析された結果と要求されるタイムストレッチ/ピッチシフト量に従い波形を合成する。周波数成分ごとに正弦または余弦発振を行い、それらを加算合成することで合成波形が得られる。このとき要求されるタイムストレッチ量に従い、波形を合成する時間軸を縮伸させる。時間軸の縮伸により振幅が不連続にならないように、振幅値の補間も行う。また、要求されるピッチシフト量に従い、発振の角振動数をスケーリングする。発振開始時の位相は、初回動作時には図10の周波数分析部30によって算出された位相を設定する。それ以外の場合で位相補正値が入力されていない状態では、前回フレームの発振終了時の位相をそのまま用い、フレーム間で滑らかに波形がつながるように処理する。位相補正値が入力されている場合は、以降で説明する位相同期化処理が行われた後のフレームであるため、位相補正値をもとに周波数分析部30によって分析された位相の線形な位相進み又は線形な位相遅れ状態を算出し、発振開始時の位相として用いる。これらの処理の構成は、図22のようになる。合成された波形データはメモリに格納され、チャンネル統合処理部32に渡される。
【0078】
更にチャンネル統合処理部32で、タイムストレッチ/ピッチシフト処理部31においてチャンネルごとに合成処理された波形は、オーディオ入力波形と同じチャンネル数になるようにステレオ化される。図23にチャンネル統合処理部31のデータの流れを示している。チャンネル0合成波形メモリ45とチャンネル1合成波形メモリ46に格納された波形は、ステレオ合成波形メモリ47にひとまとめに再配置される。またこのとき、チャンネル0合成波形メモリ45とチャンネル1合成波形メモリ46の先頭アドレスをステレオ合成波形メモリ47に保持し、それぞれのメモリアドレスを参照することでステレオ波形データとして扱う方法もある。ステレオ化されたバンド成分合成後のオーディオ波形は、更に位相同期化処理部27で処理される。
【0079】
図11は図9の位相同期化処理部27の詳細をブロック構成図で示している。バンド成分合成部26で生成される1フレーム分の波形は、バッファリング処理部33で一度蓄積される。これは、位相同期化処理にはある程度の長さの波形が必要であり、1フレームの長さでは不十分な場合があるためである。
【0080】
位相同期化処理に必要なフレーム数は、周波数帯域分割されたバンドごとに異なる。後述する位相同期化処理の類似性の評価には、合成波形に含まれる周期成分が数波長分必要であり、そのため必要な波形の長さは低域側のバンドでは長くなり、高域側では短くなる。
【0081】
また、フレーム数を長く取りすぎると位相同期化処理の間隔が広がってしまい、位相の変化が大きくなり、位相の変化による聴感上の違和感を知覚できてしまう。バンドの周波数帯域と聴感上の品質を考慮し、適切なフレーム数を用いることが望ましい。時間の長さとして40ミリ秒以内となるフレーム数であれば位相の変化による違和感はそれほど知覚できないが、低域側のバンドでは波長が長くなるため、5波長程度の波形が含まれるような40ミリ秒以上のフレーム数を用いる。
【0082】
図11のバッファリング処理部33で位相同期化処理に必要な長さの波形が蓄積されると波形は出力され、バッファはクリアされる。図16にバッファリング処理部33のメモリ使用状況を示している。この図では位相同期化処理に必要な波形の長さは3フレームと想定しており、3フレーム分のバンド合成波形が蓄積されると波形は出力され、4フレーム目の合成波形はバッファリングメモリの先頭に配置される。
【0083】
バッファリングされた波形の出力と同時に位相同期化波形生成信号も出力され、位相同期化波形生成部34により、バンド成分合成部26の周波数情報をもとに位相同期化波形が生成される。位相同期化波形とは、波形合成後の位相状態と相関が高く、かつ原波形の位相の線形な位相進み又は線形な位相遅れである波形である。線形な位相進み又は線形な位相遅れは時間領域での進みや遅れに対応するので、位相同期化波形は時間軸をずらして原波形を切り出したものと同等になる。図11のクロスフェード処理部35で、バッファリング波形から位相同期化波形へとクロスフェード処理をすることにより、ストレッチ/ピッチシフト処理を行っても原波形の位相状態を保つことが可能となる。
【0084】
位相同期化波形生成部34の処理について式を用いながら説明する。バンドに含まれる全チャンネルの周波数成分の数をnとし、周波数成分の振幅をa0、a1、・・・an-1、波形合成処理終了時の位相をθ0、θ1、・・・θn-1、瞬時角振動数をω0、ω1、・・・ωn-1とする。また、フレーム終了時の原波形の位相、つまり次回フレーム開始時の原波形の位相をφ0、φ1、・・・φn-1とする。これらの周波数成分情報は図9のバンド成分合成部26で計算され、図13のようにメモリ上に記録されたものが入力される。すなわち、a0、a1、・・・an-1はフレーム終了時の振幅AEに対応し、ω0、ω1、・・・ωn-1は瞬時角周波数Wに対応し、φ0、φ1、・・・φn-1はフレーム終了時の位相PEに対応する。また、θ0、θ1、・・・θn-1には図22の余弦発振器の発振終了時点における位相が参照される。
【0085】
波形合成処理終了時の位相状態と、次回フレーム開始時における原波形の位相状態の差を評価する式として、次のものを導入する。ここでeは自然対数である。
【0086】
【数1】
Figure 2006070768
【0087】
全ての周波数成分においてθ=φの場合は位相差がなく、評価式は0となる。位相差が大きければ大きいほど、評価式の値は大きくなる。タイムストレッチ/ピッチシフト処理を行うと通常はθ≠φであり、評価式は0にはならない。そこで、波形合成処理終了時の位相状態と、原波形において次回フレーム開始位置から時間領域でtずれたと仮定した位置の位相状態の差を評価する関数F(t)を導入する。時間軸での進み又は遅れは線形な位相進み又は線形な位相遅れに対応するので、F(t)は(数1)のφkをφk+ωktに置き換えた(数2)の式になる。
【0088】
【数2】
Figure 2006070768
【0089】
評価関数F(t)は0に近いほど位相差が少なく、波形としての相関も高い。したがって、評価関数F(t)が最小になる値tpを求め、原波形において次回フレーム開始位置から時間領域でtpずれたと仮定した波形を合成し、位相同期化波形として用いることで、クロスフェード処理の際に耳障りな音になるのを防ぐことができる。
【0090】
図11の位相同期化波形生成部34では、まずこのtpを求める。これを求めるには、ある時間領域、−tw<t<twの範囲において評価関数F(t)の値を求め、F(t)が最小となったものをtpとして採用すればよい。twの大きさは、バンドに含まれる周波数成分の数波長分の長さがよい。twが小さすぎるとF(t)の値が小さい地点が見つからない場合があり、逆にtwが大きいとtが0から離れすぎた地点ではF(t)の評価に誤差が生じてしまう。
【0091】
評価関数F(t)に誤差が生じる原因は、式中で瞬時角振動数ω0、ω1、・・・ωn-1を使用していることに起因する。ω0、ω1、・・・ωn-1は瞬間的な値であって、本来時間とともに刻々と変化するものである。F(t)の式ではω0、ω1、・・・ωn-1という固定値を使用しているため、tが0から離れるにしたがって、本来の原波形の位相状態とはかけはなれたものになり、位相状態の評価には適さない。そのため、twの値は大きすぎない適切な値にすることが重要である。また、同様の理由から、t=0近傍でF(t)の値が小さくなるように傾斜をかけ、tpが0に近い値をとるようにし、原波形の位相状態により近い位相同期化波形が得られるように工夫することも考えられる。
【0092】
評価関数F(t)の計算方法について詳細を図24に示している。図9のバンド成分合成部26で分析された周波数成分情報は図24の周波数成分メモリに格納されており、バンド成分合成部26における余弦発振器の発振終了時の位相と、時間領域での変数tともに評価値が計算される。図24ではn個の周波数成分があるものと想定しており、それぞれの成分について乗算、減算、余弦、平方根を用いて値を求め、それらを合算したものが評価値となる。これは(数2)の計算方法をブロック図で表したものである。変数tを−twからtwの範囲で変化させながら評価値を求め、評価値が最小となるときの変数tがtpとして採用される。
【0093】
次に、求められたtpをもとに位相同期化波形を合成する。合成処理は図10のタイムストレッチ/ピッチシフト処理部31と同様に、ピッチシフトを行いながらチャンネルごとに正弦または余弦発振する。位相同期化波形はクロスフェード処理に用いるだけなので、波形を合成する長さはバンドに含まれる周波数成分の数波長分の長さで充分であり、タイムストレッチは無視してよい。またこのとき、位相同期化波形の終端における位相状態が、次回フレーム開始時の原波形の位相状態からtpの分だけ線形な位相進み又は線形な位相遅れの状態になるように、発振開始時の位相状態を調整する必要がある。
【0094】
以上のようにして合成された位相同期化波形は、図11のクロスフェード処理部35へ出力される。クロスフェード処理部35では、バッファリング処理部33で蓄積されたバンド成分合成後の波形から、位相同期化波形へとクロスフェード処理を行う。クロスフェード処理は波形どうしの終端を揃えて行う。クロスフェード処理後の波形において、その終端の位相状態は、位相同期化波形の終端の位相状態と同一になり、したがって原波形の位相状態の線形な位相進み又は線形な位相遅れの状態となる。つまり、原波形と同等の位相状態を持つことになる。クロスフェード処理後の波形は最終的なバンド波形として出力される。
【0095】
また、図11の位相同期化波形生成部34で求められたtpは位相補正値として図9のバンド成分合成部26へ出力される。前述したとおり、位相補正値が出力されると次回フレームの合成処理開始時の位相は、原波形の位相状態の線形な位相進み又は線形な位相遅れとなり、クロスフェード処理後の波形と滑らかに繋る波形が次回フレームで合成される。
【0096】
これまで説明した図11の位相同期化波形生成部34とクロスフェード処理部35の概念について、図25を用いて説明する。図ではステレオオーディオ波形の2つのチャネンルを上下2段に分けて書いており、これは類似性評価と位相同期化波形生成とクロスフェード処理がステレオで行われることを示している。
【0097】
図25(a)はバンド原波形を示しており、これを2倍にタイムストレッチすることを想定する。バンド原波形をもとに、これまで説明した処理に従って、バッファリング処理部38に2倍にストレッチされたバンド合成波形図25(b)が蓄積される。バンド合成波形はバンド原波形を2倍にタイムストレッチしたものであるが、終端部分における周波数成分の位相関係はバンド原波形のものとはかけはなれたものになってしまい、ステレオの定位感が崩れるなど聴感上の違和感の原因となっている。
【0098】
図25(c)は、評価関数F(t)と位相同期化波形の生成の様子を示している。バンド合成波形の生成時に分析された周波数成分情報と発振器の発振終了時の位相をもとに、図24を用いて説明したように変数tを−twからtwの範囲で変化させながら評価値を計算する。図25(c)の中段にはtを変化させたときの、バンド原波形終端部分の線形位相進み又は遅れである波形を示している。これは線形位相進み又は遅れの波形がどのようなものであるのかを示しており、全てのtにおいて実際に処理されるものではなく、評価値が最小となる場合のtにおいてのみ位相同期化波形として波形合成される。図25(c)ではこのとき合成される波形の長さは、バンドに含まれる周波数成分の2波長分の長さとしている。
【0099】
図25(d)ではクロスフェード処理後の波形を示しており、図25(b)のバンド合成波形の終端部分と、図25(c)で合成された位相同期化波形の終端部分を揃えてクロスフェード処理が行われる。クロスフェード処理後の波形の終端部分は位相同期化波形の終端部分と同じ値を持ち、従ってバンド原波形の線形な位相の進み又は遅れ状態となる。これにより、オーディオ入力波形がステレオであったとしても、周波数成分の位相関係はバンド原波形ときわめて近いものとなり、位相同期化されたことになる。
【0100】
図26にクロスフェード処理の詳細を示している。この図では位相同期化処理に必要な波形の長さは3フレーム分(位相同期化処理期間)であると想定している。バッファリングメモリには図11のバッファリング処理部33によってフレーム合成波形が蓄積される。また、位相同期化波形生成部34により位相同期化波形が生成される。このとき、バッファリングメモリに蓄積されたバンド合成波形の長さをl、位相同期化波形の長さをlpとすると、バンド合成波形においてl−lpの地点からクロスフェード処理を開始し、2つの波形の終端部分を揃える。クロスフェード処理はサンプル点ごとにそれぞれの波形に対して比率計算を行い乗算し、乗算後の値の和を出力とする。図26の比率計算は、線形補間によるクロスフェードの例を示している。l−lp以前の波形は、そのまま出力波形として出力波形メモリに格納される。
【0101】
以上の処理を各バンドに対して行い、バンド波形出力を加算して最終的なオーディオ出力波形を得る。
【実施例5】
【0102】
第4の実施例ではオーディオ入力波形を帯域分割して波形処理を実施する例を説明したが、オーディオ入力波形を帯域分割しない以下の手段を用いて、実施例4で説明したと同様な波形処理を実現できる。図9において、周波数帯域分割部24と、バンド成分合成部(バンド1)26−1 〜 バンド成分合成部(バンド5)26−5と、位相同期化処理部(バンド1)27−1 〜 位相同期化処理部(バンド5)27−5とを削除して、オーディオ入力波形23をバンド成分合成部(バンド0)26−0に直接入力して、実施例4で説明したと同様な波形処理を実施する。
【実施例6】
【0103】
次に、第6の実施例である請求項10のコンピュータプログラムについて説明する。図20にコンピュータプログラムのフローチャートを示している。最初に入力波形データを読み出し(ステップS1)、図9の周波数帯域分割部24と同様の周波数帯域分割処理(ステップS2)をし、バンドごとの波形を出力する。この処理は帯域通過フィルタを実現するための乗算や加算といった命令群や、フーリエ変換により帯域分割を実現する場合にはFFTを実行するための命令群から成る。
【0104】
次に、周波数帯域分割されたバンド波形データの瞬時振幅・角振動数・位相分析処理(ステップS3)をする。この処理は図10の周波数分析部30−0〜30−1に相当する部分であり、FFTを実行するための命令群や、振幅を計算するための平方根、位相を計算するための逆正接関数などの命令群から成る。
【0105】
分析されたデータをもとに、波形合成処理(ステップS4)を実行する。この処理は図10のタイムストレッチ/ピッチシフト処理部31−0〜31−1と同様の処理である。発振器の役割をする余弦関数や振幅を掛け合わせるための乗算などの命令群から成り、タイムストレッチ/ピッチシフトされた波形が合成される。
【0106】
次に、合成された波形の長さが位相同期化処理に必要な長さに達したかを判定する(ステップS5)。達していない場合は再度ステップS1に戻り、合成波形をメモリに蓄積しながら必要な長さに達するまで処理を繰り返す。必要な長さに達した場合は次のステップに進む。この処理は図11のバッファリング処理部33と同様のものである。
【0107】
合成された波形に対して位相同期化処理(ステップS6)を実行する。この処理は図11の位相同期化波形生成部34、クロスフェード処理部35の処理に相当し、位相評価関数を実行するための減算や乗算や余弦や平方根などの命令群や、クロスフェード処理をするための乗算や加算といった命令群から成る。
【0108】
ステップS2からステップS6の処理は帯域分割されたバンドごとに行われ、それぞれのバンドの出力波形データを合算して、出力波形データ書き込み(ステップS7)を実行する。バンドの出力波形データの合算には加算の命令を使用する。次に、入力波形全体に対して処理が終了したかを判定し(ステップS8)、処理が終了していなければステップS1へ戻り繰り返し処理を実行し、入力波形全体に対して処理が終了していれば処理を終了する。
【0109】
(発明の効果)
本発明によれば、複数の周波数帯域に分割したバンドごとにオーディオ信号の周波数分析や合成処理を実施して、各バンドの原波形と合成処理後の波形との類似性を評価し、類似性の高い箇所において合成処理後の波形からバンド原波形へクロスフェード処理を行い、波形合成時に発生する位相の変化をリセットできるので、聴感上の違和感の無い高品位なオーディオ出力が得られる。
【0110】
本発明によれば、帯域分割をせずにオーディオ波形をそのまま1つのバンドと見なして原波形と合成処理後の波形との類似性を評価し、類似性の高い箇所において合成処理後の波形から原波形へクロスフェード処理を行い、波形合成時に発生する位相の変化をリセットできるので、聴感上の違和感の無い高品位なオーディオ出力がより少ない部品数で実現でき、オーディオ波形合成装置のより低価格化が実現できる。
【0111】
本発明によれば、本発明のいずれか一つに記載のオーディオ波形処理方法を市販のパーソナルコンピュータ用オーディオ処理プログラムで実施できるので、高品位のボコーダ方式オーディオ処理がよりいっそう低価格で実現できる。
【0112】
本発明によれば、周波数分析や合成処理がオーディオ信号を複数に周波数帯域分割したバンドごとに行われ、各バンドの合成処理後の位相状態と原波形の位相状態とを比較し、合成処理後の位相状態と相関が高く、かつ原波形の線形な位相進み又は線形な位相遅れである波形を位相同期化波形として生成し、合成処理後の波形から移動同期化波形へクロスフェード処理を行ない、波形合成時に発生する位相の変化をリセットできるので、聴感上の違和感の無い高品位なオーディオ出力が得られる。
【0113】
本発明によれば、帯域分割せずにオーディオ波形をそのまま1つのバンドと見なして処理することもできるので、聴感上の違和感の無い高品位なオーディオ出力がより少ない部品数で実現でき、オーディオ波形合成装置のより低価格化が実現できる。
【0114】
本発明によれば、各バンドの波形合成処理後の位相状態と各バンドの原波形の位相状態との差を評価する評価関数に波形間の複素数平面上での距離を用いるので、位相状態の差を比較的簡便な方法で評価でき、オーディオ波形合成装置の簡易化と高速化が図られる。
【0115】
すなわち、本発明のオーディオ信号処理装置、方法およびプログラムを用いることにより、オーディオ入力波形がモノラルであれステレオであれ、従来のボコーダ方式において必ず発生する位相の変化が波形全体を通して軽減され、高品位なタイムストレッチやピッチシフト処理を実現できるという効果がある。
【産業上の利用可能性】
【0116】
本発明によれば、複数の周波数帯域に分割したバンドごとにオーディオ信号の周波数分析や合成処理を実施して、各バンドの原波形と合成処理後の波形との類似性を評価し、類似性の高い箇所において合成処理後の波形からバンド原波形へクロスフェード処理を行い、波形合成時に発生する位相の変化をリセットできるので、聴感上の違和感の無い高品位なオーディオ出力が得られる。
【0117】
本発明によれば、帯域分割をせずにオーディオ波形をそのまま1つのバンドと見なして原波形と合成処理後の波形との類似性を評価し、類似性の高い箇所において合成処理後の波形から原波形へクロスフェード処理を行い、波形合成時に発生する位相の変化をリセットできるので、聴感上の違和感の無い高品位なオーディオ出力がより少ない部品数で実現でき、オーディオ波形合成装置のより低価格化が実現できる。
【0118】
本発明によれば、本発明のいずれか一つに記載のオーディオ波形処理方法を市販のパーソナルコンピュータ用オーディオ処理プログラムで実施できるので、高品位のボコーダ方式オーディオ処理がよりいっそう低価格で実現できる。
【0119】
本発明によれば、周波数分析や合成処理がオーディオ信号を複数に周波数帯域分割したバンドごとに行われ、各バンドの合成処理後の位相状態と原波形の位相状態とを比較し、合成処理後の位相状態と相関が高く、かつ原波形の線形な位相進み又は線形な位相遅れである波形を位相同期化波形として生成し、合成処理後の波形から移動同期化波形へクロスフェード処理を行ない、波形合成時に発生する位相の変化をリセットできるので、聴感上の違和感の無い高品位なオーディオ出力が得られる。
【0120】
本発明によれば、帯域分割せずにオーディオ波形をそのまま1つのバンドと見なして処理することもできるので、聴感上の違和感の無い高品位なオーディオ出力がより少ない部品数で実現でき、オーディオ波形合成装置のより低価格化が実現できる。
【0121】
本発明によれば、各バンドの波形合成処理後の位相状態と各バンドの原波形の位相状態との差を評価する評価関数に波形間の複素数平面上での距離を用いるので、位相状態の差を比較的簡便な方法で評価でき、オーディオ波形合成装置の簡易化と高速化が図られる。
【0122】
すなわち、本発明のオーディオ信号処理装置、方法およびプログラムを用いることにより、オーディオ入力波形がモノラルであれステレオであれ、従来のボコーダ方式において必ず発生する位相の変化が波形全体を通して軽減され、高品位なタイムストレッチやピッチシフト処理を実現できるという効果がある。
【図面の簡単な説明】
【0123】
【図1】 本発明における波形処理の流れを示すブロック図である。
【図2】 バンド成分合成部の詳細を説明するためのブロック図である。
【図3】 位相同期化処理部の詳細を説明するためのブロック図である。
【図4】 リファレンス波形生成法を説明するための図である。
【図5】 位相同期化処理の概念を説明するための図である。
【図6】 本発明にかかる一実施例としてのオーディオ信号処理装置を示す図である。
【図7】 従来のボコーダ方式による位相の変化の様子を説明するための図である。
【図8】 本発明の位相同期化処理による効果を説明するための図である。
【図9】 本発明における波形処理の流れを示すブロック図である。
【図10】 バンド成分合成部の詳細を説明するためのブロック図である。
【図11】 位相同期化処理部の詳細を説明するためのブロック図である。
【図12】 チャンネル分割処理部の詳細を説明するための図である。
【図13】 周波数分析部においてメモリに格納される情報を説明するための図である。
【図14】 タイムストレッチ/ピッチシフト処理を説明するための図である。
【図15】 チャンネル統合処理部の詳細を説明するための図である。
【図16】 バッファリング処理部のメモリ使用状況を説明するための図である。
【図17】 リファレンス波形生成のデータの流れを説明するための図である。
【図18】 波形類似性評価部の評価の詳細を説明するためのブロック図である。
【図19】 クロスフェード処理の詳細を説明するためのブロック図である。
【図20】 本発明のコンピュータプログラムを説明するためのフローチャートである。
【図21】 チャンネル分割処理部の詳細を説明するための図である。
【図22】 タイムストレッチ/ピッチシフト処理を説明するための図である。
【図23】 チャンネル統合処理部の詳細を説明するための図である。
【図24】 評価関数を用いて位相差の評価値を求める方法を説明するためのブロック図である。
【図25】 波形類似性評価部の評価の詳細を説明するためのブロック図である。
【図26】 クロスフェード処理の詳細を説明するためのブロック図である。
【符号の説明】
【0124】
1 オーディオ入力波形
2 周波数帯域分割部
3 タイムストレッチ/ピッチシフト量設定部
4 バンド成分合成部
5 位相同期化処理部
6 オーディオ出力波形
7 タイムストレッチ量補正部
8 チャンネル分割処理部
9 周波数分析部
10 タイムストレッチ/ピッチシフト処理部
11 チャンネル統合処理部
12 バッファリング処理部
13 リファレンス波形生成部
14 波形類似性評価部
15 クロスフェード処理部
16 CPU(中央処理装置)
17 ROM(リード・オンリー・メモリ)
18 RAM(ランダム・アクセス・メモリ)
19 ハードディスク駆動装置
20 CD−ROM駆動装置
21 音声出力装置
22 操作子群
23 オーディオ入力波形
24 周波数帯域分割部
25 タイムストレッチ/ピッチシフト量設定部
26 バンド成分合成部
27 位相同期化処理部
28オーディオ出力波形
29 チャンネル分割処理部
30 周波数分析部
31 タイムストレッチ/ピッチシフト処理部
32 チャンネル統合処理部
33 バッファリング処理部
34 位相同期化波形生成部
35 クロスフェード処理部
36 ステレオ波形メモリ
37 チャンネル0波形メモリ
38 チャンネル1波形メモリ
39 チャンネル0合成波形メモリ
40 チャンネル1合成波形メモリ
41 ステレオ合成波形メモリ
42 ステレオ波形メモリ
43 チャンネル0波形メモリ
44 チャンネル1波形メモリ
45 チャンネル0合成波形メモリ
46 チャンネル1合成波形メモリ
47 ステレオ合成波形メモリ
230 表示器

Claims (13)

  1. オーディオ波形を周波数分析し各周波数成分を必要に応じ時間圧縮/伸長やピッチ変換を行いながら正弦波もしくは余弦波合成処理するオーディオ波形処理装置であって、その周波数分析や合成処理はオーディオ信号を複数に周波数帯域分割したバンドごとに行われ、各バンドの原波形と合成処理後の波形との類似性を評価し、類似性の高い箇所において合成処理後の波形からバンド原波形へクロスフェード処理を行うことにより、波形合成時に発生する位相の変化をリセットするように構成したオーディオ波形処理装置。
  2. 上記の装置の周波数帯域分割において、帯域分割せずにオーディオ波形をそのまま1つのバンドと見なし処理するように構成したオーディオ波形処理装置。
  3. オーディオ波形を周波数分析し各周波数成分を必要に応じ時間圧縮/伸長やピッチ変換を行いながら正弦波もしくは余弦波合成処理するオーディオ波形処理方式であって、その周波数分析や合成処理はオーディオ信号を複数に周波数帯域分割したバンドごとに行われ、各バンドの原波形と合成処理後の波形との類似性を評価し、類似性の高い箇所において合成処理後の波形からバンド原波形へクロスフェード処理を行うことにより、波形合成時に発生する位相の変化をリセットするように構成したオーディオ波形処理方式。
  4. 上記の方式の周波数帯域分割において、帯域分割せずにオーディオ波形をそのまま1つのバンドと見なし処理するように構成したオーディオ波形処理方式。
  5. 請求項3、4のいずれかに記載のオーディオ波形処理方法をコンピュータに実行させるための命令群で構成されるコンピュータプログラム。
  6. オーディオ波形を周波数分析して各周波数成分を必要に応じ時間圧縮/伸長やピッチ変換を行いながら正弦波もしくは余弦波合成処理するオーディオ波形処理装置であって、その周波数分析を複数に周波数帯域分割したオーディオ信号のバンドごとに実施して、各バンドの前記波形合成処理後の位相状態と各バンドの原波形の位相状態とを評価関数を用いて比較して、合成処理後の位相状態と相関が高い原波形に対して線形な位相進み又は線形な位相遅れを有する波形を位相同期化波形として生成し、前記合成処理後の波形から前記の生成した位相同期化波形へ位相同期化処理期間でクロスフェード処理を行うことにより、波形合成時に発生する位相の変化を位相同期化処理期間でリセットするように構成したオーディオ波形処理装置。
  7. 請求項6の装置の周波数帯域分割において、帯域分割せずにオーディオ波形をそのまま1つのバンドと見なし処理するように構成したオーディオ波形処理装置。
  8. オーディオ波形を周波数分析して各周波数成分を必要に応じ時間圧縮/伸長やピッチ変換を行いながら正弦波もしくは余弦波合成処理するオーディオ波形処理方式であって、その周波数分析を複数に周波数帯域分割したオーディオ信号のバンドごとに実施して、各バンドの前記波形合成処理後の位相状態と各バンドの原波形の位相状態とを評価関数を用いて比較して、合成処理後の位相状態と相関が高い原波形に対して線形な位相進み又は線形な位相遅れを有する波形を位相同期化波形として生成し、前記合成処理後の波形から前記の生成した位相同期化波形へ位相同期化処理期間でクロスフェード処理を行うことにより、波形合成時に発生する位相の変化を位相同期化処理期間でリセットするように構成したオーディオ波形処理方式。
  9. 請求項8の方式の周波数帯域分割において、帯域分割せずにオーディオ波形をそのまま1つのバンドと見なして処理するように構成したオーディオ波形処理方式。
  10. 請求項8、9のいずれかに記載のオーディオ波形処理方法をコンピュータに実行させるための命令群で構成されるコンピュータプログラム。
  11. 請求項6、7の各バンドの波形合成処理後の位相状態と各バンドの原波形の位相状態との差を評価する評価関数に波形間の複素数平面上での距離を用いることを特徴とするオーディオ波形処理装置。
  12. 請求項8、9の各バンドの波形合成処理後の位相状態と各バンドの原波形の位相状態との差を評価する評価関数に波形間の複素数平面上での距離を用いることを特徴とするオーディオ波形処理方式。
  13. 請求項10の波形合成処理後の位相状態と各バンドの原波形の位相状態との差を評価するコンピュータプログラム演算で、評価関数として波形間の複素数平面上での距離を用いることを特徴とするコンピュータプログラム。
JP2006550774A 2004-12-27 2005-12-26 オーディオ信号処理装置、オーディオ信号処理方法およびその方法をコンピュータに実行させるプログラム Active JP4031813B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2004382895 2004-12-27
JP2004382895 2004-12-27
PCT/JP2005/023828 WO2006070768A1 (ja) 2004-12-27 2005-12-26 オーディオ波形処理装置、方式およびプログラム

Publications (2)

Publication Number Publication Date
JP4031813B2 JP4031813B2 (ja) 2008-01-09
JPWO2006070768A1 true JPWO2006070768A1 (ja) 2008-08-07

Family

ID=36614885

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006550774A Active JP4031813B2 (ja) 2004-12-27 2005-12-26 オーディオ信号処理装置、オーディオ信号処理方法およびその方法をコンピュータに実行させるプログラム

Country Status (5)

Country Link
US (1) US8296143B2 (ja)
EP (1) EP1840871B1 (ja)
JP (1) JP4031813B2 (ja)
KR (1) KR101286168B1 (ja)
WO (1) WO2006070768A1 (ja)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1938325A2 (en) * 2005-09-30 2008-07-02 Koninklijke Philips Electronics N.V. Method and apparatus for processing audio for playback
JP4827661B2 (ja) * 2006-08-30 2011-11-30 富士通株式会社 信号処理方法及び装置
WO2011080855A1 (ja) * 2009-12-28 2011-07-07 三菱電機株式会社 音声信号復元装置および音声信号復元方法
US8762158B2 (en) * 2010-08-06 2014-06-24 Samsung Electronics Co., Ltd. Decoding method and decoding apparatus therefor
KR102038171B1 (ko) * 2012-03-29 2019-10-29 스뮬, 인코포레이티드 타겟 운율 또는 리듬이 있는 노래, 랩 또는 다른 가청 표현으로의 스피치 자동 변환
JP2014041240A (ja) * 2012-08-22 2014-03-06 Pioneer Electronic Corp タイムスケーリング方法、ピッチシフト方法、オーディオデータ処理装置およびプログラム
JP6428256B2 (ja) * 2014-12-25 2018-11-28 ヤマハ株式会社 音声処理装置
EP3392884A1 (en) * 2017-04-21 2018-10-24 audEERING GmbH A method for automatic affective state inference and an automated affective state inference system
US10887709B1 (en) * 2019-09-25 2021-01-05 Amazon Technologies, Inc. Aligned beam merger
JP7488703B2 (ja) * 2020-06-18 2024-05-22 フォルシアクラリオン・エレクトロニクス株式会社 信号処理装置及び信号処理プログラム

Family Cites Families (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5650398A (en) * 1979-10-01 1981-05-07 Hitachi Ltd Sound synthesizer
DE69228211T2 (de) * 1991-08-09 1999-07-08 Koninkl Philips Electronics Nv Verfahren und Apparat zur Handhabung von Höhe und Dauer eines physikalischen Audiosignals
JP3218679B2 (ja) * 1992-04-15 2001-10-15 ソニー株式会社 高能率符号化方法
US5386493A (en) * 1992-09-25 1995-01-31 Apple Computer, Inc. Apparatus and method for playing back audio at faster or slower rates without pitch distortion
JP3296648B2 (ja) * 1993-11-30 2002-07-02 三洋電機株式会社 ディジタル音程変換における不連続点の改善処理方法およびその装置
US5920842A (en) * 1994-10-12 1999-07-06 Pixel Instruments Signal synchronization
US5842172A (en) * 1995-04-21 1998-11-24 Tensortech Corporation Method and apparatus for modifying the play time of digital audio tracks
SG65729A1 (en) * 1997-01-31 1999-06-22 Yamaha Corp Tone generating device and method using a time stretch/compression control technique
JP3017715B2 (ja) * 1997-10-31 2000-03-13 松下電器産業株式会社 音声再生装置
JP3540609B2 (ja) * 1998-06-15 2004-07-07 ヤマハ株式会社 音声変換装置及び音声変換方法
JP3294192B2 (ja) 1998-06-22 2002-06-24 ヤマハ株式会社 音声変換装置及び音声変換方法
JP3502265B2 (ja) 1998-06-15 2004-03-02 ヤマハ株式会社 音声分析装置、音声分析方法、および音声分析プログラムを記録した記録媒体
JP3949828B2 (ja) 1998-10-15 2007-07-25 ヤマハ株式会社 音声変換装置及び音声変換方法
JP3706249B2 (ja) 1998-06-16 2005-10-12 ヤマハ株式会社 音声変換装置、音声変換方法、および音声変換プログラムを記録した記録媒体
TW430778B (en) 1998-06-15 2001-04-21 Yamaha Corp Voice converter with extraction and modification of attribute data
JP3540159B2 (ja) * 1998-06-18 2004-07-07 ヤマハ株式会社 音声変換装置及び音声変換方法
JP3644263B2 (ja) * 1998-07-31 2005-04-27 ヤマハ株式会社 波形形成装置及び方法
JP3430974B2 (ja) * 1999-06-22 2003-07-28 ヤマハ株式会社 ステレオ信号の時間軸圧伸方法及び装置
JP2001084000A (ja) * 1999-09-08 2001-03-30 Roland Corp 波形再生装置
JP4344438B2 (ja) 1999-10-22 2009-10-14 ローランド株式会社 オーディオ信号波形処理装置
TW525146B (en) * 2000-09-22 2003-03-21 Matsushita Electric Ind Co Ltd Method and apparatus for shifting pitch of acoustic signals
JP4067762B2 (ja) * 2000-12-28 2008-03-26 ヤマハ株式会社 歌唱合成装置
US20020116178A1 (en) 2001-04-13 2002-08-22 Crockett Brett G. High quality time-scaling and pitch-scaling of audio signals
WO2002084645A2 (en) 2001-04-13 2002-10-24 Dolby Laboratories Licensing Corporation High quality time-scaling and pitch-scaling of audio signals
US7610205B2 (en) 2002-02-12 2009-10-27 Dolby Laboratories Licensing Corporation High quality time-scaling and pitch-scaling of audio signals
JP2003022100A (ja) * 2001-07-09 2003-01-24 Yamaha Corp 雑音除去方法、雑音除去装置およびプログラム
EP1304680A3 (en) * 2001-09-13 2004-03-03 Yamaha Corporation Apparatus and method for synthesizing a plurality of waveforms in synchronized manner
DE10148351B4 (de) * 2001-09-29 2007-06-21 Grundig Multimedia B.V. Verfahren und Vorrichtung zur Auswahl eines Klangalgorithmus
EP1446796A1 (en) 2001-10-26 2004-08-18 Koninklijke Philips Electronics N.V. Tracking of sinusoidal parameters in an audio coder
US7764758B2 (en) * 2003-01-30 2010-07-27 Lsi Corporation Apparatus and/or method for variable data rate conversion
US7521623B2 (en) * 2004-11-24 2009-04-21 Apple Inc. Music synchronization arrangement
US20040254660A1 (en) * 2003-05-28 2004-12-16 Alan Seefeldt Method and device to process digital media streams
US7571104B2 (en) * 2005-05-26 2009-08-04 Qnx Software Systems (Wavemakers), Inc. Dynamic real-time cross-fading of voice prompts

Also Published As

Publication number Publication date
WO2006070768A1 (ja) 2006-07-06
EP1840871B1 (en) 2017-07-12
EP1840871A1 (en) 2007-10-03
US20080033726A1 (en) 2008-02-07
US8296143B2 (en) 2012-10-23
KR20070100334A (ko) 2007-10-10
KR101286168B1 (ko) 2013-07-15
JP4031813B2 (ja) 2008-01-09
EP1840871A4 (en) 2009-04-29

Similar Documents

Publication Publication Date Title
JP4031813B2 (ja) オーディオ信号処理装置、オーディオ信号処理方法およびその方法をコンピュータに実行させるプログラム
US11410637B2 (en) Voice synthesis method, voice synthesis device, and storage medium
JP4734961B2 (ja) 音響効果付与装置、及びプログラム
JP2007316254A (ja) オーディオ信号補間方法及びオーディオ信号補間装置
JP4293712B2 (ja) オーディオ波形再生装置
JP2006080708A (ja) 音声信号処理装置および音声信号処理方法
JP4550652B2 (ja) 音響信号処理装置、音響信号処理プログラム及び音響信号処理方法
JP4076887B2 (ja) ボコーダ装置
JP3430985B2 (ja) 合成音生成装置
US8492639B2 (en) Audio processing apparatus and method
WO2006090553A1 (ja) 音声帯域拡張装置
JP3780857B2 (ja) 波形編集方法および波形編集装置
JP2007248551A (ja) 波形データ生産方法、波形データ生産装置、プログラムおよび波形メモリ生産方法
JP5552794B2 (ja) 音響信号の符号化方法および装置
JP4868042B2 (ja) データ変換装置およびデータ変換プログラム
JP5251381B2 (ja) 音処理装置およびプログラム
JP4816507B2 (ja) 音声分析合成装置、及びプログラム
JP3733964B2 (ja) 分析結果を用いた音源波形合成装置
JP5807419B2 (ja) 信号処理装置
JP6131574B2 (ja) 音声信号処理装置、方法、及びプログラム
JP2009186762A (ja) 拍タイミング情報生成装置およびプログラム
JP5211437B2 (ja) 音声処理装置およびプログラム
Ghanavi Final Proposal for Digital Audio Systems, DESC9115, 2018
JP3541073B2 (ja) 楽音制御装置
JP5609280B2 (ja) 音響信号の符号化方法および装置

Legal Events

Date Code Title Description
TRDD Decision of grant or rejection written
A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20071011

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20071016

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20071019

R150 Certificate of patent or registration of utility model

Ref document number: 4031813

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101026

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101026

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131026

Year of fee payment: 6

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131026

Year of fee payment: 6

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131026

Year of fee payment: 6

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250