JPH05144179A - デジタルレコーダ - Google Patents

デジタルレコーダ

Info

Publication number
JPH05144179A
JPH05144179A JP3330158A JP33015891A JPH05144179A JP H05144179 A JPH05144179 A JP H05144179A JP 3330158 A JP3330158 A JP 3330158A JP 33015891 A JP33015891 A JP 33015891A JP H05144179 A JPH05144179 A JP H05144179A
Authority
JP
Japan
Prior art keywords
data
tempo
transfer
address
dma
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
JP3330158A
Other languages
English (en)
Other versions
JP3114299B2 (ja
Inventor
Norio Iizuka
宣男 飯塚
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.)
Casio Computer Co Ltd
Original Assignee
Casio Computer 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 Casio Computer Co Ltd filed Critical Casio Computer Co Ltd
Priority to JP03330158A priority Critical patent/JP3114299B2/ja
Publication of JPH05144179A publication Critical patent/JPH05144179A/ja
Application granted granted Critical
Publication of JP3114299B2 publication Critical patent/JP3114299B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02EREDUCTION OF GREENHOUSE GAS [GHG] EMISSIONS, RELATED TO ENERGY GENERATION, TRANSMISSION OR DISTRIBUTION
    • Y02E60/00Enabling technologies; Technologies with a potential or indirect contribution to GHG emissions mitigation
    • Y02E60/30Hydrogen technology
    • Y02E60/50Fuel cells

Landscapes

  • Signal Processing For Digital Recording And Reproducing (AREA)

Abstract

