(57)【要約】【課題】音声データから所望の部分を効率よく取り出す。【解決手段】記憶部２０１は文字列を発音する音声を表す波形データ２５１を記憶する。決定部２０２は文字列の長さに基づいて閾時間を決定する。保持部２０３は波形データ２５１から有音区間を抽出して保持する。更新部２０４は保持された有音区間の時間長が決定部２０２により決定された閾時間より短い場合、その有音区間と、その有音区間の近くの他の有音区間と、これら２つの有音区間に挟まれる区間と、から構成される区間を新たな有音区間に更新して保持部２０３に保持させる。出力部２０５は文字列と保持部２０３に保持された有音区間とを対応付けて出力する。【選択図】図２
2008242082.tif 000002
【特許請求の範囲】
【請求項１】
文字列を発音する音声を含む波形データを記憶する記憶部と、
当該文字列に基づいて、閾時間を決定する決定部と、
前記記憶された波形データから有音区間を抽出して保持する保持部と、
前記保持された有音区間のそれぞれについて、当該有音区間の時間長が前記決定された閾時間より短い場合、当該有音区間と、当該有音区間の前後に存在する他の一の有音区間と、当該二つの有音区間に挟まれる区間と、から構成される区間を新たな有音区間として前記保持部に保持させるように更新する更新部と、
を備えることを特徴とする音声処理装置。
【請求項２】
請求項１に記載の音声処理装置であって、
前記保持された有音区間のうちユーザによって選択された有音区間を当該文字列に対応付けて出力する出力部を更に備える
ことを特徴とする音声処理装置。
【請求項３】
請求項１又は２に記載の音声処理装置であって、
前記決定部は、当該文字列の長さに対して単調増加させて当該閾時間を決定する
ことを特徴とする音声処理装置。
【請求項４】
請求項１又は２に記載の音声処理装置であって、
前記決定部は、文字の種類に応じて予め定められたゼロ以上の定数の総和を求めることにより当該閾時間を決定する
ことを特徴とする音声処理装置。
【請求項５】
請求項１乃至４のいずれか１項に記載の音声処理装置であって、
前記更新部は、
（ａ）当該有音区間と、当該有音区間より時系列的に前に存在する前方有音区間と、に挟まれる第１区間、
（ｂ）当該有音区間と、当該有音区間より時系列的に後に存在する後方有音区間と、に挟まれる第２区間、
のそれぞれの時間長を求め、当該第１区間と当該第２区間のうち、当該求めた時間長の短い方の区間を選択し、当該選択した区間と、当該有音区間と、当該選択した区間に対応する当該前方有音区間又は当該後方有音区間のいずれかと、から構成される区間を、当該新たな有音区間として前記保持部に保持させるように更新する
ことを特徴とする音声処理装置。
【請求項６】
請求項１乃至４のいずれか１項に記載の音声処理装置であって、
前記更新部は、
（ｃ）当該有音区間より時系列的に前に存在する前方有音区間と、当該前方有音区間と当該有音区間に挟まれる区間と、から構成される第１区間、
（ｄ）当該有音区間より時系列的に後に存在する後方有音区間と、当該後方有音区間と当該有音区間に挟まれる区間と、から構成される第２区間、
のそれぞれの時間長を求め、当該第１区間と当該第２区間のうち、当該求めた時間長の短い方の区間を選択し、当該選択した区間と当該有音区間とから構成される区間を、当該新たな有音区間として前記保持部に保持させるように更新する
ことを特徴とする音声処理装置。
【請求項７】
請求項１乃至４のいずれか１項に記載の音声処理装置であって、
前記更新部は、
（ｅ）当該有音区間より時系列的に前に存在する前方有音区間、
（ｆ）当該有音区間より時系列的に後に存在する後方有音区間、
のそれぞれの時間長を求め、当該前方有音区間と当該後方有音区間のうち、当該求めた時間長の短い方の区間を選択し、当該選択した区間と、当該有音区間と、当該選択した区間と当該有音区間に挟まれる区間を、当該新たな有音区間として前記保持部に保持させるように更新する
ことを特徴とする音声処理装置。
【請求項８】
請求項２に記載の音声処理装置であって、
前記保持部は、当該有音区間の開始位置から時系列的に前の所定長さのオフセット区間と、当該有音区間の終了位置から時系列的に後の所定長さのオフセット区間とを更に抽出して保持し、
前記出力部は、前記抽出された２つのオフセット区間をさらに再生し、前記保持された有音区間の中からいずれかをユーザに選択させ、前記選択された有音区間と前記抽出された２つのオフセット区間を、当該文字列に対応付けて出力する
ことを特徴とする音声処理装置。
【請求項９】
請求項８に記載の音声処理装置であって、
前記出力部は、当該有音区間の開始位置から時系列的に前の所定長さのオフセット区間の音量をゼロから単調増加させ、当該有音区間の終了位置から時系列的に後の所定長さのオフセット区間の音量を単調減少させてゼロにする
ことを特徴とする音声処理装置。
【請求項１０】
記憶部、決定部、保持部、更新部を有する装置にて実行される音声処理方法であって、
前記記憶部には、文字列を発音する音声を含む波形データが記憶され、
前記決定部が、当該文字列に基づいて、閾時間を決定する決定ステップと、
前記保持部が、前記記憶された波形データから有音区間を抽出して保持する保持ステップと、
前記保持された有音区間のそれぞれについて、当該有音区間の時間長が前記決定された閾時間より短い場合、前記更新部が、当該有音区間と、当該有音区間の前後に存在する他の一の有音区間と、当該二つの有音区間に挟まれる区間と、から構成される区間を新たな有音区間として前記保持ステップに保持させるように更新する更新ステップと、
を備えることを特徴とする音声処理方法。
【請求項１１】
コンピュータを、
文字列を発音する音声を含む波形データを記憶する記憶部、
当該文字列に基づいて、閾時間を決定する決定部、
前記記憶された波形データから有音区間を抽出して保持する保持部、
前記保持された有音区間のそれぞれについて、当該有音区間の時間長が前記決定された閾時間より短い場合、当該有音区間と、当該有音区間の前後に存在する他の一の有音区間と、当該二つの有音区間に挟まれる区間と、から構成される区間を新たな有音区間として前記保持部に保持させるように更新する更新部、
として機能させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、音声データから所望の部分を効率よく取り出すために好適な音声処理装置、音声処理方法、ならびに、プログラムに関する。
【背景技術】
【０００２】
音声データを制作する過程では、例えばスタジオを借りて声優に様々なセリフをしゃべらせたり、効果音や楽曲などを演奏させたりして、まとめて収録することがよくある。例えば、キャラクタオブジェクト（以下、単に「キャラクタ」と呼ぶ）のセリフが多いテレビゲームの場合、複数のセリフを声優らに続けてしゃべってもらいまとめて録音して１つの音声データファイルを得た後、各々のセリフに対応する部分を抜き出し、編集して、セリフごとに別々の音声データを作成する、という一連の工程を踏むことになる。これらの作業の負担を軽減するために様々な工夫がなされている。
【０００３】
例えば、特許文献１には、音声データの編集効率を向上させる装置が開示されている。これによれば、所定サイズ（例えばデータを記憶するＲＯＭ（Read Only Memory）サイズ）より音声データが大きければこの所定サイズを超える部分が削除され、音声データのサイズが大きくなりすぎなくするため、編集作業の負担を軽減できる。
例えば、特許文献２には、データ管理の仕方を工夫することにより音声データの編集を支援する装置が開示されている。これによれば、音声データは、編集前と編集後の独立したトラックデータとして記憶されるため、音声データの編集のアンドゥ（ユーザの直前の操作を取り消して元に戻すこと）ができる。また、編集後に微少量の音声データしか格納されないクラスタ（記憶装置がデータを記憶する領域の単位）がないように記憶されるので、安定した再生も行える。
例えば、特許文献３には、多彩な音色を生成できる装置が開示されている。これによれば、例えばＭＩＤＩ（Musical Instrument Digital Interface）において、複数の音色データをセットにして記録した音色セットを１つだけでなく複数個用いて音声データを編集することができる。
このように従来技術では、抽出された音声データを編集する作業の手間を省くための工夫がなされてきた。
【特許文献１】特開２００６−２０１６６６号公報
【特許文献２】特開２００２−１２４０２２号公報
【特許文献３】特開２００１−１００７４４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
従来の音声処理装置によれば、音声データの波形のアタック部分（鳴り始め、立ち上がり）やリリース部分（鳴り終わり、立ち下がり）の大きさや比率、無音区間の長さ等に基づいて音声データの中から有音区間を判別することによって、音声データから有音区間を抽出している。例えば、様々なセリフを収録した音声データの中から、あるセリフ部分だけを抜き出して１つのセリフ音声データを作成したいとする。もし、一連のセリフ「○○、△△」の中に「、」のような“間”をおくところや“つなぎ”の部分があると、その“間”や“つなぎ”の長さや音量によっては、それが無音区間であると判断され、本来１つの音声データであるべきものが分断されて２つの音声データとして抽出されてしまったり、不要な部分として削除されてしまったりするという問題があった。あるいは逆に、収録された２つのセリフ「○○」と「△△」の間隔が短いと、本来それぞれ別の音声データとして抽出されるべきものが１つの音声データとして抽出されてしまうという問題があった。そうすると、編集者は、音声データが正しく抽出されたかを１つずつ確認し、正しくなければ抽出をやり直したりデータをマニュアルで結合・分割させたりしなければならず面倒であった。また、編集者は、各セリフの音声データが大体どの程度の大きさになるかを経験などから推測して所望の音声データを抽出させる必要があり、編集作業の大きな負担を強いられていた。
【０００５】
本発明はこのような課題を解決するものであり、音声データから所望の部分を効率よく取り出すために好適な音声処理装置、音声処理方法、ならびに、プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
以上の目的を達成するため、本発明の原理にしたがって、下記の発明を開示する。
【０００７】
本発明の第１の観点に係る音声処理装置は、記憶部、決定部、保持部、更新部を備える。
記憶部は、文字列を発音する音声を含む波形データを記憶する。
決定部は、当該文字列に基づいて、閾時間を決定する。
保持部は、記憶部に記憶された波形データから有音区間を抽出して保持する。
更新部は、保持部により保持された有音区間のそれぞれについて、当該有音区間の時間長が、決定部により決定された閾時間より短い場合、当該有音区間と、当該有音区間の前後に存在する他の一の有音区間と、当該二つの有音区間に挟まれる区間と、から構成される区間を新たな有音区間として保持部に保持させるように更新する。
この結果、音声処理装置は、音声波形データの中から有音区間の部分を容易に抽出できる。例えば、有音区間には、映画の吹き替え音声、ゲームキャラクターのセリフ、音声案内システムのガイダンスなどのような、文字列を発音する音声の全部あるいは一部が含まれる。また、音声処理装置は、音声を抽出する際の最小時間長となる閾時間より短い時間長の音声が含まれないように抽出する。これにより、本来一連の繋がったセリフであるべき音声が分断されてしまったり、違うセリフの音声が繋がってしまったりすることがなくなるので、音声の編集作業のユーザへの負担を軽減でき、ユーザは効率よく音声を編集できる。
【０００８】
音声処理装置は、保持部に保持された有音区間のうちユーザによって選択された有音区間を当該文字列に対応付けて出力する出力部を更に備えてもよい。
この結果、音声処理装置は、音声を抽出する際の最小時間長となる閾時間より短い時間長の音声が含まれないように抽出して出力する。これにより、本来一連の繋がったセリフであるべき音声が分断されて出力されてしまったり、違うセリフの音声が繋がって出力されてしまったりすることがなくなるので、音声の編集作業のユーザへの負担を軽減でき、ユーザは効率よく音声を編集できる。また、音声波形データの中に複数のセリフが含まれていても、抽出したセリフ部分の音声波形データと音声内容を表す文字列とを対応付けて出力するので、どのデータがどの音声のものなのかが明確になり、ユーザは抽出後の音声を管理しやすくなる。
【０００９】
決定部は、当該文字列の長さに対して単調増加させて当該閾時間を決定することができる。
この結果、音声処理装置は、文字列の長さに応じて、音声を抽出する際の最小時間長を調節できる。すなわち、セリフの長さに応じて最適の時間長の音声を抽出する。例えば、編集対象の音声波形データの中に長いセリフが含まれていれば、そのセリフが分断されてしまわないように、最小時間長を長くして抽出できる。例えば、短いセリフが含まれていれば、そのセリフが他のセリフと一緒になってしまわないように、最小時間長を短くして抽出できる。
【００１０】
決定部は、文字の種類に応じて予め定められたゼロ以上の定数の総和を求めることにより当該閾時間を決定することができる。
例えば、この定数は、文字の種類に応じて決められた発音時間にすることができる。ここで用いる発音時間は、必ずしも人間が発音するときの厳密な数値である必要はなく、抽出したい音声の長さをおおよそ推定できる数値であればよい。
この結果、音声処理装置は、文字の種類に応じて決められた発音時間の合計を最小時間長にし、この最小時間長に満たない時間長にならないように音声を抽出できる。例えば、文字の種類とは、ひらがな、カタカナ、漢字、数字、アルファベット、その他の言語を表す文字、句読点などのことである。あるいは、ユーザが任意に設定した、記号と発音時間長との関連付けに基づいて、この最小時間長を計算してもよい。
【００１１】
更新部は、
（ａ）当該有音区間と、当該有音区間より時系列的に前に存在する前方有音区間と、に挟まれる第１区間、
（ｂ）当該有音区間と、当該有音区間より時系列的に後に存在する後方有音区間と、に挟まれる第２区間、
のそれぞれの時間長を求め、当該第１区間と当該第２区間のうち、当該求めた時間長の短い方の区間を選択し、当該選択した区間と、当該有音区間と、当該選択した区間に対応する当該前方有音区間又は当該後方有音区間のいずれかと、から構成される区間を、当該新たな有音区間として保持部に保持させるように更新することができる。
この結果、音声処理装置は、音声を抽出する際の最小時間長より短い有音区間が存在すると、その有音区間と、その有音区間の前後に存在する他の２つの有音区間のうち時間的に近い方とをまとめて１つの音声にして抽出する。これにより、音声処理装置は、最小時間長より短い音声がないように音声を抽出でき、ユーザの編集作業の負担を軽減できる。
【００１２】
更新部は、
（ｃ）当該有音区間より時系列的に前に存在する前方有音区間と、当該前方有音区間と当該有音区間に挟まれる区間と、から構成される第１区間、
（ｄ）当該有音区間より時系列的に後に存在する後方有音区間と、当該後方有音区間と当該有音区間に挟まれる区間と、から構成される第２区間、
のそれぞれの時間長を求め、当該第１区間と当該第２区間のうち、当該求めた時間長の短い方の区間を選択し、当該選択した区間と当該有音区間とから構成される区間を、当該新たな有音区間として保持部に保持させるように更新することができる。
この結果、音声処理装置は、音声を抽出する際の最小時間長より短い有音区間が存在すると、その有音区間と、その有音区間の前後に存在する他の２つの有音区間のうち結合後の長さが短い方とをまとめて１つの音声にして抽出する。これにより、音声処理装置は、最小時間長より短い音声がないように音声を抽出でき、ユーザの編集作業の負担を軽減できる。
【００１３】
更新部は、
（ｅ）当該有音区間より時系列的に前に存在する前方有音区間、
（ｆ）当該有音区間より時系列的に後に存在する後方有音区間、
のそれぞれの時間長を求め、当該前方有音区間と当該後方有音区間のうち、当該求めた時間長の短い方の区間を選択し、当該選択した区間と、当該有音区間と、当該選択した区間と当該有音区間に挟まれる区間を、当該新たな有音区間として保持部に保持させるように更新することができる。
この結果、音声処理装置は、音声を抽出する際の最小時間長より短い有音区間が存在すると、その有音区間と、その有音区間の前後に存在する他の２つの有音区間のうち時間長が短い方とをまとめて１つの音声にして抽出する。これにより、音声処理装置は、最小時間長より短い音声がないように音声を抽出でき、ユーザの編集作業の負担を軽減できる。
【００１４】
保持部は、当該有音区間の開始位置から時系列的に前の所定長さのオフセット区間と、当該有音区間の終了位置から時系列的に後の所定長さのオフセット区間とを更に抽出して保持してもよい。
また、出力部は、抽出された２つのオフセット区間をさらに再生し、保持された有音区間の中からいずれかをユーザに選択させ、選択された有音区間と抽出された２つのオフセット区間を、当該文字列に対応付けて出力してもよい。
この結果、音声処理装置は、有音区間の前後の音声も合わせて抽出して出力できる。これにより、ユーザの編集作業の負担を軽減し、且つ、音声の前後にエフェクトをかけることができる。例えば、音量のフェードイン、フェードアウト、エコー、ローパスフィルタ、ハイパスフィルタ、再生スピードの変更、などのエフェクトをかけることができる。
【００１５】
出力部は、当該有音区間の開始位置から時系列的に前の所定長さのオフセット区間の音量をゼロから単調増加させ、当該有音区間の終了位置から時系列的に後の所定長さのオフセット区間の音量を単調減少させてゼロにしてもよい。
この結果、音声処理装置は、抽出した音声の始めにフェードインさせ、終わりにフェードアウトさせる。これにより、ユーザの編集作業の負担を軽減し、且つ、音声の前後がスムーズに聞こえるようにエフェクトをかけることができる。
【００１６】
本発明のその他の観点に係る音声処理方法は、記憶部、決定部、保持部、更新部を有する装置にて実行される音声処理方法であって、決定ステップ、保持ステップ、更新ステップを備える。
記憶部には、文字列を発音する音声を含む波形データが記憶される。
決定ステップは、決定部が、当該文字列に基づいて、閾時間を決定する。
保持ステップは、保持部が、記憶部に記憶された波形データから有音区間を抽出して保持する。
更新ステップは、保持ステップにより保持された有音区間のそれぞれについて、当該有音区間の時間長が決定された閾時間より短い場合、更新部が、当該有音区間と、当該有音区間の前後に存在する他の一の有音区間と、当該二つの有音区間に挟まれる区間と、から構成される区間を新たな有音区間として保持ステップに保持させるように更新する。
この結果、この音声処理方法を用いた装置は、音声波形データの中から有音区間の部分を容易に抽出できる。例えば、有音区間には、映画の吹き替え音声、ゲームキャラクターのセリフ、音声案内システムのガイダンスなどのような、文字列を発音する音声が含まれる。また、この装置は、音声を抽出する際の最小時間長となる閾時間より短い時間長の音声が含まれないように抽出する。これにより、本来一連の繋がったセリフであるべき音声が分断されてしまったり、違うセリフの音声が繋がって抽出されてしまったりすることがなくなるので、音声の編集作業のユーザへの負担を軽減でき、ユーザは効率よく音声を編集できる。
【００１７】
本発明のその他の観点に係るプログラムは、コンピュータを、記憶部、決定部、保持部、更新部として機能させる。
記憶部は、文字列を発音する音声を含む波形データを記憶する。
決定部は、当該文字列に基づいて、閾時間を決定する。
保持部は、記憶部に記憶された波形データから有音区間を抽出して保持する。
更新部は、保持部により保持された有音区間のそれぞれについて、当該有音区間の時間長が、決定された閾時間より短い場合、当該有音区間と、当該有音区間の前後に存在する他の一の有音区間と、当該二つの有音区間に挟まれる区間と、から構成される区間を新たな有音区間として保持部に保持させるように更新する。
この結果、プログラムは、コンピュータを、音声波形データの中から有音区間の部分を容易に抽出できる装置として機能させる。例えば、有音区間には、映画の吹き替え音声、ゲームキャラクターのセリフ、音声案内システムのガイダンスなどのような、文字列を発音する音声が含まれる。また、コンピュータは、音声を抽出する際の最小時間長となる閾時間より短い時間長の音声が含まれないように抽出する。これにより、本来一連の繋がったセリフであるべき音声が分断されてしまったり、違うセリフの音声が繋がって抽出されてしまったりすることがなくなるので、音声の編集作業のユーザへの負担を軽減でき、ユーザは効率よく音声を編集できる。
【００１８】
また、本発明のプログラムは、コンパクトディスク、フレキシブルディスク、ハードディスク、光磁気ディスク、ディジタルビデオディスク、磁気テープ、半導体メモリ等のコンピュータ読取可能な情報記憶媒体に記録することができる。
上記プログラムは、プログラムが実行されるコンピュータとは独立して、コンピュータ通信網を介して配布・販売することができる。また、上記情報記憶媒体は、コンピュータとは独立して配布・販売することができる。
【発明の効果】
【００１９】
本発明によれば、音声データから所望の部分を効率よく取り出すために好適な音声処理装置、音声処理方法、ならびに、プログラムを提供することができる。
【発明を実施するための最良の形態】
【００２０】
以下、本発明に係る音声処理装置の実施形態を説明する。
（実施例１）
図１は、本実施形態の音声処理装置１００の構成を示す図である。本図に示すように、音声処理装置１００は、入力部１０１、画像処理部１０２、音声処理部１０３、通信処理部１０４、ＤＶＤ−ＲＯＭ（Digital Versatile Disk-Read Only Memory）ドライブ１０５、記憶装置１０６、ＲＯＭ（Read Only Memory）１０７、ＲＡＭ（Random Access Memory）１０８、制御部１０９、システムバス１１０を備える。
【００２１】
入力部１０１は、キーボード１２１やマウス１２２と接続され、これらを用いてユーザから入力される指示入力やデータ入力に基づいて入力信号を生成して、制御部１０９に入力する。ユーザは、キーボード１２１やマウス１２２を用いて、音声処理装置１００に所望の操作を指示することができる。入力部１０１は、タッチパネル等の他の入力デバイスと接続されていてもよい。
【００２２】
画像処理部１０２は、記憶装置１０６やＤＶＤ−ＲＯＭ等から読み出されたデータを制御部１０９や画像処理部１０２が備える画像演算プロセッサ（図示せず）によって加工処理した後、これを画像処理部１０２が備えるフレームメモリ（図示せず）に記録する。フレームメモリに記録された画像情報は、所定の同期タイミングでビデオ信号に変換され画像処理部１０２に接続されるモニター１２３へ出力される。これにより、各種の画像表示が可能となる。
【００２３】
画像演算プロセッサは、２次元の画像の重ね合わせ演算やαブレンディング等の透過演算、各種の飽和演算を高速に実行できる。また、仮想空間が３次元にて構成される場合には、当該３次元空間内に配置され、各種のテクスチャ情報が付加されたポリゴン情報を、Ｚバッファ法によりレンダリングして、所定の視点位置から仮想空間に配置されたポリゴンを所定の視線の方向へ俯瞰したレンダリング画像を得る演算の高速実行も可能である。さらに、制御部１０９と画像演算プロセッサが協調動作することにより、文字の形状を定義するフォント情報にしたがって、文字列を２次元画像としてフレームメモリへ描画したり、各ポリゴン表面へ描画することが可能である。
【００２４】
音声処理部１０３は、音声データをＤ／Ａ（Digital/Analog）コンバータでアナログ音声信号に変換し、音声をスピーカー１２４から出力させる。また、制御部１０９の制御の下、様々な効果音や楽曲データを生成し、これに対応した音声をスピーカー１２４から出力させる。音声データがＭＩＤＩデータである場合には、これが有する音源データを参照して、ＭＩＤＩデータをＰＣＭデータに変換する。また、ADPCM形式やOgg Vorbis形式等の圧縮済みの音声データである場合には、これを展開してＰＣＭデータに変換する。ＰＣＭデータは、そのサンプリング周波数に応じたタイミングでＤ／Ａ変換を行って、スピーカー１２４に出力することにより、音声出力が可能となる。
【００２５】
また、音声処理部１０３は、マイク１２５で集音した音声信号をＡ／Ｄ（Analog/Digital）コンバータでデジタル音声信号に変換し、音声信号を制御部１０９に入力する。音声処理部１０３は、ADPCM、Ogg Vorbis、AAC（Advanced Audio Coding）、MP3（Moving Picture Experts Group-1 Audio Layer-3）などの圧縮方式により、任意の音声信号を圧縮することができる。圧縮方式は本発明によって限定されない。
【００２６】
通信処理部１０４は、音声処理装置１００をインターネット等のネットワークに接続するためのＮＩＣ（Network Interface Card）を備える。ＮＩＣは、ＬＡＮ（Local Area Network）を構成する際に用いられる１０ＢＡＳＥ−Ｔ／１００ＢＡＳＥ−Ｔ規格にしたがうものや、電話回線を用いてインターネットに接続するためのアナログモデム、ＩＳＤＮ（Integrated Services Digital Network）モデム、ＡＤＳＬ（Asymmetric Digital Subscriber Line）モデム、ケーブルテレビジョン回線を用いてインターネットに接続するためのケーブルモデム等と、これらと制御部１０９との仲立ちを行うインターフェイス（図示せず）により構成される。制御部１０９は、通信処理部１０４と協働して、インターネット等のネットワークに接続された他のコンピュータとの間でデータを送受信することができる。
【００２７】
ＤＶＤ−ＲＯＭドライブ１０５は、例えばゲーム用のプログラム、画像データ、音声データなどが記録されたＤＶＤ−ＲＯＭから読み出し処理を行って、必要なプログラムやデータを読み出す。これらはＲＡＭ  １０８等に一時的に記憶される。なお、ＣＤ−ＲＯＭ（Compact Disc-Read Only Memory）など他の情報記録媒体からデータを読み出したり、あるいは情報記録媒体にデータを書き込んだりするドライブ装置であってもよい。
【００２８】
記憶装置１０６は、ハードディスクドライブなどから構成され、制御部１０９により実行されるオペレーティングシステム（ＯＳ）や各種の制御プログラムなどを記憶する。また、音声データ、静止画像データ、動画像データなど様々なデータを記憶することができる。
【００２９】
ＲＯＭ  １０７は、制御部１０９が所定の処理を実行するためのプログラム等を予め格納する不揮発性メモリである。制御部１０９は、ＲＯＭ  １０７から必要に応じてプログラム等を読み出してＲＡＭ  １０８に展開し、このプログラム等に基づいて所定の処理を実行する。
【００３０】
ＲＡＭ  １０８は、データやプログラムを一時的に記憶するためのもので、記憶装置１０６やＤＶＤ−ＲＯＭから読み出したデータなどが一時的に保持される。また、制御部１０９は、ＲＡＭ  １０８に変数領域を設け、この変数に格納された値に対して演算を行ったり、ＲＡＭ  １０８に格納された値を一旦レジスタに格納してからレジスタに対して演算を行い、演算結果をメモリに書き戻す、などの処理を行う。
【００３１】
制御部１０９は、ＣＰＵ（Central Processing Unit）などから構成され、音声処理装置１００全体の動作を制御し、上述の各構成要素と接続され制御信号やデータをやりとりする。また、制御部１０９は、レジスタ（図示せず）という高速アクセスが可能な記憶域に対してＡＬＵ（Arithmetic Logic Unit）（図示せず）を用いて加減乗除等の算術演算や、論理和、論理積、論理否定等の論理演算、ビット和、ビット積、ビット反転、ビットシフト、ビット回転等のビット演算などを行うことができる。さらに、マルチメディア処理対応のための加減乗除等の飽和演算や、三角関数等、ベクトル演算などを高速に行えるように、制御部１０９自身が構成されているものや、コプロセッサを備えて実現するものがある。
【００３２】
システムバス１１０は、上述した各部の間で命令やデータを転送するための伝送経路である。
【００３３】
このような音声処理装置１００として、一般に広く普及しているようないわゆるパーソナルコンピュータ等の情報処理装置を用いることができる。
【００３４】
次に、本実施形態の音声処理装置１００の各部が行う処理について説明する。
【００３５】
図２は、本実施形態の音声処理装置１００の構成を説明するための図である。本図に示すように、音声処理装置１００は、記憶部２０１、決定部２０２、保持部２０３、更新部２０４、出力部２０５を備える。
【００３６】
記憶部２０１は、音声の波形データ２５１を記憶する。波形データ２５１には、例えばゲームに使われるセリフなどの文字列を読み上げる音声が含まれる。波形データ２５１のフォーマットは自由であり、出力部２０５がデコードして再生できる形式であればよい。波形データ２５１は、１つのセリフの音声データ（以下、「セリフデータ」と呼ぶ）だけでなく、複数のセリフデータを含むことができる。なお、波形データ２５１は、セリフ以外の音楽、歌、効果音などの音声データを含んでいてもよい。制御部１０９と記憶装置１０６が協働して動作することにより、記憶部２０１として機能する。
【００３７】
図３は、波形データ２５１の例を示す図である。波形データ２５１は、典型的には、縦軸に音声のパワー値（音の強さ）、横軸に経過時間をとったスペクトルで表される。１つの波形データ２５１は、１つの音声データファイルとして記憶装置１０６に記憶される。波形データ２５１は有音区間３１０と無音区間３２０とを含むが、詳細については後述する。
【００３８】
例えば、映画の吹き替えの音声、ゲーム、アニメーション等のキャラクターの音声、音声案内システムのガイダンスの音声などを録音する場合、多くの声優達を一同にスタジオに集めることは各人のスケジュールの関係で容易ではなかったり、必要なセリフのバリエーションがとても多かったりする。そのため、制作現場では、多くのセリフをまとめて収録して１つの音声データにしたり、声優ごと別々の音声データを作成したりすることがよくある。本実施形態が扱う音声の波形データ２５１は、例えばこのように複数のセリフデータをまとめて記録した音声データである。
【００３９】
また、記憶部２０１は、波形データ２５１がセリフなどの音声を含む場合、波形データ２５１に対応付けて、セリフに相当する文字列データを記憶する。
【００４０】
図４（ａ）は、波形データ２５１に対応付けてセリフの文字列を記憶したセリフテーブル４００の構成例である。セリフテーブル４００は、波形データ名４１０とセリフ番号４２０と文字列データ４３０を対応付ける。波形データ名４１０は、波形データ２５１を識別するための情報であり、例えばデータファイル名が用いられる。セリフ番号４２０は、１つの波形データ２５１内で各セリフを識別するための情報であり、例えば記録されたセリフの順番を示す数字が用いられる。波形データ名４１０とセリフ番号４２０によって、１つのセリフデータを特定できる。文字列データ４３０は、セリフを表す文字列の情報であり、例えばひらがな、カタカナ、漢字、数字、アルファベット、その他の言語を表す文字、句読点などを用いて表される。なお、本図に示したセリフテーブル４００の構成は一例に過ぎず、これらの情報のうちの一部のみを含む構成や、これらの情報に加えて他の情報も記憶する構成を採用することもできる。
【００４１】
例えば、制御部１０９は、波形データ２５１の波形データ名４１０と、波形データ２５１に含まれるセリフを表す文字列データ４３０とが例えば図４（ｂ）に示すような形式で予め対応付けて記載されたデータファイルを読み出し、セリフテーブル４００を作成して記憶装置１０６に記憶させる。制御部１０９は、データファイルに記録された文字列の順にセリフ番号を割り当てればよい。また、文字列の数をカウントすれば、波形データ２５１に含まれるセリフデータの数を特定できる。このデータファイルは、ユーザによって予め作成された電子ファイルであり、典型的にはＣＳＶ（Comma Separated Values）形式やＸＭＬ（Extensible Markup Language）形式などで作成される。なお、データ形式はこれらに限定されない。また、入力部１０１が波形データ２５１ごとに記録されているセリフの文字列の入力をユーザから受け付けて制御部１０９に入力することにより、制御部１０９がセリフテーブル４００を作成してもよい。
【００４２】
なお、波形データ２５１は、記憶装置１０６に記憶されてもよいし、ＤＶＤ−ＲＯＭ、ＣＤ−ＲＯＭ、磁気テープなどの情報記録媒体や、インターネットやＬＡＮなどのネットワークに繋がった他のコンピュータに記憶されていてもよい。情報記録媒体に記憶される場合には、制御部１０９は、その情報記録媒体に対応したドライブ装置を用いて波形データ２５１を取得すればよい。ネットワーク上の他のコンピュータに記憶される場合には、制御部１０９は、通信処理部１０４を制御して、ネットワークアドレス等を用いて保存先のコンピュータに接続し、データ通信で波形データ２５１を取得すればよい。
【００４３】
決定部２０２は、文字列データ４３０に基づいて、波形データ２５１からセリフ部分を判別するために用いられる閾時間ＴＳを決定する。制御部１０９と記憶装置１０６が協働して動作することにより、決定部２０２として機能する。
【００４４】
詳細には、制御部１０９は、セリフに対応する文字列データ４３０の長さに対して単調増加するように閾時間ＴＳを決定する。例えば［数１］に示すように、セリフを表す文字列データ４３０を構成する文字１つにつき所定発音時間Ｔｐ（Ｔｐは正の定数）を決めておき、所定発音時間Ｔｐに文字数ｃｎｔを乗じた時間を閾時間ＴＳとする。この［数１］によれば、閾時間ＴＳは文字数に比例して増加する。
【００４５】
ＴＳ  ＝  ｃｎｔ  ×  Ｔｐ      ・・・［数１］
【００４６】
また、［数２］に示すように、文字の種類ｋに応じて予め決められた発音時間Ｔｋに、その種類に属する文字数ｃｎｔ（ｋ）を乗じ、すべての種類ｋについての総和の時間を閾時間ＴＳとしてもよい。
【００４７】
ＴＳ  ＝  Σ（ｃｎｔ（ｋ）×Ｔｋ）      ・・・［数２］
【００４８】
文字の種類とは、例えば図５（ａ）に示すように、ひらがな、カタカナ、漢字、数字、アルファベット、その他の言語を表す文字、句読点、などの分類のことである。すなわち、ひらがなは１文字あたり何秒、などと予め決めておき、記憶装置１０６に記憶しておく。制御部１０９は、文字列データ４３０中のひらがなの数に所定発音時間Ｔｈを乗じて、ひらがなに相当する発音時間の和を計算する。同様に制御部１０９は、他の種類の文字や記号についても和を計算し、それらの総和を閾時間ＴＳとする。全角文字か半角文字か、大文字か小文字かによって所定発音時間を変えてもよい。
【００４９】
あるいは、図５（ｂ）に示すように、文字の種類は１つ１つの文字の分類でもよい。すなわち、ひらがなの“あ”はＴａ秒、“い”はＴｂ秒、漢字の“六”はＴｃ秒、アルファベットの“Ｚ”はＴｄ秒、読点“、”はＴｅ秒、などと文字や記号ごとに所定発音時間を決めておき、記憶装置１０６に記憶していてもよい。制御部１０９は、文字列データ４３０中の１つの文字“あ”の合計数に所定発音時間Ｔａを乗じて、“あ”に相当する時間の和を計算する。同様に制御部１０９は、他の文字や記号についても発音時間の和を計算し、それらの総和を閾時間ＴＳとする。ここに記載した文字以外のその他の文字についても同様である。
【００５０】
一般に、ひらがなは１文字あたりの発音時間の差が比較的小さいが、漢字は１文字あたりの発音時間の差が大きい傾向にある。例えば、同じ種類“漢字”であっても、“木”はひらがなに直せば“き”の１文字であるが、“閾”はひらがなに直せば“しきい”の３文字である。このように、特に文字列データ４３０に漢字を含む場合には［数２］のように閾時間ＴＳを求めると良い。
【００５１】
ここで、例えば文字列“こんにちは”はＴｆ秒、“六本木”はＴｇ秒、といったように、所定の文字列について発音時間を予め決めておいてもよい。すなわち、繰り返し用いられる単語や文などの文字列、頻繁に用いられると予想される単語や文などの文字列、同じ文字でも組み合わせによって発音時間が異なってくる文字を含む単語や文などの文字列、などに関連付けて、文字列全体の所定発音時間を決めておき、記憶装置１０６に記憶させ、制御部１０９は記憶部２０１記憶された文字列の所定発音時間に基づいて文字列データ４３０の発音時間を計算してもよい。
【００５２】
例えば、単独の文字“六”（ひらがなで表すと“ろく”）の発音時間と、文字列“六本木”に含まれる文字“六”に相当する部分（ひらがなで表すと“ろっ”）の発音時間は異なってくる。また、例えば単独の文字“木”の発音時間は、“き”（あるいは“ぎ”）と発音する場合と“もく”と発音する場合とで大きく異なってくる。このような場合、所定の文字列（ここでは“六本木”）について発音時間を予め決めて記憶装置１０６に記憶しておくのが望ましい。
【００５３】
また、文字列データ４３０に、“。”や“、”といった句読点や、“・・・”のような“間”を示す記号を含めることによって、制御部１０９は、現実に人間が発音したときにより近い発音時間を計算することができる。
【００５４】
例えば、文字列“今日は、いい天気です。”のように句読点が含まれている場合、制御部１０９は、言葉の微妙な“つなぎ”も含めて発音時間を計算できるので、全体を一つのセリフとして抽出することが容易になる。すなわち、１つ１つの文字・記号だけでなく、文字列全体に所定発音時間を関連付けることによって、前半部分“今日は”と後半部分“いい天気です”が別々のセリフの音声データに分割されてしまったり、最後の部分“す”が中途半端に途切れて抽出されてしまったりすることを避けることができる。これらの関連付けは予め記憶装置１０６の所定記憶領域に記憶され、制御部１０９は適宜この関連付けを参照して閾時間ＴＳを計算する。
【００５５】
文字列データ４３０の中に含めることができる記号は句読点に限られない。制御部１０９は、ユーザが任意に設定して予め記憶装置１０６に記憶させた、記号と発音時間との関連付けに基づいて、発音時間を計算することができる。例えば、「記号“○”は１秒の間をおく」「文字列の先頭に記号“▲”があれば、全体の発音時間をｎ倍する」「スペース（空白）は０秒とする」などのように、ユーザは自由に発音時間を決めることができる。
【００５６】
そして、制御部１０９は、各々の文字列データ４３０について計算した発音時間に基づいて閾時間ＴＳを決定する。例えば、ある波形データ２５１に複数のセリフデータが含まれ、各々のセリフを表す文字列データ４３０の長さが、計算された発音時間にしてそれぞれＴａ、Ｔｂ、・・・、Ｔｎであるとする。このとき、制御部１０９は、Ｔａ、Ｔｂ、・・・、Ｔｎの中で最小の値を閾時間ＴＳに決定する。
【００５７】
それぞれの発音時間Ｔｋ、Ｔｈ、Ｔａ〜Ｔｇはいずれも予め決められたゼロ以上の定数である。例えば、文字列データ４３０の中に、図５に示す関連付けに含まれていない文字・記号や、制御部１０９が正しく読み取れない文字・記号（機種依存文字など、いわゆる文字化けしてしまうようなもの）が存在する場合には、制御部１０９は、それらを無視して、それらの文字や記号に相当する発音時間をゼロにして閾時間ＴＳを計算してもよい。なお、ここに記載した文字や文字列は一例に過ぎず、任意の文字や文字列でもよいことは言うまでもない。図５の関連付けには文字又は文字列が書かれているが、所定のキャラクターコード又はこれの組み合わせによって表現されてもよい。
【００５８】
保持部２０３は、記憶部２０１に記憶された波形データ２５１の有音区間３１０と無音区間３２０を判別し、波形データ２５１から有音区間３１０を抽出して記憶部２０１に記憶させる。制御部１０９と記憶装置１０６が協働して動作することにより、保持部２０３として機能する。ここで、保持部２０３が有音区間３１０と無音区間３２０を判別するための手法には様々な手法がある。
【００５９】
例えば図６に示すように、制御部１０９は、ある時刻Ｔ（ｉ）において波形データ２５１の表すスペクトルのパワー値（あるいは振幅、音の強度）が基準値Pbase以上であり、且つ、その時刻Ｔ（ｉ）以前の波形データ２５１のパワー値が所定時間ＴＸ以上続いて基準値Pbase未満である場合、その時刻Ｔ（ｉ）を有音区間３１０の開始点（あるいは無音区間３２０の終了点）６１０とする。
また、制御部１０９は、ある時刻Ｔ（ｊ）において波形データ２５１のパワー値が基準値Qbase未満であり、且つ、その時刻Ｔ（ｊ）以前の波形データ２５１のパワー値が所定時間ＴＹ以上続いて基準値Qbase以上である場合、その時刻Ｔ（ｊ）を有音区間３１０の終了点（あるいは無音区間３２０の開始点）６２０とする。すなわち、波形データ２５１の振幅がゼロでない区間があっても、それがノイズによるものであると判断し無音区間３２０とする場合がある。
【００６０】
また、制御部１０９は、例えば図７（ａ）に示すように、波形データ２５１の表すスペクトルのアタック比率（あるいはリリース比率）を単位時間ごとに計算し、計算されたアタック比率あるいはリリース比率に基づいて有音区間３１０と無音区間３２０を判別してもよい。アタック比率（あるいはリリース比率）は、波形データ２５１のパワー値の変化量を表す数値である。例えば、ある時刻Ｔ（１）においてパワー値がＦ（１）であり、その後の時刻Ｔ（２）においてパワー値がＦ（２）であったとすると、その間の増減比率はＦ（２）／Ｆ（１）となる。この増減比率が１以上であればアタック（波形の立ち上がり）であり、１未満であればリリース（波形の立ち下がり、減衰）である。
【００６１】
例えば図７（ｂ）に示すように、制御部１０９は、ある時刻Ｔ（ｉ）において波形データ２５１の表すスペクトルのアタック比率（あるいはリリース比率）が基準値Pbase以上であり、且つ、その時刻Ｔ（ｉ）以前の波形データ２５１のパワー値が所定時間ＴＸ以上続いて基準値Pbase未満である場合、その時刻Ｔ（ｉ）を有音区間３１０の開始点（あるいは無音区間３２０の終了点）６１０とする。
また、制御部１０９は、ある時刻Ｔ（ｊ）においてアタック比率（あるいはリリース比率）が基準値Qbase未満であり、且つ、その時刻Ｔ（ｊ）以前の波形データ２５１のパワー値が所定時間ＴＹ以上続いて基準値Qbase以上である場合、その時刻Ｔ（ｊ）を有音区間３１０の終了点（あるいは無音区間３２０の開始点）６２０とする。
【００６２】
なお、制御部１０９は、ある時刻Ｔ（ｉ）より後の所定時間分のパワー値の平均値に対する、その時刻Ｔ（ｉ）より前の所定時間分のパワー値の平均値の比率を、アタック比率（あるいはリリース比率）として計算してもよい。また、制御部１０９は、所定時間分の分散、標準偏差など、他の統計的演算によって比率を計算してもよい。
【００６３】
また、制御部１０９は、例えば図８に示すように、公知の高速フーリエ変換などの手法を用いて波形データ２５１（または波形データ２５１の絶対値をとったもの）を表す近似曲線８１０を求め、この近似曲線８１０に基づいて有音区間３１０と無音区間３２０を判別してもよい。すなわち、制御部１０９は、近似曲線８１０が基準値Pbaseとなるところ（言い換えれば、直線Ｐ＝Pbaseとクロスする交点）で波形データ２５１を区間に分け、ある時刻Ｔ（ｉ）の交点より以前の近似曲線８１０の値が所定時間ＴＸ以上続いて基準値Pbase未満である場合、その時刻Ｔ（ｉ）を有音区間３１０の開始点（あるいは無音区間３２０の終了点）６１０とする。
また、制御部１０９は、ある時刻Ｔ（ｊ）の交点より以前の近似曲線８１０の値が所定時間ＴＹ以上続いて基準値Qbase以上である場合、その時刻Ｔ（ｊ）を有音区間３１０の終了点（あるいは無音区間３２０の開始点）６２０とする。
なお、有音区間３１０の開始点６１０を判別するときの基準値Pbaseと、有音区間３１０の終了点６２０を判別するときの基準値Qbaseを同じ値にしてもよいし、別の値にしてもよい。
【００６４】
図９は、このような手法によって判別された波形データ２５１の有音区間３１０と無音区間３２０を簡略化して表した図である。制御部１０９は、セリフ等の音声が記録されていると推定される有音区間３１０の音声データを抽出して、記憶装置１０６に記憶させる。なお、制御部１０９は、抽出した音声の部分波形データそのものを記憶装置１０６に記憶させてもよいし、抽出した有音区間を示す情報（例えば、有音区間の開始時刻と終了時刻等）のみを記憶させてもよい。制御部１０９は、有音区間３１０を示す情報をＲＡＭ  １０８に記憶するようにしてもよい。
【００６５】
更新部２０４は、保持部２０３に保持された有音区間３１０のそれぞれについて、有音区間３１０の時間長が、決定部２０２により決定された閾時間ＴＳより短い場合、その有音区間３１０と、その有音区間３１０の近くに存在する他の有音区間３１０と、これら二つの有音区間３１０に挟まれる無音区間３２０と、から構成される区間を、新たな有音区間３１０として保持部２０３に保持させる。制御部１０９と記憶装置１０６が協働して動作することにより、更新部２０４として機能する。
【００６６】
具体的には、図１０（ａ）に示すように、ある有音区間１０１１の時間長が閾時間ＴＳ以上の場合、制御部１０９は、有音区間１０１１を更新せずにそのまま記憶装置１０６に記憶させる。
一方、図１０（ｂ）に示すように、有音区間１０１１の時間長が閾時間ＴＳより短い場合、制御部１０９は、有音区間１０１１と、他の有音区間１０１２と、２つの有音区間１０１１，１０１２に挟まれる無音区間１０２１と、から構成される区間を、新たな有音区間とする。すなわち、図１０（ｃ）に示すように、制御部１０９は、有音区間１０１１，１０１２及び無音区間１０２１から構成される区間を、新たな有音区間１０３０として記憶装置１０６に記憶させる。ここで、他の有音区間１０１２とは、例えば、１つの無音区間を挟んで隣り合わせに存在する有音区間のことである。
【００６７】
制御部１０９は、新たな有音区間の時間長が閾時間ＴＳ以上になるまで繰り返し更新する。例えば、図１０（ｄ）に示すように、有音区間１０１１の時間長が閾時間ＴＳより短い場合、制御部１０９は、有音区間１０１１と、他の有音区間１０１２と、２つの有音区間１０１１，１０１２に挟まれる無音区間１０２１と、から構成される時間長Ｔ１の区間を、新たな有音区間とする。しかし、時間長Ｔ１は閾時間ＴＳより短いため、制御部１０９は、有音区間１０１３と、挟まれる無音区間１０２２とをさらに含む時間長Ｔ２の区間を、図１０（ｅ）に示すように新たな有音区間１０３０とする。ここで、時間長Ｔ２は閾時間ＴＳより長いため、制御部１０９は有音区間１０３０の更新を終了する。もし時間長Ｔ２が閾時間ＴＳより短ければ、制御部１０９は再び有音区間１０３０を更新すればよく、何回繰り返してもよい。
【００６８】
このように、制御部１０９が有音区間３１０を更新することにより、計算された閾時間ＴＳ以上の時間長の有音区間が記憶装置１０６に記憶されることとなる。ここで、閾時間ＴＳは文字列データ４３０に基づいて計算されるため、編集者はいちいち閾時間ＴＳをマニュアルで指定する必要はない。また、制御部１０９によって更新された有音区間３１０には、計算された閾時間ＴＳに満たない時間長の有音区間がないので、本来１つであるべき音声データが分割されてしまったため結合し直す、といった余計な手間を省くことができる。
【００６９】
本実施形態では、更新部２０４は、ある有音区間３１０と、その有音区間３１０と１つの無音区間３２０を挟んで隣り合わせに存在する他の有音区間とをまとめて１つの新たな有音区間にする。ただし、２つ以上の無音区間３２０を挟んでいてもよい。すなわち、更新部２０４は、時間長が閾時間ＴＳ未満の有音区間３１０が存在すると、その有音区間３１０より時系列的に後に存在する他の有音区間のうち、その有音区間３１０の開始点から閾時間ＴＳ以上離れ、且つ、最も近いものを選択する。そして、更新部２０４は、その有音区間３１０の開始点から、選択した他の有音区間の終了点までを新たな有音区間にする。このようにすれば、更新部２０４は、有音区間３１０を繰り返し更新しなくて済み、制御部１０９が行う処理の負荷を軽減できる。
あるいは、更新部２０４は、時間長が閾時間ＴＳ未満の有音区間３１０が存在すると、その有音区間３１０より時系列的に前に存在する他の有音区間のうち、その有音区間３１０の終了点から閾時間ＴＳ以上離れ、且つ、最も近いものを選択してもよい。そして、更新部２０４は、その有音区間３１０の終了点から、選択した他の有音区間の開始点までを新たな有音区間にしてもよい。
さらには、更新部２０４は、時間長が閾時間ＴＳ未満の有音区間３１０が存在すると、
（１）その有音区間３１０より時系列的に後に存在する他の有音区間のうち、その有音区間３１０の開始点から閾時間ＴＳ以上離れ、且つ、最も近いもの
（２）その有音区間３１０より時系列的に前に存在する他の有音区間のうち、その有音区間３１０の終了点から閾時間ＴＳ以上離れ、且つ、最も近いもの
の両方を特定し、いずれか近い方を選択して、新たな有音区間を生成してもよい。
【００７０】
制御部１０９が有音区間３１０を更新する手法はこれに限られず、他の手法もある。
【００７１】
例えば図１１（ａ）に示すように、制御部１０９は、
（１）有音区間１１１１と、有音区間１１１１より時系列的に前に存在する前方有音区間１１１２と、に挟まれる前方無音区間（第１区間）１１２１の時間長Ｔｆｗｄ、
（２）有音区間１１１１と、有音区間１１１１より時系列的に後に存在する後方有音区間１１１３と、に挟まれる後方無音区間（第２区間）１１２２の時間長Ｔｂｗｄ、
のそれぞれを計算する。そして、制御部１０９は、計算したＴｆｗｄとＴｂｗｄを比較して時間長の短い方を選択する。さらに、制御部１０９は、（イ）前方無音区間１１２１と後方無音区間１１２２のうち選択した方の無音区間、（ロ）有音区間１１１１、（ハ）選択した方の無音区間に対応する前方有音区間１１１２又は後方有音区間１１１３のどちらか、から構成される区間を、新たな有音区間１１３０としてもよい。
言い換えれば、Ｔｆｗｄ＞Ｔｂｗｄの場合、制御部１０９は、図１１（ｂ）に示すように、有音区間１１１１と前方無音区間１１２１と前方有音区間１１１２とから構成される区間を、新たな有音区間１１３０とする。一方、Ｔｆｗｄ＜Ｔｂｗｄの場合、制御部１０９は、図１１（ｃ）に示すように、有音区間１１１１と後方無音区間１１２２と後方有音区間１１１３とから構成される区間を、新たな有音区間１１３０とする。なお、Ｔｆｗｄ＝Ｔｂｗｄの場合には、制御部１０９は、前方無音区間１１２１と後方無音区間１１２２のどちらを選択してもよい。
【００７２】
あるいは、例えば図１１（ｄ）に示すように、制御部１０９は、
（１）有音区間１１１１に時系列的に前に存在する前方有音区間１１１２と、前方有音区間１１１２と有音区間１１１１に挟まれる前方無音区間１１２１と、から構成される第１区間の時間長Ｔｆｗｄ、
（２）有音区間１１１１に時系列的に後に存在する後方有音区間１１１３と、後方有音区間１１１３と有音区間１１１１に挟まれる後方無音区間１１２２と、から構成される第２区間の時間長Ｔｂｗｄ、
のそれぞれを計算する。そして、制御部１０９は、計算したＴｆｗｄとＴｂｗｄを比較して時間長の短い方を選択する。さらに、制御部１０９は、（イ）第１区間と第２区間のうち選択した方の区間、（ロ）有音区間１１１１、から構成される区間を、新たな有音区間１１３０としてもよい。
言い換えれば、Ｔｆｗｄ＞Ｔｂｗｄの場合、制御部１０９は、図１１（ｂ）に示すように、有音区間１１１１と前方無音区間１１２１と前方有音区間１１１２とから構成される区間を、新たな有音区間１１３０とする。一方、Ｔｆｗｄ＜Ｔｂｗｄの場合、制御部１０９は、図１１（ｃ）に示すように、有音区間１１１１と後方無音区間１１２２と後方有音区間１１１３とから構成される区間を、新たな有音区間１１３０とする。なお、Ｔｆｗｄ＝Ｔｂｗｄの場合には、制御部１０９は、前方無音区間１１２１と後方無音区間１１２２のどちらを選択してもよい。
【００７３】
あるいは、例えば図１１（ｅ）に示すように、制御部１０９は、
（１）有音区間１１１１に時系列的に前に存在する前方有音区間１１１２の時間長Ｔｆｗｄ、
（２）有音区間１１１１に時系列的に後に存在する後方有音区間１１１３の時間長Ｔｂｗｄ、
のそれぞれを計算する。そして、制御部１０９は、計算したＴｆｗｄとＴｂｗｄを比較して時間長の短い方を選択する。さらに、制御部１０９は、（イ）前方有音区間１１１２と後方有音区間１１１３のうち選択した方の有音区間、（ロ）有音区間１１１１、（ハ）選択した方の有音区間と有音区間１１１１とに挟まれる無音区間、から構成される区間を、新たな有音区間１１３０としてもよい。
言い換えれば、Ｔｆｗｄ＞Ｔｂｗｄの場合、制御部１０９は、図１１（ｂ）に示すように、有音区間１１１１と前方無音区間１１２１と前方有音区間１１１２とから構成される区間を、新たな有音区間１１３０とする。一方、Ｔｆｗｄ＜Ｔｂｗｄの場合、制御部１０９は、図１１（ｃ）に示すように、有音区間１１１１と後方無音区間１１２２と後方有音区間１１１３とから構成される区間を、新たな有音区間１１３０とする。なお、Ｔｆｗｄ＝Ｔｂｗｄの場合には、制御部１０９は、前方有音区間１１１２と後方有音区間１１１３のどちらを選択してもよい。
【００７４】
図１１（ａ）、（ｄ）、（ｅ）に示すいずれの手法においても、制御部１０９は、計算したＴｆｗｄとＴｂｗｄを比較して、時間長の短い方ではなく、時間長の長い方を選択してもよい。時間長の短い方を選択する場合、閾時間より短い時間長の有音区間が近くに複数個存在すると、更新後の有音区間の数がなるべく多くなるような特性で有音区間を更新する。一方、時間長の長い方を選択する場合、閾時間より短い時間長の有音区間が近くに複数個存在すると、更新後の有音区間の数がなるべく少なくなるような特性で有音区間を更新する。どちらを採用するかは自由であり、状況によって使い分ければよい。
【００７５】
出力部２０５は、保持部２０４によって保持された（記憶された）有音区間３１０のそれぞれを再生して、保持された有音区間３１０の中からいずれかをユーザに選択させる。さらに、出力部２０５は、選択された有音区間３１０を文字列データ４３０に対応付けて出力する。制御部１０９、記憶装置１０６、音声処理部１０３、入力部１０１、画像処理部１０２が協働して動作することにより、出力部２０５として機能する。
【００７６】
具体的には、まず、制御部１０９は、記憶装置１０６に記憶された有音区間３１０を示す情報を取得する。記憶装置１０６には、上述のように更新された有音区間３１０と更新されていない有音区間３１０とが記憶される。次に、制御部１０９は、取得した有音区間３１０を示す情報から、波形データ２５１の中で有音区間３１０に相当する部分波形データを記憶装置１０６から読み出す。そして、音声処理部１０３は、制御部１０９の制御により、読み出された部分波形データを所定のアルゴリズムに基づいてデコードして再生する。これにより、有音区間３１０に相当する音声がスピーカー１２４から出力され、ユーザは抽出された音声を聴くことができる。有音区間３１０の更新後、複数の有音区間３１０が記憶装置１０６に記憶されている場合、制御部１０９は各々の有音区間３１０の部分波形データを読み出して、音声処理部１０３は各々の部分波形データを再生する。この部分波形データが、音声処理装置１００により抽出されユーザに提供される音声データである。
【００７７】
ここで、制御部１０９は、有音区間３１０のリストをモニター１２３に表示させ、ユーザにより選択された有音区間３１０の音声をスピーカー１２４から出力させるようにしてもよい。
【００７８】
例えば、図１２は、モニター１２３に表示される画面の構成例である。制御部１０９は、記憶装置１０６から取得した有音区間３１０の一覧を作成し、画像処理部１０２を制御して音声リスト１２０１を含む画面を表示させる。この画面には、例えば再生開始ボタン１２０２、再生一時停止ボタン１２０３、再生終了ボタン１２０４、文字列入力ボタン１２０５、波形画像１２０６、文字列候補リスト１２０７などが含まれる。
【００７９】
音声リスト１２０１は、有音区間３１０を識別するための番号と、有音区間３１０の開始位置・終了位置と、文字列データ４３０とを対応付けたリストである。有音区間３１０と文字列データ４３０との対応付けがまだなされていない場合には、文字列データ４３０の表示欄に文字列は表示されない。
【００８０】
文字列候補リスト１２０７は、セリフテーブル４００に含まれる文字列データ４３０のリストである。ユーザは文字列候補リスト１２０７の中から自由に選択してそれぞれの有音区間３１０に文字列データ４３０を対応付けることができる。
【００８１】
ユーザによって音声リスト１２０１の中からいずれかの有音区間３１０が選択されて再生開始ボタン１２０２が押下されると、制御部１０９は、選択された有音区間３１０に対応する部分波形データを読み出して音声処理部１０３に再生させる。また、ユーザによって音声リスト１２０１の中からいずれかの有音区間３１０が選択され、且つ、文字列候補リスト１２０７の中からいずれかの文字列データ４３０が選択されると、制御部１０９は、選択された有音区間３１０と選択された文字列データ４３０とを対応付けて記憶装置１０６に記憶させ、音声リスト１２０１を更新して表示させる。
【００８２】
なお、制御部１０９は、ユーザの指示に基づいて有音区間３１０の開始位置と終了位置を変更できるようにしてもよい。この場合、入力部１０１は、キーボード１２１やマウス１２２などの入力装置を用いたユーザからの指示を受け付け、対応する指示信号を制御部１０９に入力し、制御部１０９は入力された指示信号に応じて開始位置と終了位置を変更する。これにより、ユーザによる音声の抽出領域の調整が可能になる。
【００８３】
また、制御部１０９は、選択された有音区間３１０と選択された文字列データ４３０とを対応付けて任意の形式の電子ファイルとして出力してもよい。例えば、制御部１０９は、選択された有音区間３１０に対応する部分波形データを波形データ２５１の中から抽出して電子ファイルを作成し、選択された文字列データ４３０をファイル名にする。これにより、ユーザは、どのファイルがどのセリフの音声データを格納しているのか容易に判別でき、各セリフの音声データを管理しやすくなる。
【００８４】
次に、音声処理装置１００の上述した各部が行う音声抽出処理について図１３のフローチャートを用いて説明する。音声処理装置１００は、複数のセリフデータを格納する波形データ２５１の中から、セリフに対応する部分を抽出する。波形データ２５１は予め記憶部２０１に記憶されているものとする。
【００８５】
まず、決定部２０２は、波形データ２５１に含まれるセリフの文字列が記録されたデータファイルを読み出して、文字列データ４３０を取得する（ステップＳ１３０１）。上述したように、決定部２０２は、波形データ２５１に含まれるセリフの文字列の入力をユーザから受け付けて、文字列データ４３０を取得してもよい。決定部２０２は、取得した文字列データ４３０に基づいてセリフテーブル４００を作成して記憶部２０１に記憶させる。
【００８６】
決定部２０２は、セリフテーブル４００に記憶された各々の文字列データ４３０の発音時間に基づいて閾時間ＴＳを計算する（ステップＳ１３０２）。具体的には、決定部２０２は、上述の［数１］や［数２］を用いた発音時間の計算方法によって、文字列データ４３０ごとに発音時間を計算する。ここで計算される発音時間は、人間による正確な発音時間とは限らず、人間が発音すればおおよそこの程度であろうと推測される目安値でよい。そして、決定部２０２は、計算された発音時間の中の最小値を閾時間ＴＳに決定する。
【００８７】
次に、保持部２０３は、記憶部２０１に記憶された波形データ２５１を取得して有音区間３１０を抽出する（ステップＳ１３０３）。具体的には、保持部２０３は、上述したいずれかの判別方法により有音区間３１０を判別して抽出する。ここでは、波形データ２５１の中からＮ個（Ｎは１以上の整数）の有音区間３１０が抽出されたとする。
【００８８】
そして、更新部２０４は、抽出されたＮ個の有音区間３１０のそれぞれについて、時間長がステップＳ１３０２で計算された閾時間ＴＳより短いか否かを判別する（ステップＳ１３０４）。
【００８９】
Ｎ個の有音区間３１０の中に時間長が閾時間ＴＳより短いものがあると判別された場合（ステップＳ１３０４；ＹＥＳ）、更新部２０４は、各々の有音区間３１０の時間長が閾時間ＴＳ以上になるように、有音区間３１０を更新する（ステップＳ１３０５）。具体的には、図１０や図１１に示した方法を用いて、時間長が閾時間ＴＳより短いと判別された有音区間と、他の有音区間と、これら２つの有音区間に挟まれた区間と、から構成される区間を、新たな有音区間とする。更新部２０４は、波形データ２５１に含まれるすべての有音区間３１０の時間長が閾時間ＴＳ以上になるように更新する。
【００９０】
時間長が閾時間ＴＳより短いものがないと判別された場合（ステップＳ１３０４；ＮＯ）、出力部２０５は、更新された有音区間３１０と、それに対応する文字列データ４３０とを対応付けて出力する（ステップＳ１３０６）。具体的には、出力部２０５は、図１２に示すような音声リスト１２０１と文字列候補リスト１２０７を含む画面をモニター１２３に表示させる。出力部２０５は、ユーザから任意の有音区間３１０を再生する指示入力を受け付けて、再生する旨の指示入力があった有音区間３１０に相当する部分波形データを再生する。また、出力部２０５は、有音区間３１０と文字列データ４３０とを対応付ける選択指示入力をユーザから受け付けて、この選択指示入力に基づいて音声リスト１２０１を更新して表示させる。出力部２０５は、有音区間３１０のそれぞれと文字列データ４３０とを対応付ける指示入力をユーザから受け付けて、この指示入力に基づいて有音区間３１０に相当する部分波形データを波形データ２５１から抽出してデータファイルとして出力してもよい。
【００９１】
このように、本実施形態によれば、音声処理装置１００は、波形データ２５１からセリフ部分の音声データを容易に抽出することができる。その際、抽出される音声データの最小の長さは、予め用意されたセリフに相当する文字列データ４３０の長さに基づいて最適になるように決定されるので、本来１つの音声データであるべきものが複数の音声データに分割されて抽出されてしまったり、逆に複数の音声データに分割されるべきものが１つの音声データに結合されて抽出されてしまったりすることはない。また、ユーザは音声データの抽出サイズをいちいち指定する必要はない。
【００９２】
（実施例２）
次に、本発明の他の実施形態について説明する。本実施形態は、音声処理装置１００に波形データ２５１から音声データを抽出させるための詳細な設定ができるようにしたものである。
【００９３】
本実施形態では、ユーザは次に示す基本パラメータと補助パラメータのそれぞれを任意の値に設定することができる。
【００９４】
基本パラメータには次の４つがある。
（Ａ）無音時間パラメータ・・・時間長を示す数値（例えばミリ秒単位など）で設定される。保持部２０３はこれより短い時間の発音があっても無音とみなす。これにより、ノイズ等による瞬間的な波形変化を無視できる。上述の実施形態における所定時間ＴＸ，ＴＹに相当する。
（Ｂ）最低発音時間パラメータ・・・時間長を示す数値で設定される。保持部２０３はこれより短い時間長の有音区間３１０を作成しない。すなわち、決定部２０２が計算した閾時間ＴＳがこれより短い場合、保持部２０３はこの最低発音時間パラメータを優先する。
（Ｃ）アタック音量パラメータ・・・音量を示す数値（例えばデシベル単位など）で設定される。保持部２０３はこれより大きい音量のときにアタック（発音の開始）とみなす。上述の実施形態における基準値Pbaseに相当する。
（Ｄ）リリース音量パラメータ・・・音量を示す数値（例えばデシベル単位など）で設定される。保持部２０３はこれより小さい音量のときにリリース（発音の終了）とみなす。上述の実施形態における基準値Qbaseに相当する。
【００９５】
保持部２０３は、これらのパラメータに基づいて有音区間３１０の開始位置と終了位置を判別する。
【００９６】
補助パラメータには次の２つがある。図１４を用いて説明する。
（Ｘ）前オフセット時間パラメータ・・・時間長を示す数値で設定される。更新部２０４は、有音区間３１０の開始点６１０からこのパラメータで指定された時間長だけ前までの区間を前オフセット区間１４１０として抽出する。例えば、出力部２０５は、前オフセット区間１４１０では音量をゼロから単調増加させてだんだんと大きくしていき、有音区間３１０の開始点６１０の音量に滑らかに繋げて再生する（いわゆるフェードイン再生）。
（Ｙ）後ろオフセット時間パラメータ・・・時間長を示す数値で設定される。更新部２０４は、有音区間３１０の終了点６２０からこのパラメータで指定された時間長だけ後ろまでの区間を後ろオフセット区間１４２０として抽出する。例えば、出力部２０５は、後ろオフセット区間１４２０では音量を有音区間３１０の終了点６２０の音量から単調減少させてだんだんと小さくしていき、後ろオフセット区間１４２０の最後で音量をゼロにする（いわゆるフェードアウト再生）。
【００９７】
なお、本実施形態では、出力部２０５は、前オフセット区間１４１０を音量のフェードイン区間としてフェードインさせ、後ろオフセット区間１４２０を音量のフェードアウト区間としてフェードアウトさせているが、これらの区間１４１０，１４２０で波形データ２５１に他のエフェクトをかけて再生するようにしてもよい。例えば、エコーをかける（反響させる）、所定周波数帯域のみ透過させる（ローパスフィルタやハイパスフィルタ）、再生スピードを変える、など様々なエフェクトをかけることができる。出力部２０５は、有音区間３１０にも同様なエフェクトをかけることができる。
【００９８】
出力部２０５は、有音区間３１０と、その前オフセット区間１４１０と、その後ろオフセット区間１４２０とに相当する部分波形データを再生する代わりに、もしくは、再生するのに加えて、電子ファイルに出力して記憶部２０１に記憶するようにしてもよい。その際、出力部２０５は、前オフセット区間１４１０と後ろオフセット区間１４２０にフェードイン・フェードアウトなどのエフェクトをかけた後の部分波形データを出力してもよい。これにより、音声データの編集作業を効率化できる。出力部２０５は、有音区間３１０にも同様なエフェクトをかけて部分波形データを出力することができる。
【００９９】
このほか、上述の基本パラメータのそれぞれを別々に指定する代わりに、まとめてセットにして変化させることができるパラメータ（以下、「感度パラメータ」と呼ぶ）も用意されている。
（Ｚ）感度パラメータ・・・段階を示す数値やセットの固有番号等で設定される。ユーザは、図１５に示すように、予め記憶部２０１に記憶された強感度用、弱感度用といったセットを用いたり、よく使う設定として任意に編集した各パラメータをセットにして記憶部２０１に記憶させて用いたりすることができる。ユーザは、感度パラメータを設定すれば、各基本パラメータを一つ一つ設定する必要はないので、編集作業を効率化できる。なお、各セットに含まれるパラメータはこれらに限定されず、補助パラメータ等の他のパラメータも含まれていてもよい。
【０１００】
このように、本実施形態によれば、音声処理装置１００は、波形データ２５１からユーザの好みに合わせて音声データを抽出することができる。また、音声処理装置１００は、ユーザに大きな作業負担を強いることなく、抽出した音声データにユーザの好みに合わせてエフェクトをかけることができる。
【０１０１】
本発明は、上述した実施形態に限定されず、種々の変形及び応用が可能である。また、上述した実施形態の各構成要素を自由に組み合わせることも可能である。
【０１０２】
音声処理装置１００を装置の全部又は一部として動作させるためのプログラムを、メモリカード、ＣＤ−ＲＯＭ、ＤＶＤ、ＭＯ（Magneto Optical disk）などのコンピュータ読み取り可能な記録媒体に格納して配布し、これを別のコンピュータにインストールし、上述の手段として動作させ、あるいは、上述の工程を実行させてもよい。
【０１０３】
さらに、インターネット上のサーバ装置が有するディスク装置等にプログラムを格納しておき、例えば、搬送波に重畳させて、コンピュータにダウンロード等するものとしてもよい。
【０１０４】
以上説明したように、本発明によれば、音声データから所望の部分を効率よく取り出すために好適な音声処理装置、音声処理方法、ならびに、プログラムを提供することができる。
【図面の簡単な説明】
【０１０５】
【図１】本発明の音声処理装置の構成を示す図である。
【図２】音声処理装置の各部が行う処理を説明するための図である。
【図３】波形データの構成例を示す図である。
【図４】（ａ）セリフテーブルの構成例を示す図である。（ｂ）波形データと、波形データに含まれるセリフの文字列とを対応付ける手法の一例である。
【図５】（ａ）文字の種類と発音時間との関連付けの例を示す図である。（ｂ）文字または文字列と、発音時間との対応付けの例を示す図である。
【図６】波形データの有音区間と無音区間を説明するための図である。
【図７】（ａ）パワー値と、保持部によって計算されるアタック比率を説明するための図である。（ｂ）波形データの有音区間と無音区間を説明するための図である。
【図８】近似曲線と、波形データの有音区間と無音区間を説明するための図である。
【図９】波形データの有音区間と無音区間を簡略化して表す図である。
【図１０】（ａ）〜（ｅ）は、更新部が有音区間を更新する処理を説明するための図である。
【図１１】（ａ）〜（ｅ）は、更新部が有音区間を更新する処理を説明するための図である。
【図１２】音声リストと文字列候補リストを含む画面の構成例である。
【図１３】音声抽出処理を説明するためのフローチャートである。
【図１４】前オフセット区間と後ろオフセット区間を説明するための図である。
【図１５】基本パラメータと補助パラメータを説明するための図である。
【符号の説明】
【０１０６】
１００  音声処理装置
１０１  入力部
１０２  画像処理部
１０３  音声処理部
１０４  通信処理部
１０５  ＤＶＤ−ＲＯＭドライブ
１０６  記憶装置
１０７  ＲＯＭ
１０８  ＲＡＭ
１０９  制御部
１１０  システムバス
１２１  キーボード
１２２  マウス
１２３  モニタ
１２４  スピーカー
１２５  マイク
２０１  記憶部
２０２  決定部
２０３  保持部
２０４  更新部
２０５  出力部
２５１  波形データ
３１０  有音区間
３２０  無音区間
４００  セリフテーブル
４１０  波形データ名
４２０  セリフ番号
４３０  文字列データ
６１０  有音区間の開始点（あるいは無音区間の終了点）
６２０  有音区間の終了点（あるいは無音区間の開始点）
８１０  近似曲線
１４１０  前オフセット区間
１４２０  後ろオフセット区間
【図１】
2008242082.tif 000003
【図２】
2008242082.tif 000004
【図３】
2008242082.tif 000005
【図４】
2008242082.tif 000006
【図５】
2008242082.tif 000007
【図６】
2008242082.tif 000008
【図７】
2008242082.tif 000009
【図８】
2008242082.tif 000010
【図９】
2008242082.tif 000011
【図１０】
2008242082.tif 000012
【図１１】
2008242082.tif 000013
【図１２】
2008242082.tif 000014
【図１３】
2008242082.tif 000015
【図１４】
2008242082.tif 000016
【図１５】
2008242082.tif 000017