以下、本発明の好適な実施形態について図面を用いて詳細に説明する。なお、以下に説明する実施の形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また以下で説明される構成の全てが本発明の必須構成要件であるとは限らない。
1.半導体装置
1−1.第1実施形態
図1は、第1実施形態の半導体装置の構成例を示す図である。図1に示すように、第1実施形態の半導体装置1は、音声データ格納部10と、クロック生成部20と、時間スケール変換部30と、リサンプラー40と、レジスター50と、を含む。
音声データ格納部10は、第1の周期Ts1でサンプリングされた複数のサンプルを含む第1の音声データD1を格納する。音声データ格納部10は、あらかじめ第1の音声データD1が格納された不揮発性メモリーであってもよいし、例えば、半導体装置1が不図示のインターフェース回路を介して外部装置から受信した第1の音声データD1を一時的に格納する揮発性メモリーであってもよい。第1の音声データD1は、例えば、パルス符号変調(PCM:Pulse Code Modulation)された音声データであってもよい。また、音声データ格納部10のサイズを低減させるために、第1の音声データD1は、適応的差分パルス符号変調(ADPCM:adaptive differential pulse code modulation)された音声データ等の圧縮された音声データであってもよい。第1の周期Ts1は、第1の音声データD1のサンプリング周波数の逆数であり、当該サンプリング周波数は、所定の音声帯域の上限周波数の2倍以上の周波数であればよく、例えば、15.625kHzであってもよい。
クロック生成部20は、第1のクロック信号CK1及び第2のクロック信号CK2を生成する。第1のクロック信号CK1は時間スケール変換部(TSM部)30を動作させるためのクロック信号であり、第2のクロック信号CK2は時間スケール変換部30を動作させるためのクロック信号である。クロック生成部20は、例えば、水晶発振回路、リングオシレーター、CR発振回路等の不図示の発振回路を有し、当該発振回路の出力信号に基づいて、第1のクロック信号CK1及び第2のクロック信号CK2を生成してもよい。
時間スケール変換部30は、第1のクロック信号CK1に同期して、第1の音声データD1を、第1の音声データD1に含まれる複数のサンプルの一部を削除又は複製した第2の音声データD2に変換する。例えば、削除又は複製されるサンプルは、周期的に繰り返される波形を構成する複数のサンプルの一部であってもよい。第2の音声データD2は、第1の音声データD1と同じピッチであって、第1の音声データD1とは再生速度あるいは再生時間が異なる音声データである。第1の音声データD1を第2の音声データD2に変換する処理、すなわち、いわゆる時間スケール変換処理には公知の各種の手法を適用可能である。例えば、時間スケール変換部30は、ソフトウェア処理により時間スケール変換処理を行ってもよい。なお、第1の音声データD1が圧縮された音声データである場合は、時間スケール変換部30は、不図示の音声データ展開部により展開された第1の音声データD1に対して時間スケール変換処理を行ってもよい。
リサンプラー40は、第2のクロック信号CK2に同期して、ハードウェア処理により、第2の音声データD2を、第1の周期Ts1でサンプリングされた、第2の音声データD2と異なる数の複数のサンプルを含む第3の音声データD3に変換する。具体的には、リサンプラー40は、第2の音声データD2に含まれる複数のサンプルを第1の周期Ts1とは異なる第2の周期Ts2でサンプリングされたものと仮定して、当該複数のサンプルに基づく補間処理及び/又は間引き処理により、第1の周期Ts1でサンプリングされた複数のサンプルを求めて第3の音声データD3とする。補間処理及び/又は間引き処理には公知の各種の手法を適用可能である。
本実施形態では、第3の音声データD3は、第1の音声データD1のピッチが変更された、第1の音声データD1と同じサンプル数のデータである。換言すれば、第3の音声データD3は、第1の音声データD1とピッチが異なり、再生時間あるいは再生速度が同じ音声データである。
レジスター50は、時間スケール変換部30及びリサンプラー40の動作を制御する制御情報を格納する。例えば、制御情報は、時間スケール変換部30及びリサンプラー40に処理を開始させるためのスタートビットSTを含んでもよい。時間スケール変換部30及びリサンプラー40は、スタートビットSTが非アクティブからアクティブに変化すると処理を開始し、処理を終了すると停止する。
また、制御情報は、第2の音声データD2のサンプル数と第1の音声データD1のサンプル数との比率を設定する比率情報SRを含み、時間スケール変換部30及びリサンプラー40に比率情報SRが供給されてもよい。例えば、比率情報SRが、第2の音声データD2のサンプル数が第1の音声データD1のサンプル数の75%であることを示す場合、時間スケール変換部30は、第1の音声データD1を、第1の音声データD1に含まれるN個のサンプルの25%を削除したN×0.75個のサンプルを含む第2の音声データD2に変換する。そして、リサンプラー40は、第2の音声データD2に含まれるN×0.75個のサンプルを第1の周期Ts1の約133%である第2の周期Ts2でサンプリングされたものと仮定して、N×0.75個のサンプルに基づく補間処理及び/又は間引き処理により、第1の周期Ts1でサンプリングされたN個のサンプルを求めて第3の音声データD3とする。
また、半導体装置1は、D/A(Digital to Analog)変換器60を含んでもよい。半導体装置1がD/A変換器60を含む場合、クロック生成部20は、D/A変換器60を動作させるための第3のクロック信号CK3を生成する。
D/A変換器60は、第3の音声データD3をアナログ信号である音声信号VOに変換する。具体的には、D/A変換器60は、第3のクロック信号CK3に同期して、第1の周期Ts1で第3の音声データD3に含まれる複数のサンプルをサンプリングしてアナログ値に変換することにより音声信号VOを生成する。スタートビットSTはD/A変換器60にも供給され、D/A変換器60は、スタートビットSTが非アクティブからアクティブに変化すると処理を開始し、処理を終了すると停止する。
なお、半導体装置1は、リサンプラー40におけるリサンプリングによって発生するエリアシングノイズを低減させる必要がある場合は、ローパスフィルター70を含んでもよい。リサンプラー40におけるリサンプリングがダウンサンプリングである場合は、ローパスフィルター70は、リサンプラー40の前段、具体的には時間スケール変換部30の出力からリサンプラー40の入力に至る信号経路に設けられ、必要に応じてリサンプラー40の後段、具体的にはリサンプラー40の出力からD/A変換器60の入力に至る信号経路にも設けられる。また、リサンプラー40におけるリサンプリングがアップサンプリングである場合は、ローパスフィルター70は、リサンプラー40の後段、具体的にはリサンプラー40の出力からD/A変換器60の入力に至る信号経路に設けられる。半導体装置1がローパスフィルター70を含む場合、クロック生成部20は、ローパスフィルター70を動作させるための第4のクロック信号CK4を生成し、スタートビットSTはローパスフィルター70にも供給される。そして、ローパスフィルター70は、スタートビットSTが非アクティブからアクティブに変化すると第4のクロック信号CK4に同期した処理を開始し、処理を終了すると停止する。
なお、クロック生成部20は、スタートビットSTが非アクティブからアクティブに変化すると、第1のクロック信号CK1、第2のクロック信号CK2、第3のクロック信号CK3及び第4のクロック信号CK4を生成し、所定の時間が経過すると、クロック信号の生成を停止してもよい。この場合、スタートビットSTは、時間スケール変換部30及びリサンプラー40、D/A変換器60及びローパスフィルター70に供給されなくてもよい。
また、クロック生成部20が生成する第1のクロック信号CK1、第2のクロック信号CK2、第3のクロック信号CK3及び第4のクロック信号CK4のうちの複数のクロック信号が共通であってもよい。
以下では、時間スケール変換部30が行う処理を「時間スケール変換」という。また、リサンプラー40が行う処理を「リサンプリング」という。また、D/A変換器60が行う処理を「D/A変換」という。
図2は、第1の音声データD1のピッチを下げる場合の第2の音声データD2、第3の音声データD3及び音声信号VOの一例を示す図である。図2の例では、第1の音声データD1は、一定時間に同じ正弦波が4回繰り返される一定周波数の音声データであり、その再生時間はT1である。また、比率情報SRは75%に設定されている。
まず、時間スケール変換によりN個のサンプルを含む第1の音声データD1の1つの正弦波が削除され、同じ正弦波が3回繰り返される一定周波数の第2の音声データD2が生成される。第2の音声データD2のサンプル数はN×0.75であり、第2の音声データD2の再生時間T2は、第1の音声データD1の再生時間T1の75%に短縮されている。これに対して、第2の音声データD2に含まれる正弦波の周波数は第1の音声データD1に含まれる正弦波の周波数と同じなので、時間スケール変換の前後でピッチは変わらない。すなわち、第2の音声データD2は、第1の音声データD1に対して、ピッチが同じであって再生時間が75%に短縮された音声データである。
次に、リサンプリングにより第2の音声データD2のサンプル数の比率情報SRの逆数である約1.33倍のサンプルを含む第3の音声データD3が生成される。図3は、図2の例におけるリサンプリングの詳細について説明するための図である。図3では、第2の音声データD2の一部に対応して生成される第3の音声データD3の一部が図示されている。図3の例では、リサンプラー40は、第2の音声データD2に含まれるサンプルA1〜A5等を第1の周期Ts1の約133%である第2の周期Ts2でサンプリングされたものと仮定して、補間処理及び/又は間引き処理により、第1の周期Ts1でサンプリングされたサンプルB1〜B6等を求めて第3の音声データD3を生成する。
図2に示すように、第3の音声データD3の再生時間は、第2の音声データD2の再生時間T2の約133%であり、第1の音声データD1の再生時間T1と同じである。これに対して、第3の音声データD3に含まれる正弦波の周波数は、第2の音声データD2に含まれる正弦波の周波数、すなわち第1の音声データD1に含まれる正弦波の周波数の75%である。すなわち、第3の音声データD3は、第1の音声データD1に対して、再生時間が同じであり、ピッチが75%に下がった音声データである。
最後に、D/A変換により、第3の音声データD3の再生時間、すなわち第1の音声データD1の再生時間T1と同じ再生時間の音声信号VOが生成される。
図4は、第1の音声データD1のピッチを上げる場合の第2の音声データD2、第3の音声データD3及び音声信号VOの一例を示す図である。図4の例では、第1の音声データD1は、一定時間に同じ正弦波が4回繰り返される一定周波数の音声データであり、その再生時間はT1である。また、比率情報SRは125%に設定されている。
まず、時間スケール変換によりN個のサンプルを含む第1の音声データD1の1つの正弦波が複製され、同じ正弦波が5回繰り返される一定周波数の第2の音声データD2が生成される。第2の音声データD2のサンプル数はN×1.25であり、第2の音声データD2の再生時間T2は、第1の音声データD1の再生時間T1の125%に伸長されている。これに対して、第2の音声データD2に含まれる正弦波の周波数は第1の音声データD1に含まれる正弦波と同じなので、時間スケール変換の前後でピッチは変わらない。すなわち、第2の音声データD2は、第1の音声データD1に対して、ピッチが同じであって再生時間が125%に伸長された音声データである。
次に、リサンプリングにより第2の音声データD2のサンプル数の比率情報SRの逆数である0.8倍のサンプルを含む第3の音声データD3が生成される。図5は、図4の例におけるリサンプリングの詳細について説明するための図である。図5では、第2の音声データD2の一部に対応して生成される第3の音声データD3の一部が図示されている。図5の例では、リサンプラー40は、第2の音声データD2に含まれるサンプルA1〜A5等を第1の周期Ts1の80%である第2の周期Ts2でサンプリングされたものと仮定して、補間処理及び/又は間引き処理により、第1の周期Ts1でサンプリングされたサンプルB1〜B4等を求めて第3の音声データD3を生成する。
図4に示すように、第3の音声データD3の再生時間は、第2の音声データD2の再生時間T2の80%であり、第1の音声データD1の再生時間T1と同じである。これに対して、第3の音声データD3に含まれる正弦波の周波数は、第2の音声データD2に含まれる正弦波の周波数、すなわち第1の音声データD1に含まれる正弦波の周波数の125%である。すなわち、第3の音声データD3は、第1の音声データD1に対して、再生時間が同じであり、ピッチが125%に上がった音声データである。
最後に、D/A変換により、第3の音声データD3の再生時間、すなわち第1の音声データD1の再生時間T1と同じ再生時間の音声信号VOが生成される。
図6は、半導体装置1の具体的な実施例を示す図である。図6において、図1と同様の構成要素には同じ符号が付されている。図6の例では、半導体装置1は、音声データ格納部10、クロック生成部20、時間スケール変換部30、リサンプラー40、レジスター50、D/A変換器60、ローパスフィルター70、ROM(Read Only Memory)110、RAM(Random Access Memory)120、プロセッサー130及びバス200を含む、1チップの集積回路装置である。
音声データ格納部10、時間スケール変換部30、リサンプラー40、レジスター50、D/A変換器60、ローパスフィルター70、ROM110、RAM120及びプロセッサー130は、バス200に接続されている。
音声データ格納部10は、前述の第1の音声データD1を格納する。音声データ格納部10は、あらかじめ第1の音声データD1が格納された不揮発性メモリーであってもよいし、例えば、半導体装置1が不図示のインターフェース回路を介して外部装置から受信した第1の音声データD1を一時的に格納する揮発性メモリーであってもよい。
クロック生成部20は、前述の第1のクロック信号CK1、第2のクロック信号CK2、第3のクロック信号CK3及び第4のクロック信号CK4を生成する。さらに、クロック生成部20は、第6のクロック信号CK6を生成する。
時間スケール変換部30は、マイクロコントロールユニット(MCU:Micro Control Unit)31及びデジタル信号プロセッサー(DSP:Digital Signal Processor)32を含む。マイクロコントロールユニット31は、バス200を介して、ROM110に記憶されている時間スケール変換プログラム111を取得して実行する。デジタル信号プロセッサー32は、マイクロコントロールユニット31の命令に従って動作し、バス200を介して、音声データ格納部10に格納されている第1の音声データD1あるいはRAM120に記憶されている第2の音声データD2を取得して前述の時間スケール変換を行って第2の音声データD2を生成する。そして、デジタル信号プロセッサー32は、生成した第2の音声データD2を、バス200を介してRAM120に記憶させる。このように、時間スケール変換部30は、時間スケール変換プログラム111に基づくソフトウェア処理により、時間スケール変換を行う。
リサンプラー40は、バス200を介して、RAM120に記憶されている第2の音声データD2を取得して前述のリサンプリングを行って第3の音声データD3を生成する。そして、リサンプラー40は、生成した第3の音声データD3を、バス200を介してRAM120に記憶させる。リサンプラー40は、時間スケール変換部30のようにプログラムに基づくソフトウェア処理を行わず、ハードウェア処理によりリサンプリングを行う。すなわち、リサンプラー40は、専用回路で実現される。
D/A変換器60は、リサンプラー40が生成した第3の音声データD3を取得してD/A変換を行い、アナログ信号である音声信号VOを生成する。そして、音声信号VOは、半導体装置1と接続される不図示のスピーカーにより音声に変換される。
仮に、リサンプリングがソフトウェア処理で行われる場合には、ソフトウェア処理で行われるリサンプリングとハードウェア処理で行われるD/A変換とを同期させるための制御が必要であるが、本実施形態では、リサンプラー40がハードウェア処理によりリサンプリングを行うので、リサンプリングとD/A変換とを容易に同期させることができる。
ローパスフィルター70は、バス200を介して、RAM120に記憶されている第2の音声データD2を取得してフィルター処理を行い、フィルター処理された第2の音声データD2を、バス200を介してRAM120に記憶させる。
プロセッサー130は、例えば、半導体装置1と接続される不図示の操作部からの操作信号に応じて、レジスター50に前述の制御情報を書き込む。レジスター50に記憶される制御情報は、バス200を介して、時間スケール変換部30、リサンプラー40、レジスター50、D/A変換器60及びローパスフィルター70に供給され、これらの各部の動作が制御される。そして、プロセッサー130がレジスター50に所望の制御情報を書き込むことにより、時間スケール変換部30、リサンプラー40、D/A変換器60及びローパスフィルター70が動作して所望の音声信号VOが得られるので、プロセッサー130は、半導体装置1が組み込まれる機器に必要な各種の処理、例えば、モーターの制御やパネルの制御等に専念することができる。
以上に説明したように、第1実施形態の半導体装置1は、第1の周期Ts1でサンプリングされた複数のサンプルを含む第1の音声データD1を格納する音声データ格納部10と、第1のクロック信号CK1及び第2のクロック信号CK2を生成するクロック生成部20と、第1のクロック信号CK1に同期して、第1の音声データD1を、第1の音声データD1に含まれる複数のサンプルの一部を削除又は複製した第2の音声データD2に変換する時間スケール変換部30と、第2のクロック信号CK2に同期して、ハードウェア処理により、第2の音声データD2を、第1の周期Ts1でサンプリングされた、第2の音声データD2と異なる数の複数のサンプルを含む第3の音声データD3に変換するリサンプラー40と、時間スケール変換部30及びリサンプラー40の動作を制御する制御情報を格納するレジスター50と、を含む。
時間スケール変換部30により、第1の音声データD1のピッチが変換されずに再生時間が変換された第2の音声データD2が生成され、リサンプラー40により、第2の音声データD2のピッチ及び再生時間が変換された第3の音声データD3が生成されるので、第1の音声データD1のピッチ変換が実現することができる。そして、リサンプラー40がハードウェア処理によりリサンプリングを行うので、例えば、図6に示したように、マイクロコントロールユニット31やデジタル信号プロセッサー32が時間スケール変換部30として機能し、ソフトウェア処理により時間スケール変換を行う場合でも、リサンプリングの分だけ処理負荷が低減されるため、簡易なマイクロコントロールユニット31やデジタル信号プロセッサー32を用いることができる。したがって、第1実施形態の半導体装置1によれば、比較的小さな回路規模でありながら音声データのピッチ変換を行うことができる。
また、第1実施形態の半導体装置1によれば、例えば、図6に示したように、プロセッサー130がレジスター50に所望の制御情報を書き込むことにより、第1の音声データD1のピッチ変換が行われるので、プロセッサー130は、半導体装置1が組み込まれる機器に必要な各種の処理に専念することができる。
また、第1実施形態の半導体装置1によれば、リサンプラー40がハードウェア処理によりリサンプリングを行うので、半導体装置1が第3の音声データD3を音声信号VOに変換するD/A変換器60を含む場合には、リサンプリングとD/A変換器60のハードウェア処理によるD/A変換とを容易に同期させることができる。
また、第1実施形態の半導体装置1によれば、第3の音声データD3が第1の音声データD1のピッチが変更された、第1の音声データD1と同じサンプル数のデータであるように制御情報が設定されることにより、第1の音声データD1の再生時間を変更せずにピッチを変換した第3の音声データD3を生成することができる。
1−2.第2実施形態
以下、第2実施形態の半導体装置1について、第1実施形態と同様の構成については同じ符号を付し、第1実施形態と同様の説明は省略又は簡略し、主として第1実施形態と異なる内容について説明する。
図7は、第2実施形態の半導体装置1の構成例を示す図である。図7に示すように、第2実施形態の半導体装置1は、第1実施形態と同様、音声データ格納部10と、クロック生成部20と、時間スケール変換部30と、リサンプラー40と、レジスター50と、を含む。また、第2実施形態の半導体装置1は、第1実施形態と同様、D/A変換器60やローパスフィルター70を含んでもよい。さらに、第2実施形態の半導体装置1は、セレクター80、セレクター90及び制御部100を含む。
音声データ格納部10は、第1実施形態と同様、第1の周期Ts1でサンプリングされた複数のサンプルを含む第1の音声データD1を格納する。
クロック生成部20は、第1実施形態と同様、第1のクロック信号CK1、第2のクロック信号CK2、第3のクロック信号CK3及び第4のクロック信号CK4を生成し、さらに、制御部100を動作させるための第5のクロック信号CK5を生成する。
レジスター50は、時間スケール変換部30及びリサンプラー40の動作を制御する制御情報を格納する。第2実施形態では、制御情報は、半導体装置1の動作モードを、第1の動作モード、第2の動作モード及び第3の動作モードを含む複数の動作モードのいずれかに設定する情報である動作モード情報MDを含む。第1の動作モードは、第1の音声データD1の再生時間を変更せずにピッチを変更する動作モードである。第2の動作モードは、第1の音声データD1のピッチを変更せずに再生時間を変更する動作モードである。第3の動作モードは、第1の音声データD1の再生時間及びピッチを変更する動作モードである。
また、制御情報は、第2の音声データD2のサンプル数と第1の音声データD1のサンプル数との比率を設定する第1の比率情報SR1及び第2の比率情報SR2や、時間スケール変換部30及びリサンプラー40の少なくとも一方に処理を開始させるためのスタートビットSTを含んでもよい。
制御部100は、時間スケール変換部30、リサンプラー40、D/A変換器60、ローパスフィルター70、セレクター80及びセレクター90の動作を制御する。具体的には、制御部100は、第5のクロック信号CK5に同期して、動作モード情報MD、第1の比率情報SR1、第2の比率情報SR2及びスタートビットSTに基づいて、パルス信号である第1のスタート信号ST1、第2のスタート信号ST2、第3のスタート信号ST3、第1の選択信号SEL1、第2の選択信号SEL2、比率情報SRを生成する。時間スケール変換部30は、第1のスタート信号ST1により、比率情報SRに基づいて第2の音声データD2を生成する処理を開始し、処理を終了すると停止する。リサンプラー40及びローパスフィルター70は、第2のスタート信号ST2により、比率情報SRに基づいて第3の音声データD3を生成する処理を開始し、処理を終了すると停止する。D/A変換器60は、第3のスタート信号ST3により処理を開始し、処理を終了すると停止する。
セレクター80は、第1の選択信号SEL1に基づいて、第1の音声データD1又は第2の音声データD2を選択して出力する。また、セレクター90は、第2の選択信号SEL2に基づいて、第3の音声データD3又は第2の音声データD2を選択して出力する。
動作モード情報MDにおいて第1の動作モードが設定されている場合、制御部100は、セレクター80に第1の音声データD1を選択させる第1の選択信号SEL1、及びセレクター90に第3の音声データD3を選択させる第2の選択信号SEL2を生成する。また、制御部100は、スタートビットSTが非アクティブからアクティブに変化すると、第1のスタート信号ST1、第2のスタート信号ST2及び第3のスタート信号ST3を発生させる。また、制御部100は、比率情報SRに第1の比率情報SR1を設定する。これにより、時間スケール変換部30、リサンプラー40、D/A変換器60及びローパスフィルター70が第1実施形態と同様に動作する。したがって、第1の動作モードにおいて生成される音声信号VOは、第1実施形態と同様、第1の音声データD1の再生時間を変更せずにピッチを変更した音声信号である。
また、動作モード情報MDにおいて第2の動作モードが設定されている場合、制御部100は、セレクター80に第1の音声データD1を選択させる第1の選択信号SEL1、及びセレクター90に第2の音声データD2を選択させる第2の選択信号SEL2を生成する。また、制御部100は、スタートビットSTが非アクティブからアクティブに変化すると、第1のスタート信号ST1及び第3のスタート信号ST3を発生させる。また、制御部100は、比率情報SRに第1の比率情報SR1を設定する。これにより、時間スケール変換部30及びD/A変換器60が動作し、リサンプラー40及びローパスフィルター70は動作しない。したがって、第2の動作モードにおいて生成される音声信号VOは、第1の音声データD1のピッチを変更せずに再生時間を変更した音声信号である。
また、動作モード情報MDにおいて第3の動作モードが設定されている場合、制御部100は、まず、セレクター80に第1の音声データD1を選択させる第1の選択信号SEL1を生成する。また、制御部100は、スタートビットSTが非アクティブからアクティブに変化すると、第1のスタート信号ST1を発生させる。また、制御部100は、比率情報SRに第1の比率情報SR1を設定する。これにより、時間スケール変換部30が動作し、リサンプラー40、D/A変換器60及びローパスフィルター70は動作しない。そして、時間スケール変換部30により、第1の音声データD1のピッチを変更せずに再生時間を変更した第2の音声データD2が生成される。
第2の音声データD2の生成が終了すると、制御部100は、次に、セレクター80に第2の音声データD2を選択させる第1の選択信号SEL1、及びセレクター90に第3の音声データD3を選択させる第2の選択信号SEL2を生成する。また、制御部100は、第1のスタート信号ST1、第2のスタート信号ST2及び第3のスタート信号ST3を発生させる。また、制御部100は、比率情報SRに第2の比率情報SR2を設定する。これにより、時間スケール変換部30、リサンプラー40、D/A変換器60及びローパスフィルター70が動作し、セレクター80により選択された第2の音声データD2の再生時間を変更せずにピッチを変更した第3の音声データD3が生成される。ここで、セレクター80により選択された第2の音声データD2は、前述の通り、第1の音声データD1のピッチを変更せずに再生時間を変更した音声データであるので、第3の音声データD3は、第1の音声データD1の再生時間及びピッチを変更した音声データである。したがって、第3の動作モードにおいて生成される音声信号VOは、第1の音声データD1の再生時間及びピッチを変更した音声信号である。なお、再生時間の変換率やピッチの変換率は、第1の比率情報SR1及び第2の比率情報SR2により任意に設定される。
図8は、第3の動作モードにおいて、第1の音声データD1のピッチを下げるとともに再生時間を短縮する場合の第2の音声データD2、第3の音声データD3及び音声信号VOの一例を示す図である。図8の例では、第1の音声データD1は、一定時間に同じ正弦波が4回繰り返される一定周波数の音声データであり、その再生時間はT1である。また、第1の比率情報SR1は75%に設定され、第2の比率情報SR2は67%に設定されている。
まず、第1回目の時間スケール変換によりN個のサンプルを含む第1の音声データD1の1つの正弦波が削除され、同じ正弦波が3回繰り返される一定周波数の第2の音声データD2が生成される。第2の音声データD2のサンプル数はN×0.75であり、第2の音声データD2の再生時間T2は、第1の音声データD1の再生時間T1の75%に短縮されている。これに対して、第2の音声データD2に含まれる正弦波の周波数は第1の音声データD1に含まれる正弦波の周波数と同じなので、時間スケール変換の前後でピッチは変わらない。すなわち、第2の音声データD2は、第1の音声データD1に対して、ピッチが同じであって再生時間が75%に短縮された音声データである。
次に、第2回目の時間スケール変換によりN×0.75個のサンプルを含む第2の音声データD2の1つの正弦波が削除され、同じ正弦波が2回繰り返される一定周波数の第2の音声データD2が生成される。時間スケール変換により得られる第2の音声データD2のサンプル数はN×0.75×0.67であり、第2の音声データD2の再生時間T3は、第1の音声データD1の再生時間T1の50%に短縮されている。これに対して、第2の音声データD2に含まれる正弦波の周波数は第1の音声データD1に含まれる正弦波の周波数と同じである。すなわち、第2の音声データD2は、第1の音声データD1に対して、ピッチが同じであって再生時間が50%に短縮された音声データである。
次に、リサンプリングにより第2の音声データD2のサンプル数の第2の比率情報SR2の逆数である1.5倍のサンプルを含む第3の音声データD3が生成される。第3の音声データD3の再生時間は、時間スケール変換後の第2の音声データD2の再生時間T3の150%であり、時間スケール変換前の第2の音声データD2の再生時間T2と同じであり、第1の音声データD1の再生時間T1の75%である。これに対して、第3の音声データD3に含まれる正弦波の周波数は、第2の音声データD2に含まれる正弦波の周波数、すなわち第1の音声データD1に含まれる正弦波の周波数の67%である。すなわち、第3の音声データD3は、第1の音声データD1に対して、再生時間が75%に短縮され、ピッチが67%に下がった音声データである。
最後に、D/A変換により、第3の音声データD3の再生時間T2と同じ再生時間の音声信号VOが生成される。
図9は、第3の動作モードにおいて、第1の音声データD1のピッチを上げるとともに再生時間を伸長する場合の第2の音声データD2、第3の音声データD3及び音声信号VOの一例を示す図である。図9の例では、第1の音声データD1は、一定時間に同じ正弦波が4回繰り返される一定周波数の音声データであり、その再生時間はT1である。また、第1の比率情報SR1は125%に設定され、第2の比率情報SR2は120%に設定されている。
まず、第1回目の時間スケール変換によりN個のサンプルを含む第1の音声データD1の1つの正弦波が複製され、同じ正弦波が5回繰り返される一定周波数の第2の音声データD2が生成される。第2の音声データD2のサンプル数はN×1.25であり、第2の音声データD2の再生時間T2は、第1の音声データD1の再生時間T1の125%に伸長されている。これに対して、第2の音声データD2に含まれる正弦波の周波数は第1の音声データD1に含まれる正弦波の周波数と同じなので、時間スケール変換の前後でピッチは変わらない。すなわち、第2の音声データD2は、第1の音声データD1に対して、ピッチが同じであって再生時間が125%に伸長された音声データである。
次に、第2回目の時間スケール変換によりN×1.25個のサンプルを含む第2の音声データD2の1つの正弦波が複製され、同じ正弦波が6回繰り返される一定周波数の第2の音声データD2が生成される。時間スケール変換により得られる第2の音声データD2のサンプル数はN×1.25×1.20=N×1.5であり、第2の音声データD2の再生時間T3は、第1の音声データD1の再生時間T1の150%に伸長されている。これに対して、第2の音声データD2に含まれる正弦波の周波数は第1の音声データD1に含まれる正弦波の周波数と同じである。すなわち、第2の音声データD2は、第1の音声データD1に対して、ピッチが同じであって再生時間が150%に伸長された音声データである。
次に、リサンプリングにより第2の音声データD2のサンプル数の第2の比率情報SR2の逆数である約0.83倍のサンプルを含む第3の音声データD3が生成される。第3の音声データD3の再生時間は、時間スケール変換後の第2の音声データD2の再生時間T3の約83%であり、時間スケール変換前の第2の音声データD2の再生時間T2と同じであり、第1の音声データD1の再生時間T1の125%である。これに対して、第3の音声データD3に含まれる正弦波の周波数は、第2の音声データD2に含まれる正弦波の周波数、すなわち第1の音声データD1に含まれる正弦波の周波数の120%である。すなわち、第3の音声データD3は、第1の音声データD1に対して、再生時間が125%に伸長され、ピッチが120%に上がった音声データである。
最後に、D/A変換により、第3の音声データD3の再生時間T2と同じ再生時間の音声信号VOが生成される。
なお、第2実施形態の半導体装置1の実施例の構成については図示を省略するが、図6に示した第1実施形態の半導体装置1に対して、クロック生成部20がさらに前述の第5のクロック信号CK5を生成し、例えば、マイクロコントロールユニット31がさらに前述の制御部100として機能してもよい。
以上に説明した第2実施形態の半導体装置1によれば、第1実施形態の半導体装置1と同様の効果を奏する。さらに、第2実施形態の半導体装置1によれば、レジスター50に記憶される制御情報に基づき、第1の音声データD1の再生時間を変更せずにピッチを変更する第1の動作モード、第1の音声データD1のピッチを変更せずに再生時間を変更する第2の動作モード、又は第1の音声データD1の再生時間及びピッチを変更する第3の動作モードを選択することができるので、高い汎用性を実現することができる。
1−3.変形例
図10は、変形例の半導体装置1の構成を示す図である。図10に示すように、変形例の半導体装置1は、第1実施形態と同様、音声データ格納部10と、クロック生成部20と、時間スケール変換部30と、リサンプラー40と、レジスター50と、を含む。
音声データ格納部10は、第1実施形態と同様、第1の周期Ts1でサンプリングされた複数のサンプルを含む第1の音声データD1を格納する。
クロック生成部20は、第1実施形態と同様、第1のクロック信号CK1及び第2のクロック信号CK2を生成する。
リサンプラー40は、第2のクロック信号CK2に同期して、ハードウェア処理により、第1の音声データD1を、第1の周期Ts1でサンプリングされた、第1の音声データD1と異なる数の複数のサンプルを含む第2の音声データD2に変換する。具体的には、リサンプラー40は、第1の音声データD1に含まれる複数のサンプルを第1の周期Ts1とは異なる第2の周期Ts2でサンプリングされたものと仮定して、当該複数のサンプルに基づく補間処理及び/又は間引き処理により、第1の周期Ts1でサンプリングされた複数のサンプルを求めて第2の音声データD2とする。補間処理及び/又は間引き処理には公知の各種の手法を適用可能である。なお、第1の音声データD1が圧縮された音声データである場合は、リサンプラー40は、不図示の音声データ展開部により展開された第1の音声データD1に対して補間処理及び/又は間引き処理を行ってもよい。
時間スケール変換部30は、第1のクロック信号CK1に同期して、第2の音声データD2を、第2の音声データD2に含まれる複数のサンプルの一部を削除又は複製した第3の音声データD3に変換する。例えば、削除又は複製されるサンプルは、周期的に繰り返される波形を構成する複数のサンプルの一部であってもよい。第3の音声データD3は、第2の音声データD2と同じピッチであって、第2の音声データD2とは再生速度あるいは再生時間が異なる音声データである。第2の音声データD2を第3の音声データD3に変換する処理、すなわち、いわゆる時間スケール変換処理には公知の各種の手法を適用可能である。例えば、時間スケール変換部30は、ソフトウェア処理により時間スケール変換処理を行ってもよい。
本実施形態では、第3の音声データD3は、第1の音声データD1のピッチが変更された、第1の音声データD1と同じサンプル数のデータである。換言すれば、第3の音声データD3は、第1の音声データD1とピッチが異なり、再生時間あるいは再生速度が同じ音声データである。
レジスター50は、第1実施形態と同様、時間スケール変換部30及びリサンプラー40の動作を制御する制御情報を格納する。例えば、制御情報は、時間スケール変換部30及びリサンプラー40に処理を開始させるためのスタートビットSTを含んでもよい。時間スケール変換部30及びリサンプラー40は、スタートビットSTが非アクティブからアクティブに変化すると処理を開始し、処理を終了すると停止する。
また、制御情報は、第3の音声データD3のサンプル数と第2の音声データD2のサンプル数との比率情報SRを含み、時間スケール変換部30及びリサンプラー40に比率情報SRが供給されてもよい。例えば、比率情報SRが、第3の音声データD3のサンプル数が第2の音声データD2のサンプル数の75%であることを示す場合、リサンプラー40は、第1の音声データD1に含まれるN個のサンプルを第1の周期Ts1の約133%である第2の周期Ts2でサンプリングされたものと仮定して、N個のサンプルに基づく補間処理及び/又は間引き処理により、第1の周期Ts1でサンプリングされた約N×1.33個のサンプルを求めて第2の音声データD2とする。そして、時間スケール変換部30は、第2の音声データD2を、第2の音声データD2に含まれる約N×1.33個のサンプルの25%を削除したN個のサンプルを含む第3の音声データD3に変換する。
また、第1実施形態と同様、半導体装置1は、D/A変換器60を含んでもよい。半導体装置1がD/A変換器60を含む場合、クロック生成部20は、D/A変換器60を動作させるための第3のクロック信号CK3を生成する。
D/A変換器60は、第1実施形態と同様、第3の音声データD3をアナログ信号である音声信号VOに変換する。具体的には、D/A変換器60は、第3のクロック信号CK3に同期して、第1の周期Ts1で第3の音声データD3に含まれる複数のサンプルをサンプリングしてアナログ値に変換することにより音声信号VOを生成する。スタートビットSTはD/A変換器60にも供給され、D/A変換器60は、スタートビットSTが非アクティブからアクティブに変化すると処理を開始し、処理を終了すると停止する。
なお、第1実施形態と同様、半導体装置1は、リサンプラー40におけるリサンプリングによって発生するエリアシングノイズを低減させる必要がある場合は、ローパスフィルター70を含んでもよい。リサンプラー40におけるリサンプリングがダウンサンプリングである場合は、ローパスフィルター70は、リサンプラー40の前段、具体的には音声データ格納部10の出力からリサンプラー40の入力に至る信号経路に設けられ、必要に応じてリサンプラー40の後段、具体的にはリサンプラー40の出力から時間スケール変換部30の入力に至る信号経路にも設けられる。また、リサンプラー40におけるリサンプリングがアップサンプリングである場合は、ローパスフィルター70は、リサンプラー40の後段、具体的にはリサンプラー40の出力から時間スケール変換部30の入力に至る信号経路に設けられる。半導体装置1がローパスフィルター70を含む場合、クロック生成部20は、ローパスフィルター70を動作させるための第4のクロック信号CK4を生成し、スタートビットSTはローパスフィルター70にも供給される。そして、ローパスフィルター70は、スタートビットSTが非アクティブからアクティブに変化すると第4のクロック信号CK4に同期した処理を開始し、処理を終了すると停止する。
なお、第1実施形態と同様、クロック生成部20は、スタートビットSTが非アクティブからアクティブに変化すると、第1のクロック信号CK1、第2のクロック信号CK2、第3のクロック信号CK3及び第4のクロック信号CK4を生成し、所定の時間が経過すると、クロック信号の生成を停止してもよい。この場合、スタートビットSTは、時間スケール変換部30及びリサンプラー40、D/A変換器60及びローパスフィルター70に供給されなくてもよい。
また、第1実施形態と同様、クロック生成部20が生成する第1のクロック信号CK1、第2のクロック信号CK2、第3のクロック信号CK3及び第4のクロック信号CK4のうちの複数のクロック信号が共通であってもよい。
図11は、変形例の半導体装置1において、第1の音声データD1のピッチを下げる場合の第2の音声データD2、第3の音声データD3及び音声信号VOの一例を示す図である。図11の例では、第1の音声データD1は、一定時間に同じ正弦波が4回繰り返される一定周波数の音声データであり、その再生時間はT1である。また、比率情報SRは75%に設定されている。
まず、リサンプリングにより第1の音声データD1のサンプル数Nの比率情報SRの逆数である約1.33倍のサンプルを含む第2の音声データD2が生成される。このリサンプリングの詳細は、図3の例と同様である。第2の音声データD2の再生時間T2は、第1の音声データD1の再生時間T1の約133%である。これに対して、第2の音声データD2に含まれる正弦波の周波数は、第1の音声データD1に含まれる正弦波の周波数の75%である。すなわち、第2の音声データD2は、第1の音声データD1に対して、再生時間が約133%に伸長され、ピッチが75%に下がった音声データである。
次に、時間スケール変換により第2の音声データD2の1つの正弦波が削除され、同じ正弦波が3回繰り返される一定周波数の第3の音声データD3が生成される。第3の音声データD3のサンプル数はNであり、第3の音声データD3の再生時間は、第2の音声データD2の再生時間T2の75%である。これに対して、第3の音声データD3に含まれる正弦波の周波数は第2の音声データD2に含まれる正弦波の周波数と同じなので、時間スケール変換の前後でピッチは変わらない。すなわち、第3の音声データD3は、第2の音声データD2に対して、ピッチが同じであって再生時間が75%に短縮された音声データである。前述の通り、第2の音声データD2は、第1の音声データD1に対して、再生時間が約133%に伸長され、ピッチが75%に下がった音声データであるので、第3の音声データD3は、第1の音声データD1に対して、再生時間が同じであり、ピッチが75%に下がった音声データである。
最後に、D/A変換により、第3の音声データD3の再生時間、すなわち第1の音声データD1の再生時間T1と同じ再生時間の音声信号VOが生成される。
図12は、変形例の半導体装置1において、第1の音声データD1のピッチを上げる場合の第2の音声データD2、第3の音声データD3及び音声信号VOの一例を示す図である。図12の例では、第1の音声データD1は、一定時間に同じ正弦波が4回繰り返される一定周波数の音声データであり、その再生時間はT1である。また、比率情報SRは125%に設定されている。
まず、リサンプリングにより第1の音声データD1のサンプル数Nの比率情報SRの逆数である0.80倍のサンプルを含む第2の音声データD2が生成される。このリサンプリングの詳細は、図5の例と同様である。第2の音声データD2の再生時間T2は、第1の音声データD1の再生時間T1の80%である。これに対して、第2の音声データD2に含まれる正弦波の周波数は、第1の音声データD1に含まれる正弦波の周波数の125%である。すなわち、第2の音声データD2は、第1の音声データD1に対して、再生時間が80%に短縮され、ピッチが125%に上がった音声データである。
次に、時間スケール変換により第2の音声データD2の1つの正弦波が複製され、同じ正弦波が5回繰り返される一定周波数の第3の音声データD3が生成される。第3の音声データD3のサンプル数はNであり、第3の音声データD3の再生時間は、第2の音声データD2の再生時間T2の125%である。これに対して、第3の音声データD3に含まれる正弦波の周波数は第2の音声データD2に含まれる正弦波の周波数と同じなので、時間スケール変換の前後でピッチは変わらない。すなわち、第3の音声データD3は、第2の音声データD2に対して、ピッチが同じであって再生時間が125%に伸長された音声データである。前述の通り、第2の音声データD2は、第1の音声データD1に対して、再生時間が80%に短縮され、ピッチが125%に上がった音声データであるので、第3の音声データD3は、第1の音声データD1に対して、再生時間が同じであり、ピッチが125%に上がった音声データである。
最後に、D/A変換により、第3の音声データD3の再生時間、すなわち第1の音声データD1の再生時間T1と同じ再生時間の音声信号VOが生成される。
以上に説明した変形例の半導体装置1によれば、上記の第1実施形態と同様の効果を奏する。
なお、変形例の半導体装置1に対して、上記の第2実施形態で示したセレクター80、セレクター90及び制御部100が追加されてもよい。
2.電子機器
図13は、上述した半導体装置1を用いた本実施形態の電子機器の構成の一例を示す機能ブロック図である。また、図14は、本実施形態の電子機器の一例であるスマートフォンの外観の一例を示す図である。
本実施形態の電子機器300は、半導体装置1、操作部330、記憶部340、通信部350、表示部360及び音出力部370を含んで構成されている。なお、本実施形態の電子機器300は、図13の構成要素の一部を省略又は変更し、あるいは、他の構成要素を付加した構成としてもよい。
操作部330は、操作キーやボタンスイッチ等により構成される入力装置であり、ユーザーによる操作に応じた操作信号を半導体装置1に出力する。半導体装置1は、例えば、操作部330から入力される信号に応じて前述の制御情報を変更する。
記憶部340は、半導体装置1が各種の計算処理や制御処理を行うためのプログラムやデータ等を記憶している。例えば、記憶部340には複数の音声データが記憶されており、半導体装置1は、記憶部340に記憶されている複数の音声データのいずれかを読み出して、前述の第1の音声データD1としてもよい。記憶部340は、例えば、ハードディスク、フレキシブルディスク、MO、MT、各種のメモリー、CD−ROM、又は、DVD−ROM等によって実現される。
通信部350は、半導体装置1と電子機器300の外部機器との間のデータ通信を成立させるための各種制御を行う。
表示部360は、LCD(Liquid Crystal Display)等により構成される表示装置であり、入力される表示信号に基づいて各種の情報を表示する。表示部360には操作部330として機能するタッチパネルが設けられていてもよい。例えば、半導体装置1が表示信号を生成してもよいし、半導体装置1とは異なる不図示の半導体装置が表示信号を生成してもよい。
音出力部370は、スピーカー等によって構成され、半導体装置1からの出力信号である音声信号に基づいて音声を出力する。
本実施形態の電子機器300は、比較的小さな回路規模でありながら音声データのピッチ変換を行うことが可能な半導体装置1を備えていることにより、低コストで所望の音声を出力することができる。
このような電子機器300としては種々の電子機器が考えられ、例えば、炊飯器、IHクッキングヒーター、掃除機、洗濯機等の各種の家庭用電気製品、電子時計、モバイル型、ラップトップ型、タブレット型などのパーソナルコンピューター、スマートフォンや携帯電話機などの移動体端末、ディジタルカメラ、インクジェットプリンターなどのインクジェット式吐出装置、ルーターやスイッチなどのストレージエリアネットワーク機器、ローカルエリアネットワーク機器、移動体端末基地局用機器、テレビ、ビデオカメラ、ビデオレコーダー、カーナビゲーション装置、リアルタイムクロック装置、ページャー、電子手帳、電子辞書、電卓、電子ゲーム機器、ゲーム用コントローラー、ワードプロセッサー、ワークステーション、テレビ電話、防犯用テレビモニター、電子双眼鏡、POS端末、電子体温計、血圧計、血糖計、心電図計測装置、超音波診断装置、電子内視鏡等の医療機器、魚群探知機、各種測定機器、車両、航空機、船舶等の計器類、フライトシミュレーター、ヘッドマウントディスプレイ、モーショントレース、モーショントラッキング、モーションコントローラー、歩行者自立航法(PDR:Pedestrian Dead Reckoning)装置等が挙げられる。
3.移動体
図15は、上述した半導体装置1を用いた本実施形態の移動体の一例を示す図である。図15に示す移動体400は、半導体装置1、コントローラー440,450,460、バッテリー470、スピーカー480を含む。なお、本実施形態の移動体は、図15の構成要素の一部を省略し、あるいは、他の構成要素を付加した構成としてもよい。
半導体装置1、コントローラー440,450,460、スピーカー480は、バッテリー470から供給される電源電圧で動作する。
例えば、コントローラー440,450,460は、それぞれ、姿勢制御システム、横転防止システム、ブレーキシステム等の各種の制御を行う。
スピーカー480は、半導体装置1からの出力信号である音声信号に基づいて音声を出力する音出力部である。
本実施形態の移動体400は、比較的小さな回路規模でありながら音声データのピッチ変換を行うことが可能な半導体装置1を備えていることにより、低コストで所望の音声を出力することができる。
このような移動体400としては種々の移動体が考えられ、例えば、電気自動車等の自動車、ジェット機やヘリコプター等の航空機、船舶、ロケット、人工衛星等が挙げられる。
本発明は本実施形態に限定されず、本発明の要旨の範囲内で種々の変形実施が可能である。
上述した実施形態および変形例は一例であって、これらに限定されるわけではない。例えば、各実施形態および各変形例を適宜組み合わせることも可能である。
本発明は、実施の形態で説明した構成と実質的に同一の構成、例えば、機能、方法及び結果が同一の構成、あるいは目的及び効果が同一の構成を含む。また、本発明は、実施の形態で説明した構成の本質的でない部分を置き換えた構成を含む。また、本発明は、実施の形態で説明した構成と同一の作用効果を奏する構成又は同一の目的を達成することができる構成を含む。また、本発明は、実施の形態で説明した構成に公知技術を付加した構成を含む。