(57)【要約】 【目的】 外部から簡便に指定されたテンポに同期して
音声データを再生することができるようにする。 【構成】 外部ビートカウンタ24は、システムクロッ
ク発生回路21が出力するクロックをカウントして、外
部拍指定入力と内部ビートカウンタ23の計数出力との
時間差を計測する。内部ビートカウンタ23は、システ
ムクロックをカウントして再生データのテンポを計測す
る。外部ビートカウンタ24のカウント値に対応してシ
ステムクロックの周波数が制御されたり、読み出される
音声データのアドレス変更制御がなされたりする。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、音声信号をデジタル的
に記録、再生、更には編集することが可能なデジタルレ
コーダに関する。
【0002】
【従来の技術】従来から音声信号を記録(録音)、再
生、編集する方法としては、磁気テープにアナログ音声
信号を磁気記録し、それを再生、編集することが行われ
ている。しかし、このような従来技術は、アナログ記録
再生によっている為、音質の劣化がさけられず、特に一
度録音した音声信号をダビングすると劣化が顕著とな
る。
【0003】また、磁気テープを記録媒体としているの
で、目的の編集ポイントに到達するのに時間がかかって
しまうという問題や、磁気テープの当該録音部分を物理
的に切り貼りしたり、編集部分を他の場所に一度コピー
した上でなければ編集作業を行えないという問題もあ
る。
【0004】音質劣化の問題に対しては、磁気テープへ
の記録方法をデジタル化することで対応できるものの、
シーケンシャルアクセスの記録媒体を用いるために生じ
る頭出しや編集の自由度に関する欠点は、単なるデジタ
ル化によっては除去することができない。
【0005】そこで近年では、記録媒体としてウィンチ
ェスター型のハードディスクを用いてディスクレコーデ
ィングを行うことにより従来の問題点を解消する提案が
なされている(例えば、JAS Journal'89・4月
号、第16頁乃至第22頁「ディジタル・オーディオ・
ワークステーション(DAW)の動向〜AES日本支部
1月例会より〜」を参照)。さらに本出願人も、ディス
クレコーディングを開示した発明を特願平2−1237
88号(平成2年5月14日出願)、特願平3−655
22号(平成3年3月6日出願)等により提案してい
る。
【0006】
【発明が解決しようとする課題】従来の装置において
は、このようにして編集したオーディオデータを外部の
装置と同期して演奏させるような場合、例えばSMPT
Eなどの絶対時間コードを用いて精密な同期を実現する
ようにしていた。従って、構成が複雑になるばかりでな
く、例えば外部より指定したテンポに同期して簡便に再
生を行なうようなことが困難である課題があった。
【0007】本発明はこのような状況に鑑みてなされた
ものであり、外部から簡便に指定されたテンポに同期し
て、あるいは追従して再生を行なうことができるように
するものである。
【0008】
【課題を解決するための手段】請求項1に記載のデジタ
ルレコーダは、ハードディスク12や光磁気ディスクな
どの記録媒体に記録されているデータを再生する再生手
段としてのHDコントローラ11と、HDコントローラ
11により再生された再生データを出力するクロックを
発生するクロック発生手段としてのシステムクロック発
生回路21と、再生データの再生テンポを計測するテン
ポ計測手段としての内部ビートカウンタ23と、外部よ
り指定されたテンポと内部ビートカウンタ23により計
測されたテンポとを比較し、その比較結果に対応してシ
ステムクロック発生回路21により発生されるクロック
の周波数を制御して外部より指定されるテンポに応じて
上記出力動作の制御を行うクロック周波数制御手段とし
てのクロックサーボコントロール回路22とを備えるこ
とを特徴とする。
【0009】請求項2に記載のデジタルレコーダは、再
生データをD/A変換するD/A変換手段としての音声
入出力装置8−1乃至8−3をさらに備えることがで
き、この場合クロックは、この音声入出力装置8−1乃
至8−3におけるD/A変換タイミングを規定するクロ
ックとすることができる。
【0010】請求項3に記載のデジタルレコーダは、ハ
ードディスク12や光磁気ディスクなどの記録媒体に記
録されているデータを再生する再生手段としてのHDコ
ントローラ11と、再生データの再生テンポを計測する
テンポ計測手段としての内部ビートカウンタ23と、外
部より指定されたテンポと内部ビートカウンタ23によ
り計測されたテンポとを比較し、その比較結果に対応し
て記録媒体の読出アドレスを制御して外部より指定され
るテンポに応じて再生動作の制御を行うアドレス制御手
段としてのDMAコントローラ10とを備えることを特
徴とする。
【0011】
【作用】請求項1に記載のデジタルレコーダにおいて
は、再生データのピッチが外部より指定されたテンポに
対応して調整される。
【0012】また、請求項2に記載のデジタルレコーダ
においては、D/A変換のタイミングを規定するクロッ
クの周波数が制御される。従って、簡単に再生データの
テンポを外部より指定されたテンポに同期または追従さ
せることができる。
【0013】さらに請求項3に記載のデジタルレコーダ
においては、再生データのピッチを変更することなく、
簡単に再生データのテンポを外部より指定されたテンポ
に同期もしくは追従させることができる。
【0014】
【実施例】以下、この発明のデジタルレコーダの好適な
実施例を図面を参照して説明する。
【0015】<全体構成>図1は、本発明のデジタルレ
コーダの一実施例の全体構成を示しており、この実施例
においては、同時に3トラックまでの録音、再生動作が
出来るようになっている。全体は、図示のとおり、CP
U部(図中左側の部分)と、DMAユニット(音声記録
再生処理装置)(図中右側の部分)とに分かれる。
【0016】CPU部は、CPU1と、このCPU1の
動作を規定するプログラム(詳細は後述)を記憶したプ
ログラムROM2と、各種データを記憶するエリア、3
トラックのディスクアクセスポインタを記憶するエリ
ア、ハードディスク12a,12bに記憶されている音
声データを手動もしくは自動にて複数に区切ったときの
各区切られた音声データ(イベント)の識別情報(イベ
ント名)および記憶位置(ディスクID、先頭データア
ドレス、イベント長)を含むイベントテーブル(ET)
を記憶するエリア、イベントテーブルに含まれるイベン
トの識別情報を各トラック毎にイベントの再生順序に配
列して成るイベントシーケンステーブル(EST)を記
憶するエリア、ならびにワークエリア等を含むRAM3
と、CPU1のI/Oポートに接続された周辺機器であ
る各種ファンクションキー、データ入力キー等を含むキ
ーボード4、CRTあるいはLCDとそのドライバを含
み各種表示を行う表示装置5とを有する。
【0017】さらにまたCPU部は、外部より入力され
るテンポ(拍)信号と内部テンポ信号との絶対時間差を
計測する外部ビートカウンタ24(システムクロック発
生回路21の出力で計数動作し、内部ビートカウンタ2
3の1拍計数出力と、外部テンポ信号との到来時間差を
後述する符号付きで計測する)と、システムクロック発
生回路21が出力するシステムクロックをカウントし、
再生データのテンポを検出する内部ビートカウンタ23
と、内部テンポと外部テンポの絶対時間差に対応してシ
ステムクロック発生回路21を制御し、その発生するシ
ステムクロックの周波数を制御するクロックサーボコン
トロール回路22を備える。
【0018】CPU1は、後述するようにリアルタイム
動作時(録音/再生等)において、DMAユニットのア
ドレスバス、データバスの空き時間に、必要に応じてD
MAユニットの各構成要素の制御を行ない、編集時にお
いて、データブロックの並べ換えや、ディスクアクセス
ポインタの操作等を行なう。キーボード4からは、後述
するように、各トラック(以下、Trとする)の録音/
再生モードの設定、スタート、ストップ、ロケート、編
集点の指定などが行える。またプログラムROM2,R
AM3のアドレス端子には、アドレスバスを介してCP
U1からアドレス信号が送られ、その出力端子はデータ
バスを介してCPU1にあるいはトランシーバ7に接続
されている。
【0019】すなわち、CPU部とDMAユニットとを
連結するために、バッファ6、トランシーバ7がDMA
ユニット内に設けられている。バッファ6はCPU1と
アドレスバスを介して接続され、更にDMAユニット内
のアドレスバスに連結される。トランシーバ7はCPU
1とデータバスを介して接続され、更にDMAユニット
内のデータバスに連結される。
【0020】DMAユニット内には、Tr1の為の音声
入出力装置8−1、Tr2の為の音声入出力装置8−
2、Tr3の為の音声入出力装置8−3が設けられてい
て、夫々には、アナログ音声信号が独立に入出力可能と
なっている。
【0021】各音声入出力装置8−1〜8−3の内部に
は、A/D変換、D/A変換を選択的に実行する変換器
のほか、サンプリングノイズ除去用のローパスフィルタ
などが含まれている。これらの音声入出力装置8−1〜
8−3においては、当該トラックがレコード(記録)状
態に設定されれば、外部からのアナログ音声信号をサン
プリング周期毎に適宜フィルタリングした後、A/D変
換して、デジタル音声データを得る。逆に当該トラック
がプレイ(再生)状態に設定されれば、予め読み出され
たデジタル音声データをサンプリング周期毎にD/A変
換して適宜フィルタリングした後、アナログ音声信号と
して出力する。音声入出力装置8−1乃至8−3には、
システムクロック発生回路21から必要なクロックが供
給されている。
【0022】Tr1〜Tr3の各音声入出力装置8−1
〜8−3は、データバスを介して対応するバッファ9−
1(BUF1)、バッファ9−2(BUF2)、バッフ
ァ9−3(BUF3)とそれぞれ接続され、デジタル音
声データの授受を行う。
【0023】このバッファ9−1〜9−3はTr1〜T
r3に夫々対応しており、音声入出力装置8−1〜8−
3との間のデータ転送は、コントロール手段すなわちD
MAコントローラ10にて、直接メモリアクセス(DM
A)方式により行われる。
【0024】この各音声入出力装置8−1〜8−3は、
DMAコントローラ10に対し、レコーディング時に
は、サンプリング周期で音声入出力装置8−1〜8−3
からバッファ9−1〜9−3方向への1回のサンプリン
グに係るデジタルデータのDMA転送(シングル転送)
を要求(リクエスト)し(DRQ信号を送出し(Tr1
ではDRQ1、Tr2ではDRQ2、Tr3ではDRQ
3としてDMAコントローラ10に与えられる))、D
MAコントローラ10からの回答(アクノーレッジが、
Tr1ではDAK1、Tr2ではDAK2、Tr3では
DAK3としてDMAコントローラ10から与えられ
る)を受けて、実際のデータ転送が実行される。プレイ
時には、サンプリング周期でバッファ9−1〜9−3か
ら音声入出力装置8−1〜8−3方向への1回のサンプ
リングに係るデジタルデータのDMA転送(シングル転
送)の要求が、音声入出力装置8−1〜8−3からなさ
れ、上記した場合と同様にDMAコントローラ10によ
ってデータ転送が実行される。
【0025】このバッファ9−1〜9−3は、1回もし
くは複数回のデジタル音声データを記憶できる容量をも
ち、例えばRAMをTr1〜Tr3に3分割し、夫々リ
ングバッファ(最終アドレスと先頭アドレスとが仮想的
につながったバッファ)として使用することで、FIF
Oバッファとして機能するよう構成されている。
【0026】このバッファ9−1〜9−3に対するアド
レス指定は、アドレスバスを介してDMAコントローラ
10などよりなされる。すなわちDMA転送を行ってい
るときはDMAユニット内のアドレスバス、データバ
ス、制御信号ラインはDMAコントローラ10が専有す
ることになる。
【0027】そしてバッファ9−1〜9−3はデータバ
スを介し、更にハードディスクコントローラ(以下、H
Dコントローラとする)11の制御に従ってハードディ
スク12a,12bとデータの授受を行う。ハードディ
スク12a,12bとHDコントローラ11とはデータ
バスとコントロール信号ラインとを介し連結され、ハー
ドディスク12a,12bに対するリード/ライトアク
セスが全てHDコントローラ11によりなされる。ハー
ドディスク12a,12bは、Tr1〜Tr3の3トラ
ック分の分割された記憶エリアを有しており、バッファ
9−1〜9−3とのデータ転送がDMAコントローラ1
0によりなされる。これは、HDコントローラ11が1
つのデータブロックを転送し終ると割込み(INT)を
CPU1にかけ、次のデータブロックの転送指示をCP
U1に対し行うことによりなされる。CPU1は、HD
コントローラ11からインタラプト信号INTが到来す
ると、DMAコントローラ10、HDコントローラ11
を所望の状態に設定したり、プログラミングしたりした
後、DMA転送を行わせる。この動作の詳細は後に説明
する。
【0028】DMAコントローラ10はプレイ時にあっ
ては、ハードディスク12a,12bから予め指定され
た量(複数サンプリング周期分)のデジタル音声データ
を読み出した後、バッファ9−1〜9−3のうちの指定
されるバッファへDMA転送(ブロック転送)するよう
動作し、レコード時にあっては、指定されたバッファか
ら予め指定された量(複数サンプリング周期分)のデジ
タル音声データを読み出してハードディスク12a,1
2bの指定される位置へDMA転送(ブロック転送)す
るよう動作する。
【0029】このハードディスク12a,12bとバッ
ファ9−1〜9−3との間のデータ転送の際は、HDコ
ントローラ11よりDMAコントローラ10に対し要求
信号DREQを出力し(DMAコントローラ10側では
DRQ4として受取る)、転送可能となると逆に回答信
号DACKを受取る(DMAコントローラ10側ではD
AK4として出力する)ことで、実際の転送状態とな
る。
【0030】このように、DMAコントローラ10は、
Tr1〜Tr3の音声入出力装置8−1〜8−3とバッ
ファ9−1〜9−3との間の3チャンネル(後述するC
H1〜CH3)のデータ転送と、順番に選択されたいず
れかのバッファ9−1〜9−3とハードディスク12
a,12bとの間の1チャンネル(後述するCH4)の
データ転送との、計4チャンネルの時分割データ転送動
作をする。
【0031】CPU1は、DMAユニット内の各構成要
素の機能、作用を管理するために、アドレスバスを介し
バッファ6にアドレス信号を与えるほか、各構成要素の
指定信号をバッファ6を介しデコーダ13に供給して、
夫々の指定信号CSを、各音声入出力装置8−1〜8−
3、バッファ9−1〜9−3、DMAコントローラ1
0、HDコントローラ11に与える。同時に、トランシ
ーバ7を介し、データバスを経由して種々のデータのや
りとりがCPU1との間でなされる。
【0032】更に、CPU1から各音声入出力装置8−
1〜8−3のIOWR端子にはレコード状態(ライト状
態)とするのかプレイ状態(リード状態)とするのかを
指定する指定信号WRが、バッファ6を介して与えられ
る。
【0033】また、各バッファ9−1〜9−3、DMA
コントローラ10、HDコントローラ11に対してもこ
の指定信号(ライト信号)WRと、別の指定信号(リー
ド信号)RDとがバッファ6を介してCPU1から与え
られ、夫々の構成要素からデータを読み出したり逆にデ
ータを書込んだりするようになる。また、DMAコント
ローラ10からも、DMA転送状態にあってはこれらの
指定信号RD、WRを出力するようになる。これらの信
号と各構成要素の機能、動作の関係は後述する。
【0034】DMAコントローラ10は、DMA転送を
各構成要素間で行っているとき、DMA可能(イネーブ
リング)信号DMAENBを“1”にして出力する。そ
の結果、この信号DMAENBがインバータ16を介し
て与えられるアンドゲート14の出力は“0”となり、
バッファ6、トランシーバ7にはイネーブリング信号E
が“0”として与えられ、結局CPU部とDMAユニッ
トとのデータ、アドレスの授受はできなくなる。このと
き、アンドゲード15に“1”信号がデコーダ13より
与えられておれば、アンドゲート15の出力が“1”と
なってCPU1にウェイト信号WAITが供給される。
【0035】つまり、CPU1が、DMAユニットを管
理するために、バッファ6、トランシーバ7を開かせる
べくデコーダ13に所定の信号を与えているとき、つま
りアンドゲート14の一入力端にデコーダ13より
“1”信号を供給しているとき(CPU1がバッファ9
−1〜9−3、DMAコントローラ10、HDコントロ
ーラ11、音声入出力装置8−1〜8−3のいずれかに
アクセスするためのアドレス信号を出力すると、デコー
ダ13の出力はアクティブとなりアンドゲート14、1
5の夫々の一入力端への出力は“1”となる)、DMA
転送を開始するとCPU1にはウェイト(WAIT)が
かかり、DMA転送が優先して実行された後、ウェイト
解除にともなってCPU1の動作が再開される。
【0036】また、逆に、DMAコントローラ10が、
DMA転送を実行しているときに、CPU1が例えばD
MAコントローラ10をアクセスしようとしても、アン
ドゲート15よりウェイト信号WAITが与えられCP
U1の実行サイクルは途中で引き延ばされて、バッファ
6、トランシーバ7はその間閉じられることになる。
【0037】結局、CPU1が、DMAユニットの各構
成要素にアクセスできるのは、 1.CPU1がDMAユニットの各構成要素をアクセス
するためのアドレスを出した。 2.信号DMAENBがインアクティブ(“0”)つま
りDMAユニットのデータバスが空いている。 の2つの条件を満足するときであるが、CPU1は上述
したように、ゲート14、15の作用によっていつDM
Aユニットにアクセスするかを考慮することなく処理を
すすめることができる。
【0038】また、CPU1は、キー入力やコントロー
ルデータのトリガに応じて直ちにDMAユニットの動作
状態を変えたい場合、DMAコントローラ10に対し
て、DMAコントローラ10の状態がどのような状態で
あってもDMA転送を中断する指令DMAENDを出力
することができる(これは、DMAコントローラ10に
はEND信号として与えられる)。
【0039】〈DMAコントローラ10の要部構成〉次
に、DMAコントローラ10の一構成例を説明する。D
MAコントローラ10は、1バスサイクルが数百ナノ秒
である転送能力をもつ。従って、3トラック分のサンプ
リングデータを転送する時間は1から2マイクロ秒とな
る。
【0040】サンプリング周波数fsを48KHzとし
たとき、1サンプリング時間の間隔は約21マイクロ秒
となり、サンプリング時間間隔のほとんどは、バッファ
9−1〜9−3とHDコントローラ11、ハードディス
ク12a,12bとの間のデータ転送及びCPU1から
各構成要素のプログラミング時間にあてることが可能と
なる。
【0041】さて、その具体例の主要構成は、図2に示
されている。このDMAコントローラ10は、アドレス
バスと接続される入力側(IN)のアドレスバッファ1
01と出力側(OUT)のアドレスバッファ102を有
する。入力側のアドレスバッファ101に与えられるア
ドレス信号によって、レジスタセレクタ103の指定内
容が変化し、アドレスレジスタ104とコントロールレ
ジスタ105とに存在する所望のレジスタまたは転送カ
ウンタが指定されることになる。
【0042】アドレスレジスタ104、コントロールレ
ジスタ105には4つのチャンネルCH1〜CH4のエ
リアがあり、チャンネルCH1〜CH3は、バッファ9
−1〜9−3と音声入出力装置8−1〜8−3との間の
DMA転送を行うためのレジスタであり、チャンネルC
H4は、バッファ9−1〜9−3のうちの指定したバッ
ファとハードディスク12a,12bとの間のDMA転
送を行なうためのレジスタである。
【0043】アドレスレジスタ104内の各チャンネル
CH1〜CH4のレジスタは、対応するバッファ9−1
〜9−3及び指定されたバッファのカレントアドレスと
スタートアドレスとを少なくとも記憶するエリアを有
し、CH4のレジスタには、さらに転送カウンタが具備
され、このカウンタに設定されただけのデータ数がDM
A転送されると、HDコントローラ11のDMAリクエ
ストが続いても新たにカウンタが設定されるまでDMA
動作は停止される(後述する図7の7−8による)。ま
たコントロールレジスタ105の各チャンネルCH1〜
CH4のエリアには、例えば、DMA転送の方向を指定
するコントロールデータが記憶される。
【0044】このアドレスレジスタ104、コントロー
ルレジスタ105の内容は、データバッファ106を介
してデータバスに対して入出力可能となっている。そし
て、これらの各構成要素を制御しているのが、タイミン
グコントロールロジック107と、サービスコントロー
ラ108、チャンネルセレクタ109である。
【0045】サービスコントローラ108は、ハードロ
ジックもしくはマイクロプログラム制御構成となってい
て、タイミングコントロールロジック107からの信
号、音声入出力装置8−1〜8−3、HDコントローラ
11からのDMA要求信号DRQ1〜DRQ4や、CP
U1からのDMA中断指令END(DMAEND)を受
けとり、上記各構成要素に対する回答(アクノーレッ
ジ)信号DAK1〜DAK4、DMA転送中を示すDM
A可能(イネーブリング)信号DMAENBを出力する
ほか、タイミングコントロールロジック107に対し各
種指令を出したり、チャンネルセレクタ109に対しチ
ャンネルセレクト信号を出力したりする。チャンネルセ
レクタ109は、アドレスレジスタ104、コントロー
ルレジスタ105のなかの各チャンネルCH1〜CH4
に対応するレジスタを選択的に指定する。
【0046】タイミングコントロールロジック107
は、デコーダ13からの指定信号CS、コントロールレ
ジスタ105からのコントロール信号、サービスコント
ローラ108からの制御信号を受けて、アドレスバッフ
ァ102、データバッファ106の入出力制御をするほ
か、アドレスインクリメンタ110を動作させて、アド
レスレジスタ104のなかの指定されたチャンネルのカ
レントアドレスレジスタをインクリメントし、該チャン
ネルに割り当てられたバッファの最終アドレスになった
ならば、該チャンネルに割り当てられたバッファの開始
アドレスにリセットさせる。
【0047】〈CPU1の全体動作〉以下に、本実施例
の動作について説明する。CPU1の動作を示すフロー
チャートが図3乃至図5に示されている。これはプログ
ラムROM2に記憶されたプログラム(ソフトウェア)
よるもので、図3はメインルーチンを示し、図4は、H
Dコントローラ11からのインタラプト信号INTの到
来に応答して実行するインタラプトルーチンを示してい
る。また図5は図4に示すインタラプトルーチンの一部
のステップ(4−2)をさらに詳細に示している。
【0048】まず図3において、CPU1は、電源オン
に応じてメインルーチンをスタートさせ、ステップ3−
0(以下、単に3−0と記す)において各種初期状態を
設定する。そして、3−1においてキー入力を受け、3
−2において何のモードに設定されたかを判断する。
【0049】CPU1が、現在プレイ/レコードモード
であるとジャッジすると、3−2から3−3に進み3つ
あるトラックを順次選択指定し、さらに3−4に進み各
トラックの動作モードをキーボード4の入力指示に従っ
て設定し、3−5において、A/D変換、D/A変換の
いずれの動作を各音声入出力装置8−1〜8−3が実行
するのか、バッファ6、デコーダ13を介して指定信号
CSを順次送出しながらIOWRを与えてセッティング
する。いま、例えばTr1については、プレイ状態(従
ってD/A変換動作状態)、Tr2及びTr3は夫々レ
コード状態(従ってA/D変換動作状態)とする。図1
3に、このようなモード設定した場合の概略動作の概念
図を示す。
【0050】そして、3−5では、DMAコントローラ
10に対し、各Tr1〜Tr3についてのバッファ9−
1〜9−3のアドレスを初期化させる。つまり、図2の
アドレスバッファ101、レジスタセレクタ103、チ
ャンネルセレクタ109等により、チャンネルCH1〜
CH3の各レジスタ(アドレスレジスタ104、コント
ロールレジスタ105)を指定しながら、データバッフ
ァ106を介して初期設定データを入力設定する。
【0051】ここで、バッファ9−1〜9−3は、リン
グバッファとして循環的に使用されるようになってお
り、初期状態としては、各バッファ9−1〜9−3のス
タートアドレスとカレントアドレスとは一致するようセ
ットされる(図13に、各バッファ9−1〜9−3のス
タートアドレスとカレントアドレスとが、CH1〜CH
3のアドレスレジスタ104に記憶されて制御される状
態を模式的に示してある)。
【0052】続いてCPU1は3−6の処理を実行し、
RAM3内の作業(ワーク)メモリエリアに存在するハ
ードディスク12a,12bの各トラックTr1〜Tr
3に対応するディスクアクセスポインタを初期設定する
(図13にハードディスク12a,12bの記憶エリア
と、ディスクアクセスポインタとの関係を示してい
る)。
【0053】次にCPU1は、各音声入出力装置8−1
〜8−3のA/D変換動作又はD/A変換動作を開始さ
せる(3−7)。続いて、3−8において、ソフトウェ
ア割込みをかけて、HDコントローラ11が、ハードデ
ィスク12a,12bとバッファ9−1〜9−3のいず
れかとの間のデータ転送のプログラム要求(HDコント
ローラ11がCPU1に対してインタラプトINTをか
けること)を行なったとき(後述)と同じ処理を実行す
る。
【0054】具体的には、図4及び図5に示したフロー
チャートに従った動作を3−8で実行することになる。
ここで図4及び図5に示したフローチャートの説明に入
る前に、前記した図1のRAM3に格納される各テーブ
ルの構成について説明する。図1のRAM3には、図1
4乃至図17に示すように再生スケジュールを制御する
イベントテーブル(ETとする)、イベントシーケンス
テーブル(ESTとする)が定義されており、それらの
中間データであるカレントデータのメモリ領域が取られ
ている。
【0055】すなわち、図14は前記したイベントテー
ブルの登録例を示しており、このテーブルに格納される
イベントデータは、イベント名(name)、ディスク
ID(id)(ハードディスク12a(00)と12b
(01)のいずれかを指定する)、先頭データアドレス
(サンプル(ワード)データアドレス)(adrs)、
及びイベント長(サンプルデータ数)(vol)より構
成されている。そして図14に示すイベントテーブルに
おいては、オリジナルレコーディングデータである
“1”から“4”は、録音時の領域確保によって自動的
に作られる。
【0056】また、図15はオリジナルレコーディング
データのESTの例を示しており、横方向に“0”から
“2”のESTインデックス(ESTindex)が、
縦方向に各トラック番号が配列され、それぞれに対応し
てイベント番号が格納される。図15においては、例え
ばトラック2のデータ(2と3)はディスク“00”と
“01”にまたがって記録された状態を示しており、イ
ベント番号“0”はシーケンス要素の終端を示すための
ものである。
【0057】また、図16はイベントをユーザ自ら定義
し、出力すべきトラックにそれらを並べた編集作品1の
ESTの例を示しており、図15と同様に横方向に
“0”から“8”のESTインデックスが、縦方向に各
トラック番号が配列され、それぞれに対応してイベント
番号が格納される。従って以上のようにESTは編集作
品に対応して複数存在しうる。
【0058】さらにまた、図17は実際にDMA転送を
行っているときのカレントデータを示しており、各トラ
ックの次回の転送対象となるESTのインデックス番号
と、そのイベントがどれだけ転送されたかを示す既転送
量が記憶される。
【0059】以下、図16に示すようなユーザ定義のイ
ベントシーケンスを再生させた場合のCPU1の動作
を、図4及び図5に示したフローチャートに従って説明
する。いま、イベントの先頭部がハードディスク12
a,12bのセクタ長以下の半端な位置に指定されてい
て、それを次にバッファにリードするというような場合
を想定する。ここでTr1について、ハードディスク1
2a,12bからデジタル信号データをバッファ9−1
にDMA転送するために、DMAコントローラ10のチ
ャンネルとしてTr1に対応するチャンネルCH1を決
定する(4−1)。
【0060】続いて、トラック番号とチャンネルバッフ
ァの空き容量(転送可能容量)から、ディスクID、ワ
ードアドレス、転送アドレスを求める4−2のステップ
を実行する。この4−2のステップについては、図5に
さらに詳しくそのフローが示されている。尚、バッファ
の空き容量は、セクタ単位に切り捨てる演算がなされて
いることを前提とする。
【0061】すなわち、5−1のステップにおいて、該
当するトラックカレントデータよりESTインデックス
(=3)を求め、イベント番号(=20)を求める。そ
して5−2のステップにおいて、図14に示すイベント
テーブルよりそのイベントのID(=01)を求める。
次いで5−3において、「そのイベントの先頭アドレス
+カレントデータの既転送量=ワードアドレス」の式に
従って、ワードアドレスを演算する。イベントの先頭ア
ドレスは図14に示すイベントテーブルより求められ、
またカレントデータの既転送量は図17に示すカレント
データより求められる。
【0062】そして、CPU1は5−4において、ワー
ドアドレス(セクタ(1セクタ=100h)を示すディ
スクアドレス)よりオフセット(ワード)を求める。次
いで5−5において、「イベントの容量−既転送量=未
転送量」の式に従って、未転送量の演算がなされる。イ
ベントの容量は図14におけるイベントテーブルのvo
lより求められ、既転送量は図17のカレントデータよ
り求められる。ここで5−6において「空き容量>未転
送量」であるか否かが判断される。5−6においてNO
とジャッジした場合、イベント末尾に達していないの
で、5−7において「カレントデータの既転送量+空き
容量−オフセット=既転送量」の演算がなされ、5−8
において「転送ワード数=空き容量−オフセット」とす
る。尚、2回目以降の転送では、空き容量はセクタ単位
の大きさに切り捨てられているので、後述する通り、デ
ータ転送はセクタ単位となる。また、前記ステップ5−
6においてYESとジャッジした場合、イベント末尾に
達したので、5−9において 「カレントデータのESTのインデックスを+1、既転
送量=0」の処理を成し、5−10において「転送ワー
ド数=未転送量」とする。
【0063】図4に戻り、4−3において、ワードアド
レスをディスクアドレスとオフセットに直し、転送ワー
ド数より転送セクタ数を求める。この転送セクタ数の決
定に際し、セクタ未満のデータは転送できない(セクタ
単位で転送する)ため、セクタ単位で切り捨てが行われ
る。更に4−4において、ディスクアドレス、転送セク
タ数、トラックモードにより、HDコントローラ11を
プログラミングする。また、録音または再生のモードに
対応して、CH4の転送方向(録音時、バッファ9−1
乃至9−3からハードディスク12a,12bの方向、
再生時はその逆の方向)がプログラムされる。ここで4
−5において「オフセット=0」であるか否かがジャッ
ジされ、NOとジャッジされた場合には、イベント先頭
の位置が半端なデータを含んだセクタにある。そしてこ
の様な半端がある場合には4−6および4−7におい
て、DMAコントローラ10におけるアドレスレジスタ
104のCH4のスタートアドレスをイメージ(実際に
は存在しない)領域に設定し、前記転送カウンタにオフ
セット値を設定して、ダミー転送する。
【0064】4−7においてダミー転送が終了したと判
定されるか、または4−5においてYESのジャッジが
成された場合には、4−8乃至4−10のステップによ
って、先頭ダミー転送分以外の領域の転送設定を行な
う。即ち、4−8で、アドレスレジスタ104の当該C
H(いまの場合、CH1)のスタートアドレスをCH4
のスタートアドレスにコピーする。そして、4−9で
は、転送カウンタの値が「セクタ数×セクタ長−オフセ
ット値」の値に設定される。さらに4−10では、転送
ワード数より当該CHのスタートアドレスを更新する。
そしてメインルーチン(図3)にリターンする。このよ
うにして、次のアクセスアドレスはセクタの境界と一致
する。
【0065】ところで、図4におけるステップ4−6に
おいては、イメージ領域(実際には存在していないアド
レス領域)にダミー転送を行なうようにしている。これ
は特にイメージ領域でなく、バッファ中の未発音データ
以外の領域に転送してしまっても効果としては同じであ
るが、この場合、スタートアドレスの設定をその度にD
MAコントローラ10のレジスタ104から得なくては
ならない。しかし、イメージ領域ならば、スタートアド
レスはイメージ領域の最初を示す固定値にして、アドレ
スレジスタ104の転送カウンタだけをプログラムすれ
ばいいので、やや効率がよい。
【0066】また逆に、イベント末尾の無効データを、
イメージ領域に転送する処理は必要なく、無効データを
含まない位置に、転送ワード数からスタートアドレスを
更新できるので問題はない。5−10において、未転送
量が転送ワード数とされていることによる。結局、無効
データの部分は、ダミー転送されたことになる。
【0067】次に、図3に戻る。後の説明でも明らかに
なるとおり、最初の割込みルーチン(図4)が起動され
て、HDコントローラ11が一度動かされると、あとは
CPU1が指定したデータブロックの転送が終了するた
びにHDコントローラ11から割込みがなされる(IN
T信号がCPU1に与えられる)ので、CPU1が行な
うのは、録音/再生動作の終了になったか、キー入力が
あったかまたはコントロールデータに指示しておいたト
リガがかかったかの判断を行うのみである。
【0068】すなわちCPU1は、3−9においてディ
スクアクセスポインタ(RAM3)を参照し、メモリエ
リアオーバーか否か、つまり終了か否かをジャッジし
(3−10)、YESの場合は、各音声入出力装置8−
1〜8−3のA/D変換、D/A変換動作を停止(3−
11)させ、3−1に戻る。NOの場合は、キー入力状
態を参照し(3−12)、もし変化がなければ、ディスク
アクセスポインタをチェックすべく3−9の処理へもど
り、以下3−9〜3−13をくりかえす。
【0069】そして、3−13において何らかの変化が
あると、3−13から3−14に進み、CPU1はDM
A転送を一時中断して、新たな設定をすべく、DMAコ
ントローラ10に対するDMA中止指令(DMAEN
D)を出力する。続けて、新たな入力指示等に従って、
DMAコントローラ10、音声入出力装置8−1〜8−
3をプログラムし(3−15)、再びDMA動作を再開
すべく3−16に進み、上述した3−8と同様に図4の
インタラプトルーチンを実行した後、3−9へもどる。
【0070】このように、CPU1はプレイ/レコード
時にあっては、3−4〜3−8の初期設定を行なった後
は、3−9、3−10、3−12、3−13更に3−1
4〜3−16をくりかえし実行し、キーボード4での変
更指示(例えばあるトラックについてポーズ(A/D、
D/Aの中断)あるいはパンチイン/アウト(A/D、
D/Aの動作の切換)等)や、編集時に得たコントロー
ルデータの変化に応答して、即時にDMA転送制御を中
断し、プログラムを変更した上で、再び同様の処理を実
行するように動作する。
【0071】3−2において、CPU1が現在、イベン
ト処理モードにあると判断すると、3−2から3−17
に進み、ハードディスク12(12a,12b)に記憶
されている音声データをイベント化する。イベント化と
は、手動指定操作などによって時間軸上に連続した音声
データを複数に区切り、各区切られた音声データ(イベ
ント)を識別するためのイベント名、ディスクID、お
よび区切られた区間を示すデータ(スタートポイントと
その長さ(ボリューム))を作り出すことを意味する。
イベント化に対応して、3−18においてイベントテー
ブル(図14)が作成される。このイベントテーブル
(ET)には、イベント名、ディスクID、スタートポ
イントおよびボリュームが登録される。ディスクID、
スタートポイントおよびボリュームは、当該イベントが
記憶されるハードディスク12のスタートアドレスおよ
びイベント長に相当する。
【0072】次いで3−19において前記イベントテー
ブルに基づいてイベントシーケンステーブルEST(図
16)が作成される。このイベント処理3−17〜3−
19は繰り返されることになるが、操作者の指示によ
り、ESTの作成の終了が3−20で検出されると、C
PU1は3−1において再びキー入力を調べる。
【0073】3−2において、CPU1が現在、編集
(EDIT)モードにあると判断すると、3−2から3
−21に進み、編集するトラックやポイント、どのよう
な編集をするのか(例えば、ある時間指定したポイント
に録音した音のタイミングを前後にずらしたり、修正、
削除したりすること)をCPU1は判断し、各種編集作
業を実行する(3−22)。この編集作業は、特には詳
述しないが、HDコントローラ11とDMAコントロー
ラ10とに対するハードディスク12a,12bからの
読み出しアクセスポイントのプログラムや、RAM3へ
の転送、RAM3を用いての各種編集、そして編集後の
デジタル音声データのハードディスク12a,12bへ
の再格納作業、アクセスポイントの指定等を、CPU1
の制御下で実行する。3−23において編集作業の終了
が検出されると、CPU1は、3−1において再びキー
入力を調べる。
【0074】〈音声入出力装置8−1〜8−3の動作〉
次に図6を参照して、音声入出力装置8−1〜8−3の
動作状態を説明する。このフローチャートは、マイクロ
プログラム制御によるものであっても、ハードロジック
制御によるものであってもよく、機能実現手段は種々選
択できる。
【0075】さて、6−1において、CPU1から当該
音声入出力装置の指定信号CSが到来している(アクテ
ィブとなっている)か否かジャッジし、YESならば6
−2において、CPU1より動作状態(レコード、プレ
イ、ストップ等)が設定される。これは図3のCPU1
のメインルーチンの中の3−5、3−15に応答してな
される。
【0076】そして、6−1においてNOの判断がなさ
れると6−3において、当該音声入出力装置8−1〜8
−3がレコード状態であるのかプレイ状態であるのか判
断し、レコード状態と判断されると、6−3から6−4
〜6−9の処理へ進み、プレイ状態と判断されると6−
10〜6−15の処理へ進む。
【0077】先ずレコード状態に設定された音声入出力
装置(いまの場合音声入出力装置8−2、8−3)の動
作を説明する。6−4において、サンプリング時刻とな
ったか否か判断し、サンプリング時刻となるまで、この
6−4をくりかえす。なお、サンプリング時刻の判断
は、音声入出力装置8−1〜8−3内部に夫々ハードタ
イマーをもってその出力によって行ってもよく、あるい
は共通なハードタイマーを設けてその出力に従って各音
声入出力装置が動作するようにしてもよい。後の説明か
らも理解されるとおり、各音声入出力装置8−1〜8−
3のサンプリング周波数を別々にすることも可能であ
る。
【0078】さて、6−4において、YESの判断がな
されると、与えられるアナログ音声信号は、サンプルホ
ールド(S/H)され、A/D変換される。続いて、6
−6において、DMAコントローラ10に対してDMA
転送要求DRQをアクティブにして出力する。
【0079】DMAコントローラ10は、この要求信号
DRQを受けとり、DMA転送を行うべく、その回答信
号DAKを出力する。従って、音声入出力装置8−1〜
8−3(いまの場合レコード状態である音声入出力装置
8−2又は8−3)は、6−7の判断がYESとなる
と、6−8に進み、A/D変換して得たデジタル音声デ
ータをデータバスに出力し、対応するバッファ9−1〜
9−3(いまの場合バッファ9−2又は9−3)へ送
る。そして、6−9にて、DMA転送要求DRQをイン
アクティブにする。従って、いまの場合、音声入出力装
置8−2、8−3にあっては、サンプリング周期毎に、
外部から与えられるアナログ音声信号をデジタル音声信
号に変換し、後述するようにDMAコントローラ10に
て夫々指定されるバッファ9−2、9−3のカレントア
ドレスに転送する(図13参照)。
【0080】また、6−3においてプレイ状態と判断さ
れると、6−10に進み、DMAコントローラ10に対
しDMA転送要求DRQをアクティブにし、DMAコン
トローラ10から回答信号DAKの到来を待って(6−
11)、データバス上のデジタル音声データを取込み
(6−12)、上記要求DRQをインアクティブにする
(6−13)。このときのDMAコントローラ10の動
作は後述するが、いまの場合、図13に示すとおり、T
r1に対応するバッファ9−1のカレントアドレスの内
容(これはすでにハードディスク12のTr1のエリア
の内容が転送記録されている)が、以上の操作で音声入
出力装置8−1に入力設定されることになる。そして、
サンプリング時刻となったか否か判断する(6−1
4)。このサンプリング時刻の到来の検出は、6−4に
おいて述べたことと同じである。
【0081】そして、6−14でYESとなると6−1
5に進みD/A変換及びローパスフィルタリングを実行
した上でアナログ音声信号を外部に出力する。
【0082】以上レコード状態の場合と、プレイ状態の
場合との1つのサンプリング時刻における動作を説明し
たが、6−9、6−15の各処理の終了後6−1にもど
り以下同様にして次々とサンプリング時刻に対する処理
を実行する。
【0083】〈DMAコントローラ10の動作〉次に、
図7を参照してDMAコントローラ10の動作を説明す
る。この図7のフローチャートは、図2のサービスコン
トローラ108がマイクロプログラム制御で動作するの
を表わしているとしてもよく、あるいは、ハードロジッ
クでDMAコントローラ10が機能実現をしているとし
てもよい。
【0084】先ず、7−1においてCPU1からの指定
信号CSが到来している(アクティブとなっている)か
否か判断し、YESならば、リード信号RD、ライト信
号WRのいずれがCPU1から与えられているか判断
(7−2)し、リード信号RDならば7−3に進み、ア
ドレスバスを介して与えられるアドレス信号にて指定さ
れるレジスタ104、105の内容をデータバスを介し
て出力してCPU1がリードできるようにし、逆にライ
ト信号WRならば7−4に進み、指定したレジスタにデ
ータバスを介して所望のデータを入力設定することにな
る。この7−3、7−4の処理は、CPU1のメインル
ーチンの3−5、3−15などの処理に対応する。従っ
て、7−4の処理によって図2の各レジスタ104、1
05には所望のデータがセットされることになる。
【0085】そして、このようなCPU1からのDMA
コントローラ10に対するアクセスやプログラムが終る
と指定信号CSはインアクティブとされ、7−1から7
−5に処理は進むことになる。
【0086】7−5では、各音声入出力装置8−1〜8
−3からDMA転送要求DRQ1〜DRQ3がきている
か、HDコントローラ11からDMA転送要求DREQ
(DRQ4)がきているか判断し、もし、いずれかから
要求が来ていると7−6に進み、DMA可能信号DMA
ENBを“1”に(アクティブ)にし、DMAユニット
内のアドレスバスとデータバスをDMAコントローラ1
0が専有するようにし、CPU1からのアクセスを受け
付けなくする。
【0087】続いて、複数の要求に際しては、チャンネ
ルCH1〜CH4の順の優先順位に従って、チャンネル
を選択する(7−7)。
【0088】次に、アドレスレジスタ104のCH4が
選択され、かつ、CH4に設けられた転送カウンタの値
が“0”であるか否かが判断される(7−8)。ここで
CH4が選択され、かつ、転送カウンタの値が“0”で
あれば、つまり、CH4により転送すべきデータ量だけ
の転送が終了してしまった後は、転送要求があっても、
転送を行わずに7−5にもどり、7−5〜7−8のルー
チンを繰り返す。そしてCH4が選択されていないか、
またはCH4が選択されていても転送カウンタの値が
“0”でなければ、選択したチャンネル(いま、例えば
CH2)のカレントアドレス(アドレスレジスタ104
のCH2のカレントアドレスレジスタの内容)をアドレ
スバスに出力する(7−9)。そして選択したチャンネ
ル(いま、例えばCH2)のコントロールレジスタ10
5の内容を参照し、DMA転送をいずれの方向へ行うか
決定し(7−10)、もしバッファ9−1〜9−3から
他の要素(I/O)への転送なら7−11から7−12
へ進んで、バッファ9−1〜9−3のうちの選択してい
るバッファに対しリード信号RDを与え、逆に他の要素
(I/O)からバッファ9−1〜9−3への転送ならば
7−13に進み、当該バッファに対してライト信号WR
を与える。
【0089】しかる後、回答信号DAKをアクティブに
する(7−14)。その結果、いまの場合、Tr2の音
声入出力装置8−2は、6−4、6−5(図6)の処理
によって、サンプリングした音声データをデータバスに
送出し、バッファ9−2のカレントアドレスのエリア
に、DMAコントローラ10が書込むことになる(図1
3参照)。
【0090】7−15では、データ転送が終了したの
で、上記リード信号RD又はライト信号WR、回答信号
DAKをインアクティブにし、7−16で当該チャンネ
ル(いまCH2)のカレントアドレス(図2のアドレス
レジスタ104内)の内容を+1とし、バッファの最終
アドレス到達の後は、バッファ開始アドレスにリセット
させる。この7−16の動作により、バッファ9−1〜
9−3に対して新たなサンプリング音声データが書込ま
れる都度、あるいは新たに音声データが読出される都
度、アップカウントまたはバッファ開始アドレスにリセ
ットされることになる。そして、7−16の処理の後、
7−1へもどる。
【0091】先程の状態では、Tr2とTr3との音声
入出力装置8−2、8−3よりデータ転送要求がDMA
コントローラ10に対してなされており、これまでにT
r2についてのみデータ転送の実行をしたのであるから
続く7−5においてはYESの判断がなされる。以下T
r3に関して、音声入出力装置8−3からバッファ9−
3の方向へのデータ転送が、7−7〜7−11、7−1
3〜7−16を実行することにより上記した場合と同様
にしてなされる。
【0092】このようなデータ転送が完了すると7−5
から7−17に進み、DMA可能信号を“0”(インア
クティブ)にして、DMAユニット内のデータバス、ア
ドレスバスをDMAコントローラ10が専有するのを中
止し、CPU1からのアクセスを受付けられるようにす
る。
【0093】以上Tr2、Tr3に関し、音声入出力装
置8−2、8−3から夫々対応するバッファ9−2、9
−3へのデータ転送について説明したが、Tr1につい
ては、逆に、バッファ9−1から音声入出力装置8−1
へのデータ転送がDMAコントローラ10によってなさ
れる。
【0094】CPU1は、動作中のトラックに対応する
バッファ9−1〜9−3とハードディスク12a,12
bとの間のデータ転送を各トラック毎に順番に行うよう
になり、各トラック毎に、前回のデータ転送(ブロック
転送)に続くデータ転送を行うようになる。図13の例
では、例えばTr1については、ハードディスク12
a,12bから、図示のスタートアドレス(CH1)と
カレントアドレス(CH1)の間の空白部分に対応する
データ量の転送をこれから行うようになる(他のトラッ
クについてもデータ転送の方向は逆であるが、同様の制
御によることは明らかである)。なお、プレイモードの
バッファ(9−1が該当)およびレコードモードのバッ
ファ(9−2、9−3が該当)では斜線部分が音声入力
されたデータ部分に対応する。
【0095】DMAコントローラ10では、7−5にお
いてHDコントローラ11から転送要求があることを検
知すると、上記した場合と同様にして、7−6〜7−1
0を実行した後、バッファ9−1〜9−3からハードデ
ィスク12a,12b方向へのデータ転送の要求か、ハ
ードディスク12a,12bからバッファ9−1〜9−
3方向へのデータ転送の要求か7−11において判断
し、前者ならば7−12へ、後者ならば7−13へ進ん
だ後、7−14〜7−16の各処理を実行する。このと
き、1回の転送操作で、例えば1サンプル分のデジタル
音声データの転送がなされるので、この7−5〜7−1
6の動作を複数回くりかえし実行して、ブロック転送が
なされる。このハードディスク12a,12bとバッフ
ァ9−1〜9−3とのデータ転送については、HDコン
トローラ11の動作も大きく関連するので、後に更に説
明する。
【0096】そして、DMA転送が完了すると、要求信
号DRQ1〜4が到来しなくなり、7−5から7−17
へ進み、DMA可能信号DMAENBを“0”(インア
クティブ)とする。
【0097】<HDコントローラ11の動作>次に、図
8を参照してHDコントローラ11の動作を説明する。
このHDコントローラ11は、ハードロジックによって
も、マイクロプログラム制御によってもよく、いずれに
しても図8の動作フローの機能を実現する。
【0098】まず、CPU1から指定信号CSが与えら
れているか判断する(8−1)。これは、CPU1のイ
ンタラプトルーチンにて与えられる。NOの場合はもと
にもどるが、YESの場合は、8−2に進みCPU1か
らリード信号RDが与えられているか、ライト信号WR
が与えられているか判断し、リード時にはHDコントロ
ーラ11内部の指定データ(アドレスレジスタの内容
等)をデータバスを介してCPU1へ出力する。
【0099】また、ライト信号WRが与えられていると
きは8−2から8−4に進み、今回DMAコントローラ
10のチャンネルCH4にてDMA転送するバッファと
ハードディスク12a,12bとのデータ転送方向を設
定し、8−5にて、アクセスするハードディスク12
a,12bのアクセスポイントを設定する。これは、C
PU1がRAM3から得ている当該トラックのディスク
アクセスポインタによる。
【0100】続いて8−6において、転送データ数(デ
ジタル音声データ数)をHDコントローラ11の内部カ
ウンタに設定する。この転送データ数は、CPU1のイ
ンタラプトルーチンの中にて得ている。
【0101】このように、8−4〜8−6を実行するこ
とによってCPU1の制御のもとでHDコントローラ1
1はプログラムされ、その後HDコントローラ11はD
MAコントローラ10に対しデータ転送の要求をする
(8−7)。このことからも理解されるとおり、CPU
1は、HDコントローラ11からインタラプト信号IN
Tを受けると、次のトラックに対応する(つまり、いま
Tr1〜Tr3は全て動作中とすると、Tr1、Tr
2、Tr3、Tr1……の順で)DMA転送の設定、制
御をDMAコントローラ10に対し実行し、HDコント
ローラ11をプログラムする。その後、CPU1はHD
コントローラ11とDMAコントローラ10とから離れ
て、相互のインタラクションで実際のDMA転送を実行
させる。
【0102】HDコントローラ11は8−7の次に8−
8へ進み、DMAコントローラ10から回答信号DAC
K(DAK4)を受けとる(図7、7−14参照)まで
8−8をくりかえす。
【0103】8−8の判断がYESとなると、8−9に
進み、DMAコントローラ10のCH4の動作によっ
て、1サンプルのデジタル音声データの転送が行われ、
8−6にて設定した転送カウンタを1だけダウンカウン
トする(8−10)。続く8−11において、予め設定
しておいた転送データ数分のデータ転送が完了したか上
記転送カウンタの内容に従ってジャッジし、NOならば
再び8−8へもどる。従って、DMAコントローラ10
においては、HDコントローラ11から設定したデータ
数の転送(ブロック転送)が終了するまで、転送要求D
RQ4を続けて受けとることになり、この転送要求に従
って7−5〜7−16の処理(図7)を実行し、それに
応答する形でHDコントローラ11側では8−8〜8−
11の処理を実行する。
【0104】そして転送終了が8−11にて判断される
と、8−12に進み、HDコントローラ11からDMA
コントローラ10に対してのデータ転送の要求DREQ
(DRQ4)を“0”(インアクティブ)とする。そし
て、次のトラックに関してハードディスク12a,12
bとバッファ9−1〜9−3のいずれかとのデータ転送
を行わせるために、HDコントローラ11はCPU1へ
インタラプト信号INTを与える(8−13)。これに
応答して、CPU1はインタラプトルーチンを実行する
ことは上述したとおりである。
【0105】〈外部より同期させる動作〉次に、図9の
フローチャートを参照して、ハードディスク12a,1
2bに記録されているデータを外部より指定されたテン
ポに同期して再生する場合の動作について説明する。こ
の図9のフローは、CPU1の内部のタイマ等により定
期的に起動される。9−1において、外部ビートカウン
タ24より、内部ビートカウンタ23で計測している内
部テンポと、外部拍入力(これは、ユーザーのタッピン
グ入力であっても、シーケンサ等からのMIDI(Musi
cal Instrument Dijital Interface)クロックによって
もよい)のテンポとの時間差のデータを取り出す。即
ち、内部ビートカウンタ23は、システムクロック発生
回路21が出力するクロックをカウントするとともに、
そのカウント値を所定の値で分周することにより、ハー
ドディスク12a,12bより再生されているデータの
拍数をカウントする。1拍の期間においてカウントされ
るクロックの数は、次式で示すことができる。 1拍のクロック数=クロック周波数/(テンポ/60) 従って、基準の拍数(例えば4拍子など)の期間におけ
るクロック数(拍子時間)は、次式で示すことができ
る。 拍子時間=(クロック周波数/(テンポ/60))×基
準拍数
【0106】いま、例えばクロック周波数fcを48k
Hzとすると、テンポが例えば120である場合におけ
る1拍のクロック数は、 48kHz/(120拍/60秒)=24000 となる。従って、4拍の期間におけるクロック数は、そ
の値の4倍の96000クロックとなる。
【0107】以下、同様にして、テンポが122,11
0または105である場合における4拍の期間に対応す
るクロック数は、図12に示すように94426,10
4727または109714となる。
【0108】即ち、例えばテンポが120である場合に
おいては、内部ビートカウンタ23はシステムクロック
発生回路21が出力するクロックを24000分周して
拍数をカウントするのである。
【0109】但し、この分周値を固定すると、システム
クロックの誤差が蓄積することになる。そこで、図11
に示すようなフローチャートに従って分周比が設定され
る。
【0110】即ち、この図11のフローは、内部ビート
カウンタ23が1拍の時間の計測を終えるごとにCPU
1にインタラプト信号INTが送られて、実行される。
最初に11−1において次の拍子時間がロードされ、残
りの拍数がセットされる。次に11−2において拍子時
間を残り拍数で割算し、その結果を四捨五入して得られ
た値が分周値として設定される。さらに11−3におい
て拍子時間(例えば4拍子ならば4拍の長さ)より分周
値を減算し、残りの拍数をデクリメントする。ここで残
り時間や残り拍数がゼロとなると、次の動作に備えて、
新たな拍子時間、拍数を設定する。
【0111】この処理を例を示してさらに説明すると、
例えばいまテンポが122に設定されているとすると、
最初の拍子時間として94426がロードされる(11
−1)。そして、この値が最初の拍の割込みによる図1
1のフロー実行時には拍数4で割算され(94426/
4)、23606.5が得られる。この値は四捨五入さ
れて23607とされる(11−2)。次に94426
から23607が減算され、70819が得られる(1
1−3)。この70819が2拍目の割込みによる図1
1のフロー実行時にはさらに値3で割算され、2360
6.33が得られる。この値が四捨五入されて2360
6が得られる(11−2)。次に70820から236
06が減算されて、47214が得られる(11−
3)。3拍目の割込みによる図11のフロー実行時には
47214がさらに値2で割算されて、23607が得
られる。さらに47213からこの23607が減算さ
れて23606が得られる(11−2)。23606が
4拍目の割込みによる図11のフロー実行時には値1で
割算されて、23606が得られる。23606から2
3606を減算すると、その値は0になる。従って、新
たな拍子時間94426が11−3で内部設定されて、
次の拍子時間処理に備える。
【0112】さて、このように、各拍時間の計測終了毎
に図11のインタラプトフローがCPU1によって実行
され、新たな分周値(拍時間に対応)が設定されて、そ
れを計数することを内部ビートカウンタ23は実行す
る。これに対し、外部ビートカウンタ24は、図18
(A)に示すように、内部ビートカウンタ23がカウン
トアップしてから外部から拍推定入力があるまでの時間
(−Δ)を計測する(外部テンポが内部テンポより遅い
とき)か、あるいは逆に図18(B)に示すように、外
部拍推定入力があって内部ビートカウンタ23がカウン
トアップするまでの時間(+Δ)を計測する(外部テン
ポが内部テンポよりも速いとき)。
【0113】この計測時間の情報は、後述する図9の同
期制御処理9−3や9−5で使用されるが、たとえ時間
差を計測し終えていないときに図9のインタラプトに入
っても、その時点の時間差で、クロックサーボコントロ
ールのためのデータ(9−3)に直されたり、アドレス
調整データ(9−5)に直されたりする。これによっ
て、図18(C)のように、外部の拍入力が非常に遅く
なった場合でも、同期制御割込みにより図9が動作する
毎に、拍の絶対時間差がマイナスに大きくなっていく
(−Δ、−Δ2、−Δ3、・・・)ので、システムクロ
ックを次第に遅くして殆ど止まるまでにもっていった
り、何度もアドレスを戻して実質的にアドレス歩進を停
止させることが可能となる。
【0114】図9の9−1においては、外部ビートカウ
ンタ24より、内部テンポと外部テンポの差を表す拍位
置時間差データを取り出す。9−2では、SYNCモー
ドがピッチ可変モード(テンポ調整のため、出力音声の
ピッチが上下変化するモード)か、アドレス可変モード
(テンポ調整はアドレスの調整によって行い、出力音声
のピッチは変化しないモード)のいずれであるのかが判
定される。ピッチ可変モードにするか、アドレス可変モ
ードにするかは使用者がこれを予めキーボード4等の操
作によって選択指定することになる。
【0115】ピッチ可変モードの場合、9−3に進み、
9−1で求めた拍位置時間差のデータからクロックサー
ボデータが求められる。そして、このサーボデータに対
応してクロック周波数が制御されることになる。即ち、
CPU1はクロックサーボコントロール回路22を介し
て、その差に対応してシステムクロック発生回路21を
制御する。即ち、システムクロック発生回路21は、こ
の差に対応して発生するクロック周波数を変化させるこ
とになる。その結果、例えば外部のテンポが内部のテン
ポに比べて5%速い場合においては、そのずれを解消す
るために、システムクロック発生回路21が発生するシ
ステムクロックの周波数が5%だけ速くなるように制御
されることになる。但し、実際には、差に対応してクロ
ックをどれほど調整するかは制御ループの特性に依存す
ることになる。
【0116】また例えば、外部の拍入力が停止された場
合においては、システムクロック発生回路21における
クロックの発生を停止させるようにすることもできる
(上述した通り)。
【0117】次に9−2において、アドレス可変モード
が設定されていると判定された場合においては9−4に
進み、すでに9−1で得ている拍位置時間差のデータが
一定値を越えたものか否か判断し、一定値を越えていな
ければ9−4の判断はNoとなって、何らアドレス変更
処理を行わずにメインルーチンへリターンするが、もし
一定値を越えていることが判断されると、YESとなっ
て9−5に進み、時間差データからアドレス調整データ
が演算される。そしてCPU1は、この調整データに対
応してハードディスク12a,12bの読出アドレスを
所定の位置となるようにDMAコントローラ10を介し
て制御する。
【0118】この9−6の処理のより詳細なステップ
が、図10のフローチャートに示されている。即ち、最
初に10−1において調整値(9−5において演算され
ている)が0より大きいか否かが判定される。調整値が
0より大きい場合、即ち、外部のテンポが内部のテンポ
より速い場合、10−2に進み、イベントの残りのデー
タ量と調整値との大小関係が判定される。イベントの残
りデータ量が調整値より大きい場合、10−3に進み、
既転送量に調整値が加算される。即ち、カレントアドレ
スが調整値に対応する分だけ進められ、その間のデータ
の再生が中止(読みとばし)されることになる。
【0119】10−2において、イベントの残りデータ
量が調整値より小さいと判定された場合においては10
−4に進み、ESTインデックスが1だけインクリメン
トされたイベント、即ち、次のイベントの既転送量が調
整値から現在のイベントの残りデータ量を減算した値に
設定される。即ち、これにより現在のイベントの残りの
データと次のイベントの所定のデータ(調整値−残りデ
ータ量)がスキップされ、再生されないことになる。
【0120】一方、10−1において調整値が負である
と判定された場合、即ち、外部のテンポが内部のテンポ
より遅い場合、10−5に進み、既転送量と調整値の大
きさが判定される。既転送量の方が調整値より大きいと
判定された場合、10−6に進み、既転送量から調整値
が減算される。即ち、カレントアドレスが調整値に対応
する値だけ元に戻されることになる。その結果、調整値
に対応する分だけデータが2重読みされることになる。
【0121】10−5において既転送量が調整値より小
さいと判定された場合、10−7に進み、カレントアド
レスが1つ前のイベントの所定のアドレスイベント長−
(調整値−既転送量)まで戻される。そして、そこから
一旦再生されたデータが再度再生されることになる。
【0122】例えば9−5における調整値は、ハードデ
ィスク12a,12bのセクタ長の倍数を四捨五入する
などしてまるめることにより得られる。1セクタが51
2バイトである場合、256サンプル、48kHzで約
5ms単位の調整を行なうことができる。例えばカレン
トデータが図17に示すようになっている場合、9−5
の処理の結果、外部のテンポが256サンプル時間分進
んでいるとすると、各トラックの既転送量に256が加
算される。
【0123】再生データの先読みは、音声データにして
数10乃至数100ms分の音声データのブロックごと
に行なうので、同期処理の監視時間(図9のフローのタ
イマインタラプト間隔)を数10msごとに行なうもの
とすると、数10msのブロックごとに数ms分のデー
タの調整を行なうことになるので、外部拍入力で簡便な
時間圧伸(早口や遅口)をリアルタイムで実行すること
ができる。そして9−7において、アドレス変更によっ
て絶対時間を変更したことを補正するため、内部ビート
カウンタ23のビートカウント数や分周値を変更する。
【0124】
【発明の効果】以上の如く請求項1に記載のデジタルレ
コーダによれば、外部より指定されたテンポと内部のテ
ンポとを比較し、その比較結果に対応してクロック周波
数を制御するようにしたので、簡単な操作で再生データ
を外部同期(あるいは外部追従)させることができる。
【0125】請求項2に記載のデジタルレコーダによれ
ば、D/A変換手段のD/A変換タイミングを規定する
クロックの周波数を外部より指定されたテンポと内部の
テンポとの差に対応して制御するようにしたので、簡単
な構成で再生データのピッチを変更することができる。
【0126】また、請求項3に記載のデジタルレコーダ
によれば、外部より指定されたテンポと内部のテンポと
の差に対応して、記録媒体より読み出す読出アドレスを
制御するようにしたので、再生データのピッチを変更す
ることなく、簡単に外部より指定されたテンポに同期も
しくは追従して、再生動作の制御を行わせることが可能
となる。
【図面の簡単な説明】
【図1】本発明のデジタルレコーダの一実施例の全体構
成を示すブロック図である。
【図2】図1のDMAコントローラの要部の具体例を示
すブロック図である。
【図3】図1のCPUのメインルーチンを示すフローチ
ャートである。
【図4】図1のCPUのインタラプトルーチンを示すフ
ローチャートである。
【図5】図4に示したインタラプトルーチンにおけるス
テップ4−2の作用を説明するためのフローチャートで
ある。
【図6】図1の音声入出力装置8−1〜8−3の動作を
示すフローチャートである。
【図7】図1のDMAコントローラの動作を示すフロー
チャートである。
【図8】図1のHDコントローラの動作を示すフローチ
ャートである。
【図9】図1の外部同期の動作を説明するフローチャー
トである。
【図10】図9のステップ9−6のより詳細な動作を示
すフローチャートである。
【図11】図1の内部ビートカウンタ23の動作を説明
するフローチャートである。
【図12】図1の内部ビートカウンタ23の拍子時間測
定のためのデータの説明図である。
【図13】図1のデジタルレコーダの全体的な動作を示
す概念図である。
【図14】図1の実施例におけるイベントテーブルの一
例を示した説明図である。
【図15】図1の実施例におけるオリジナルレコーディ
ングデータのイベントシーケンステーブルの一例を示し
た説明図である。
【図16】ユーザ定義のイベントシーケンステーブルの
一例を示した説明図である。
【図17】カレントデータの一例を示した説明図であ
る。
【図18】内部ビートカウンタと外部ビートカウンタの
動作の説明図である。
【符号の説明】
1 CPU 2 ROM 3 RAM 8−1、8−2、8−3 音声入出力装置 9−1、9−2、9−3 バッファ 10 DMAコントローラ 11 HDコントローラ 12a,12b ハードディスク 13 デコーダ 14、15 アンドゲート 16 インバータ 21 システムクロック発生回路 22 クロックサーボ回路 23 内部ビートカウンタ 24 外部ビートカウンタ

