(57)【特許請求の範囲】
【請求項１】
音声データ再生中の任意の時点を選択する入力操作を受け付ける入力操作部と、
前記入力操作により選択された前記時点を含む探索範囲の音声データを記憶する記憶部と、
前記探索範囲の音声データを用いて、前記探索範囲の中から前記音声データが示す信号が立ち上がっている途中において振幅がゼロになるゼロクロス点を２つ、または、前記音声データが示す信号が立ち下がっている途中において振幅がゼロになるゼロクロス点を２つ検出するゼロクロス点検出部と、
検出した２つのゼロクロス点の間の音声データを繰り返し再生するリピート処理部と
を備え、
前記記憶部は、前記入力操作により選択された前記時点を中心とした前記探索範囲の音声データを記憶し、
前記ゼロクロス点検出部は、前記探索範囲の中心を境にして前記探索範囲を２分割した前半部分および後半部分の中から、前記ゼロクロス点を１つずつ検出する
ことを特徴とする音声再生装置。
【請求項２】
請求項１に記載された音声再生装置であって、
前記探索範囲の音声データが示す信号の包絡線を検出する包絡線検出部と、
前記探索範囲の中から、前記包絡線の傾きが閾値以下となる安定区間を検出する安定区間検出部とを更に備え、
前記ゼロクロス点検出部は、前記安定区間の中から、前記２つのゼロクロス点を検出する
ことを特徴とする音声再生装置。
【請求項３】
請求項１又は２に記載された音声再生装置であって、
前記２つのゼロクロス点をそれぞれ始点とする所定のクロスフェード領域の音声データをクロスフェードさせるクロスフェード部を更に備え、
前記リピート処理部は、クロスフェードされた前記２つのゼロクロス点の間の音声データを繰り返し再生する
ことを特徴とする音声再生装置。
【請求項４】
音声データ再生中の任意の時点を選択する入力操作を受け付け、
前記入力操作により選択された前記時点を含み、前記時点を中心とした探索範囲の音声データを記憶し、
前記探索範囲の音声データを用いて、前記探索範囲の中心を境にして前記探索範囲を２分割した前半部分および後半部分の中から、前記音声データが示す信号が立ち上がっている途中において振幅がゼロになるゼロクロス点を１つずつ検出し、または、前記探索範囲の中心を境にして前記探索範囲を２分割した前半部分および後半部分の中から、前記音声データが示す信号が立ち下がっている途中において振幅がゼロになるゼロクロス点を１つずつ検出し、前記探索範囲の中から前記音声データが示す信号が立ち上がっている途中において振幅がゼロになるゼロクロス点を２つ、または、前記音声データが示す信号が立ち下がっている途中において振幅がゼロになるゼロクロス点を２つ検出し、
検出した２つのゼロクロス点の間の音声データを繰り返し再生する
ことを特徴とする音声再生方法。
【請求項５】
コンピュータに、
音声データ再生中の任意の時点を選択する入力操作を受け付ける手順と、
前記入力操作により選択された前記時点を含み、前記時点を中心とした探索範囲の音声データを前記コンピュータが備える記憶部に記憶させる手順と、
前記記憶部に記憶された前記探索範囲の音声データを用いて、前記探索範囲の中心を境にして前記探索範囲を２分割した前半部分および後半部分の中から、前記音声データが示す信号が立ち上がっている途中において振幅がゼロになるゼロクロス点を１つずつ検出し、または、前記探索範囲の中心を境にして前記探索範囲を２分割した前半部分および後半部分の中から、前記音声データが示す信号が立ち下がっている途中において振幅がゼロになるゼロクロス点を１つずつ検出し、前記探索範囲の中から前記音声データが示す信号が立ち上がっている途中において振幅がゼロになるゼロクロス点を２つ、または、前記音声データが示す信号が立ち下がっている途中において振幅がゼロになるゼロクロス点を２つ検出する手順と、
検出した２つのゼロクロス点の間の音声データを繰り返し再生する手順と
を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、所定の区間の音声データを繰り返し再生する音声再生装置及び音声再生方法、及び所定の区間の音声データを繰り返し再生するためのコンピュータプログラムに関する。
【背景技術】
【０００２】
従来から、ユーザにより任意に設定された区間の演奏データを繰り返し再生する機能を有する演奏データ再生機器が、例えば特許文献１により、知られている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００５−２６６３９２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかし、特許文献１では、繰り返し再生する演奏データは小節単位でしか設定及び変更できない。
【０００５】
本発明は、上記課題に鑑みて成されたものであり、その目的は、より短い区間で、良好に繰り返し再生することができる音声再生装置、音声再生方法、コンピュータプログラムを提供することである。
【課題を解決するための手段】
【０００６】
上記目的を達成するため、本発明の一実施形態は、音声データ再生中の任意の時点（ＣＴ）を選択する入力操作を受け付ける入力操作部（５）と、入力操作により選択された時点（ＣＴ）を含む探索範囲（ＳＲＲ）の音声データを記憶する記憶部（４１）と、探索範囲（ＳＲＲ）の音声データを用いて、探索範囲（ＳＲＲ）の中から音声データが示す信号（ＳＧ）が立ち上がっている途中において振幅がゼロになるゼロクロス点（ＺＣＰ１、ＺＣＰ２）を２つ、または、前記音声データが示す信号が立ち下がっている途中において振幅がゼロになるゼロクロス点を２つ検出するゼロクロス点検出部（４５）と、検出した２つのゼロクロス点（ＺＣＰ１、ＺＣＰ２）の間の音声データを繰り返し再生するリピート処理部（４９）とを備え、記憶部（４１）は、入力操作により選択された時点（ＣＴ）を中心とした探索範囲（ＳＲＲ）の音声データを記憶し、ゼロクロス点検出部（４５）は、探索範囲（ＳＲＲ）の中心を境にして探索範囲（ＳＲＲ）を２分割した前半部分および後半部分の中から、ゼロクロス点（ＺＣＰ１、ＺＣＰ２）を１つずつ検出する音声再生装置である。
【０００７】
本発明の他の実施形態は、音声データ再生中の任意の時点（ＣＴ）を選択する入力操作を受け付け、入力操作により選択された時点（ＣＴ）を含み、時点（ＣＴ）を中心とした探索範囲（ＳＲＲ）の音声データを記憶し、探索範囲（ＳＲＲ）の音声データを用いて、探索範囲（ＳＲＲ）の中心を境にして探索範囲（ＳＲＲ）を２分割した前半部分および後半部分の中から、音声データが示す信号（ＳＧ）が立ち上がっている途中において振幅がゼロになるゼロクロス点（ＺＣＰ１、ＺＣＰ２）を１つずつ検出し、または、探索範囲（ＳＲＲ）の中心を境にして探索範囲（ＳＲＲ）を２分割した前半部分および後半部分の中から、音声データが示す信号（ＳＧ）が立ち下がっている途中において振幅がゼロになるゼロクロス点（ＺＣＰ１、ＺＣＰ２）を１つずつ検出し、探索範囲（ＳＲＲ）の中から音声データが示す信号（ＳＧ）が立ち上がっている途中において振幅がゼロになるゼロクロス点（ＺＣＰ１、ＺＣＰ２）を２つ、または、音声データが示す信号（ＳＧ）が立ち下がっている途中において振幅がゼロになるゼロクロス点を２つ検出し、検出した２つのゼロクロス点（ＺＣＰ１、ＺＣＰ２）の間の音声データを繰り返し再生する音声再生方法である。
【０００８】
本発明の他の実施形態は、コンピュータに、音声データ再生中の任意の時点（ＣＴ）を選択する入力操作を受け付ける手順と、入力操作により選択された時点（ＣＴ）を含み、時点（ＣＴ）を中心とした探索範囲（ＳＲＲ）の音声データをコンピュータが備える記憶部（４１）に記憶させる手順と、記憶部（４１）に記憶された探索範囲（ＳＲＲ）の音声データを用いて、探索範囲（ＳＲＲ）の中心を境にして探索範囲（ＳＲＲ）を２分割した前半部分および後半部分の中から、音声データが示す信号（ＳＧ）が立ち上がっている途中において振幅がゼロになるゼロクロス点（ＺＣＰ１、ＺＣＰ２）を１つずつ検出し、または、探索範囲（ＳＲＲ）の中心を境にして探索範囲（ＳＲＲ）を２分割した前半部分および後半部分の中から、音声データが示す信号（ＳＧ）が立ち下がっている途中において振幅がゼロになるゼロクロス点（ＺＣＰ１、ＺＣＰ２）を１つずつ検出し、探索範囲（ＳＲＲ）の中から音声データが示す信号（ＳＧ）が立ち上がっている途中において振幅がゼロになるゼロクロス点（ＺＣＰ１、ＺＣＰ２）を２つ、または、音声データが示す信号（ＳＧ）が立ち下がっている途中において振幅がゼロになるゼロクロス点を２つ検出する手順と、検出した２つのゼロクロス点（ＺＣＰ１、ＺＣＰ２）の間の音声データを繰り返し再生する手順とを実行させるためのプログラムである。
【発明の効果】
【０００９】
本発明の実施形態に係わる音声再生装置、音声再生方法及びコンピュータプログラムによれば、より短い区間で、良好に繰り返し再生することができる。
【図面の簡単な説明】
【００１０】
【図１】図１は、１又は２以上の実施形態に係わる音声再生装置の概略構成を示すブロック図である。
【図２】図２は、図１の入力操作部５の具体的な構成を示すブロック図である。
【図３】図３は、図１のＣＰＵ６により実現される具体的な演算処理を示すブロック図である。
【図４】図４は、図１の音声再生装置を用いたデータ処理の流れを示すデータフロー図である。
【図５】図５は、図４のデータ処理のうち、通常再生モードにおける再生バッファ３４のデータ処理の詳細を示すデータフロー図である。
【図６】図６（ａ）〜図６（ｅ）は、図４のデータ処理のうち、繰り返し再生モードにおける一時バッファ４０及びリピートバッファ４１のデータ処理の詳細を示すデータフロー図である。
【図７】図７は、一時バッファ４０内の音声データにおいて、リピートバッファ４１へ抽出する探索範囲ＳＲＲの変化の様子を説明するための模式図であり、図７（ａ）は位置調整ボタン２３が押し下げ操作された場合を示し、図７（ｂ）は位置調整ボタン２２が押し下げ操作された場合を示し、図７（ｃ）は更に周期調整ボタン２５が押し下げ操作された場合を示し、図７（ｄ）は更に周期調整ボタン２４が押し下げ操作された場合を示す。
【図８】図８（ａ）〜図８（ｄ）は、リピートバッファ４１へ抽出する探索範囲ＳＲＲが、一時バッファ４０の範囲を超えた場合の処理手順を説明するための模式図である。
【図９】図９は、第２の実施の形態に係わる音声再生装置を用いたデータ処理の流れを示すデータフロー図である。
【発明を実施するための形態】
【００１１】
以下図面を参照して、本発明の実施の形態を説明する。図面の記載において同一部分には同一符号を付して説明を省略する。
【００１２】
（第１の実施の形態）
１又は２以上の実施形態に係わる音声再生装置は、デジタル形式の音楽ファイル（音声データ）を再生する機能を有する装置である。そして、音声再生装置は、ユーザーの入力操作により選択された時点を含む探索範囲の中から、音声データが示す信号の振幅がゼロになるゼロクロス点を２つ検出し、２つのゼロクロス点の間の音声データを繰り返し再生する機能を更に備える。音声再生装置は、これらの機能に特化した専用の機器として構成する場合に限らず、パーソナルコンピュータなどの汎用の情報処理装置に音声データの再生（デコーダ）機能を付加することによっても実現可能である。なお、検出する２つのゼロクロス点は、信号が立ち上がっている途中のゼロクロス点同士の組み合わせ、又は、信号が立ち下がっている途中のゼロクロス点同士の組み合わせのいずれかであればよい。
【００１３】
先ず、図１を参照して、１又は２以上の実施形態に係わる音声再生装置のハードウェア構成を説明する。音声再生装置は、中央処理装置（ＣＰＵ）６、ランダムアクセスメモリ（ＲＡＭ）３、読み出し専用メモリ（ＲＯＭ）２、外部記憶装置１、入力操作部５、及び出力部７を備え、これらのハードウェアはバス４を介して互いに接続されている。
【００１４】
ＣＰＵ６は、コンピュータプログラムに従って、音声データを再生するための様々な演算処理を実行する。ＲＯＭ２には、ＣＰＵ６により実行される演算処理を規定したコンピュータプログラムが記憶されている。ＲＡＭ３には、ＣＰＵ６が演算処理を行う際に利用する様々なデータを一時的に記憶するための各種バッファとして機能する。ＲＡＭ３により実現される各種バッファの詳細は図４を参照して後述する。
【００１５】
外部記憶装置１は、ＣＤ、ＤＶＤ、ブルーレイディスク（ＢＤ）等の光ディスク、ハードディスク等の磁気ディスク、光磁気ディスク（ＭＯ）、メモリカードやＵＳＢメモリ等のフラッシュメモリ等の記録媒体を用いた補助記憶手段の一例である。外部記憶装置１には、主に、再生対象となる音声データが記憶されている。なお、ＣＰＵ６により実行される演算処理を規定したコンピュータプログラムは、ＲＯＭ２の代わりに、外部記憶装置１に記憶されていてもよい。
【００１６】
図２を参照して図１の入力操作部５の具体的な構成例を説明する。図１の入力操作部５は、ユーザーによる入力操作を受け付けるユーザインターフェースであって、音声再生装置は、入力操作部５を介してユーザーから各種コマンドを受け取る。入力操作部５は、具体的に、繰り返し再生の開始及び終了を指示するためのリピート切替ボタン２１と、繰り返し再生する音声データの位置の変更を指示するための位置調整ボタン２２、２３と、繰り返し再生する音声データの周期の変更を指示するための周期調整ボタン２４、２５とを備える。これらのボタン２１〜２５がユーザーにより、例えば押し下げ操作されることにより、各ボタン２１〜２５に対応するコマンド信号がＣＰＵ６へ図１のバス４を介して送信される。
【００１７】
リピート切替ボタン２１が押し下げ操作される度に、繰り返し再生の開始及び終了が交互に実行される。繰り返し再生の開始を実行する場合、これと同時に、リピート切替ボタン２１が押し下げ操作されたタイミングが、音声データ再生中の任意の時点として選択される。つまり、リピート切替ボタン２１は、音声データ再生中の任意の時点を選択する入力操作を受け付けることができる。リピート切替ボタン２１は、ポーズボタンに相当する。
【００１８】
位置調整ボタン２２、２３は、繰り返し位置を調整するために操作されるボタンであって、例えば３２分音符に相当する程度の時間単位で、繰り返し位置を前後方向に移動させることができる。周期調整ボタン２４、２５は、繰り返し周期を調整するために操作されるボタンである。音声データにより再生される音源によっては繰り返し周期を長く、あるいは短くした方が良い音質が得られることがあるため、例えば５０〜２００ｍｓｅｃの範囲で繰り返し周期を選択できるようにしてもよい。なお、位置調整ボタン２２、２３及び周期調整ボタン２４、２５の詳細については、図７を参照して後述する。
【００１９】
図３を参照して、図１のＣＰＵ６により実現される具体的な演算処理を説明する。第１の実施の形態において、ＣＰＵ６は、ＲＯＭ２或いは外部記憶装置１に記憶されたコンピュータプログラムを実行することにより、デコーダ４４、ゼロクロス点検出部４５、クロスフェード部４８、及びリピート処理部４９として機能する。
【００２０】
リピート切替ボタン２１が、音声データ再生中の任意の時点を選択する入力操作を受け付けると、ＣＰＵ６は、入力操作により選択された時点を含む探索範囲の音声データをバッファとしてのＲＡＭ３に一時的に記憶させる。この際、デコーダ４４は、圧縮された状態で外部記憶装置１に記憶されている音声データを非圧縮の状態に戻す、つまりデコード（復号）する。ＲＡＭ３には、復号された音声データが記憶される。ゼロクロス点検出部４５は、ＲＡＭ３に記憶された探索範囲の音声データを用いて、探索範囲の中から音声データが示す信号の振幅がゼロになるゼロクロス点を２つ検出する。なお、検出する２つのゼロクロス点は、信号が立ち上がっている途中のゼロクロス点同士の組み合わせ、又は、信号が立ち下がっている途中のゼロクロス点同士の組み合わせのいずれかある。
クロスフェード部４８は、２つのゼロクロス点をそれぞれ始点とする所定のクロスフェード領域の音声データをクロスフェードさせる。そして、リピート処理部４９は、２つのゼロクロス点の間の音声データを繰り返し再生するためのリピート処理を行う。リピート処理された音声データは、図１の出力部７を介して出力される。リピート処理部４９は、クロスフェードされた音声データを繰り返し再生してもよいし、クロスフェードされていない音声データを繰り返し再生しても構わない。なお、図３の包絡線検出部４６及び安定区間検出部４７については、第２の実施の形態において説明する。
【００２１】
図４を参照して、図１の音声再生装置を用いたデータ処理の流れを説明する。再生対象となる音声データＰＦとしては、外部記憶装置１に保存されている再生音源であって、非圧縮のリニアＰＣＭ（ＬＰＣＭ）や圧縮されたＭＰ３やＷＭＡ形式の再生ファイルを用いることができる。音声データＰＦは、外部記憶装置１から読み出され、デコーダ４４により復号された後、ＲＡＭ３の一部分であるデコードバッファ３２に一時的に記憶される。具体的に、音声データＰＦは、デコーダ４４によってリニアＰＣＭ形式に変換され、フレームと呼ばれる数１０ｍｓｅｃ単位の容量からなるデコードバッファ３２に展開される。
【００２２】
音声再生装置を用いたデータ処理は、繰り返し再生を行う「繰り返し再生モード」と、繰り返し再生を行わない「通常再生モード」とによって異なる。「繰り返し再生モード」と「通常再生モード」は、リピート切替ボタン２１が押し下げ操作される度に、切り替わる。
【００２３】
先ず「通常再生モード」におけるデータ処理の流れを説明する。図４に示すスイッチ３３、３５は再生バッファ３４側の端子に接続され、図４に示すデコードバッファ３２に展開された音声データＰＦは、数秒程度の容量からなる再生バッファ３４にコピーされ、この再生バッファ３４から出力バッファ３６にコピーされる。その後、音声データＰＦは、Ｄ／Ａコンバータ３７によってデジタルデータからアナログ信号へ変換され、増幅器３８を介してスピーカ３９から出力される。なお、Ｄ／Ａコンバータ３７、増幅器３８及びスピーカ３９は、図１の出力部７の具体的な構成の一例である。
【００２４】
図５を参照して、図４のデータ処理のうち、通常再生モードにおける再生バッファ３４のデータ処理の詳細を説明する。デコーダ４４によりリニアＰＣＭ形式のデータに変換された音声データは、デコードバッファ３２に展開される。デコードバッファ３２に展開されたＰＣＭデータ（音声データ）は、再生バッファ３４の書き込みポインタＷＰの位置を始点として書き込まれる。その後、書き込みポインタＷＰを、書き込まれた音声データの分だけ移動させる。つまり、デコードバッファ３２の容量Ｗ３２分だけ移動させる。以上の処理を繰り返し行うことで、音声データが再生バッファ３４に連続して書き込まれる。
【００２５】
一方、再生バッファ３４には読み出しポインタＲＰが設定されている。再生バッファ３４に記憶されている音声データのうち、読み出しポインタＲＰを始点とする出力バッファ３６の容量Ｒ３６分の音声データが、再生バッファ３４から出力バッファ３６へ読み出される。その後、読み出しポインタＲＰを、読み出された音声データの分だけ移動する。つまり、出力バッファ３６の容量Ｒ３６分だけ移動させる。以上の処理を繰り返し行うことで、音声データが出力バッファ３６に連続して読み出される。
【００２６】
また、書き込みポインタＷＰ及び読み出しポインタＲＰが再生バッファ３４の一端（図５の右端）を越える時は、書き込みポインタＷＰ及び読み出しポインタＲＰを再生バッファ３４の他端（図５の左端）に戻し、再生バッファ３４の他端から残りの音声データの読み出し及び書き込みを継続する。このような「リングバッファ動作」を行うことにより、デコードバッファ３２と出力バッファ３６の容量（バッファに記憶可能な音声データの再生時間）が一致しない場合であっても、読み出し及び書き込みのタイミングを適宜調整することによって音声データを途切れること無く再生することが可能となる。
【００２７】
次に、図４に戻り、「繰り返し再生モード」におけるデータ処理の流れを説明する。図４に示すスイッチ３３、３５は一時バッファ４０及びリピートバッファ４１側の端子に接続され、図４に示すデコードバッファ３２に展開された音声データＰＦは、数秒程度の容量からなる一時バッファ４０にコピーされ、この一時バッファ４０内の一部（探索範囲）の音声データがリピートバッファ４１にコピーされ、更に、リピートバッファ４１内の一部（２つのゼロクロス点の間）の音声データが出力バッファ３６へコピーされる。その後の流れは、「通常再生モード」と同じであるので説明を省略する。
【００２８】
図６（ａ）〜図６（ｅ）を参照して、図４のデータ処理のうち、繰り返し再生モードにおける一時バッファ４０及びリピートバッファ４１のデータ処理の詳細を説明する。リピート切替ボタン２１が操作されると、通常再生モードから繰り返し再生モードへ切り替わる。すると、図６（ａ）に示すように、デコーダ３１は、リピート切替ボタン２１が操作された時刻（これを「中心時刻ＣＴ」という）を中心として、中心時刻ＣＴの前後数秒程度の範囲の音声データを復号して、デコードバッファ３２を介して一時バッファ４０に保存する。図６（ａ）の例では、一時バッファ４０の全体に、デコードバッファ３２の容量の６倍の音声データを記憶させている。
【００２９】
なお、中心時刻ＣＴを中心として前後数秒間程度の範囲の音声データを復号することにより、図７を参照して後述するように、繰り返し位置を調整する際に、その都度毎回、再デコードすることを回避することができる。また、中心時刻ＣＴの前後何秒間を復号するかは、デコーダ４４の能力と操作感とのトレードオフで決定すべきものであり、デコーダ４４の能力が高ければ復号区間を数秒以上に増やすことも可能である。
【００３０】
次に、図６（ｂ）に示すように、一時バッファ４０から実際に繰り返す部分の音声データをリピートバッファ４１へ抽出する。抽出される部分は、位置調整ボタン２２、２３により設定された位置と周期調整ボタン２４、２５により設定された繰り返し周期によって決定される。例えば、繰り返し位置の設定値が０であり、繰り返し周期の設定値が１００ｍｓｅｃであるとすると、中心時刻ＣＴの前後１００ｍｓｅｃの範囲（探索範囲ＳＲＲ）の音声データを、リピートバッファ４１へ抽出する。これにより、探索範囲ＳＲＲの音声データは、記憶部としてのリピートバッファ４１に記憶される。なお、探索範囲ＳＲＲの音声データを抽出する際にバンドパスフィルタＢＰＦを通すようにしてもよい。これにより、不要な音声帯域を除去することができ、繰り返し再生される音の音質を向上させることができる。
【００３１】
次に、図６（ｃ）に示すように、図３のゼロクロス点検出部４５は、リピートバッファ４１に記憶された探索範囲ＳＲＲの音声データを用いて、探索範囲ＳＲＲの中から音声データが示す信号ＳＧの振幅がゼロになるゼロクロス点ＺＣＰ１、ＺＣＰ２を２つ検出する。例えば、ゼロクロス点検出部４５は、探索範囲ＳＲＲの中心（中心時刻ＣＴ）を境にして探索範囲ＳＲＲを２分割した前半部分Ｆ４１および後半部分Ｓ４１の中から、ゼロクロス点ＺＣＰ１、ＺＣＰ２を１つずつ検出する。なお、図６（ｃ）においては、信号が立ち上がっている途中のゼロクロス点を２つ検出したものとする。
【００３２】
次に、図６（ｄ）及び図６（ｅ）に示すように、図３のクロスフェード部４８は、２つのゼロクロス点ＺＣＰ１、ＺＣＰ２をそれぞれ始点とする所定のクロスフェード領域ＣＦＲ１、ＣＦＲ２の音声データをクロスフェードさせる。例えば、クロスフェード部４８は、前半部分Ｆ４１のゼロクロス点ＺＣＰ１を始点するクロスフェード領域ＣＦＲ１において、音声データをフェードインさせ、後半部分Ｓ４１のゼロクロス点ＺＣＰ２を始点するクロスフェード領域ＣＦＲ２において、音声データをフェードアウトさせる。そして、クロスフェード領域ＣＦＲ１の音声データに対して、クロスフェード領域ＣＦＲ２の音声データを上書きすることにより、クロスフェードを行う。これにより、前半部分Ｆ４１のゼロクロス点ＺＣＰ１と後半部分Ｓ４１のゼロクロス点ＺＣＰ２とがスムーズに繋がるようになり、リピートバッファ４１に記憶された探索範囲ＳＲＲの音声データから、繰り返しに最も適当な部分を検出することができる。
【００３３】
最後に、図６（ｅ）に示すように、図３のリピート処理部４９は、２つのゼロクロス点ＺＣＰ１、ＺＣＰ２の間（繰り返し信号範囲ＲＰＬ）の音声データを繰り返し再生する。具体的には、繰り返し信号範囲ＲＰＬをリングバッファとみなして、繰り返し信号範囲ＲＰＬの音声データを繰り返し出力バッファ３６に書き込む。すなわち、繰り返し信号範囲ＲＰＬに読み出しポインタを設定し、出力バッファ３６からの出力要求に応じて読み出しポインタから音声データを読み出し、その後、読み出しポインタを出力バッファ３６の容量分だけ移動する。読み出しポインタが後半部分Ｓ４１のゼロクロス点ＺＣＰ２を越えそうになったら前半部分Ｆ４１のゼロクロス点ＺＣＰ１に戻り残りの音声データを出力バッファ３６に書き込む。
【００３４】
図７（ａ）〜図７（ｄ）を参照して、一時バッファ４０内において、リピートバッファ４１へ抽出する探索範囲ＳＲＲを調整する方法を説明する。初期設定として、探索範囲ＳＲＲの中心が中心時刻ＣＴに一致しているものとする。図７（ａ）は、初期設定の状態から、位置調整ボタン２３が押し下げ操作された場合を示す。この場合、探索範囲ＳＲＲは、中心時刻ＣＴから右側（早送り側）へ移動する。図７（ｂ）は、初期設定の状態から、位置調整ボタン２２が押し下げ操作された場合を示す。この場合、探索範囲ＳＲＲは、中心時刻ＣＴから左側（巻戻り側）へ移動する。なお、位置調整ボタン２２、２３の操作時に、探索範囲ＳＲＲの位置は変化するが、探索範囲ＳＲＲの幅は一定である。
【００３５】
このような位置調整ボタン２２、２３の操作により、探索範囲ＳＲＲの位置を簡単に調整することができる。なお、位置調整ボタン２２、２３の各々を押したときの探索範囲ＳＲＲの移動単位を５０〜１００ｍｓｅｃ程度に設定することで、３２分音符一つ分の移動に対応することができる。また、この移動単位もユーザが選択できるようにすることも可能である。
【００３６】
図７（ｃ）は、図７（ｂ）の状態から、更に周期調整ボタン２５が押し下げ操作された場合を示す。この場合、探索範囲ＳＲＲは、その中心位置が一定のまま、その幅が広がる。図７（ｄ）は、図７（ｃ）の状態から、更に周期調整ボタン２４が押し下げ操作された場合を示す。この場合、探索範囲ＳＲＲは、その中心位置が一定のまま、その幅が狭まる。このような周期調整ボタン２４、２５の操作により、音源のテンポにあわせた繰り返し周期を選択することが可能となる。
【００３７】
図８（ａ）〜図８（ｄ）を参照して、図７に示した探索範囲ＳＲＲの調整により、リピートバッファ４１へ抽出する探索範囲ＳＲＲが、一時バッファ４０の範囲を超えた場合の処理手順を説明する。図８（ａ）は、帯状に連続する音声データＳＮＤのイメージを示す。リピート切替ボタン２１が操作されて、繰り返し再生モードが開始されると、先ず、図８（ｂ）に示すように、リピート切替ボタン２１が操作された時刻（中心時刻ＣＴ１）を中心とする前後数秒間の範囲の音声データが一時バッファ４０にコピーされ、中心時刻ＣＴ１を中心とする前後１００ｍｓｅｃ程度の探索範囲の音声データがリピートバッファ４１に抽出される。この状態から位置調整ボタン２２が続けて操作されて、探索範囲ＳＲＲ１が一時バッファ４０の一端（左端）に達した場合、図８（ｃ）に示すように、デコーダ４４は、一時バッファ４０の左端の時刻に中心時刻ＣＴ２を設定し直して、中心時刻ＣＴ２の前後数秒間を再度、復号して一時バッファ４０にコピーする。
【００３８】
一方、位置調整ボタン２３が続けて操作されて、探索範囲ＳＲＲ１が一時バッファ４０の他端（右端）に達した場合、図８（ｄ）に示すように、デコーダ４４は、一時バッファ４０の右端の時刻に中心時刻ＣＴ３を設定し直して、中心時刻ＣＴ３の前後数秒間を再度、復号して一時バッファ４０にコピーする。
【００３９】
以上説明したように、第１の実施の形態によれば、以下の作用効果が得られる。
【００４０】
音声再生装置は、ユーザーの入力操作により選択された時点を含む探索範囲ＳＲＲの中から、音声データが示す信号の振幅がゼロになるゼロクロス点を２つ検出し、２つのゼロクロス点の間の音声データを繰り返し再生する。これにより、より短い区間で、良好に繰り返し再生することができる。また、繰り返し再生する区間を一小節よりも短い単位、例えば数１０ｍｓｅｃ単位で設定することができる。よって、速い演奏における音符を逐一追跡することができる。また、図７及び図８に示したように、単純なインターフェースで前後の音符へ移動することができるので、一音毎の音符の追跡が可能となる。
【００４１】
例えば、４分音符＝１２０のとき１小節は２ｓｅｃ、３２分音符は６２．５ｍｓｅｃに相当する。したがって、３２分音符で演奏された楽音を３２分音符単位で繰り返し再生することができるので、３２分音符を逐一追跡することができる。
【００４２】
また、クロスフェード部４８が、２つのゼロクロス点ＺＣＰ１、ＺＣＰ２をそれぞれ始点とする所定のクロスフェード領域ＣＦＲ１、ＣＦＲ２の音声データをクロスフェードさせ、リピート処理部４９が、クロスフェードされた２つのゼロクロス点の間の音声データを繰り返し再生する。これにより、２つのゼロクロス点ＺＣＰ１、ＺＣＰ２の間がスムーズに繋がるようになり、リピートバッファ４１に記憶された探索範囲ＳＲＲの音声データから、繰り返しに最も適当な部分を検出することができる。
【００４３】
リピートバッファ４１は、入力操作により選択された時点（中心時刻ＣＴ）を中心とした探索範囲ＳＲＲの音声データを記憶し、ゼロクロス点検出部４５は、探索範囲ＳＲＲの中心を境にして探索範囲を２分割した前半部分Ｆ４１および後半部分Ｓ４１の中から、ゼロクロス点ＣＦＲ１、ＣＦＲ２を１つずつ検出する。これにより、入力操作により選択された時点（中心時刻ＣＴ）は、２つのゼロクロス点ＺＣＰ１、ＺＣＰ２の選び方に関わらず、２つのゼロクロス点ＺＣＰ１、ＺＣＰ２の間に必ず位置するようになる。よって、ユーザが任意に選択した時点を含む音声データを繰り返し再生することができる。
【００４４】
（第２の実施の形態）
図３に示すように、第２の実施の形態に係わる音声再生装置は、ＣＰＵ６により実現される機能として、デコーダ４４、ゼロクロス点検出部４５、クロスフェード部４８、及びリピート処理部４９に加えて、包絡線検出部４６及び安定区間検出部４７を更に備える。
【００４５】
図９（ａ）及び図９（ｂ）に示すように、包絡線検出部４６は、探索範囲ＳＲＲの音声データが示す信号ＳＧの包絡線ＴＨＬを検出する。ここで、「包絡線ＴＨＬ」とは、振幅が周期的に振動する信号ＳＧの極大値群又はその近傍に接する曲線、或いは極小値群又はその近傍に接するような曲線である。図９（ｂ）では、信号ＳＧの極大値群又はその近傍に接する曲線を包絡線ＴＨＬの一例として示している。
【００４６】
安定区間検出部４７は、探索範囲ＳＲＲの中から、包絡線ＴＨＬの傾きが閾値以下となる安定区間ＳＦＬを検出する。具体的に、リピートバッファ信号ＳＧの包絡線ＴＨＬを数ｍｓｅｃ程度の時定数で求め、包絡線ＴＨＬの傾きが連続して小さくなる範囲を安定区間ＳＦＬとして選択する。そして、ゼロクロス点検出部４５は、図６を参照して説明したデータ処理方法と同様にして、図６における探索範囲ＳＲＲの代わりに安定区間ＳＦＬの中から、２つのゼロクロス点ＺＣＰ１、ＺＣＰ２を検出する。これにより、安定区間ＳＦＬ内から繰り返し信号範囲ＲＰＬが選択されるので、アタックのように急激に振幅が変化する部分を繰り返し信号範囲ＲＰＬから除外し、繰り返し再生される音が不快なノイズのような音となることを抑制できる。
【００４７】
なお、第２の実施の形態に係わる音声再生装置のハードウェア構成及び入力操作部５の詳細構成は、図１及び図２に示した構成と同じであるため、詳細な説明を省略する。
【００４８】
以上説明したように、包絡線検出部４６が、探索範囲ＳＲＲの音声データが示す信号ＳＧの包絡線ＴＨＬを検出し、安定区間検出部４７が、探索範囲ＳＲＲの中から、包絡線ＴＨＬの傾きが閾値以下となる安定区間ＳＦＬを検出する。そして、ゼロクロス点検出部４５は、安定区間ＳＦＬの中から、２つのゼロクロス点ＺＣＰ１、ＺＣＰ２を検出する。これにより、繰り返し再生される音が不快なノイズのような音となることを抑制できる。
【００４９】
いくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、これら実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。
【符号の説明】
【００５０】
５…入力操作部
４１…リピートバッファ（記憶部）
４５…ゼロクロス点検出部
４６…包絡線検出部
４７…安定区間検出部
４８…クロスフェード部
４９…リピート処理部
ＣＦＲ１、ＣＦＲ２…クロスフェード領域
ＣＴ…中心時刻（音声データ再生中の任意の時点）
Ｆ４１…前半部分
ＰＦ…音声データ
Ｓ４１…後半部分
ＳＦＬ…安定区間
ＳＧ…信号（音声データが示す信号）
ＳＲＲ…探索範囲
ＴＨＬ…包絡線
ＺＣＰ１、ＺＣＰ２…ゼロクロス点
【図１】
0005751421.tif 000002
【図２】
0005751421.tif 000003
【図３】
0005751421.tif 000004
【図４】
0005751421.tif 000005
【図５】
0005751421.tif 000006
【図６】
0005751421.tif 000007
【図７】
0005751421.tif 000008
【図８】
0005751421.tif 000009
【図９】
0005751421.tif 000010