JPH0830285A - オーディオと同期化してグラフィカル・キューを符号化するシステム - Google Patents

オーディオと同期化してグラフィカル・キューを符号化するシステム

Info

Publication number
JPH0830285A
JPH0830285A JP7109176A JP10917695A JPH0830285A JP H0830285 A JPH0830285 A JP H0830285A JP 7109176 A JP7109176 A JP 7109176A JP 10917695 A JP10917695 A JP 10917695A JP H0830285 A JPH0830285 A JP H0830285A
Authority
JP
Japan
Prior art keywords
file
phrase
time
lyrics
song
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.)
Pending
Application number
JP7109176A
Other languages
English (en)
Inventor
Walter R Klappert
ウォルター・クラッパート
Garbutt Max
マックス・ガーバット
Lehmann Michael
マイケル・レーマン
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.)
Time Warner Cable LLC
Original Assignee
Time Warner Interactive Video Group Inc
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 Time Warner Interactive Video Group Inc filed Critical Time Warner Interactive Video Group Inc
Publication of JPH0830285A publication Critical patent/JPH0830285A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H1/00Details of electrophonic musical instruments
    • G10H1/36Accompaniment arrangements
    • G10H1/361Recording/reproducing of accompaniment for use with an external source, e.g. karaoke systems
    • G10H1/368Recording/reproducing of accompaniment for use with an external source, e.g. karaoke systems displaying animated or moving pictures synchronized with the music or audio part
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H2220/00Input/output interfacing specifically adapted for electrophonic musical tools or instruments
    • G10H2220/005Non-interactive screen display of musical or status data
    • G10H2220/011Lyrics displays, e.g. for karaoke applications

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Reverberation, Karaoke And Other Acoustics (AREA)
  • Indexing, Searching, Synchronizing, And The Amount Of Synchronization Travel Of Record Carriers (AREA)
  • Electrophonic Musical Instruments (AREA)
  • Processing Of Color Television Signals (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Processing Or Creating Images (AREA)
  • Closed-Circuit Television Systems (AREA)
  • Controls And Circuits For Display Device (AREA)

Abstract

(57)【要約】 【目的】 カラオケなどの歌詞を歌に合わせて表示する
際の、単語のグラフィカル・キューを作成するのに必要
なステップを単純化するための方法および装置。 【構成】 最終CD−G製品では、クロマ・キーの背景
(通常は青)上の白い文字として、歌詞がCRTに表示
される。このシステムを用いると、オペレータが、表示
の歌詞の外見と、音楽に合わせたタイミングでの表示さ
れた歌詞のフィルを正確に制御できるようになる。たと
えば男性ソロ、女性ソロまたはデュエットを区別するな
どのために、フィルの色を指定することができる。オペ
レータは、表示タイトルや、音楽が存在するが歌詞のな
い間奏の間に表示するための他の様式的なグラフィック
画像を作成することもできる。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、カラオケなどの演者に
よって歌われる際に表示される単語に対するグラフィカ
ル・キューを作成するのに必要なステップを単純化する
ための方法および装置である。
【0002】
【従来の技術】「空のオーケストラ」を意味するカラオ
ケは、ボーカル抜きで音楽が演奏され、カラオケ演者が
歌えるように歌詞を表示する、ますます普及しつつある
娯楽の一形態である。歌詞のタイミングに合わせて演者
にキューを出すのにさまざまな技法が使用されている。
一般に使用されている方法の1つが、イエロー・フィル
である。これは、表示装置に現れる歌詞の単語の文字
が、当初は白であるが、適当な時点で黄色に変化すると
いうものである。もう1つの方法では、歌うべき句の上
を飛び跳ねるボールが用いられる。しかし、どの技法を
利用しても、正しいタイミングのキューを作成するの
は、時間と労力のかかる作業であり、通常は熟練にかな
りの経験を要する作業である。
【0003】
【発明が解決しようとする課題】本発明は、歌詞の視覚
表現が付随するコンパクト・ディスク(「CD」)・オ
ーディオを含むCDグラフィックス(CD−G)の作成
を容易にするシステムを提供することを課題とする。C
D−Gは、その仕様が「イエロー・ブック」と称するも
のでPhilips社によって公表されている業界標準
フォーマットである。
【0004】
【課題を解決するための手段】本発明は、クロマ・キー
の背景(通常は青)上の白い文字として、歌詞がCRT
に表示される。クロマ・キーとは、2つの源からのビデ
オ画像の合成ビデオ画像を作成するビデオ技法を指す。
この方法では、CRT表示装置上の特定の色が、別のビ
デオ源、たとえばカラオケ演者の画像と置換される。本
発明を用いると、オペレータが、表示の歌詞の外見と、
音楽に合わせたタイミングでの表示された歌詞の色変え
を正確に制御できるようになる。たとえば男性ソロ、女
性ソロまたはデュエットを区別するなどのために、変え
る色を指定することができる。また、本発明を用いる
と、タイトルを表示したり、音楽が存在するが歌詞のな
い間奏の間に、他の様式的なグラフィック画像を表示す
ることができる。オペレータは、このグラフィック要素
を画面に表示する方法、たとえば左から右へ、右から左
へ、中央から螺旋状に外へなどを指定することもでき
る。
【0005】
【実施例】本発明は、再生時に、歌詞の視覚表示を伴
い、歌詞が音楽に同期してハイライト表示されるように
なっている音楽を含むオーディオ信号を生成する、CD
−Gディスク上のデータを作成するシステムである。こ
の方法では、熟練していない演者が流行歌の歌詞を歌う
ことのできるカラオケと称する形態の娯楽に使用される
ファイルを、熟練していないオペレータが簡単に作成で
きる。
【0006】最終的なCD−G製品を構成するさまざま
なオブジェクトをオペレータが指定する方法には、下記
の複数のファイルを構成することが含まれる。 (1)song.tga: CRT上に現れる歌詞の視覚
表現。本質的に、このファイルのデータは、フォントと
組み様式を含む歌詞のバイナリ画像である。このファイ
ルは、TruevisionまたはTGAと称するグラ
フィック・フォーマットである。 (2)song.kif: 当初は、song.tga か
らの歌詞のASCIIファイルである。本明細書に記載
された処理の完了時には、このファイルに、句のタイミ
ング、XY位置、色変えのタイミングと色、グラフィッ
クス配置およびグラフィックス・ワイプのすべてが含ま
れる。 (3)title.tga: 最終的なCD−G製品に含
めるための、処理される各曲の題名と著作権表示を含む
グラフィックス・ファイル。 (4)bridge.tga: 間奏のための1つまたは
複数のグラフィックスを含む、オプションのグラフィッ
クス・ファイル。
【0007】これらのファイルは、図1ないし図5を参
照して下で説明するさまざまな処理ステップによって作
成される。
【0008】(1)マスタ・テープ11およびDATテ
ープ13 マスタ・テープ11は、最終的なCD−G製品を構成す
る予定の曲のための音楽バックグラウンドを有する16
30フォーマットの3/4インチ・デジタル・テープで
ある。通常、10曲がある。
【0009】DATテープ13は、スクラッチ・ボーカ
ルを含むデジタル・オーディオ・テープである。スクラ
ッチ・ボーカルとは、正確ではあるが完全には仕上げら
れていないボーカル、すなわち曲のメロディに対するガ
イドである。最終製品には、ボーカルが全く含まれない
が、このDATテープには、下のステップ(3)でオペ
レータが聞き、その結果、そのオペレータが下のステッ
プ(7)で歌詞を音楽と正しく同期させ、デジタル化で
きるようにするためのオーディオが用意されている。こ
れら2巻のテープは、本発明の一部ではない他の目的の
ための当技術分野で周知の技法に従って作成される。
【0010】(2)ウィンドウ・ダブ・テープ17と作
業指令19の作成(ブロック15) マスタ・テープは、VHS高忠実度のダブ・テープ17
と、通常はフロッピー・ディスケットに記憶されるディ
スク・ファイルである作業指令19の作成に使用され
る。この作業指令によって、曲のそれぞれの開始時間と
終了時間を指定する。時間参照のすべてが、SMPTE
すなわちmm:ss:ff(分、秒およびフレーム。た
だし30フレーム=1秒)である。VHSダブ・テープ
17上では、あるオーディオ・チャンネルが、マスタ・
テープ11からの音楽背景を有し、他のオーディオ・チ
ャンネルは、SMPTE時間コードを用いて符号化され
る。SMPTE時間コードの視覚表現を、ビデオ・チャ
ンネルに符号化する。ウィンドウ・ダブ・テープと作業
指令19をサウンド・スタジオ内でマスタ・テープ11
から作成する方法は、当業者には周知である。
【0011】(3)テキストファイルの作成(ブロック
21) Inscriberと称する市販プログラム(通常はビ
デオ・タイトル作成用)を使用して、曲のテキスト・フ
ァイルを作成する。Inscriberプログラムへの
入力は次のとおり。 i)市販のDATプレイヤ26(図4)を使用し、スピ
ーカまたはヘッドホン28を介してDATテープを再生
することによって、DATテープ13から得られたデー
タ。オペレータが、演奏される単語を聞き取り、パーソ
ナル・コンピュータ(以下ではPCと呼称する)56を
使用し、テキスト・エディタまたはワード・プロセッサ
・プログラムを使用してその単語をタイプする。
【0012】ii)GEN96.TGA(図示せず):
テキストを入力するためのCLUT(カラー・ルックア
ップ・テーブル)を含む4つのサブコード画面のための
背景を表すTargaファイル。4つの画面は、それぞ
れ96画素の高さで、それぞれが1行あたり24画素の
4つの行を有する。このファイルは、下で説明するTe
mplate.c によって作られる。
【0013】iii)BASE1.SLY(図示せず):
入力されるテキストの書体、ポイント数、行間、カー
ニングなどを指定する、Inscriberのレイアウ
ト・ファイル。Inscriberを用いると、オペレ
ータが、書体、カーニング、スペーシングなど、審美的
に満足なテキスト表示を作るのに必要な芸術的な要素の
多くを指定できるようになる。
【0014】Inscriberの出力は、下記のファ
イルの組である。 i)song.tgaファイル23(Targaファイ
ル)。 これは、CD−Gディスク上の符号化のために
最終的に変換される歌詞のグラフィック画像である。 ii)song.ipsファイル25 (Inscrib
erページ構文)。これには、Targa画面すなわち
モニタ42に表示される画像を構成するのにInscr
iberによって使用されるポストスクリプト風の記述
が含まれる。具体的に言うと、このファイルには、オペ
レータによって入力された歌詞を表すテキスト文字列の
1行ごとのASCII表現が含まれる。 iii)song.sly ファイル(図示せず)。これ
は、画面レイアウト情報のすべてを含むファイルであ
る。Inscriberには必要であるが、このファイ
ルはそれ以外には使用されない。
【0015】Inscriberプログラムは、GEN
96.TGA を使用する。このファイルは、下で説明す
る、Inscriberプログラム用の包括的なテンプ
レートを作成するためのC言語プログラムであるTem
plate.c によって作られる。ユーザは、入力され
る文字の所望の画素高さを入力し、Template.
c プログラムが、CD−G選択として再生される時に
サブコード・データによって作られる画像のモニタ42
上の表現である、サブコード画面と称する画面に対する
垂直限界を示す右マージンに沿って白いチック・マーク
を置かれたクロマ・ブルーの背景からなるTargaフ
ァイルを作る。本発明は、それぞれ高さ96画素の4つ
のサブコード画面を使用する。CLUT(カラー・ルッ
クアップ・テーブル)を作成し、画像の右上部分に付加
するが、これはこの実施例では使用されず、省略するこ
とも可能である。
【0016】Template.c は、下記のサポート
関数を提供する。 BuildBlue-- サブコード画面の水平限界を表
す青と黒の行をモニタ42上に作る。 BuildBluePlus-- 上と同じだが、モニタ
42上の青区域の右端に、特定の画面のための句の垂直
境界を表す白線マーカーを付加する。 BuildClut-- サブコード画面(RGBモニタ
であるモニタ42)の最上縁の上にCLUT行(未使用
の位置は、上位ビットをセットされた黒である)を作
る。 BuildBlack-- サブコード画面(RGBモニ
タ42)上に純黒の行を作る。 GetPixelHeight-- ユーザに、12を掛
けられる倍数としての画素高さを入力するように求め
る。
【0017】BuildGenericFile-- (i)オペレータから画素高さを要求し、(ii)オペ
レータが入力した画素高さに基づいて、ライン数を最大
にしてテンプレートを作成し、(iii)12画素毎ラ
インの場合にはgen12.tga、 24画素/ライン
の場合にはgen24.tga などの名前の包括ファイ
ルを作成し、書込み用にオープンする。
【0018】(4) .KIFファイルの作成(ブロック
31) song.ips ファイルは、カラオケ交換フォーマッ
トまたは .kifとして指定されるフォーマットのso
ng.kif ファイル33という中間バージョンを作成
するプログラムであるブロック31(Extract
(抽出))への入力として使用される。以下は、ブロッ
ク31によって実行される処理を定義する、このExt
ractプログラムの詳細な説明である。
【0019】Extractは、song.kif ファ
イルの初期バージョンを作成する、PC56上で走行す
るプログラムである。これは、song.ips ファイ
ルからASCII句を抽出し、4行(空白行がある場合
にはそれ以下)ごとに画面ブレークを挿入することによ
って行われる。画面ブレークとは、song.kifフ
ァイルに挿入された分離記号(通常はファイル名が後に
続くアスタリスク)である。もちろん、他の4行が表示
装置上のテキストのために予約される場合には、予約さ
れる行数をNとして画面ブレークをN行ごとに挿入す
る。 song.ipsファイルのフォーマットは、所望
の句が括弧に囲まれ、その後に語「show」が続くよ
うになっている。下で詳細に説明する関数Proces
sDataが、この抽出を実行する。曲は、画面上で使
用可能な4行を必ず使用するとは限らないので、下で説
明する関数Check4Blankを呼び出して、これ
を判定し、画面ブレークを挿入する。
【0020】Extractサポート関数 GetFileName-- この関数は、ファイル・オ
ープンの際にエラーがあった時に呼び出される。この関
数は、使用するファイル名を求めるプロンプトをユーザ
に表示し、ファイル拡張子を検査することによってその
ファイルがIPSファイルであるかどうかを調べる。 Init-- .IPS入力ファイル名をユーザから取得
し、同じ名前で拡張子が .KIFの出力ファイルをオー
プンする。 Check4Blank-- この関数は、処理中の .I
PSファイルからの現在行と前の行を調べ、 .KIFフ
ァイルに空白行を挿入する必要があるかどうかを判定す
る。空白行を挿入する必要があるのは、特定の表示装置
のために表示しなければならない曲からの行が、その表
示装置上に現れる使用可能な4行を使用しない時であ
る。そうである場合、この関数は、合計が4行になるよ
うに、出力ファイルに十分な空白行を挿入する。
【0021】GetValue-- この関数は、処理中
の現在行の「nul」文字列の後に続くASCII文字
列の値を抽出し、これをASCIIから10進値に変換
し、その値を返す。ProcessData -- この関数は、song.i
ps から、末尾の語「show」と左括弧の両方を含
む行を探し、左括弧から「show」が現れる位置まで
のテキストを抽出し、この新文字列を差すポインタをセ
ットする。その後、この文字列を出力ファイルに書き込
む。このファイルを解析して、空白行を挿入する必要が
あるかどうかを調べる。4行ごとに(ファイルの最後の
行は除く)、出力ファイルにアスタリスクを追加する。
【0022】テキストファイル作成のブロック21と .
KIFファイル作成のブロック31で実行される関数と
処理は、図4aに示されたMS−DOSを走らせるPC
56を含む簡単に入手できるパーソナル・コンピュータ
・システムを使用して実行される。適当なパーソナル・
コンピュータ・システムは、80386以上のプロセッ
サ、少なくとも1MBのRAMおよび40MBのハード
・ディスクを備えたIBM社のパーソナル・コンピュー
タまたはその互換パーソナル・コンピュータになるはず
である。
【0023】(5)句ブロックのセット(ブロック3
5) ステップ(3)で作成したsong.kif ファイル3
3を、ASCIIエディタを使用してブロック35で句
ブロックをセットするように編集して、各ブロックの後
に復帰と改行を挿入することによってテキストの行を句
ブロックに分解する。句ブロックとは、ステップ(3)
でDATテープを聞くことによるか、このステップでも
う一度DATテープを聴くことによってオペレータによ
って決定される、中断や休止なしで歌われる音節の文字
列である。
【0024】(6)句のXY位置とその長さのセット
(ブロック37) その後、song.kif ファイル33を、KED(カ
ラオケ・エディタ)と称するプログラムにインポートす
る。図4aに示された、ビットパッド36と2台のモニ
タ40および42を使用するが、ビットパッドは、ビッ
トパッドの左半分がVGAディスプレイであるモニタ4
0にマッピングされ、ビットパッドの右半分がモニタ4
2の表示にマッピングされるようにセットアップされ
る。すなわち、ビットパッドの左半分でスタイラスを動
かすと、VGAディスプレイであるモニタ40上で対応
する移動が発生し、ビットパッドの右半分でスタイラス
を動かすと、Targaディスプレイであるモニタ42
上で対応する移動が発生する。適当なビットパッドは、
Summagrahics社のSummasketch
IIである。このビットパッドには、セレクタ・ボタ
ン36aとスタイラス36bが含まれる。
【0025】スタイラスをビットパッドの左半分に移動
することによってカーソルをVGAディスプレイである
モニタ40に移動し、セレクタ・ボタン36aを押すこ
とによって、その句が選択される。選択された句は、モ
ニタ40上で反転表示される。KEDプログラムは、選
択された句を含むsong.tga ファイル23を自動
的に検索する。song.tga ファイルの名前は、s
ong.kif ファイル内で画面ブレーク分離記号文字
*) の後に続く。スタイラスをビットパッドの右側に
移動することによってカーソルをモニタ42(RGBモ
ニタ)に移動し、オペレータは、句がモニタ42上に現
れる時に、ビットパッド上でスタイラスを移動すること
によって、その句の左端にカーソルを移動する。セレク
タ・ボタン36aを押すことによって、ワイヤ・フレー
ムの左端がテキスト上に固定される。
【0026】所望の句がワイヤ・フレームに囲まれるま
で、ビットパッド上で右にスタイラスを移動することに
よってカーソルを右に移動し、その後、セレクタ・ボタ
ン36aを押すことによって、ワイヤ・フレームがリバ
ース・ビデオのテキストを含む箱に変わる。この箱は、
2.5 秒間残る。その時間の間に、オペレータは、正し
い量のテキストを正確に取り込んだことを確認する。そ
うでない場合、カーソルをVGAディスプレイであるモ
ニタ40に移動し、句を選択し直すことによって、その
句をもう一度選択する。そうしなかった場合、シーケン
ス内の次の句が、VGAディスプレイであるモニタ40
上でハイライト表示され、オペレータがこの処理を繰り
返す。
【0027】次の句をハイライト表示する機構を、TG
A処理関数(ProcessTga)に関連して下で説
明する。モニタ42上の長方形の左上隅によって、その
句の開始点が決定される。モニタ42内でのこの点の相
対位置によって、サブコード画面上での句の位置、すな
わち、CDグラフィックス・プレイヤに接続された最終
的な再生画面での位置が決定される。右端によって、画
素単位での句の長さが決定される。長方形の高さは、行
間を含む画素単位のテキストの高さと等しい。作業が終
わった時に、オペレータは、下記のC構造体によって指
定されるレコードを含むsong.kif ファイル33
をセーブする。
【0028】 typedef struct { char targafn[9]; // Targaファイル 名 char wipefn[9]; // ワイプ・ファイル 名 int screenbrk; // 非0 => 画面ブ レーク int graphics; // 非0 => グラフ ィックス char voice; // M(男)、F(女) または空白 int targstart[2]; // モニタ42開始座標( x,y) int targend[2]; // モニタ42終了座標( x,y) int font[2]; // フォント座標(x,y ) long phrt[2]; // 開始時間、終了時間( フレーム単位) int seqnum; // シーケンス番号 char*phrase; // 句 } KIFREC;
【0029】targafn[9]には、song.k
if ファイルの編集中にユーザが入力したファイル名
が格納される。
【0030】wipefn[9]には、ユーザが可能な
ワイプのリスト(たとえば、左、右など)から選択し、
song.kif ファイルに入力することによって作成
されたワイプ・ファイル名が格納される。
【0031】screenbrkは、song.kif
レコードにアスタリスクから始まる行が含まれる(当初
はExtract.c によってそこに置かれる)場合に
真(非0)にセットされ、そうでない場合には偽(0)
にセットされる。
【0032】graphicsは、そのレコードにオペ
レータによって置かれた語「GRAPHICS」が含ま
れる場合に真(非0)にセットされ、そうでない場合に
は偽(0)にセットされる。
【0033】voiceには、句を選択し、M、Fまた
はスペースをタイプすることによってオペレータによっ
て入力された1文字(M、Fまたは空白)が格納され
る。
【0034】targstart[2]には、オペレー
タがモニタ42上で句の回りにワイヤ・フレーム形状の
カーソルを置いた時のモニタ42上の句の先頭のx,y
座標が格納される。
【0035】targend[2]には、オペレータが
モニタ42上で句の回りにワイヤ・フレームを置いた時
のモニタ42上の句の末尾のx,y座標が格納される。
【0036】font[2]には、オペレータがモニタ
42上で句の回りにワイヤ・フレームを置いた時のモニ
タ上のフォントの先頭のx,y座標が格納される。
【0037】long phrt[2]には、その句の
開始時間と終了時間(フレーム単位)が格納される。こ
れは、Amigaコンピュータ61上でシンクロナイザ
・ソフトウェアを動作させる時にオペレータによってセ
ットされる。
【0038】seqnumには、作成されたファイル内
での句の位置に対応するインデックスが格納される。こ
れは、ファイルを読み取る時にソフトウェアによってセ
ットされる。
【0039】char*phrase は、オペレータが
モニタ42上で句の回りにワイヤ・フレーム形状のカー
ソルを置いた時に選択された句のASCII表現を指
す。
【0040】KEDプログラムの機能説明 KEDは、PC56上で走行し、オペレータが下記を行
えるようにするプログラムである。 (1)歌詞の句を表すグラフィック画像の座標を確立す
る。 (2)音声(M、Fまたはスペース)を指定することに
よってフィルの色をセットする。 (3)サブコード・ファイルを作成し、音楽と同期化し
てこれを再生する。 (4)必要に応じて句のタイミングを調節する。
【0041】KEDは、下記のC言語モジュールの組と
して実施される。main ビットパッド36とPC56のキーパッドを読み取り、
これによって他のモジュールを呼び出す動作ループを含
む。mainの機能は次のとおり。
【0042】(1).kif ファイルの読み書き。 (2)モニタ40に表示された句に対応する、モニタ4
2上に表示された句の回りに長方形を置くのに必要なサ
ポートをオペレータに提供する。 (3)供給されたデータからサブコード・ファイルを作
る。 (4)外部SMPTE供給源と同期化してまたは同期化
せずにサブコードを再生する。 (5)オペレータが特定の句またはファイル全体の開始
時間、終了時間を修正できるようにするサポートを提供
する。
【0043】さらに、オペレータは、拡大係数(exp
ansion factor)を変更できる。これは、
Digitizer/Synchronizer(デジ
タイザ/シンクロナイザ)プラットホームから持ち込ん
だ句の時間を修正するのに使用される数値である。ま
た、PC56上のCOMポート1以外のCOMポートを
ビットパッド用に使用することもできる。
【0044】起動サポート 起動時には、画面をクリアし、BuildVgaScr
eenを呼び出す。このBuildVgaScreen
が、BuildBoxを呼び出して、垂直スクロールバ
ー付きのフレームを作る。グラフィック要素の表示に
は、拡張文字セットを使用する。
【0045】一般サポート 状況やエラー・メッセージの表示には、下記の関数を使
用する。 ClrMsg-- 行24を空白にする。 DispMsg-- ClrMsgを呼び出した後に、渡
された文字列を行24に表示する。 DispMsgnWait-- DispMsgを用いて
「Press any key..」を表示し、キースト
ロークを待ち、その後行4をクリアする。 ビットパッド・インターフェースとの通信を提供するド
ライバは次のとおり。 write_rs232_ibm-- 1バイトを送出す
る。 read_rs232_ibm-- 1バイトを受け取
る。 read_bitpad-- コマンド文字列を送り、応
答を受け取る。 check_pad-- 返された文字列をXY位置、ボ
タン状態およびペン状態に変換する。
【0046】ファイル読取りコマンド オペレータがファイル読取りを要求する時に、関数Re
adKifFileが呼び出される。その動作に成功す
ると、DispKifFileを呼び出して、そのVG
A画像を表示する。モニタ42に画像を表示するには、
tga.c の関数GetPicを呼び出す。
【0047】Kifファイル読取り この関数は、オペレータに .kifファイル名を問い合
わせ、最大PHRMAX個のエントリを有するメモリ内
の配列を初期化し、 .kifファイルを読み込む。デー
タの各行(句を除く)の先頭には、下記の方式による特
殊記号がある。
【0048】オプションのヘッダ $Smm:ss:ff SMPTEの「イン・タイム」 $Vmm:ss:ff ウィンドウ・ダブからのSMP
TEボーカル開始時間 オプションのタイトル・レコード* tga ファイル名 ;wipe GRAPHICS n個の句エントリ(オプションとして挿入されたグラフ
ィックスエントリを含む)* tga ファイル名(画面ブレークの場合) −voice Mか、Fか、又は不存在 [x,y モニタ42での句の開始座標 ]x,y モニタ42での句の終了座標 @x,y サブコード開始座標(行、桁) >mm:ss:ff Amiga句フィル開始時間 <mm:ss:ff Amiga句フィル終了時間 #seq num シーケンス番号 phrase ASCII句 99:99:99の時間エントリは、読み込まれず、空
項目として扱われる。
【0049】Kifファイル表示 この関数は、kifデータを表示するためのウィンドウ
をセットアップし、そのウィンドウをクリアした後に、
DispLineを繰り返し呼び出して、句と関連デー
タを表示する。
【0050】行表示(DispLine) 画面行番号、配列内の句のインデックスおよび表示制御
スイッチを引数に与えてこの関数を呼び出すと、句、開
始時間、終了時間およびサブコード座標が表示される。
表示スイッチに応じて、フィールドのうちの1つが反転
表示される。
【0051】Kifファイルのセーブ(SaveKif
File) オペレータがファイルのセーブを要求した時には、必ず
この関数が呼び出される。この関数は、ヘッダ・データ
の後に句データ(存在する場合にはグラフィック・デー
タも)を書き込む。開始時間や終了時間が存在しない場
合、ディスクに書き込まれる値は99:99:99にな
る。書込みに成功した後には、kif_savedに1
をセットする。
【0052】ビットパッド・インターフェース mainの処理ループの先頭にあるcheck_pad
の呼出しによって、ペン(またはパック)のビットパッ
ド上の位置と、ペンがアップとダウンのどちらであるか
を示すフラグが返される。3つ関数すなわちProce
ssVga、ProcessTgaまたはProces
sNoneのうちの1つを呼び出す。ビットパッドの中
央1/3からなる水平の帯が、アクティブ区域であり、
その左半分がVGA画面、右半分がTGA画面を表す。
この2つの領域を分離する垂直の帯がある。
【0053】VGA処理(ProcessVGA) この関数は、カーソルを更新した後にペン・ダウン状態
を検査する。ペン・ダウン状態の場合、カーソルの位置
に応じて、下記のサポート関数のうちの1つを呼び出す
ことによって処置を行う。
【0054】位置 関数 テキスト区域 SelectPhrase 時間区域 SelectTime 上矢印 ScrollDown スクロールバーの上半分 PageDown 下矢印 ScrollUp スクロールバーの下半分 PageUp
【0055】VGA処理のサポート 上で指定された処置を実行する関数は、次のとおりであ
る。DeselectPrev-- 句が選択されている
ならばそれを選択解除し、時間が選択されているならば
それを選択解除し、モニタ42上にフレームまたは箱が
存在するならばそれを除去する。下記の関数が、可能で
あれば表示ウィンドウを移動した後に、Deselec
tPrevを呼び出す。 ScrollUp PageUp ScrollDown PageDown SelectPhrase-- phrase_sel_
swとphrase_ndxをセットし、選択された句
をハイライト表示する。必要があれば関連Targaフ
ァイルを読み取り、表示する。必要があれば、前に選択
されていたもののハイライト表示を解除する。 SelectTime-- time_sel_swとp
hrase_ndxをセットし、選択された時間フィー
ルドをハイライト表示する。
【0056】TGA処理(ProcessTGA) この関数の主目的は、VGAディスプレイ(モニタ4
0)上で選択された句に対応するテキストを囲むワイヤ
・フレームの長方形をオペレータが作れるようにするこ
とである。当初はフレームが存在せず(start_s
et=0)、したがって、カーソルは垂直バーとして表
示される。ペンを押し下げた場合、これによって、ワイ
ヤ・フレーム長方形のフォント行(start_ro
w)と左辺(start_col)が確立される。st
art_setに1をセットする。start_set
が非0であり、カーソルが開始点より右側にある時、右
辺がカーソルのx位置に対応するワイヤ・フレームを表
示する。ペンが押された場合、ワイヤ・フレームが実線
の箱になる(すなわち、囲まれたテキストが反転表示さ
れる)。この箱のモニタ42の開始座標と終了座標なら
びに開始フォント座標を、句配列に書き込む。システム
・クロックを読み取り、bios_build_tim
e(当初は−1)に記憶する。
【0057】ProcessTgaが呼び出されるたび
に、bios_build_timeが検査される。こ
れが正であり、現在時刻がこれと変数DELAY(タイ
マ・チック単位での時間を表す)の和を越える場合に
は、AdvanceSelectionを呼び出して自
動的に次の句に進む。その場合、Bios_build
_timeを−1にリセットする。これによって、オペ
レータが、VGAディスプレイに移動して次の句を選択
することなく、句から句へと順次前進できるようにな
る。
【0058】実線の箱が表示されている時にオペレータ
がペンを押した場合、その箱を消し、start_se
tを0にし、この処理全体を再開始する。
【0059】TGA処理(ProcessTGA)のサ
ポート AdvanceSelection-- 次の句に移動す
る。必要があればスクロールする。 XorSolid-- 選択された長方形の中を埋め
る。 XorFrame-- モニタ42にワイヤ・フレーム
を表示する。 XorTGAcur-- モニタ42にIバー・カーソル
を表示する。何も処理しない(ProcessNone) ペンがVGA領域内にもTGA領域内にもない時には、
この関数によって、カーソルを表示しないことを保証す
る。
【0060】サブコード・データ・ファイルの作成 句のそれぞれについて開始時間と終了時間をセットし、
モニタ42上での開始座標と終了座標(ならびに、暗黙
のうちにフォント座標)をセットしたならば、オペレー
タは、BIGファイル作成を要求することができる。成
功した場合、この処理の最終結果は、タイトル(および
他の純グライフィック画像)を表示し、曲のテキストを
CLUT変化と共に表示して、曲と共に時間の中でテキ
ストを黄色に変化させるのに必要なCD−グラフィック
ス・コマンドを含む、BIGという名前のバイナリ・フ
ァイルである。
【0061】時間オフセットのセット(SetTime
Offsets) これは、作成要求によって呼び出される最初の関数であ
る。この関数は、現在の開始時間(stime0)を表
示し、オペレータがそれを変更できるようにする。st
ime0は、マスタの1630テープと共に供給される
マスタリング指令から得たSMPTE「イン・タイム」
である。次に、ウィンドウ・ダブ時間(vtime0)
を表示して、オペレータがそれを変更できるようにす
る。ウィンドウ・ダブ時間は、最初のボーカルが始まる
時のSMPTE時間である。値を入力せずにエンター・
キーを押すと、表示された値が使用される。
【0062】作成の前処理(PreprocessBu
ild) 作成処理は走行に1分程度を必要とする可能性があり、
エラーのために処理が打ち切られる可能性があるので、
この関数を呼び出して、(1)すべての句が開始時間と
終了時間を有し、(2)時間のオーバーラップが存在せ
ず、(3)エンディングのグラフィックが開始時間と終
了時間を有することを検査する。
【0063】BIGファイル作成(BuildBigF
ile) PreprocessBuildが成功した場合、この
関数が呼び出される事になる。BIGファイル(サブコ
ード・ファイル57)のサイズを計算する。このファイ
ルは、1秒30フレーム、1フレーム10パックの一連
の24バイト・パックである。CD−Gディスクにプレ
スする時には、各バイトの下位6ビットだけが使用され
る。しかし、構成を簡単にするために、上位2ビットを
余分の荷物として付けてある。ファイルが作成され、0
クリアされる。
【0064】ここで作成ループに入り、句配列(rec
[])内の各要素を順番に処理する。要素がグラフィッ
ク要素の場合、PutUpGraphicsを呼び出
し、これが次に処理する要素のインデックスを返す。こ
の形で、非グラフィック要素が見つかるまでPutUp
Graphicsを繰り返し呼び出す。その後、Yel
lowFillScreenを呼び出す。この関数は、
全画面のイエロー・フィル(黄色に染める)に必要なX
ORパックと共にパックをロードする。BIGファイル
内の位置は、句の時間によって決定される。1フレーム
のうちでこの目的のために使用される部分は染める速度
によって決定される。それと同時に、modeフラグを
セット(=FILL)し、その結果、パックを書き込む
時に、使用されたパックのビット・マップ配列(pac
kmap[])を更新するようにする。その後、Put
UpTextScreenを呼び出し、そのサポート関
数がmodeフラグをセット(=PUTUP(表示))
し、その結果、使用可能な帯域幅のすべて(配列pac
kmap[]によって決定される)が使用されるように
する。PutUpTextScreenからリターンし
た時には、rec[]のインデックスが次に処理する要
素を指しており、このループが繰り返される。このルー
プを通過するたびに、キーボードをポーリングして、E
SCが押されたかどうかを調べ、押された場合には、変
数swにNGをセットし、作成ループを脱出する。変数
swがNGにセットされない場合、表示される最終項目
の末尾から15フレーム先へシークして、FadeTo
BlueかFadeToBlackのいずれかを実行す
る。その後、ファイルをクローズする。
【0065】BIGファイル作成(BuildBigF
ile)のサポート PutUpGraphics-- グラフィックスの開始
時間とファイル内での位置を決定した後に、検査を行っ
て、そのグラフィックに十分な時間があることを確認す
る。その後、TGAファイルとワイプ・ファイルをロー
ドする。ワイプ・ファイルは、配列に読み込まれた後に
復号されて、フォントがディスプレイにペイントされる
順序を表す。そのグラフィックのCLUTを、Targ
aファイルの左上角から読み取る。このCLUTをロー
ドし、stup(画面とボーダーのプリセット)を実行
する。その後、ワイプの行と桁の配列を使用して、グラ
フィック・フォントをbigファイルに書き込む。次の
画面がテキストとグラフィックのどちらであるかに応じ
て、CLUTをボーダー・カラーにセットし、stup
を実行する。
【0066】mxputpack-- フォント・パック
にパリティ・コードを追加し、bigファイルの現ファ
イル・ポインタ位置にそのデータを書き込む。mode
==PUTUPの場合、packmap[]に基づいて
使用可能な最大の帯域幅を使用する。パックの順序を記
憶し、画面フィルが(10−帯域幅)になるようにファ
イル・ポインタを調節する。パラメータmodeによっ
て、下記のようにパックの配置が決定される。
【0067】PUTUP 画面に表示する場合 SPCL 帯域幅を無視する場合 FILL イエロー・フィルを行う場合 SKIPFRAME イエロー・フィルを行い、次のフ
レームをスキップする必要がある場合 SKIPPACK イエロー・フィルを行い、次のパ
ックをスキップする必要がある場合
【0068】フィル(染め、埋め)を実行する場合、S
etPackMapを呼び出してpackmap[]を
更新する。 SetPackMap-- packmap[]内に適当
なビットをセットする。packmap[]のビットの
意味は次のとおり。 ビット0がセットされている → パック9を使用する ビット1がセットされている → パック8を使用する ビット2がセットされている → パック7を使用する ビット3がセットされている → パック6を使用する ビット4がセットされている → パック5を使用する ビット5がセットされている → パック4を使用する ビット6がセットされている → パック3を使用する ビット7がセットされている → パック2を使用する ビット8がセットされている → パック1を使用する ビット9がセットされている → パック0を使用する
【0069】NextAvailPack-- 配列pa
ckmap[]を読み取り、次の使用可能なパックへの
シークを実行するためにmxputpackから呼び出
される。
【0070】putfont-- 所与のフォント行とフ
ォント桁のために必要なフォント・データ(FONT
WRITEパックと3つまでのXOR−FONTパッ
ク)を書き込む。フォント画像データは、モニタ42上
の所与の位置の画像から符号化される。入力は次のとお
り。「fontrow」は、フォント行(0ないし1
7)である。「fontcol」は、フォント桁(0な
いし49)である。「xloc」は、モニタ42上のx
位置である。「yloc」は、モニタ42上のy位置で
ある。(0、0)は、モニタ42の左上隅である。デー
タをbigファイルに書き込むためにmxputpac
kを呼び出す。
【0071】matchclut-- RGB空間内で、
渡された値に最も近いカラー値を有するCLUT位置を
返す。 clrpack-- パック・データ構造体「pack」
を0クリアし、mode/itemバイトを所与の値に
セットする。 parityinit-- サブコード生成のためパリテ
ィ行列を初期化する。mxputpackによって使用
される。 mult-- パリティ計算を実行するためにparit
yinitから呼び出される。
【0072】SetScreenStartAdr--
bfadrを画面に表示するためのbigファイル内の
開始位置(バイト単位)にセットする。最初の書込み
は、前のフィルにできる限り近くで、イエロー・フィル
の開始の前2.5秒以内に置く。 getclut--
CLUT用の16色を得るためにモニタ42の表示の領
域をサンプリングし、配列cred[]、cgreen
[]およびcblue[]をセットする。
【0073】LoadClut-- 配列cred[]、
cgreen[]およびcblue[]を使用して、2
つのパックを書き込み、CLUTのセットを実行する。 Stup-- メモリとボーダーのプリセットを実行す
る。 FadeClut-- 現CLUTから始めて、cred
end[]、cgreenend[]およびcblue
end[]によって指定される固定CLUTまでフェー
ドする16個のCLUTのシーケンスを表示する。中間
のCLUTは、現CLUTから最終CLUTまでを16
等分したもののそれぞれである。毎フレーム2CLUT
を書き込む。
【0074】FadeToBlue-- 最終CLUTを
クロマ・ブルー(1,1,5)にセットし、FadeC
lutを呼び出す。 FadeToBlack-- 最終CLUTを黒(0,
0,0)にセットし、FadeClutを呼び出す。
【0075】YellowFillScreen-- 新
画面の第1句を表すrec[]要素のインデックスとと
もにBuildBigFileから呼び出される。この
関数は、配列pacmap[]を0クリアした後に、画
面開始アドレスをセットする。その後、画面ブレークに
出会うまで、YellowFillPhraseを呼び
出す。最後のフィルの終了から次の画面の開始までに5
秒以上ある場合、FadeToBlueを実行する。
【0076】YellowFillPhrase-- r
ec[]のインデックスとともに呼び出されるこの関数
は、下記の計算を行う。 (a)フィル速度。速度が12を越える場合は打ち切
り。 (b)フィル・アトム(毎フレーム1桁、2桁、3桁、
6桁または12桁) (c)桁数 (d)bigファイル内の開始位置 その後、XORパックをbigファイルに書き込んで、
イエロー、パープルまたはターコイズのフィルを行う。
mxputpackが配列packmap[]内のビッ
トをセットするように、modeをセットする。フィル
・パックは、必ずフレームの最後の2nパックを占め
る。
【0077】PutUpTextScreen-- 画面
に表示するためにbigファイル内の開始位置をセット
する。最初の書込みは、前のフィルにできる限り近く
で、イエロー・フィルの開始の前2秒以内に置く。関数
SetTextClut、LoadClutおよびSt
upを呼び出して、画面を初期化し、その後、ループに
入って、PutUpPhraseを繰り返し呼び出し
て、モニタ42上のTarga画像からのグラフィカル
・データをbigファイルに移動する。このループは、
画面ブレークに出会った時に終了する。
【0078】PutUpPhrase-- putfon
tを使用して、4色画面に表示するためのフォントをb
igファイルに書き込む。これらは、倍の高さのフォン
トとして左から右へと書き込まれる。
【0079】SetTextClut-- 下記の固定色
を有するCLUT成分配列cred[]、cgreen
[]およびcblue[]をロードする。 青、黒、灰色、白 青、黒、灰色\青、イエロー 青、黒、灰色\緑、オレンジ 青、黒、灰色\赤、ターコイズ 最初のグループは、青の背景に黒と灰色の白テキストに
使用される。次の3つのグループは、それぞれイエロ
ー、オレンジ、ターコイズを達成するためのXORに使
用される。
【0080】サブコード・データ・ファイルの再生 BIGファイルの検査は、それを再生することによって
行われる。これは、メニューからPlay(再生)を選
択するか、Alt−Pを押すことによって行われる。前
者では、同期付きの再生すなわち、外部供給源のSMP
TEが選択された句のSMPTEと一致した時に、画面
上で現在選択されている句から再生が開始される。同期
付き再生を行うと、バッジ時間すなわち、再生の開始時
間を変化させる増分(正または負)を入力できるように
なる。Alt−Pの場合、同期なしでバッジなしの再生
が行われる。この場合、外部SMPTE供給源を待たず
に、選択された点からの再生が開始される。再生が始ま
ってしまえば、どちらの場合でも処理は同一である。P
layrange()が、loadbuf()の呼出し
を繰り返すことによって再生を管理する。
【0081】再生サポート SetPlayBegin-- 現在のバッジ時間を表示
し、その再入力を可能にし、選択された句からの再生を
可能にする。 SetPlayBegin2-- ホットキー再生によっ
て使用される。選択された句からの再生を可能にする。 ReadAdrien-- 再生シミュレート61’に関
連して下でさらに説明するように、VHSプレイヤ54
からのSMPTEデータを変換するPC56内のインタ
ーフェース・ボードであるAdrienneボードから
コードを読み取る。このボードは、Adrienne
Electronics Corp. 社(米国カリフォ
ルニア州ネバダ市)からモデル番号PC−LTC/RD
Rとして入手可能である。
【0082】getsmpte-- ReadAdrie
nへのインターフェースである。有効なSMPTEを読
み取るかキーストロークが入力された時にリターンす
る。 syncplayback-- オペレータにプロンプト
を表示した後に、startime+budgeが経過
するまでAdrienneボードからSMPTE時間を
読み取る。 playback()-- 「begtime」からファ
イルの終りまでまたはESCが押されるまで、再生を行
う。この関数は、bigファイルをオープンし、beg
time位置までシークした後に、playrange
を呼び出す。 playrange-- 連続したメモリのブロックを2
つのバッファとして使用して、再生を開始し、継続す
る。
【0083】loadbuf-- bigファイルを読み
取り、同期バイトを追加し、サブコード・デコーダの要
求するインタリーブを行う。 movinter、clearinter、inter
leave、scramble-- これらの関数は、グ
ラフィックス・デコーダに必要なインタリーブを実行す
る。 startdma、stopdma、waitforh
alf-- これらの関数は、PC56のインターフェー
スからグラフィックス・デコーダへのDMA動作のため
のサポートを提供する。このインターフェースは、その
1例が米国特許第4942551号明細書の図3に記載
されているが、サブコード・ファイル57からPC56
のRAMにロードされているサブコード・データのバイ
ト群をとり、シリアル−パラレル・シフト・レジスタを
使用して、バッファにR、S、T、UおよびVのサブコ
ード・データをロードする。これらのデータは、再生モ
ニタ46での再生のためにCDデコーダ58に供給され
る。
【0084】tga.c の機能説明 tga.c は、プログラマがTargaビデオ・アダプ
タとインターフェースできるようにTruevisio
n社が提供するライブラリ用のCソース・コードであ
る。KEDによって使用される主な関数はGetPi
c、PutPic、GetPixおよびPutPixで
あり、これらを下で説明する。 GetPic-- .TGAファイルをオープンし、Ta
rga画像を読み取り、Targaモニタであるモニタ
42に表示する。表示される画像の座標を指定できる。 PutPic-- GetPicの逆であるこの関数は、
モニタ42上の表示の指定された領域から .TGA画像
ファイルを書き込む。 PutPix-- モニタ42の指定されたx、y位置に
画素値を置く。 GetPix-- モニタ42の画面の指定されたx、y
位置の画素を得る。
【0085】ブロック35およびブロック37で実行さ
れる関数と処理は、図4に示されたMS−DOSを走ら
せるPC56などの簡単に入手できるパーソナル・コン
ピュータ・システムを使用して実行される。適当なパー
ソナル・コンピュータ・システムは、80386以上の
プロセッサ、少なくとも2MBのRAMおよび40MB
のハード・ディスクを備えたIBM社のパーソナル・コ
ンピュータまたはその互換パーソナル・コンピュータに
なるはずである。
【0086】(7)オーディオのデジタル化(ブロック
39) セーブされたsong.kif ファイルを、フロッピー
・ディスクにコピーする。その後、このディスクをAm
igaコンピュータ61(図2b)に送り、そこでso
ng.kif ファイルを読み取り、MS−DOSフォー
マットからAmigaフォーマットに変換し、son
g.kiff に名前を変更する。Amigaコンピュー
タ・システムは、Amiga DOS 3.0 以降で動
作する、少なくとも4MBのRAMと40MBのハード
・ディスクを有するモデル3000またはモデル400
0であることが必要である。
【0087】ステップ(1)からのDATテープ13
は、SunRize Industries社(295
9 S. Winchester Blvd., Sui
te204, Campbell, Californ
ia 95008、米国)製造のPerfect So
und Digitizerなどのデジタイザ44への
オーディオ信号入力として使用される。デジタル化され
たオーディオは、song.kiff.audioとして
ディスクのファイル41に格納される。Perfect
Sound Digitizerには、Amigaコ
ンピュータでPerfect Sound Digit
izerに付属のデジタイザ・ソフトウェアを用いてs
ong.kiff.audioファイルを作成しセーブす
るのに適当なソフトウェアと接続が含まれる。
【0088】(8)開始時間と終了時間のセット(ブロ
ック45) 再生中には、垂直線53が、モニタ50に表示された波
形を左から右へと移動して、オペレータに、再生中の音
の位置に対する視覚的キューを提供する。各句を順番に
選択しながら、オペレータは、開始点を突き止めようと
しているオーディオの一部を再生する。開始点が見つか
った時に、オペレータは、マウス48の左ボタンを押
し、その後、波形のその点の真下にマーカーが現れる。
右ボタンを使用することを除いて同じ処理を使用して、
その句の末尾の位置を指定する。選択された句をもう一
度再生することができ、誤りが見つかった場合、エディ
ット・モードを用いて、マーカーを左右に(時間の上で
は前後に)移動することができる。終了時には、開始時
間と終了時間がsong.kiff に追加され、ステッ
プ(10)で使用される。song.kiff ファイル
は、MS−DOSフロッピー・ディスクにコピーされ、
そこで、IBMプラットホームまたはIBM互換プラッ
トホームでの次の処理のためにsong.kif に名前
を変更される。
【0089】開始時間と終了時間のセットの処理は、D
igitizer/Synchronizerソフトウ
ェアによって実行される。このDigitizer/S
ynchronizerソフトウェアを用いると、オペ
レータが、モニタ50に表示される、ファイル41内の
デジタル化されたオーディオからステップ(7)で作成
された波形を見ることができ、DATプレイヤ52を介
してデジタル化されたオーディオを再生できる。Dig
itizer/Synchronizerは、Foun
dationで記述されたカスタム・プログラムであ
る。Foundationは、Intuitive T
echnologies社(471 Lighthou
se Avenue, Pacific Grove,
California 93950、米国)から入手
できる。
【0090】Foundationは、Intuiti
ve Technologies社が販売するオーサリ
ング・プログラムである。現在、Foundation
は、Amigaプラットホームでのみ走行し、これが、
Digitizer/SynchronizerをAm
igaプラットホームで走行させる理由である。Dig
itizer/Synchronizerプログラムの
主目的は、曲を構成する句の開始時間と終了時間を決定
することである。このプログラムのDigitizer
(デジタイザ)部分は、その名前が示すとおりデジタル
化を行う。これは、オーディオ・ストリームをデジタル
化された波形に変換する。この処理は、当業者に周知の
処理である。Synchronizer(シンクロナイ
ザ・)プログラムを用いると、オペレータが、曲を構成
する句と共にデジタル化された波形を見ることができ、
波形に沿って句の開始点と終了点にマーカーをセットで
きるようになる。その後、これらのマーカーの相対位置
が、時間コードに変換される。
【0091】Digitizer/Synchroni
zerプログラムは、テキスト・エディタを用いて生成
した後にFoundationプログラムに入力してF
oundationによって実行可能な形式にコンパイ
ルすることのできる2つのスタックから構成される。こ
れらのスタックのソース・コードは、付録1に含まれ
る。xlibと称する、Digitizer/Sync
hronizerによって使用される他のモジュールが
存在する。これらは、Foundationの機能性を
拡張し、Digitizer/Synchronize
rから呼び出すことのできる、Foundationの
言語で記述されたプログラムである。marker(マ
ーカー)xlibの性能を高めるために、これをC言語
でコーディングし、Digitizer/Synchr
onizerにリンクした。
【0092】Digitizer/Synchroni
zerの機能説明 このソフトウェアのDigitizer部分は、オペレ
ータが下記を行えるようにする機能を有する。 (1)分と秒で記録時間を指定する (2)AmigaファイルをPC DOSフロッピー・
ディスクにコピーし、その逆を行う (3)オーディオ供給源をモニタする、すなわち、記録
せずに聴く (4)オーディオ供給源を記録する (5)Synchronizerプログラムにジャンプ
する (6)Amiga DOSに抜ける
【0093】これらの機能のそれぞれに、画面上の1つ
のウィンドウ(またはボタン)が関連し、各機能が、コ
ード内では1フレームによって表現される。フレーム
は、ボタンの位置と外見を指定し、これには、ボタンの
機能を達成するためのFoundationコードが含
まれる。
【0094】Digitizerと同じく、Synch
ronizerはフレームから構成される。しかし、こ
れははるかに大きく、より複雑である。下記を処理する
フレームがある。 (i)キーの押下げ (ii)初期化 (iii)パターン検索 (iv)ウィンドウのサイズ変更 (v)再生 (vi)句の表示 (vii)マーカーの表示と移動 (viii)サムタック(スライダ)の処理 (ix)波形の表示 (x)kiffファイルのロードとセーブ (xi)状況の表示 (xii)kiffファイルの印刷 (xiii)kiffファイルの編集 (xiv)Digitizerに抜ける (xv)Amiga DOSに抜ける (xvi)雑用
【0095】これらの機能のそれぞれを、下で説明す
る。 (i)キーの押下げ リターン・キー: 編集モードがオンで変更が行われて
いない場合、キーを無視する。そうでない場合、kif
fリストを更新し、境界ボックスを消し、フラグと変数
を再初期化し、編集モード・ボタンをオフし、マーカー
を再描画する。 エスケープ・キー: 次キュー・モードの場合、前の開
始キューを再初期化し、状況表示を更新し、マーカーを
再描画する。編集モードの場合、前の変更のすべてを破
棄し、フラグと変数を再初期化し、編集モードをオフに
し、状況表示を更新する。
【0096】左矢印キー: 変更中であれば、通過させ
る。現フレームと現オフセットから1を引く。オフセッ
トをobject(1000)に移動する。行われた変
更を示すようにフラグをセットする。 右矢印キー: 変更中であれば、通過させる。現フレー
ムと現オフセットに1を加える。オフセットをobje
ct(1000)に移動する。行われた変更を示すよう
にフラグをセットする。 シフト+左矢印キー: 左矢印キーの機能を実行する。
さらに、現在の範囲を再生する。 シフト+右矢印キー: 右矢印キーの機能を実行する。
さらに、現在の範囲を再生する。
【0097】上矢印、下矢印: 変更中であれば、通過
させる。 F1ないしF9: send.entry.msgs.c
opy であれば、リターンする。そうでなければ通過
させる。 F10: seq.listが0であれば、脱出する。
そうでなければ、ダイアログを実行してseq.lis
tを得る。それが空であれば脱出する。そうでなけれ
ば、key num(キー番号)を求めてkiffリス
トを検索する。そのシーケンスにキュー(タイミング)
が与えられていない場合、メッセージを表示して脱出す
る。オペレータがkiffリスト内の特定のキュー
(句)にジャンプできるようにする。
【0098】(ii)初期化 スタック・エントリが、下記のxlibをロードする
(これらの機能は、下で定義する) Convert.Frame.to.MSF Convert.MSF.to.Frame IO.Functions DisplayBox Marker Waveform RadioBox3 Slider SingleButton
【0099】Frame.Entry は、Digiti
zerからのエントリ・ポイントである。「Initi
alizing」を状況表示に置いた後に、 do.hy
pertextを呼び出して、waveform(波
形)、marker(マーカー)、window si
ze(ウィンドウ・サイズ)、play width
(再生幅)、start msf(開始MSF)、en
d msf(終了MSF)およびslider(スライ
ダ)のinitを行う。
【0100】Init sound file(サウン
ド・ファイルのinit) kiffファイル名が有効
なファイル名であるかどうかを検査した後に、それに関
連するサウンド・ファイルがあるかどうかを検査する。
スライダ、波形およびマーカーを初期化する。acce
pt(受入れ)とcancel(取消し)がまだオンで
あれば、これらをオフにする。開始シーケンス番号を検
索する。
【0101】(iii)パターン検索 Find next unmarked phrase
(マークされていない次の句を探す): このフレーム
内のコードは、既に次キュー・モードに入っているかど
うかを検査し、そうであれば脱出する。編集モード・ボ
タンがオンの場合、これらをオフにする。その後、ki
ffリストについて検索を行って、次のマークされてい
ない句を見つける。句が見つからない場合、メッセージ
を送り、このフレームから脱出する。そうでない場合、
句のライン番号を状況表示に移動し、データ入力モード
をオンにする。
【0102】(iv)ウィンドウのサイズ変更 New window size(新ウィンドウ・サイ
ズ): do.hypertextを利用して、スライ
ダ、波形およびマーカーの可視区域を変更する。他の接
続によって、波形とマーカーを再描画する。MSFの先
頭と末尾をセットする。
【0103】(v)再生 New play width(新再生幅): 再生幅
のサイズを5秒から10秒に変更する。ラジオボックス
関数のinitとset.state を呼び出す。詳細
については下のRadioBox3 xlibを参照さ
れたい。 play once(1回再生): 曲がロードされて
いない場合、脱出する。そうでない場合、Single
Button xlibのclick.up またはcl
ick.down を呼び出す。詳細については下のSi
ngleButton xlibを参照されたい。 play sound loop(ループ再生): 曲
がロードされていない場合、脱出する。そうでない場
合、SingleButton xlibのclic
k.up またはclick.down を呼び出す。詳細
については下のSingleButton xlibを
参照されたい。
【0104】(vi)句の表示 Next cue(次キュー): find.next.
unmarked.phraseを呼び出す。
【0105】(vii)マーカーの表示と移動 このフレームには、marker.c の諸エントリ・ポ
イントの呼出しが含まれる。エントリ・ポイントは、i
nit、set.start.frame、set.vi
sible.area、set.frame.rate、
display.markers、 draw.mark
er、redrawおよびclickである。詳細につ
いては下のmarker.c を参照されたい。
【0106】(viii)サムタック(スライダ)の処
理 do.hypertext を使用して、波形の開始フレ
ームとマーカーをセットする。波形を表示し、マーカー
を再描画し、開始MSFと終了MSFをセットする。マ
ーカーを表示して終了する。
【0107】(ix)波形の表示 このフレームには、waveform(波形)xlib
の諸エントリ・ポイントの呼出しが含まれる。エントリ
・ポイントは、set.start.frame、se
t.visible.area、 display.wav
eform、draw.marker、right.cl
ick、 left.click、right.clic
k.upおよびleft.click.upである。詳細
については下のwaveform xlibを参照され
たい。
【0108】(x)kiffファイルのロードとセーブ load kiff(kiffのロード): 曲がすで
にロードされている場合、データの消失を防ぐためにオ
ペレータにプロンプトを表示する。クリック・アップ時
に、ファイル名を取得し、それを記憶し、そのファイル
をロードし、kiffを記憶し、サウンド・ファイルを
initする。 save kiff(kiffのセーブ): 曲がロー
ドされていない場合、脱出する。そうでない場合、ki
ffファイルをセーブする。 extract kiff(kiffの抽出): ファ
イル名文字列からkiffファイル名を抽出する。
【0109】(xi)状況の表示 フレームをMSFフォーマットに変換し、Displa
yBoxを呼び出す。 (xii)kiffファイルの印刷 ダイアログ・ボックスを表示して、kiffファイル名
を取得する。そのファイルが存在しない場合、脱出す
る。開始時間と終了時間からなる印刷リストの作成に進
む。これらの時間から、書式付きレポートを作る。
【0110】(xiii)kiffファイルの編集 このフレームを用いると、オペレータが、Amigaエ
ディタを使用してkiffファイルを直接編集できるよ
うになる。これは、このシステムの経験のあるユーザを
前提とした機能である。
【0111】(xiv)Digitizerに抜ける kiffファイルがロードされている場合には、「Ar
e you sure?」を表示し、オペレータが変更
をセーブできるようにする。セーブするファイル名を決
定し、可能であれば、タイム・スタンプと共にファイル
をセーブする。終了時にメッセージを表示する。
【0112】(xv)Amiga DOSに抜ける (xiv)Digitizerに抜けると同様に、ki
ffファイルがロードされている場合には、「Are
you sure?」を表示し、オペレータが変更をセ
ーブできるようにする。セーブするファイル名を決定
し、可能であれば、タイム・スタンプと共にファイルを
セーブする。終了時にメッセージを表示する。
【0113】(xvi)雑用 Pos by seq(シーケンスによる位置決め):
F10フレームを呼び出す。 Version: ソフトウェアのバージョン番号を表
示する。 Left arrow slider: このボタンが
選択されている間、スライダを左に移動する。 Right arrow slider: このボタン
が選択されている間、スライダを右に移動する。 Accept: 曲がロードされていない場合、リター
ンする。シーケンス番号が編集され、変更されている場
合、このフレームによって、新しい値を受け入れ、ki
ffリストを更新し、境界ボックスを消し、フラグと変
数をリセットし、編集ボタンをオフにし、新しいマーカ
ーを用いて画面を再描画する。 Cancel: 曲がロードされていない場合、リター
ンする。そうでない場合、escape(エスケープ)
フレームを呼び出す。
【0114】xlibモジュールの機能説明 前に述べたように、xlibモジュールは、Digit
izer/Synchronizerによって使用され
る、Foundationの機能を拡張するためFou
ndationの言語で記述されたプログラムである、
他のモジュールである。
【0115】Convert.Frame.to.MSF 30フレーム=1秒という式に従って、フレームを分、
秒、フレームに変換する計算を行う。 Convert.MSF.to.Frame 30フレーム=1秒という式に従って、分、秒、フレー
ムをフレームに変換する計算を行う。 IO.Functions このxlibは、ファイルを要求するパスとプロンプト
を与えられると、そのファイルの名前を取得する。ファ
イルのロード、セーブおよびファイル名取得のモジュー
ルを含む。
【0116】DisplayBox init オブジェクトに00:00:00を置く。 set.value 曲がロードされていない場合、リ
ターンする。オブジェクトに_p1を置く。
【0117】Waveform スイープ時間と可視区域サイズを表す定数をセットす
る。下記のエントリ・ポイントを含む。 Set.start.frame(開始フレーム・セッ
ト) set.visible.area(可視区域セット) display.waveform(波形表示) redraw(再描画) rclick(右クリック)-- play.short.
rangeを呼び出し、最終フレームをセットする。
【0118】rclickup(右クリックアップ)--
次キュー・モードの場合、現在のキューの終了時間を
セットする。kiffリストを更新し、フラグをリセッ
トし、マーカーを再描画し、状況表示を更新する。 lclick(左クリック)-- play.short.
rangeを呼び出し、最終フレームをセットする。 lclickup(左クリックアップ)-- 次キュー・
モードの場合、現在のキューの開始時間をセットする。
kiffリストを更新し、マーカーを再描画し、nex
tcue(次キュー)右カーソルをロードし、波形を再
生する。 play.wave.once(波形の1回再生) play.wave.loop(波形のループ再生)
【0119】RadioBox3 Synchronizer用のラジオ・ボックス機能、
すなわち、1つのボタンだけがオンになっていることを
保証する機能を実行する。ハイライト表示されているボ
タンと異なるボタンが選択された場合、ハイライト表示
されているボタンをオフにしなければならない。
【0120】Slider エントリ・ポイントは下記のとおり。 init-- スライダ・オブジェクトの最上行、可視区
域および内容行数をセットする。 set.position-- 新しい最上行をセットす
る。 set.visible.area-- 可視区域を_p1
×frameRate(フレーム速度)にセットする。
【0121】new.position-- 曲がロード
されていない場合、リターンする。スライデットの左端
と現在のウィンドウ・サイズに基づいて、新しい位置を
計算する。編集ボタンがオンであればオフにする。次キ
ュー・モードでなく、新kiffをロードするのでない
場合、状況表示を更新する。 set.max-- スライダの内容行数を_p1にセッ
トする。
【0122】SingleButton エントリ・ポイントは次の2つ。click.down
とclick.upは、オブジェクト(me)の do.
hypertextの「click.down」または
「click.up」を呼び出す。 Marker xlibインターフェースを提供するFoundati
onコードと、その作業を行うCモジュールからなる。
【0123】このxlibインターフェースにはマーカ
ーを記述した大域変数が含まれる。エントリ・ポイント
は次のとおり。 redraw-- 曲がロードされていない場合、リター
ンする。そうでない場合、すべてのマーカーまたは歌詞
のマーカー成分をクリアする。 set.start.frame-- current.f
rameに_p1をセットする。 set.visible.area-- visible.
areaに_p1をセットする。 set.frame.rate- frameRateに
_p1をセットする。 display.markers-- 曲がロードされて
いない場合、リターンする。開始フレーム、終了フレー
ム、フレーム合計、フレーム比およびマーカーのテキス
ト文字列をセットした後に、xcodeモジュールkm
arkerを呼び出す。
【0124】edit.with.triangles--
ユーザがトライアングル位置でクリックしたかどうか
を調べるためにトライアングル・リストを検索した後
に、編集モードと変更済みフラグをセットする。次キュ
ー・モードの場合、データ入力モードをオフにする。新
トライアングルを編集しようとしており、前に選択され
たトライアングルに変更が行われている場合、ブザーを
鳴らして、return/accept(リターン/受
入れ)またはescape/cancel(エスケープ
/取消し)のいずれかを選択しなければならないことを
ユーザに知らせる。新トライアングルを編集しようとし
ているが、前のトライアングルがない場合、旧境界ボッ
クスを消し、マーカー・オフセットを0にリセットす
る。ユーザが最初のトライアングルを編集しようとして
おり、前のトライアングルがない場合、境界ボックスを
描画し、マーカー・オフセットを0にリセットする。
【0125】マーカーのCプログラム このモジュールには、mainプログラム(Amiga
プログラム用のフレームワークを初期化するCLIまた
はWBから呼び出される)からなる。これは、Init
Environ()を呼び出して、プログラム環境を初
期化させる。InitEnvironは、argc、a
rgvおよびWBenchMsgの問題を処理し、(オ
プションの)入力ファイルに関連する大域変数をini
tする。その後、InitMsgSys()を呼び出し
て、メッセージ・システムを初期化し、このプログラム
・オブジェクトがデフォルトのメッセージ・ハンドラを
組み込むための準備を行う。以下は、kmarker.
c を構成する関数である。
【0126】TermEnvirons()-- すべて
のライブラリをクローズすることによって環境を終了さ
せる。 HandleUCMsg(port)-- UltraC
ardからのstart/stop(開始/終了)メッ
セージを処理する。 InitEnvirons(argc,argv)--
Amigaライブラリをオープンし、オプションの入力
パラメータを処理して、入力ファイルを処理するための
大域変数をセットアップする。
【0127】XAddWaitHandler(sig
bit,port,handler)-- シグナル・ビ
ット用のハンドラを追加し、ポートとハンドラ・ルーチ
ンを指定する。 XDelWaitHandler(sigbit)--
あるシグナル・ビット用のハンドラを削除する。 CreateXCodePort(name)-- Ul
traCardがメッセージを送れるようにするため
に、XCodeポートを作成する。
【0128】InstallOurHandler
s()-- このXCODEで処理されるメッセージ用の
ハンドラを組み込む。 RemoveOurHandlers()-- 処理され
たメッセージ用のハンドラを(優雅に)除去する。
【0129】 Setup1()-- Loop1用の初期化。 Loop1()-- リストStartのinit。 Setup2()-- Loop2用の初期化。 Loop2()-- リストStartのinit。 Term()-- リストStart/Endの解放。
【0130】FindNextPhrase(mypa
rm)-- myparm内で’>’または’<’で始ま
る次の行を探す。 GetNextKiff()-- インデックスを次のn
ewline文字に続く文字にセットする。 GetStartMSF()-- kiff.list内
で見つかった行に基づいて、開始MSFをフレームに変
換する。
【0131】GetEndMSF()-- kiff.l
ist内で見つかった行に基づいて、終了MSFをフレ
ームに変換する。 DrawSeqNum(plot,clr)-- シーケ
ンス番号を表示する(下のTextDrawを呼び出
す)。 TextDraw(text,tx,tplot,tc
olor)-- DrawSomeTextを呼び出すこ
とによってtextを表示する。
【0132】CalcTextLen()-- シーケン
ス番号、ダッシュおよび歌詞テキストの全画素サイズを
計算する。 ClipText()-- 描画すべきテキストがおさま
らない場合に、おさまるまで1時に1文字ずつクリッピ
ングする。 DrawPhrase()-- シーケンス番号と’−’
に続く歌詞の句を描画する。
【0133】AppendtoListStart()
-- MSFの境界長方形の座標をリストStartの末
尾に追加する。 AppendtoListEnd()-- MSFの境界
長方形の座標をリストEndの末尾に追加する。 MSFinWindow(result)-- MSFが
ウィンドウ内にある場合「TRUE(真)」を返し、そ
うでない場合は「FALSE(偽)」を返す。
【0134】MSFBeyondWindow(res
ult)-- MSFがウィンドウの外にある場合「TR
UE(真)」を返し、そうでない場合は「FALSE
(偽)」を返す。 ConvertMSFtoFrame(src,fra
meRate)-- 分、秒、フレームをフレームに変換
する。下のXStoreMSFを使用して、その文字列
をsrcに格納する。
【0135】XStoreMSF(dst,src)--
srcにあるASCII文字列を、分、秒、フレーム
の3バイトに変換し、その3バイトをdstに格納す
る。 SetGraphicFont()-- フォントをセッ
トする。 DrawSomeText(color, x, y,
s, n)-- Amigaのシステム・コールを使用
してテキストを表示する。
【0136】(9)タイトル/ブリッジ・グラフィック
スの作成(ブロック47) Truevision社のTipsPlusなどのペイ
ント・プログラムを使用して、タイトル画面を作成す
る。ブリッジ(歌詞のない間奏)がある場合、適当なグ
ラフィックスを作成することもできる。これらの画面の
それぞれを、Truevisionフォーマットに変換
し、bridge.tga ファイル49とtitle.
tga ファイル51として出力する。
【0137】ASCIIエディタを使用して、下記の5
行からなるレコードを song.kifファイルに追加
する。* titlsong ;right >mm:ss:ff <mm:ss:ff GRAPHICS
【0138】これらのレコードは、ファイル内でグラフ
ィックを表示する位置のそれぞれで、song.kif
ファイルに追加される。song.kif ファイル内の
レコードには、句の開始時間と終了時間を指定するフィ
ールドが含まれる。句の間の時間が15秒を越える場
合、グラフィックを表示することができる。
【0139】最初の文字は、上に指定した通りでなけれ
ばならない。アスタリスク(* )の後にはグラフィック
スTGAファイルのDOS名すなわち bridge.t
gaが続く。セミコロン(;)の後にあるのは、使用さ
れるワイプの名前、すなわち、グラフィックを画面にペ
イントする方法(left(左)、right(右)、
up(上)、down(下)、spiral in(螺
旋状に入る)、−−−in、など)である。不等号
(<、>)の後にあるのは、分、秒およびフレーム単位
でのグラフィックの開始時間と終了時間である。これら
の時間の指定は、後続KIFレコードが開始時間を有す
る場合にはオプションである。このKIFレコードをテ
キスト・レコードから区別するために、GRAPHIC
S(すべて大文字)を含めなければならない。
【0140】ブロック47で実行される処理は、ブロッ
ク21、31、35、37、39および45で実行され
る処理の前、処理中または処理の後に行うことができ
る。ブロック47の処理は、PC56を使用して実行す
ることが好ましいが、本発明の一部として実行されるコ
ンピュータ処理のすべてがそうであるように、必要なソ
フトウェアを利用できるならばどのようなプラットホー
ムでも使用することができる。
【0141】(10)サブコード・ファイルの作成(ブ
ロック53) さらに2つの情報、すなわち各曲の開始時間とボーカル
開始時間を、song.kif ファイルに追加する。開
始時間は、ステップ(2)で、作業指令19から取り出
される。ボーカル開始時間は、ステップ(2)で、VH
Sプレイヤ54を介してウィンドウ・ダブ・テープ17
を再生し、SMPTE時間を記録することによって得ら
れる。完成したsong.kif ファイルには、上でK
IFRECとしてtypedefされた構造体に上記の
データが含まれる。下に、典型的なKIFファイルのヘ
ッダ(最初の2行)と3つのレコードを示す。
【0142】 KIFファイル 説明 $S04:17:03 マスタリング指令からの「イン・タイム」 $V04:29:10 最初の歌詞フィルの時間 *titlhelp タイトルTGAファイルの名前 ;right ワイプのタイプ #1 レコード番号(KEDによって追加される) GRAPHICS グラフィックス・レコード・インジケータ *help1 画面ブレークと歌詞TGAファイルの名前 [36,364 句の先頭のモニタ42座標 ]90,364 句の末尾のモニタ42座標 @7,10 句の先頭のサブコード座標 >00:01:19 フィルの開始時間(Synchronize rから) <00:02:04 フィルの終了時間 #2 レコード番号(KEDによって追加される) Help! 句 [90,364 句の先頭のモニタ42座標 ]240,364 句の末尾のモニタ42座標 @16,10 句の先頭のサブコード座標 >00:02:25 フィルの開始時間(Synchronize rから) <00:03:18 フィルの終了時間 #3 レコード番号(KEDによって追加される) I need somebody. 句
【0143】レコードの第1行がアスタリスクから始ま
る場合、これが画面ブレークを意味する、すなわち、画
面がクリアされることに留意されたい。さらに、アスタ
リスクの後にファイル名が続く場合、これが、句を得る
のに使用されるTGAファイルを指定する。名前が存在
しない場合、前に指定されたTGAファイルを使用す
る。
【0144】上で説明したKEDプログラムには、「B
uild(作成)」オプションが含まれ、これが選択さ
れた場合には、上の2つの時間すなわち開始時間とボー
カル開始時間を入力するようオペレータに求めるプロン
プトが表示される。その後、KEDは、song.ki
fファイルに含まれる情報と、song.tgaファイ
ルからのグラフィック・データを使用して、サブコード
・ファイル57を構成する。その結果は、最終製品に置
かれるサブコード・データに対応するファイルである。
このサブコード・ファイル内のレコードは、チャンネル
RないしチャンネルWに関する「レッドブック」仕様に
従って編成される。
【0145】(11)再生シミュレート(ブロック6
1) ウィンドウ・ダブ・テープ17のVHSプレイヤ54に
よる再生を開始し、KEDメニューからplaybac
k(再生)を選択すると、KEDは、SMPTE開始時
間を待ち、その時間に、ステップ(10)で作成された
サブコード・ファイル57を読み取り、CDデコーダ5
8を介して再生モニタ46へデータを送る。適当なCD
デコーダ58は、JVC社からモデル番号VSーG11
として入手可能である。デコーダをPC56へインター
フェースするためには、CDデコーダ・インターフェー
ス・ボードが必要である。適当なインターフェース・ボ
ードの1つが、米国特許第4942551号明細書に、
エンコーダ・インターフェース21として記載されてい
る。VHSプレイヤ54からSMPTE時間を得るため
には、PC56にSMPTEデコーダ・ボードが必要で
ある。適当なSMPTEデコーダ・ボードは、Adri
enne Electronics Corp社(Ne
vada City、カリフォルニア州、米国)から、
モデル番号PC−LTC/RDRとして入手可能であ
る。
【0146】その後、オペレータは、再生モニタ46上
に表示されるテキストを見、オーディオ再生を聞いて、
テキストのフィルが音楽と時間的に一致していることを
検査する。
【0147】(12)タイミング調節(ブロック63) テキストが音楽と同期していない場合、オペレータは、
バッジ係数を入力し(オペレータがKEDメニューから
Playbackを要求した時にKEDがバッジ係数を
要求する)、ステップ(10)で作成されるサブコード
・ファイル57を再作成することによって、その曲のす
べての句の開始時間を調節することができる。特定の句
の時間が誤っている場合、オペレータは、ステップ
(6)でビットパッド36を使用することによってその
誤った時間を選択し、PC56のキーボード(図示せ
ず)の+キーまたは−キーを使用して時間を前後に調節
することができる。その後、サブコード・ファイルを再
作成し、ステップ(11)を繰り返す。
【0148】(13)CDマスタリング用の編集(ステ
ップ65) オーサリング処理の最終ステップは、その巻内の各曲の
サブコード・ファイルを1つのファイルに組み合わせる
ことである。これは、ASSEMプログラムと、ステッ
プ(2)からの作業指令を使用して行われる。
【0149】ASSEMは、サブコード・ファイルの端
と端を貼り付け、マスタリング指令によって指定される
時間に各ファイルが始まるようにフィラーを挿入するこ
とによって、これを行う。ASSEMのソース・コード
を、付録2に示す。
【図面の簡単な説明】
【図1】 本発明の実施に必要なタスクの流れを示すブ
ロック図である。
【図2】 本発明の実施に必要なタスクの流れを示すブ
ロック図である。
【図3】 本発明の実施に必要なタスクの流れを示すブ
ロック図である。
【図4】 歌詞に対する視覚的キューを含むファイルの
作成と再生に使用される要素を示すブロック図である。
【図5】 それぞれモニタ40、42および50に表示
される情報を示す絵図である。
【符号の説明】
11 マスタ・テープ 13 DATテープ 15 ウィンドウ・ダブ・テープ17と作業指令19の
作成(ブロック) 17 ウィンドウ・ダブ・テープ 19 作業指令 21 テキストファイルの作成(ブロック) 23 song.tga ファイル 24 ライン (図には存在しない) 25 song.ips ファイル 26 DATプレイヤ 28 スピーカまたはヘッドホン
───────────────────────────────────────────────────── フロントページの続き (51)Int.Cl.6 識別記号 庁内整理番号 FI 技術表示箇所 H04N 9/75 (72)発明者 マックス・ガーバット アメリカ合衆国 91361 カリフォルニア 州・ウエストレイク ヴィレッジ・レイク リッジ レイン・2791 (72)発明者 マイケル・レーマン アメリカ合衆国 93923 カリフォルニア 州・カーメル・サン ペドロ レイン・ 24275

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】 コンパクト・ディスク上でそれに符号化
    された対応するテキストに関連して表示するグラフィカ
    ル・キューを符号化するシステムにおいて、 a) i)手で操作可能な入力およびポインティング装置(3
    6)と、 ii)テキスト・データを入力するためのキーボード
    と、 iii)記憶媒体(19、23、25、33、49、5
    1、57)と、 iv)第1および第2のビデオ表示装置(40、42)
    と、 v)前記入力装置、前記キーボードおよび前記記憶媒体
    から入力されたデータを処理し、処理手段によって生成
    された結果を前記記憶媒体に記憶し、処理手段によって
    生成された結果を前記第1および第2のビデオ表示装置
    のうちの少なくとも1つに表示する処理手段とを含み、
    前記処理手段によって生成され、前記記憶媒体に記憶さ
    れる結果が、歌詞のテキスト文字列の1行ずつコード化
    された表現を含む第1ファイル(25)を有するコンピ
    ュータ(56)と、 b)所定の行数テキスト文字列の後に画面ブレークを挿
    入し、その結果の第2ファイル(33)を作成すること
    によって前記第1ファイルを処理するように前記処理手
    段に命令する抽出手段(31)と、 c)中断や休止なしで歌われる前記歌詞内の音節の文字
    列のそれぞれの後に復帰文字と改行文字とを挿入するこ
    とによって複数の句ブロックを定義するため、前記第2
    ファイル(33)を処理するよう前記プロセッサに命令
    する句ブロック・セット手段(35)と、 d)前記句ブロックのそれぞれについて、その文字単位
    の長さと、コンパクト・ディスク用のグラフィック再生
    画面上の座標系に対する相対的な開始点とを決定するた
    め、前記定義された句ブロックを含む前記第2ファイル
    を処理するように前記処理手段に命令する句ブロックの
    XY位置および長さセット手段(37)と、 e)スクラッチ・ボーカルに対応するオーディオ信号を
    デジタル化する手段(44)と、 f)処理される曲のそれぞれに関する開始時間に対する
    相対的な時間である、表示される前記句ブロックのそれ
    ぞれの開始時間および終了時間をセットする手段(4
    5)と、 g)処理される曲のそれぞれについて、開始時間とボー
    カル開始時間を追加する手段と、 h)サブコード・ファイル内でグラフィカル画像が現れ
    る時間に対して相対的に配置され、テキストの色を変化
    させるXORパックを含む、グラフィカル画像を表すデ
    ータのパックを前記各曲ごとに含むサブコード・ファイ
    ル(57)を作成するよう前記処理手段に命令するサブ
    コード・ファイル作成手段とを含むシステム。