Claims (3)

    【特許請求の範囲】
  1. 【請求項1】 記録媒体に記録されているデータを再生
    する再生手段と、 前記再生手段により再生された再生データを出力するク
    ロックを発生するクロック発生手段と、 前記再生データの再生テンポを計測するテンポ計測手段
    と、 外部より指定されたテンポと前記内部計測手段により計
    測されたテンポとを比較し、その比較結果に対応して前
    記クロック発生手段により発生されるクロックの周波数
    を制御して外部より指定されるテンポに応じて上記出力
    動作の制御を行うクロック周波数制御手段とを備えるこ
    とを特徴とするデジタルレコーダ。
  2. 【請求項2】 前記再生データをD/A変換するD/A
    変換手段をさらに備え、 前記クロックは前記D/A変換手段におけるD/A変換
    タイミングを規定するクロックであることを特徴とする
    請求項1に記載のデジタルレコーダ。
  3. 【請求項3】 記録媒体に記録されているデータを再生
    する再生手段と、 前記再生データの再生テンポを計測するテンポ計測手段
    と、 外部より指定されたテンポと前記内部計測手段により計
    測されたテンポとを比較し、その比較結果に対応して前
    記記録媒体の読出アドレスを制御して外部より指定され
    るテンポに応じて再生動作の制御を行うアドレス制御手
    段とを備えることを特徴とするデジタルレコーダ。
