以下、本発明の実施の形態について、図面を参照して説明する。
−実施形態1−
図1及び図2は、本実施形態1の音声録音再生装置であるボイスレコーダの電気的構成の一例を示すブロック図、図3は外観図である。
図3に示すように、本実施形態1の音声録音再生装置は、左側マイクロホン3と右側マイクロホン4の2つのマイクロホンを備えており、この例では両マイクロホン3,4が装置筐体100の正面に向かって約45度の角度を保って配置されている。ただし、この配置方向及び配置角度に限定されるものではない。また、装置筐体100の正面には、スピーカ22と各種操作を行う操作パネル2とが配置されている。操作パネル2には、録音キー2a、再生キー2b、停止キー2c、巻戻キー2d、早送キー2e、音声ボリューム(回転スイッチ)2f等の従来周知の機能キー等が設けられている他に、再生時に特定者の会話内容のみを再生する場合に使用される特定者選択キー2gが設けられている。特定者選択キー2gは、本実施形態1では発話者を3名として想定しているので、Rキー(発話者A)、Cキー(発話者B)、Lキー(発話者C)の3つのキーを備えている。
図1において、左側マイクロホン3の入力音声信号は、マイクアンプ5を介してノイズカット用のバンドパスフィルタ7に入力され、さらに整流ダイオード9を介して積分回路11に入力され、A/Dコンバータ13を介してコントローラ1に入力されている。同様に、右側マイクロホン4の入力音声信号は、マイクアンプ6を介してノイズカット用のバンドパスフィルタ8に入力され、さらに整流ダイオード10を介して積分回路12に入力され、A/Dコンバータ14を介してコントローラ1に入力されている。
また、一方のマイクアンプ5の出力は、ゲインコントロールアンプ(GCA)15を介して加算アンプ17の一方の端子に入力され、他方のマイクアンプ6の出力は、ゲインコントロールアンプ(GCA)16を介して加算アンプ17の他方の端子に入力されており、加算アンプ17の出力は、A/Dコンバータ18を介して音声メモリ19に入力されている。さらに、音声メモリ19の出力は、D/Aコンバータ20及びスピーカアンプ21を介してスピーカ22に接続されている。
コントローラ1は、操作パネル2からの入力に従って装置全体をコントロールするものであり、図2に示すように、CPU1a、動作プログラムを格納したROM1b、動作時にはワークエリアとして働くRAM(ワークメモリ)1c、パラレルI/O1d、アドレスカウンタ1e、タイマー1f、後述する発話者判断基準テーブル1g等を備えている。ただし、発話者判断基準テーブル1gは、コントローラ1に格納しておく必要はなく、外部メモリ(例えばフラッシュメモリやEEPROM等)に格納しておいてもよい。また、コントローラ1には、後述するマーカ用メモリ23が接続されている。コントローラ1は、操作パネル2からの入力に従い、音声メモリ19にアドレス信号を出力して、録音動作や再生動作を制御する。また、コントローラ1は、GCA15,16の増幅率を制御する。
ここで、ワークメモリ1cは、入力音声の録音(記録)時や、録音データの再生時にROM1a内の所望のプログラムをインストールし、各種状態を管理して録音動作や再生動作を実行するエリアである。具体的には、現在録音中であることを示す録音中フラグの状態、現在再生中であることを示す再生中フラグの状態、現在の発話者を特定して再生中であることを示すL/C/R再生中フラグの状態などを管理しているとともに、音声メモリ19に記録されているデータ量(録音時間)の管理、後述するマーカ用メモリ23に録音されているID数(登録マーカ数)の管理、現在再生中のマーカ部位(再生マーカ)の管理、録音中及び再生中の発話者の管理、マーカが切り替わったときの時間(マーカ切替位置)の管理などを、CPU1aからの制御によって行っている。
アドレスカウンタ1eは、録音中及び再生中は自動的にインクリメントしている。また、A/Dコンバータ18で変換した音声メモリ19のアドレスを指定する。なお、本実施形態1では、10msecで割り込みをかけているため、上記のアドレス値を10msec当たりのサンプリング数で割った値が録音時間または再生時間となる。
タイマー1fは、録音時及び再生時に10msecの割り込みをかける。また、本実施形態1では、後述するが特定時間(例えば、5秒等)の計測も合わせて行う場合がある。従って、図2ではタイマー1fは1個であるが、10msecの計測と5秒の計測とを同時に行う必要があるため、実際には2個のタイマーが用意されている。
図4は、発話者判断基準テーブル1gに格納されている発話者判断基準の具体的な構成例を示している。また、図5は、この発話者判断基準の基本となる3名の発話者の配置位置を示しており、右マイクロホン4に対面して右発話者A、左マイクロホン3に対面して左発話者C、その中間位置(すなわち、装置筐体100の正面位置)に中発話者Bがいる場合を想定している。
上記想定に基づき、発話者判断基準は、各マイクロホン3,4から入力される各発話者の音声の音量の比率Pに基づいて3つに区分されている。すなわち、下式(1)、
P=L音量÷(L音量+R音量)・・・(1)
(ただし、L音量:A/Dコンバータ13の値、R音量:A/Dコンバータ14の値)
の演算結果に基づき、比率PをP1(0〜0.33)、P2(0.33〜0.67)、P3(0.67〜1)、の3つに区分している。そして、比率PがP1の区分内にある場合には右発話者A、比率PがP2の区分内にある場合には中発話者B、比率PがP3の区分内にある場合には左発話者Cと判断する。
また、この発話者判断基準テーブル1gには、各GCA15,16の増幅率も各区分に対応して設定されている。具体的には、比率PがP1の区分内にある場合にはGCA15の増幅率を0.2倍、GCA16の増幅率を1.0倍とし、比率PがP2の区分内にある場合にはGCA15,16共に増幅率を1.0倍とし、比率PがP3の区分内にある場合にはGCA15の増幅率を1.0倍、GCA16の増幅率を0.2倍としている。ただし、増幅率を抑えるときの倍率については、0.2倍に限定されるものではなく、例えば0.1倍〜0.5倍程度の範囲内で任意に設定すればよい。
従って、コントローラ1は、この発話者判断基準テーブル1gに格納されている発話者判断基準に基づき、発話者が左発話者Cであると判断した場合には、左側マイクロホン3に対応するGCA15の増幅率を1とし、右側マイクロホン4に対応するGCA16の増幅率を0.2として、右側マイクロホン4からの入力を抑えるように制御する。また、発話者が右発話者Aであると判断した場合には、右側マイクロホン4に対応するGCA16の増幅率を1とし、左側マイクロホン3に対応するGCA15の増幅率を0.2として、左側マイクロホン3からの入力を抑えるように制御する。さらに、発話者が中発話者Bであると判断した場合には、両マイクロホン3,4に対応する両GCA15,16の増幅率を共に1とする。
図6は、マーカ用メモリ23に登録される登録内容の一例を示している。
このマーカ用メモリ23は、登録マーカ数(0からの連続番号)、発話者の録音時間(録音開始からの時間)、当該発話者を識別する識別コード(具体的には、操作パネル2の特定者選択キー2gに設けられている各R,C,Lキーに対応した識別コード)の各項目からなっている。ここで、図6に登録されている内容は、例えば図7に示す各発話者A〜Cの発話内容に対応した内容となっている。具体的には、録音を開始して最初(0:00)に右発話者Aが発話(「こんにちは」)した結果、マーカ用メモリ23には、登録マーカ数「0」が登録され、その登録マーカ数「0」の位置に、録音時間「00:00.00」と、識別コード「R(=右発話者A)」とが登録されている。そして、次に「0:09」の時点で今度は中発話者Bが発話(「はじめまして」)を開始した結果、マーカ用メモリ23には、それまでの登録マーカ数にプラス1した登録マーカ数「1」が新たに登録され、その登録マーカ数「1」の位置に、録音時間「00:09.24」と、識別コード「C(=中発話者B)」とが登録されている。以下同様にして、順次登録されている。
次に、上記構成の音声録音再生装置において、各マイクロホン3,4からの入力音声を録音する場合の処理について説明する。
操作パネル2の録音キー2aが押されると、入力音声は次のような流れで録音される。
すなわち、左側マイクロホン3と右側マイクロホン4からの音声信号は、各マイクアンプ5,6で増幅される。そして、増幅された信号の音量を検出できるようにするために、まずノイズカット用のバンドパスフィルタ7,8で高域及び低域の周波数をカットして音声信号を中心とした信号にした後、次の整流ダイオード9,10で交流信号を脈流信号に整流し、次の積分回路11,12でその信号を積分し、音量の信号に変換する。そして、次のA/Dコンバータ13,14で音量を示すデジタル信号に変換してコントローラ1に入力する。
コントローラ1は各A/Dコンバータ13,14からの信号に対して上記(1)式を計算する。そして、この計算値を元に、図4に示す発話者判断基準テーブル1gの内容に従って、現在の発話者が右発話者であるのか、中発話者であるのか、左発話者であるのかを判断する。コントローラ1はその判断に従い、各マイクアンプ5,6に接続された各GCA15,16の増幅率を、発話者判断基準テーブル1gに設定されている増幅率の値に設定する。これは、発話者の音声が少ない方の信号にはノイズが多いため、ノイズを減らすための処理である。ただし、実際の処理では、増幅率が急激に切り替わるのを防ぐため一定時間その状態が続くことを条件とする等の処理があるが、ここでは説明を省略する。
このようにして増幅率がコントロールされた左右のGCA15,16の出力は、加算アンプ17で合成され、その出力はA/Dコンバータ18でデジタル変換され、時系列に音声メモリ19に記録される。音声メモリ19のデータは、A/Dコンバータ18より入力され、アドレスはコントローラ1より入力される。音声メモリ19に記録されるデータは、通常はデータ圧縮等するが、本発明と直接関係ないので、ここでは記述しない。また、コントローラ1は、発音者が切り替わったというタイミング(音声メモリ19の記録位置に相当)を、マーカ用メモリ23に順次登録する。
一方、再生する場合は次のような制御を実施する。すなわち、操作パネル2の再生キー2bが押されると次のような流れで再生される。
コントローラ1は音声メモリ19の再生するアドレスを指定して時系列にデータを読み出す。その出力は、D/Aコンバータ20に入力されてアナログ信号に変換され、変換された信号はスピーカアンプ21で増幅され、スピーカ22で音声として再生される。
次に上記の録音処理と再生処理を、図8ないし図15に示すフローチャートを参照してより具体的に説明する。
<初期化処理>
まず、図8を参照して初期化処理を説明する。
初期化処理では、全フラグをクリアし、マーカ用メモリ23及び音声メモリ19を0にする(ステップS1)。次に、アドレスカウンタ1eを0にリセットした後(ステップS2)、10msecの割り込み動作を開始する(ステップS3)。
<10msecの割り込み動作時の処理(録音から再生までの全体の処理)>
次に、図9を参照して、10msecの割り込み動作時の処理について説明する。
割り込みが発生すると、まず、各キーのオン、オフ状態、及びL,R,C各キーの長押し状態を確認する(ステップS101〜ステップS111)。そして、録音キー2aが押されている場合には、録音フラグをオンにして(ステップS112)、ステップS123以降の処理に移る。また、再生キー2bが押されている場合には、再生フラグをオンにして(ステップS113)、ステップS123以降の処理に移る。また、停止キー2cが押されている場合には、全フラグをクリアするとともに、アドレスカウンタ1eを0にして(ステップS114)、ステップS123以降の処理に移る。また、巻戻キー2dが押されている場合には、通常の巻き戻し処理を行って(ステップS115)、ステップS123以降の処理に移る。また、早送キー2eが押されている場合には、通常の早送り処理を行って(ステップS116)、ステップS123以降の処理に移る。また、Lキーが押されている場合には、再生フラグをオンにするとともに、左再生中フラグをオンにして(ステップS117)、ステップS123以降の処理に移る。また、Rキーが押されている場合には、再生フラグをオンにするとともに、右再生中フラグをオンにして(ステップS118)、ステップS123以降の処理に移る。また、Cキーが押されている場合には、再生フラグをオンにするとともに、中再生中フラグをオンにして(ステップS119)、ステップS123以降の処理に移る。また、Lキーが長押しされた場合には、再生フラグをオンにするとともに、左再生中フラグをオンにし、かつ、スキップフラグをオンにして(ステップS120)、ステップS123以降の処理に移る。また、Rキーが長押しされた場合には、再生フラグをオンにするとともに、右再生中フラグをオンにし、かつ、スキップフラグをオンにして(ステップS121)、ステップS123以降の処理に移る。また、Cキーが長押しされた場合には、再生フラグをオンにするとともに、中再生中フラグをオンにし、かつ、スキップフラグをオンにして(ステップS122)、ステップS123以降の処理に移る。なお、L,R,C各キーが長押しされた場合の処理については、後ほど詳述する。
ステップS123〜ステップS128では、ステップS112〜ステップS122で設定されたフラグのオン、オフ状態を確認する。その結果、録音フラグがオンされている場合には、録音処理を実行する(ステップS129)。また、再生フラグがオンされている場合には、再生処理を実行する(ステップS130)。また、左再生中フラグがオンされている場合には、左再生処理を実行する(ステップS131)。また、右再生中フラグがオンされている場合には、右再生処理を実行する(ステップS132)。また、中再生中フラグがオンされている場合には、中再生処理を実行する(ステップS133)。また、スキップフラグがオンされている場合には、スキップ再生処理を実行する(ステップS134)。
次に、上記ステップS129〜134の処理について、具体的に説明する。すなわち、以下に説明する各処理は、10msecの割り込み時に実行される。
<録音処理>
図10を参照して、録音処理を説明する。
録音処理では、録音開始から自動的にインクリメントされているアドレスカウンタ1eのカウント値を時間に変換して、録音時間(録音開始からの時間)を求める(ステップS201)。次に、各マイクロホン3,4から入力される各発話者の音声の音量の比率Pと発話者判断基準テーブル1gに格納されている発話者判断基準とに基づき、現在の発話者が左発話者Cであるのか(ステップS202)、右発話者Aであるのか(ステップS205)、中発話者Bであるのか(ステップS208)を判断する。
ここで、現在の発話者が左発話者Cである場合(ステップS202でYesと判断された場合)には、次に、その左発話者Cが前回割り込み時の発話者と同じ発話者であるかどうかを判断し(ステップS203)、同じ発話者である場合(ステップS203でYesと判断された場合)には、ステップS210に進み、発話者判断基準テーブル1gに格納されているGCAの増幅率に従い、各GCA15,16の増幅率を設定する。ただし、前回と同じである場合には、そのままの増幅率を継続することになる。
一方、前回の発話者と現在の左発話者Cとが異なる場合、つまり、前回の発話者が左発話者C以外の発話者である場合(ステップS203でNoと判断された場合)には、マーカ用メモリ23に、登録マーカ数をプラス1して登録するとともに、このプラス1した登録マーカ数の位置に、発話者の切り換わりの位置を示す現在までの録音時間と、現在の発話者である左発話者Cの識別コード「L」とを登録する(ステップS204)。具体的には、例えば図6に示す例で言うと、それまでの登録マーカ数が「1」であり、その登録マーカ数「1」に対応する発話者が中発話者B(識別コード「C」)であった場合には、上記の判断処理により、登録マーカ数をプラス1して「2」とし、この登録マーカ数「2」の位置に、発話者の切り換わりの位置を示す現在までの録音時間である「00:14:35(すなわち、14.35秒)」を登録し、識別コードとして左発話者Cであることを示す「L」を登録する。ステップS204の処理終了後は、ステップS210へ進む。
また、現在の発話者が右発話者Aである場合(ステップS205でYesと判断された場合)には、次に、その右発話者Aが前回割り込み時の発話者と同じ発話者であるかどうかを判断し(ステップS206)、同じ発話者である場合(ステップS206でYesと判断された場合)には、ステップS210に進み、発話者判断基準テーブル1gに格納されているGCAの増幅率に従い、各GCA15,16の増幅率を設定する。ただし、前回と同じである場合には、そのままの増幅率を継続することになる。
一方、前回の発話者と現在の右発話者Aとが異なる場合、つまり、前回の発話者が右発話者A以外の発話者である場合(ステップS206でNoと判断された場合)には、マーカ用メモリ23に、登録マーカ数をプラス1して登録するとともに、このプラス1した登録マーカ数の位置に、発話者の切り換わりの位置を示す現在までの録音時間と、現在の発話者である右発話者Aの識別コード「R」とを登録する(ステップS207)。ステップS207の処理終了後は、ステップS210へ進む。
また、現在の発話者が左発話者Cでも右発話者Aでもない場合、つまり現在の発話者が中発話者Bであると判断された場合(ステップS205でNoと判断された場合)には、次に、その中発話者Bが前回割り込み時の発話者と同じ発話者であるかどうかを判断し(ステップS208)、同じ発話者である場合(ステップS208でYesと判断された場合)には、ステップS210に進み、発話者判断基準テーブル1gに格納されているGCAの増幅率に従い、各GCA15,16の増幅率を設定する。ただし、前回と同じである場合には、そのままの増幅率を継続することになる。
一方、前回の発話者と現在の中発話者Bとが異なる場合、つまり、前回の発話者が中発話者B以外の発話者である場合(ステップS208でNoと判断された場合)には、マーカ用メモリ23に、登録マーカ数をプラス1して登録するとともに、このプラス1した登録マーカ数の位置に、発話者の切り換わりの位置を示す現在までの録音時間と、現在の発話者である中発話者Bの識別コード「C」とを登録する(ステップS209)。ステップS209の処理終了後は、ステップS210へ進む。
このようにして録音処理を終了した後は、再び図9に示す全体処理に戻る。
<再生処理>
図11を参照して、再生処理を説明する。
再生処理を開始すると、再生開始から自動的にインクリメントされているアドレスカウンタ1eのカウント値を時間に変換して、再生開始からの時間を求め(ステップS221)、その再生時間と録音時間とを比較する(ステップS222)。つまり、録音データの最後まで再生されたかを判断する。その結果、録音データが最後まで再生されている場合(ステップS222でNoと判断された場合)には、再生処理を終了し、ワークメモリ1cの全フラグをクリアし、アドレスカウンタ1eのカウント値を0にリセットして(ステップS223)、再生処理を終了した後は、再び図9に示す全体処理に戻る。
一方、再生時間が録音時間より短い場合(ステップS222でYesと判断された場合)には、再生マーカ数をプラス1した再生マーカ数とマーカ用メモリ23に登録されている登録マーカ数とを比較する(ステップS224)。その結果、プラス1した再生マーカ数が登録マーカ数と同じかそれよりも少ない場合(ステップS224でNoと判断された場合)には、未再生の録音データがあるため、そのまま再生処理を継続した状態で、再び図9に示す全体処理に戻る。
一方、プラス1した再生マーカ数が登録マーカ数より少ない場合(ステップS224でYesと判断された場合)には、再生中のマーカの更新処理を行うため、プラス1した再生マーカ数の録音時間と、現在の再生時間とを比較する(ステップS225)。その結果、録音時間と再生時間とが異なる場合(つまり、再生時間が登録されている録音時間に達していない場合)には、そのまま再生処理を継続した状態で、再び図9に示す全体処理に戻る。一方、再生時間が登録されている録音時間に達している場合には、現在の再生マーカ数にプラス1して(すなわち、マーカの位置を更新して)新たな再生マーカ数とし(ステップS226)、その新たな再生マーカ数に該当する発話者を、マーカ用メモリ23の一致する登録マーカ数の発話者から抽出してワークメモリ1cに保存するとともに、そのときの録音時間、すなわちマーカが切り替わったときの時間を保存する(ステップS227)。このステップS227での録音時間の保存処理は、後述するスキップ処理のときに特定時間(例えば、5秒等)を計測するのに必要となる。このようにして再生処理を終了した後は、再び図9に示す全体処理に戻る。
<早送り処理>
図12を参照して、早送り処理を説明する。ここで言う早送り処理とは、発話者を進める方向に切り換える処理のことであり、再生速度自体を上げる処理のことではない。
まず、再生中かどうかを確認し(ステップS231)、再生中であれば、現在の再生マーカ数にプラス1してマーカの位置を更新し、この更新した再生マーカ数とマーカ用メモリ23に登録されている登録マーカ数とを比較する(ステップS232)。その結果、再生マーカ数が登録マーカ数と同じかそれよりも少ない場合(ステップS232でYesと判断された場合)には、現在の再生マーカ数にプラス1してマーカの位置を更新し(ステップS233)、この更新した再生マーカ数に該当する発話者を、マーカ用メモリ23の一致する登録マーカ数の発話者から抽出してワークメモリ1cに保存するとともに、そのときの録音時間、すなわちマーカが切り替わったときの時間を保存する(ステップS234)。次に、この録音時間をアドレスカウンタ1eの値に変換して、アドレスカウンタ1eのカウント値を更新し(ステップS235)、例えば早送りしたことを知らせる早送り音(例えば、「ピッ」という電子音)を発生して(ステップS236)、再び図9に示す全体処理に戻る。一方、ステップS231の判断において再生中でないと判断された場合と、ステップS232において、現在の再生マーカ数にプラス1したマーカ数が登録マーカ数より大きい場合(ステップS232でNoと判断された場合)には、何もしないで再び図9に示す全体処理に戻る。
<巻き戻し処理>
図13を参照して、巻き戻し処理を説明する。ここで言う巻き戻し処理とは、発話者を戻す方向に切り換える処理のことであり、巻き戻し速度自体を上げる処理のことではない。
まず、再生中かどうかを確認し(ステップS241)、再生中であれば、現在の再生マーカ数が1以上かどうかを判断し(ステップS242)、1以上の場合(ステップS242でYesと判断された場合)には、現在の再生マーカ数からマイナス1してマーカの位置を更新し(ステップS243)、その新たな再生マーカ数に該当する発話者を、マーカ用メモリ23の一致する登録マーカ数の発話者から抽出してワークメモリ1cに保存するとともに、そのときの録音時間、すなわちマーカが切り替わったときの時間を保存する(ステップS244)。次に、この録音時間をアドレスカウンタ1eの値に変換して、アドレスカウンタ1eのカウント値を更新し(ステップS245)、例えば巻き戻ししたことを知らせる巻き戻し音(例えば、「ピッ」という電子音)を発生して(ステップS246)、再び図9に示す全体処理に戻る。一方、ステップS241の判断において再生中でないと判断された場合と、ステップS242において、再生マーカ数が1未満であり、再生中のデータは先頭のデータで、そのデータより巻き戻すデータは存在しない場合(ステップS242でNoと判断された場合)には、何もしないで再び図9に示す全体処理に戻る。
<左再生処理>
図14を参照して、左再生処理を説明する。ここで、左再生処理とは、左発話者Cの発話内容のみを再生していく処理のことである。
まず、再生中かどうかを確認し(ステップS251)、再生中であれば、現在の発話者が左発話者Cであるかどうかを判断する(ステップS252)。この判断は、マーカ用メモリ23に登録されている録音時間と現在の再生時間とを比較し、現在の再生時間に該当する録音時間に対応して登録されている発話者(識別コード)を検索することによって判断することができる。その結果、現在の発話者が左発話者Cである場合(ステップS252でYesと判断された場合)には、そのまま再生処理を継続した状態で、再び図9に示す全体処理に戻る。一方、現在の発話者が左発話者Cでない場合、つまり発話者がすでに換わっている場合(ステップS252でNoと判断された場合)には、図12に示した早送り処理を実行する(ステップS253)。すなわち、この場合には、次のマーカまで飛んで発話者を確認し、その発話者が左発話者Cとなるまで、マーカを飛ばす処理を繰り返すことになる。そして、発話者が再び左発話者Cになると通常の再生処理を開始して、ステップS251に戻ることになる。
ここで、上記の左再生処理の内容を、図7及び図16を参照して具体的に説明する。
すなわち、録音データは、図7に示すように、右発話者A、中発話者B、左発話者Cが任意に発話した順に録音されている。ここで、装置筐体100のLキーが押されると、システムコントローラ1は、図16に示すように、図7に示す発話内容の中から、左発話者Cの発話内容のみを抽出し、1つの発話内容の再生を終了すると、「ピッ」という電子音を入れて次の発話内容を再生する、といった繰り返しで順次再生することになる。
以上が左再生処理であるが、右発話者Aの発話内容のみを再生する右再生処理、及び中発話者Bの発話内容のみを再生する中再生処理も、上記左再生処理と同様に実施することができるので、ここでは説明を省略する。
<スキップ処理>
図15を参照して、スキップ処理を説明する。ここでのスキップ処理とは、任意の発話者の発話内容を、特定時間(この例では最初から5秒間)再生すると、録音順に従って次の発話者の発話内容を特定時間再生する、といった処理を繰り返すことである。ただし、特定時間については、5秒に限定されるものではなく、例えば3秒等、任意に設定しておけばよい。
まず、再生中かどうかを確認し(ステップS261)、再生中であれば、アドレスカウンタ1eのカウント値から求めた再生時間から、図11のステップS227でワークメモリ1cに登録した現在再生中の発話者の録音時間(すなわち、現在の発話者にマーカが切り替わったときの時間)を引いた時間が、特定時間である5秒を経過しているかどうかを判断する(ステップS262)。その結果、特定時間を経過していなければ、そのまま再生処理を継続する。一方、特定時間を経過していれば(ステップS262でNoと判断されれば)、図12に示した早送り処理を実行する(ステップS263)。すなわち、この場合には、次のマーカまで飛んで、次の発話者の発話内容の再生処理を開始し、ステップS261に戻ることになる。
ここで、上記のスキップ処理の内容を、図7及び図17を参照して具体的に説明する。
すなわち、録音データは、図7に示すように、右発話者A、中発話者B、左発話者Cが任意に発話した順に録音されている。ここで、装置筐体100のLキーが長押しされると、システムコントローラ1は、図17に示すように、図7に示す発話内容の中から、左発話者Cの発話内容のみを抽出し、かつ、1つの発話内容を最初から5秒間再生すると、「ピッ」という電子音を入れて次の発話内容を最初から5秒間再生する、といった繰り返しで順次スキップ再生することになる。なお、1つの発話内容が5秒に満たない場合には、全ての発話内容が再生された後、5秒経過を待つことなく「ピッ」という電子音を入れて、次の発話内容の再生に移行することになる。
以上が、ステップS115、S116、S129〜S134の各処理の説明である。
−実施形態2−
上記実施形態1では、図5に示すように、3人の発話者の発話内容を2本のマイクロホン3,4で録音する場合について説明しているが、本実施形態2では、例えば図18に示すように、放射状に配置された3本のマイクロホン51,52,53によって4人の発話者A,B,C,Dの発話内容を録音する場合について説明する。この場合も、上記実施形態1と同様にして録音と各種再生とを行うことができる。
ここで、図18に示す例では、3本のマイクロホン51,52,53は120度の角度を保って放射状に均等に配置されており、発話者Aはマイクロホン51の前に位置し、発話者Bはマイク52の前に位置し、発話者Cはマイクロホン53とマイクロホン52の間に位置し、発話者Dはマイクロホン53とマイクロホン51の間に位置している場合を例示している。
この場合のブロック図は省略するが、例えば図1の左マイクロホン3、マイクアンプ5、整流ダイオード9、積分回路11、A/Dコンバータ13、GCA15からなる1つの音声信号入力系をもう1系統追加し、その追加分のGCAの出力を加算アンプ17の第3の端子に入力した回路構成とすればよい。
また、この場合の発話者の判断は、図19に示す手法によって行うことができる。すなわち、マイクロホン51から入力される音声の音量をX、マイクロホン52から入力される音声の音量をY、マイクロホン53から入力される音声の音量をZとすると、コントローラ1では、下式(2)、(3)
a=Z−(X+Y)÷2 ・・・(2)
b=X−Y ・・・(3)
を計算し、そのときの計算結果であるa,bの正負によって、図19に示すように発話者を判断することができる。また、図19に示す判断手法を発話者判断基準テーブルとして表現したのが図20である。
つまり、計算結果であるaを横軸、bを縦軸とし、その交点を0として、右側を正、左側を負、上側を正、下側を負とすると、上記(2),(3)式の計算結果が、aが正でbが負である場合には発話者Aと判断し、aが負でbが負である場合には発話者Bと判断し、aが負でbが正である場合は発話者Cと判断し、aが正でbが正である場合は発話者Dと判断する。そして、発話者Aと判断された場合には、マイクロホン51系統のGCAの増幅率を1倍、マイクロホン52系統のGCAの増幅率を0.2倍、マイクロホン53系統のGCAの増幅率を0.2倍とし、発話者Bと判断された場合には、マイクロホン51系統のGCAの増幅率を0.2倍、マイクロホン52系統のGCAの増幅率を1倍、マイクロホン53系統のGCAの増幅率を0.2倍とし、発話者Cと判断された場合には、マイクロホン51系統のGCAの増幅率を0.2倍、マイクロホン52系統のGCAの増幅率を1倍、マイクロホン53系統のGCAの増幅率を1倍とし、発話者Dと判断された場合には、マイクロホン51系統のGCAの増幅率を1倍、マイクロホン52系統のGCAの増幅率を0.2倍、マイクロホン53系統のGCAの増幅率を1倍とする。
−実施の形態3−
図21は、本実施形態3の音声録音再生装置の電気的構成の一例を示すブロック図、図22は外観図である。
図21及び図22に示すように、本実施形態3の音声録音再生装置は、上記実施形態1の左側マイクロホン3と右側マイクロホン4の代りに、電話機のハンドセット31の受話器3aと送話器4aとがその後の音声信号入力系に接続された構成となっている。すなわち、受話器3aと送話器4a以降の回路構成は、上記実施形態1の回路構成と全く同じであるので、ここでは上記実施形態1の回路構成部材と同じ部材には同符号を付すこととし、詳細な説明は省略する。
また、本実施形態3の音声録音再生装置は、図22に示すように、ハンドセット31と電話機本体32との間に接続されており、装置筐体200の正面には、スピーカ22と各種操作を行う操作パネル2とが配置されている。操作パネル2には、録音キー2a、再生キー2b、停止キー2c、巻戻キー2d、早送キー2e、音声ボリューム(回転スイッチ)2f等の従来周知の機能キー等が設けられている他に、再生時に特定者の会話内容のみを再生する場合に使用される特定者選択キー2gが設けられている。特定者選択キー2gは、本実施形態3では相手側と当該電話機を使用する発話者の2名であるので、Rキー(相手側(受話))とSキー(発話者(送話))の2つのキーを備えている。
また、本実施形態3では、会話者が、受話器3aから入力される相手側と、当該電話機を使用する発話者の2名であるので、会話者判断基準テーブルの内容が上記実施形態1の発話者判断基準テーブルの内容とは異なっている。
図23は、本実施形態3の会話者判断基準テーブルの構成例1を示している。
本構成例1の会話者判断基準は、受話器3aから入力される相手側の音声(受話音声)の音量と、当該電話機を使用する発話者の音声(送話音声)の音量との比率Pに基づいて2つに区分されている。すなわち、下式(4)、
P=L音量÷(L音量+R音量)・・・(4)
(ただし、L音量:A/Dコンバータ13の値、R音量:A/Dコンバータ14の値)
の演算結果に基づき、比率PをP1(0〜0.5)、P2(0.5〜1)、の2つに区分している。そして、比率PがP1の区分内にある場合には送話音声、比率PがP2の区分内にある場合には受話音声と判断する。
また、この会話者判断基準テーブルには、各GCA15,16の増幅率も各区分に対応して設定されている。具体的には、比率PがP1の区分内にある場合にはGCA15の増幅率を0.2倍、GCA16の増幅率を1.0倍とし、比率PがP2の区分内にある場合にはGCA15の増幅率を1.0倍、GCA16の増幅率を0.2倍としている。ただし、増幅率を抑えるときの倍率については、0.2倍に限定されるものではなく、例えば0.1倍〜0.5倍程度の範囲内で任意に設定すればよい。
従って、コントローラ1は、この会話者判断基準テーブルに格納されている会話者判断基準に基づき、会話者が当該電話機を使用する発話者(送話)であると判断した場合には、送話器4aに対応するGCA16の増幅率を1倍とし、受話器3aに対応するGCA15の増幅率を0.2倍として、受話器3aからの入力を抑えるように制御する。また、会話者が相手側(受話)であると判断した場合には、受話器3aに対応するGCA15の増幅率を1倍とし、送話器4aに対応するGCA16の増幅率を0.2倍として、送話器4aからの入力を抑えるように制御する。
図24は、本実施形態3の会話者判断基準テーブルの構成例2を示している。
本構成例2の会話者判断基準は、受話器3aから入力される相手側の音声(受話音声)の音量と、当該電話機を使用する使用者(発話者)の音声(送話音声)の音量との比率Pに基づいて3つに区分されている。すなわち、下式(5)、
P=L音量÷(L音量+R音量)・・・(5)
(ただし、L音量:A/Dコンバータ13の値、R音量:A/Dコンバータ14の値)の演算結果に基づき、比率PをP1(0〜0.33)、P2(0.33〜0.67)、P3 0.67〜1)の3つに区分している。そして、比率PがP1の区分内にある場合には送話音声、比率PがP2の区分内にある場合には同時会話(すなわち、送話音声と受話音声の両方)、比率PがP3の区分内にある場合には受話音声と判断する。
また、この会話者判断基準テーブルには、各GCA15,16の増幅率も各区分に対応して設定されている。具体的には、比率PがP1の区分内にある場合にはGCA15の増幅率を0.2倍、GCA16の増幅率を1.0倍とし、比率PがP2の区分内にある場合にはGCA15の増幅率を1倍、GCA16の増幅率を1倍とし、比率PがP3の区分内にある場合にはGCA15の増幅率を1.0倍、GCA16の増幅率を0.2倍としている。ただし、増幅率を抑えるときの倍率については、0.2倍に限定されるものではなく、例えば0.1倍〜0.5倍程度の範囲内で任意に設定すればよい。
従って、コントローラ1は、この会話者判断基準テーブルに格納されている会話者判断基準に基づき、会話者が当該電話機を使用する発話者(送話)であると判断した場合には、送話器4aに対応するGCA16の増幅率を1倍とし、受話器3aに対応するGCA15の増幅率を0.2倍として、受話器3aからの入力を抑えるように制御する。また、会話者が相手側(受話)であると判断した場合には、受話器3aに対応するGCA15の増幅率を1倍とし、送話器4aに対応するGCA16の増幅率を0.2倍として、送話器4aからの入力を抑えるように制御する。また、会話者が相手側と発話者の同時会話であると判断した場合には、両方のGCA15,16の増幅率を共に1倍とする。
次に上記構成の音声録音再生装置における録音処理と再生処理について、図25ないし図31に示すフローチャートを参照してより具体的に説明する。ただし、ここでは図23に示す会話者判断基準テーブルを使用する場合について説明する。なお、本実施形態3の音声録音再生装置においても初期化処理を行うが、初期化処理については、上記実施形態1の初期化処理(図8参照)と同じであるので、ここでは初期化処理の説明は省略する。
<10msecの割り込み動作時の処理(録音から再生までの全体の処理)>
次に、図25を参照して、10msecの割り込み動作時の処理について説明する。
割り込みが発生すると、まず、各キーのオン、オフ状態、及びR,S各キーの長押し状態を確認する(ステップS301〜ステップS309)。そして、録音キー2aが押されている場合には、録音フラグをオンにして(ステップS310)、ステップS319以降の処理に移る。また、再生キー2bが押されている場合には、再生フラグをオンにして(ステップS311)、ステップS319以降の処理に移る。また、停止キー2cが押されている場合には、全フラグをクリアするとともに、アドレスカウンタ1eを0にして(ステップS312)、ステップS319以降の処理に移る。また、巻戻キー2dが押されている場合には、通常の巻き戻し処理を行って(ステップS313)、ステップS319以降の処理に移る。また、早送キー2eが押されている場合には、通常の早送り処理を行って(ステップS314)、ステップS319以降の処理に移る。また、Rキーが押されている場合には、再生フラグをオンにするとともに、受話再生中フラグをオンにして(ステップS315)、ステップS319以降の処理に移る。また、Sキーが押されている場合には、再生フラグをオンにするとともに、送話再生中フラグをオンにして(ステップS316)、ステップS319移行の処理に移る。また、Rキーが長押しされた場合には、再生フラグをオンにするとともに、受話再生中フラグをオンにし、かつ、スキップフラグをオンにして(ステップS317)、ステップS319以降の処理に移る。また、Sキーが長押しされた場合には、再生フラグをオンにするとともに、送話再生中フラグをオンにし、かつ、スキップフラグをオンにして(ステップS318)、ステップS319以降の処理に移る。なお、R,S各キーが長押しされた場合の処理については、後ほど詳述する。
ステップS319〜ステップS323では、ステップS310〜ステップS318で設定されたフラグのオン、オフ状態を確認する。その結果、録音フラグがオンされている場合には、録音処理を実行する(ステップS324)。また、再生フラグがオンされている場合には、再生処理を実行する(ステップS325)。また、受話再生中フラグがオンされている場合には、受話再生処理を実行する(ステップS326)。また、送話再生中フラグがオンされている場合には、送話再生処理を実行する(ステップS327)。また、スキップフラグがオンされている場合には、スキップ再生処理を実行する(ステップS328)。
次に、上記ステップS324〜328の処理について、具体的に説明する。すなわち、以下に説明する各処理は、10msecの割り込み時に実行される。
<録音処理>
図26を参照して、録音処理を説明する。
録音処理では、録音開始から自動的にインクリメントされているアドレスカウンタ1eのカウント値を時間に変換して、録音時間(録音開始からの時間)を求める(ステップS401)。次に、受話器3aから入力される相手側の音声(受話音声)の音量、及び当該電話機を使用する発話者の音声(送話音声)の音量の比率Pと、会話者判断基準テーブル(図23参照)に格納されている会話者判断基準とに基づき、現在の会話者が相手側(受話者)であるのか(ステップS402)、発話者(送話者)であるのか(ステップS405)を判断する。
ここで、現在の会話者が相手側(受話者)である場合(ステップS402でYesと判断された場合)には、次に、その受話者が前回割り込み時の会話者と同じ会話者であるかどうかを判断し(ステップS403)、同じ会話者である場合(ステップS403でYesと判断された場合)には、ステップS408に進み、会話者判断基準テーブルに格納されているGCAの増幅率に従い、各GCA15,16の増幅率を設定する。ただし、前回と同じである場合には、そのままの増幅率を継続することになる。
一方、前回の会話者が現在の受話者と異なる場合、つまり、前回の会話者が発話者(送話者)である場合(ステップS403でNoと判断された場合)には、マーカ用メモリ23に、登録マーカ数をプラス1して登録するとともに、このプラス1した登録マーカ数の位置に、会話者の切り換わりの位置を示す現在までの録音時間と、現在の会話者である受話者の識別コード「R」とを登録する(ステップS404)。
一方、現在の会話者が発話者(送話者)である場合(ステップS405でYesと判断された場合)には、次に、その発話者(送話者)が前回割り込み時の会話者と同じ会話者であるかどうかを判断し(ステップS406)、同じ会話者である場合(ステップS406でYesと判断された場合)には、ステップS408に進み、会話者判断基準テーブルに格納されているGCAの増幅率に従い、各GCA15,16の増幅率を設定する。ただし、前回と同じである場合には、そのままの増幅率を継続することになる。
一方、前回の会話者が現在の発話者(送話者)と異なる場合、つまり、前回の会話者が相手側である受話者である場合(ステップS406でNoと判断された場合)には、マーカ用メモリ23に、登録マーカ数をプラス1して登録するとともに、このプラス1した登録マーカ数の位置に、会話の切り換わりの位置を示す現在までの録音時間と、現在の会話者である発話者(送話者)の識別コード「S」とを登録する(ステップS407)。このようにして録音処理を終了した後は、再び図25に示す全体処理に戻る。
<再生処理>
図27を参照して、再生処理を説明する。
再生処理を開始すると、再生開始から自動的にインクリメントされているアドレスカウンタ1eのカウント値を時間に変換して、再生開始からの時間を求め(ステップS421)、その再生時間と録音時間とを比較する(ステップS422)。つまり、録音データの最後まで再生されたかを判断する。その結果、録音データが最後まで再生されている場合(ステップS422でNoと判断された場合)には、再生処理を終了し、ワークメモリ1cの全フラグをクリアし、アドレスカウンタ1eのカウント値を0にリセットして(ステップS423)、再生処理を終了した後は、再び図25に示す全体処理に戻る。
一方、再生時間が録音時間より短い場合(ステップS422でYesと判断された場合)には、再生マーカ数をプラス1した再生マーカ数とマーカ用メモリ23に登録されている登録マーカ数とを比較する(ステップS424)。その結果、プラス1した再生マーカ数が登録マーカ数と同じかそれよりも少ない場合(ステップS424でNoと判断された場合)には、未再生の録音データがあるため、そのまま再生処理を継続した状態で、再び図25に示す全体処理に戻る。
一方、プラス1した再生マーカ数が登録マーカ数より少ない場合(ステップS424でYesと判断された場合)には、再生中のマーカの更新処理を行うため、プラス1した再生マーカ数の録音時間と、現在の再生時間とを比較する(ステップS425)。その結果、録音時間と再生時間とが異なる場合(つまり、再生時間が登録されている録音時間に達していない場合)には、そのまま再生処理を継続した状態で、再び図25に示す全体処理に戻る。一方、再生時間が登録されている録音時間に達している場合には、現在の再生マーカ数にプラス1して(すなわち、マーカの位置を更新して)新たな再生マーカ数とし(ステップS426)、その新たな再生マーカ数に該当する会話者を、マーカ用メモリ23の一致する登録マーカ数の会話者から抽出してワークメモリ1cに保存するとともに、そのときの録音時間、すなわちマーカが切り替わったときの時間を保存する(ステップS427)。このステップS427での録音時間の保存処理は、後述するスキップ処理のときに特定時間(例えば、5秒等)を計測するのに必要となる。このようにして再生処理を終了した後は、再び図25に示す全体処理に戻る。
<早送り処理>
図28を参照して、早送り処理を説明する。ここで言う早送り処理とは、発話者を進める方向に切り換える処理のことであり、再生速度自体を上げる処理のことではない。
まず、再生中かどうかを確認し(ステップS431)、再生中であれば、現在の再生マーカ数にプラス1してマーカの位置を更新し、この更新した再生マーカ数とマーカ用メモリ23に登録されている登録マーカ数とを比較する(ステップS432)。その結果、再生マーカ数が登録マーカ数と同じかそれよりも少ない場合(ステップS432でYesと判断された場合)には、現在の再生マーカ数にプラス1してマーカの位置を更新し(ステップS433)、この更新した再生マーカ数に該当する発話者を、マーカ用メモリ23の一致する登録マーカ数の会話者から抽出してワークメモリ1cに保存するとともに、そのときの録音時間、すなわちマーカが切り替わったときの時間を保存する(ステップS434)。次に、この録音時間をアドレスカウンタ1eの値に変換して、アドレスカウンタ1eのカウント値を更新し(ステップS435)、例えば早送りしたことを知らせる早送り音(例えば、「ピッ」という電子音)を発生して(ステップS436)、再び図25に示す全体処理に戻る。一方、ステップS431の判断において再生中でないと判断された場合と、ステップ432において、現在の再生マーカ数にプラス1したマーカ数が登録マーカ数より大きい場合(ステップS432でNoと判断された場合)には、何もしないで再び図25に示す全体処理に戻る。
<巻き戻し処理>
図29を参照して、巻き戻し処理を説明する。ここで言う巻き戻し処理とは、発話者を戻す方向に切り換える処理のことであり、巻き戻し速度自体を上げる処理のことではない。
まず、再生中かどうかを確認し(ステップS441)、再生中であれば、現在の再生マーカ数が1より大きいかどうかを判断し(ステップS442)、1より大きい場合(ステップS442でYesと判断された場合)には、現在の再生マーカ数からマイナス1してマーカの位置を更新し(ステップS443)、その新たな再生マーカ数に該当する会話者を、マーカ用メモリ23の一致する登録マーカ数の会話者から抽出してワークメモリ1cに保存するとともに、そのときの録音時間、すなわちマーカが切り替わったときの時間を保存する(ステップS444)。次に、この録音時間をアドレスカウンタ1eの値に変換して、アドレスカウンタ1eのカウント値を更新し(ステップS445)、例えば巻き戻ししたことを知らせる巻き戻し音(例えば、「ピッ」という電子音)を発生して(ステップS446)、再び図25に示す全体処理に戻る。一方、ステップS441の判断において再生中でないと判断された場合と、ステップS442において、再生マーカ数が1未満であり、再生中のデータは先頭のデータで、そのデータより巻き戻すデータは存在しない場合(ステップS442でNoと判断された場合)には、何もしないで再び図25に示す全体処理に戻る。
<受話再生処理>
図30を参照して、受話再生処理を説明する。ここで、受話再生処理とは、相手側である受話者の発話内容のみを再生していく処理のことである。
まず、再生中かどうかを確認し(ステップS451)、再生中であれば、現在の会話者が受話者であるかどうかを判断する(ステップS452)。この判断は、マーカ用メモリ23に登録されている録音時間と現在の再生時間とを比較し、現在の再生時間に該当する録音時間に対応して登録されている会話者(識別コード)を検索することによって判断することができる。その結果、現在の会話者が送話者である場合(ステップS452でYesと判断された場合)には、そのまま再生処理を継続した状態で、再び図25に示す全体処理に戻る。一方、現在の会話者が受話者でない場合、つまり、会話者がすでに当該電話機の使用者である発話者(送話者)に換わっている場合(ステップS452でNoと判断された場合)には、図28に示した早送り処理を実行する(ステップS453)。すなわち、この場合には、次のマーカまで飛んで会話者を確認し、その会話者が受話者となるまで、マーカを飛ばす処理を繰り返すことになる。そして、会話者が再び受話者になると通常の再生処理を開始して、ステップS451に戻ることになる。
以上が受話再生処理であるが、当該電話機の使用者である発話者(送話者)の発話内容のみを再生する送話再生処理も、上記受話再生処理と同様に実施することができるので、ここでは説明を省略する。
<スキップ処理>
図31を参照して、スキップ処理を説明する。ここでのスキップ処理とは、任意の会話者の発話内容を、特定時間(この例では最初から5秒間)再生すると、録音順に従って次の会話者の発話内容を特定時間再生する、といった処理を繰り返すことである。ただし、特定時間については、5秒に限定されるものではなく、例えば3秒等、任意に設定しておけばよい。
まず、再生中かどうかを確認し(ステップS461)、再生中であれば、アドレスカウンタ1eのカウント値から求めた再生時間から、図27のステップS427でワークメモリ1cに登録した現在再生中の会話者の録音時間(すなわち、現在の会話者にマーカが切り替わったときの時間)を引いた時間が、特定時間である5秒を経過しているかどうかを判断する(ステップS462)。その結果、特定時間を経過していなければ、そのまま再生処理を継続する。一方、特定時間を経過していれば(ステップS462でNoと判断されれば)、図28に示した早送り処理を実行する(ステップS463)。すなわち、この場合には、次のマーカまで飛んで、次の会話者の発話内容の再生処理を開始し、ステップS461に戻ることになる。
以上が、ステップS313、S314、S324〜S328の各処理の説明である。