JP7109176A 1994-07-07 1995-04-11 オーディオと同期化してグラフィカル・キューを符号化するシステム Pending JPH0830285A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/271,184 US5649234A (en) 1994-07-07 1994-07-07 Method and apparatus for encoding graphical cues on a compact disc synchronized with the lyrics of a song to be played back
US271,184 1994-07-07

Publications (1)

Publication Number Publication Date
JPH0830285A true JPH0830285A (ja) 1996-02-02

Family

ID=23034540

Family Applications (1)

Application Number Title Priority Date Filing Date
JP7109176A Pending JPH0830285A (ja) 1994-07-07 1995-04-11 オーディオと同期化してグラフィカル・キューを符号化するシステム

Country Status (6)

Country Link
US (1) US5649234A (ja)
EP (1) EP0691635B1 (ja)
JP (1) JPH0830285A (ja)
AT (1) ATE188303T1 (ja)
DE (1) DE69422395T2 (ja)
HK (1) HK1011443A1 (ja)

Families Citing this family (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3226011B2 (ja) * 1995-09-29 2001-11-05 ヤマハ株式会社 歌詞表示装置
US5822326A (en) * 1996-05-10 1998-10-13 Tektronix, Inc. Synchronizing digital audio signals
JP3627427B2 (ja) * 1997-02-03 2005-03-09 富士ゼロックス株式会社 データ出力システム
TW346586B (en) * 1997-05-16 1998-12-01 Feng Bao Systems Co Ltd Ing Method for editing a multimedia simultaneous teaching system
US6113147A (en) 1997-09-22 2000-09-05 Johnson; Gary R Reformatting printed and electronic text for smoother reading
US6174170B1 (en) * 1997-10-21 2001-01-16 Sony Corporation Display of text symbols associated with audio data reproducible from a recording disc
US6514083B1 (en) * 1998-01-07 2003-02-04 Electric Planet, Inc. Method and apparatus for providing interactive karaoke entertainment
US6365814B1 (en) * 1998-09-25 2002-04-02 Kabushiki Kaisha Kawai Gakki Seisakusho Electronic musical instrument and recording medium
US6360237B1 (en) * 1998-10-05 2002-03-19 Lernout & Hauspie Speech Products N.V. Method and system for performing text edits during audio recording playback
US6515656B1 (en) * 1999-04-14 2003-02-04 Verizon Laboratories Inc. Synchronized spatial-temporal browsing of images for assessment of content
US7281199B1 (en) 1999-04-14 2007-10-09 Verizon Corporate Services Group Inc. Methods and systems for selection of multimedia presentations
US6442517B1 (en) 2000-02-18 2002-08-27 First International Digital, Inc. Methods and system for encoding an audio sequence with synchronized data and outputting the same
US6633845B1 (en) * 2000-04-07 2003-10-14 Hewlett-Packard Development Company, L.P. Music summarization system and method
US6549503B2 (en) 2001-02-22 2003-04-15 Jose R. Matos Disc player system
KR20030043299A (ko) * 2001-11-27 2003-06-02 주식회사 엘지이아이 오디오 데이터와 부가 데이터간의 동기 기록 관리 및재생방법
KR100563680B1 (ko) * 2001-11-27 2006-03-28 엘지전자 주식회사 재기록 가능 기록매체의 오디오 가사 데이터 기록 관리 및재생방법
CN1204489C (zh) * 2002-04-03 2005-06-01 英华达(南京)科技有限公司 可同步播放相关联的语音及文字的方法
JP2003302984A (ja) * 2002-04-11 2003-10-24 Yamaha Corp 歌詞表示方法、歌詞表示プログラムおよび歌詞表示装置
US7199805B1 (en) * 2002-05-28 2007-04-03 Apple Computer, Inc. Method and apparatus for titling
US20040047617A1 (en) * 2002-08-21 2004-03-11 Matos Jose R. Disc player system
KR100555499B1 (ko) * 2003-06-02 2006-03-03 삼성전자주식회사 2차 전방향 네트워크에 독립 해석 알고리즘을 이용하는반주/보이스 분리 장치 및 그 방법
US20040266337A1 (en) * 2003-06-25 2004-12-30 Microsoft Corporation Method and apparatus for synchronizing lyrics
WO2005003927A2 (en) * 2003-07-02 2005-01-13 James Devito Interactive digital medium and system
KR20050026641A (ko) * 2003-09-09 2005-03-15 삼성전자주식회사 오디오 신호에 가라오케 정보를 삽입하기 위한 방법,삽입된 가라오케 정보의 재생 방법, 및 그 장치와 이를구현하기 위한 프로그램이 기록된 기록 매체
TW200604922A (en) * 2004-07-23 2006-02-01 Hon Hai Prec Ind Co Ltd Apparatus and method for controlling sounds and images
US7524369B2 (en) * 2005-02-08 2009-04-28 Halliburton Energy Services, Inc. Low-density cement compositions, density-reducing additives, and methods of use
US20060199161A1 (en) * 2005-03-01 2006-09-07 Huang Sung F Method of creating multi-lingual lyrics slides video show for sing along
US20070250875A1 (en) * 2005-08-26 2007-10-25 Weaver Timothy H Methods, apparatuses, and computer program products for delivering one or more television programs for viewing during a specified viewing interval
US20070240185A1 (en) * 2005-08-26 2007-10-11 Weaver Timothy H Methods, apparatuses, and computer program products for delivering audio content on demand
US20070162839A1 (en) * 2006-01-09 2007-07-12 John Danty Syndicated audio authoring
US20080115063A1 (en) * 2006-11-13 2008-05-15 Flagpath Venture Vii, Llc Media assembly
US20080282146A1 (en) * 2007-05-08 2008-11-13 Waleed Nema Text display device
CN102687182A (zh) * 2009-11-10 2012-09-19 杜尔塞塔有限公司 用于电子视觉作品的配音的动态音频重放

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5280572A (en) * 1988-06-24 1994-01-18 Time Warner Interactive Group Inc. Method and apparatus for storing text data in subcode packs
US4942551A (en) * 1988-06-24 1990-07-17 Wnm Ventures Inc. Method and apparatus for storing MIDI information in subcode packs
US4992886A (en) * 1988-12-20 1991-02-12 Wnm Ventures, Inc. Method and apparatus for encoding data within the subcode channel of a compact disc or laser disc
JP2965330B2 (ja) * 1990-07-06 1999-10-18 パイオニア株式会社 情報再生装置
JP3241372B2 (ja) * 1990-11-27 2001-12-25 パイオニア株式会社 カラオケ演奏方法
JP2925754B2 (ja) * 1991-01-01 1999-07-28 株式会社リコス カラオケ装置
EP0498927B1 (en) * 1991-01-16 1997-01-22 Ricos Co., Ltd. Vocal display device
JPH05323947A (ja) * 1992-05-22 1993-12-07 Pioneer Electron Corp サブコードグラフィックス再生制御装置
US5440677A (en) * 1992-07-01 1995-08-08 Time Warner Interactive Group Inc. Method and apparatus for processing audio and graphic images to create an interleaved file suitable for use as a CD-ROM product
JP3322275B2 (ja) * 1992-10-09 2002-09-09 ヤマハ株式会社 カラオケ装置

Also Published As

Publication number Publication date
EP0691635A1 (en) 1996-01-10
EP0691635B1 (en) 1999-12-29
DE69422395D1 (de) 2000-02-03
US5649234A (en) 1997-07-15
HK1011443A1 (en) 1999-07-09
ATE188303T1 (de) 2000-01-15
DE69422395T2 (de) 2000-10-12

Similar Documents

Publication Publication Date Title
JPH0830285A (ja) オーディオと同期化してグラフィカル・キューを符号化するシステム
US5274758A (en) Computer-based, audio/visual creation and presentation system and method
US5119474A (en) Computer-based, audio/visual creation and presentation system and method
US5880388A (en) Karaoke system for synchronizing and reproducing a performance data, and karaoke system configuration method
US5613909A (en) Time-segmented multimedia game playing and authoring system
CA2015215C (en) Computer-based, audio/visual creation and presentation system and method
KR20000012538A (ko) 동영상에 포함된 외국어 대사의 학습을 위한 캡션제어방법 및 그 기록매체
US20100094909A1 (en) Methods, programs, storage media and systems for recording and compiling a music section
JP2006227082A (ja) 歌詞と音楽との同期データ作成方法、装置、プログラムおよびプログラムを記録する記録媒体
US20060199161A1 (en) Method of creating multi-lingual lyrics slides video show for sing along
US5450597A (en) Method and apparatus for synchronizing midi data stored in sub-channel of CD-ROM disc main channel audio data
JPH05137103A (ja) プレゼンテーシヨン装置
JPH07175909A (ja) データ処理装置
JP3363407B2 (ja) 歌詞字幕表示装置
KR19990064823A (ko) 동영상에 포함된 외국어 대사의 학습을 위한 캡션 제어방법 및 그 기록매체
JP3841815B2 (ja) 映像デ―タ編集方法
CN113535289A (zh) 页面呈现、移动端交互及音频编辑的方法与装置
JPH10268878A (ja) デジタルカラオケソフト編集装置
JP2005141424A (ja) 情報処理方法及び情報処理装置
JP4068915B2 (ja) 映像データ編集装置及び編集方法
JP2005202425A (ja) 楽曲の伴奏音と歌詞字幕映像を同期出力する装置
JP4084115B2 (ja) 番組編集方法
CN106652983A (zh) 一种字幕制作方法及系统
JP3787545B2 (ja) 歌詞字幕表示装置
JP3363390B2 (ja) 歌詞字幕データの編集装置

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060704

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20061004

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20061010

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20070410