JP03330158A 1991-11-19 1991-11-19 デジタルレコーダ Expired - Fee Related JP3114299B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP03330158A JP3114299B2 (ja) 1991-11-19 1991-11-19 デジタルレコーダ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP03330158A JP3114299B2 (ja) 1991-11-19 1991-11-19 デジタルレコーダ

Publications (2)

Publication Number Publication Date
JPH05144179A true JPH05144179A (ja) 1993-06-11
JP3114299B2 JP3114299B2 (ja) 2000-12-04

Family

ID=18229468

Family Applications (1)

Application Number Title Priority Date Filing Date
JP03330158A Expired - Fee Related JP3114299B2 (ja) 1991-11-19 1991-11-19 デジタルレコーダ

Country Status (1)

Country Link
JP (1) JP3114299B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009300128A (ja) * 2008-06-11 2009-12-24 Nissin Electric Co Ltd サンプリング同期装置、サンプリング同期方法

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7931149B2 (en) 2009-05-27 2011-04-26 Given Imaging Ltd. System for storing and activating an in vivo imaging capsule
JP7252780B2 (ja) 2019-02-21 2023-04-05 花王株式会社 演出方法及び演出具

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009300128A (ja) * 2008-06-11 2009-12-24 Nissin Electric Co Ltd サンプリング同期装置、サンプリング同期方法

Also Published As

Publication number Publication date
JP3114299B2 (ja) 2000-12-04

Similar Documents

Publication Publication Date Title
US5974015A (en) Digital recorder
US5581530A (en) Digital recorder for processing of parallel data stored in multiple tracks and using cross-fade processing
US5303218A (en) Digital recorder for reproducing only required parts of audio signals wherein a plurality of parts of audio signals are stored on a same track of a recording medium
US5519684A (en) Digital recorder for processing in parallel data stored in multiple tracks
US5373493A (en) Apparatus for digitally recording reproducing and editing an audio signal
JP2979101B2 (ja) 自動演奏装置
US5530898A (en) Digital recorder for storing audio data on tracks with specific operation modes inputted manually where soundless portion data is inserted based on respective operation modes
JP3252172B2 (ja) デジタルレコーダ
JP2001511576A (ja) 記録された音声データを映像データに同期させて即時再生するオーディオビジュアル効果処理方法及び装置
JPH05144179A (ja) デジタルレコーダ
JP2969187B2 (ja) デジタルレコーダ
JPH04232666A (ja) デジタルレコーダ
EP0510639B1 (en) Digital recorder
JP2916533B2 (ja) デジタルマルチトラックレコーダ
US5680378A (en) Digital recorder for recording/reproducing events formed by dividing audio data in a designated order
JP3230756B2 (ja) デジタルレコーダ
JPH05135548A (ja) デジタルレコーダ
JPH04212767A (ja) デジタルレコーダ
JPH04117688A (ja) デジタルレコーダ
JPH10162559A (ja) ソフトデータの管理方法
JP2979154B2 (ja) デジタルレコーダ
JP3298655B2 (ja) デジタルレコーダ
JPH05151706A (ja) デジタルレコーダ
JPH04358386A (ja) デジタルレコーダ
JP2944106B2 (ja) 再生制御方法

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20070929

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20080929

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20090929

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20100929

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20100929

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20110929

Year of fee payment: 11

LAPS Cancellation because of no payment of annual fees