Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP3687375B2 - Voice assignment apparatus, voice assignment method, and recording medium recording voice assignment processing program - Google Patents
[go: Go Back, main page]

JP3687375B2 - Voice assignment apparatus, voice assignment method, and recording medium recording voice assignment processing program - Google Patents

Voice assignment apparatus, voice assignment method, and recording medium recording voice assignment processing program Download PDF

Info

Publication number
JP3687375B2
JP3687375B2 JP35078798A JP35078798A JP3687375B2 JP 3687375 B2 JP3687375 B2 JP 3687375B2 JP 35078798 A JP35078798 A JP 35078798A JP 35078798 A JP35078798 A JP 35078798A JP 3687375 B2 JP3687375 B2 JP 3687375B2
Authority
JP
Japan
Prior art keywords
note
input
data
characters
lyrics
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.)
Expired - Fee Related
Application number
JP35078798A
Other languages
Japanese (ja)
Other versions
JP2000163057A (en
Inventor
広子 奥田
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 JP35078798A priority Critical patent/JP3687375B2/en
Publication of JP2000163057A publication Critical patent/JP2000163057A/en
Application granted granted Critical
Publication of JP3687375B2 publication Critical patent/JP3687375B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Reverberation, Karaoke And Other Acoustics (AREA)
  • Electrophonic Musical Instruments (AREA)

Abstract

PROBLEM TO BE SOLVED: To assign lyrics, which consist of plural characters, against a single note. SOLUTION: A keyboard 3 inputs lyrics data including characters, numerical values and symbols in accordance with an operation. A CPU 1 conducts a lyrics inputting in which the lyrics data inputted from the keyboard 3 are assigned to the notes of the playing music stored in a memory 4. If a symbol is inputted against a single note, characters inputted before and behind the symbol are coupled and the resulting plural characters are made correspond to and assigned to the note, the characters are displayed on a display 5 and the audio sound of the assigned plural characters is generated through a sound system 6 based on the pitch and the length of the corresponding note.

Description

【0001】
【発明の属する技術分野】
本発明は、音声割当装置及び音声割当方法並びに音声割当処理のプログラムを記録した記録媒体に関する。
【0002】
【従来の技術】
自動演奏装置の中には、演奏する曲のメロディに歌詞を割り当てて、自動演奏とともに歌詞の音声を発音させる機能をもったものがある。メロディに歌詞を割り当てる場合には、演奏曲の音符を表示装置の画面に表示させて、1つ1つの音符ごとに歌詞の文字を割り当てている。例えば、図17において、図の左上の5個の音符に対して、「きみがぼく」と各音符ごとに1つの文字を割り当てている。また、図の右上の6個の音符の中の最後の4個の音符に、1つの文字「さ」を割り当てて発音を伸ばす場合には、最初の音符に「さ」の文字を割り当て、残りの3個の音符には、それぞれ「さ(SA)」の音声の母音である「あ(A)」の文字を各音符ごとに割り当てている。
【0003】
【発明が解決しようとする課題】
しかしながら、上記従来の歌詞割当の技術においては、複数の音符に1つの音声が対応する場合には、2番目以降の音符すべてに母音の文字を割り当てる操作が煩雑であった。また、音声を発音しない音符に対して無音の割当ができなかった。
本発明の第1の課題は、複数の音符に1つの音声が対応する場合の文字の割当の操作を簡単にすることである。
本発明の第の課題は、音声を発音しない音符に対して無音の割当ができるようにすることである。
【0008】
【課題を解決するための手段】
請求項に係る発明は、複数種の文字及び数値を含む歌詞データをそれぞれ同様の操作形態にて入力可能な入力手段と、この入力手段から入力され歌詞データを曲の音符に対して割り当てる際に、文字が続けて入力されたときには、この入力された各文字を音符1つずつに対して順次割り当て、数値及び文字が続けて入力されたときには、この入力された数値に対応する数の音符に対して、前記入力された文字を割り当てる歌詞割当手段と、この歌詞割当手段によって各音符に対して割り当てられた各文字に対応する音声を、前記各音符の音高及び音長に応じて発音させる発音制御手段と、を備えた構成になっている。
【0009】
請求項に係る発明は、複数種の文字及び数値を含む歌詞データをそれぞれ同様の操作形態にて入力する入力処理と、この入力処理によって入力され歌詞データを曲の音符に対して割り当てる際に、文字が続けて入力されたときには、この入力された各文字を音符1つずつに対して順次割り当て、数値及び文字が続けて入力されたときには、この入力された数値に対応する数の音符に対して、前記入力された文字を割り当てる歌詞割当処理と、この歌詞割当処理によって各音符に対して割り当てられた各文字に対応する音声を、前記各音符の音高及び音長に応じて発音させる発音制御処理と、を実行する。
【0010】
請求項に係る発明は、複数種の文字及び数値を含む歌詞データをそれぞれ同様の形態の操作に応じて入力する手順Aと、この手順Aによって入力され歌詞データを曲の音符に対して割り当てる際に、文字が続けて入力されたときには、この入力された各文字を音符1つずつに対して順次割り当て、数値及び文字が続けて入力されたときには、この入力された数値に対応する数の音符に対して、前記入力された文字を割り当てる手順Bと、この手順Bによって各音符に対して割り当てられた各文字に対応する音声を、前記各音符の音高及び音長に応じて発音させる手順Cと、を含む音声割当処理のプログラムを記録した記録媒体である。
【0011】
請求項、請求項、請求項に係る発明によれば、文字が続けて入力された場合には、その入力された各文字を音符1つずつに対して順次割り当て、数値及び文字が続けて入力された場合には、その入力された数値に対応する数の音符に対してその入力された文字を割り当て、その割り当てられた各文字の音声を対応する音符の音高及び音長に基づいて発音させる。
【0012】
請求項に係る発明は、複数種の文字及び当該文字とは異なる記号を含む歌詞データをそれぞれ同様の操作形態にて入力可能な入力手段と、この入力手段から入力され歌詞データを曲の音符に対して割り当てる際に、文字が続けて入力されたときには、この入力された各文字を音符1つずつに対して順次割り当て、文字及び記号が続けて入力されたときには、この入力された文字及び記号を併せて1つの音符に対して割り当てる歌詞割当手段と、この歌詞割当手段によって各音符に対して割り当てられた各文字に対応する音声を、前記各音符の音高及び音長に応じて発音させると共に、1つの音符に対して文字及び記号が割り当てられている場合は、この音符の音長よりも短い時間で音声を発音させる発音制御手段と、を備えた構成になっている。
【0013】
請求項に係る発明は、複数種の文字及び当該文字とは異なる記号を含む歌詞データをそれぞれ同様の操作形態にて入力する入力処理と、この入力処理によって入力され歌詞データを曲の音符に対して割り当てる際に、文字が続けて入力されたときには、この入力された各文字を音符1つずつに対して順次割り当て、文字及び記号が続けて入力されたときには、この入力された文字及び記号を併せて1つの音符に対して割り当てる歌詞割当処理と、この歌詞割当処理によって各音符に対して割り当てられた各文字に対応する音声を、前記各音符の音高及び音長に応じて発音させると共に、1つの音符に対して文字及び記号が割り当てられている場合は、この音符の音長よりも短い時間で音声を発音させる発音制御処理と、実行する。
【0014】
請求項に係る発明は、複数種の文字及び当該文字とは異なる記号を含む歌詞データをそれぞれ同様の形態の操作に応じて入力する手順Aと、この手順Aによって入力され歌詞データを曲の音符に対して割り当てる際に、文字が続けて入力されたときには、この入力された各文字を音符1つずつに対して順次割り当て、文字及び記号が続けて入力されたときには、この入力された文字及び記号を併せて1つの音符に対して割り当てる手順Bと、この手順Bによって各音符に対して割り当てられた各文字に対応する音声を、前記各音符の音高及び音長に応じて発音させると共に、1つの音符に対して文字及び記号が割り当てられている場合は、この音符の音長よりも短い時間で音声を発音させる手順Cと、を含む音声割当処理のプログラムを記録した記録媒体である。
【0015】
請求項、請求項、請求項に係る発明によれば、文字が続けて入力された場合には、当該入力された各文字を音符1つずつに対して順次割り当て、文字及び記号が続けて入力された場合には、その入力された文字及び記号を併せて1つの音符に対して割り当て、文字のみが割り当てられた音符は、その文字の音声を対応する音符の音高及び音長で発音させ、文字及び記号が割り当てられた音符は、その文字の音声を対応する音符の音高及びその音符の音長よりも短い時間で発音させる。
【0016】
【発明の実施の形態】
以下、本発明における音声割当装置の実施形態について説明する。
図1は、実施形態における音声割当装置のシステム構成を示す図である。CPU1は、システムバス2を介して接続されたキーボード3、メモリ4、ディスプレイ5、及びサウンドシステム6との間で、コマンド及びデータを授受して、この装置全体を制御する。
【0017】
キーボード3は、図には示さないが、動作モードを切り換えるモード切換キー、歌詞データを入力するための文字キー、記号キー、数値キー、スペースキー、歌詞データを消去するためのデリートキー、カーソルを移動するためのカーソルキーを備えている。メモリ4は、CPU1が実行するプログラムを記憶するプログラムエリア、音声波形データ、自動演奏データ、歌詞データを記憶するデータエリア、その他プログラムの実行に必要な各種のレジスタ及びフラグのエリアを備えている。
【0018】
図2は、メモリ4のデータエリアの内容を示す図である。音声波形データは、歌詞の音声「あ、い、う、え、お、か、き、……」に対応したPCM波形データを記憶している。発音の際には、発音の音高に応じた読出速度で読み出されて、サウンドシステム6に送出される。自動演奏データは、タイミングデータ及びイベントデータの組合せで構成されている。自動演奏データの最後はENDデータになっていて、曲の終了を識別する構成になっている。キーオンタイミング又はキーオフタイミングは、オンイベント又はオフイベントまでの時間を表わしている。歌詞データは、自動演奏曲に対応する音声の文字、記号「+」、「2」〜「9」の数値、及びスペースで構成されている。歌詞データの内容及びその役割についてはさらに後述する。
【0019】
図1におけるディスプレイ5は、後述する歌詞入力処理や自動演奏処理の際に、音符等からなる楽譜、歌詞、及び、音符に対応する歌詞の文字の関連を明示する画像であるカーソルの画像を表示する。サウンドシステム6は、図には示さないが、音声信号を生成する音源、メモリ4から読み出された音声波形データをデジタルからアナログの音声信号に変換するD/Aコンバータ、音声信号の不要成分を除去するフィルタ、音声信号を増幅するアンプ、スピーカ等を備えている。そして、CPU1からの発音処理及び音声波形データに応じて発音を行い、消音処理に応じて消音を行う。
【0020】
次に、図1に示した音声割当装置の動作について、CPU1によって実行されるプログラムのフローチャート、及び、ディスプレイ5の画面に表示された内容に基づいて、詳細に説明する。
【0021】
図3はCPU1が実行するプログラムのメインフローである。この処理では、イニシャライズ処理(ステップA1)を行った後、メモリから自動演奏データを読み出し(ステップA2)、そのデータに基づいて楽譜を作成して、ディスプレイに表示する(ステップA3)。次に、その自動演奏データに対応する歌詞データがメモリにあるか否かを判別する(ステップA4)。歌詞データがある場合には、歌詞データを読み出し(ステップA5)、楽譜に対応させて歌詞をディスプレイに表示する(ステップA6)。ステップA6において歌詞を表示した後、又は、ステップA4において楽譜に対応する歌詞データがない場合には、図4に示すように、楽譜表示のエリアと歌詞表示のエリアにまたがって、カーソルを先頭位置に表示する(ステップA7)。すなわち、1つの音符と、その1つの音符に対応する歌詞の文字の関連を明示する画像を画面に表示させる。
【0022】
次に、モード切換キーが操作されたか否かを判別し(ステップA8)、操作されたときは、モードフラグを反転する(ステップA9)。また、自動演奏データ及び歌詞データの両アドレスをリセットし、タイマをリセットし、消音処理をし、カーソルが先頭位置にない場合には先頭位置へ移動する(ステップA10)。そして、モードフラグが「1」又は「0」のいずれであるかを判別する(ステップA11)。モードフラグが「1」である場合には、自動演奏処理を行い(ステップA12)、モードフラグが「0」である場合には、歌詞入力処理を行う(ステップA13)。次に、その他の処理を行う(ステップA14)。そして、ステップA8〜ステップA14のループ処理を繰り返し実行する。
【0023】
ステップA10において、タイマをリセットした後は、一定時間ごとに、図5に示すタイマインタラプト処理のルーチンに入って、タイマ値をインクリメントして(ステップB1)、再びメインルーチンに戻る。このタイマ値は、図3のステップA12における自動演奏処理の場合において、自動演奏データの時間経過を表わしており、このタイマ値によってキーオンタイミング及びキーオフタイミングになったか否かを判別する。
【0024】
次に、図3のメインフローのステップA13における歌詞入力処理について説明する。入力する歌詞データとしては、発音の音声の対象となる「文字」、文字同士を結合する「+」記号、自動演奏データの複数の音符にわたって1つの音声を伸ばして発音する場合にその対象となる音符数を示す「2」〜「9」の数値、及び発音を禁止したり、短く発音するスタッカートの場合の「スペース」で構成されている。この歌詞入力の際には、図4に示したように、自動演奏データの音符及び歌詞入力の対象となる音符の位置にカーソルがディスプレイの画面に表示され、ユーザはこの画面を見ながら歌詞入力を行う。
【0025】
図6〜図9は、歌詞入力処理のフローであり、図10は、自動演奏データと歌詞データとの関係を示す図であり、図11〜図14は、入力する歌詞データに応じた表示例を示す図である。
【0026】
図6において、カーソル位置の移動操作がされたか否かを判別する(ステップC1)。カーソルを歩進する操作がされた場合には、次アドレスの歌詞データの種類を判別する(ステップC2)。次アドレスの歌詞データが、文字、記号、スペースである場合、又は歌詞データが無い場合には、自動演奏データのアドレスに「4」を加算し、そのアドレスのデータがENDデータであるか否かを判別する(ステップC3)。
【0027】
例えば、図10(A)において、カーソル位置が音符n7にある場合には、カーソル位置は歩進することができない。すなわちこの場合は、自動演奏データのアドレスは、図10(B)のn7のキーオンタイミングデータのアドレスになっているので、ステップC3において、自動演奏データのアドレスに「4」を加算すると、加算したアドレスのデータはENDデータになる。したがって、加算したアドレスのデータがENDデータである場合には、カーソルの移動はできない。一方、ステップC3において、加算したアドレスのデータがENDデータでない場合には、自動演奏データ用の現アドレスに「4」を加算した次アドレスをカーソル移動対象の音符のアドレスとして指定する(ステップC4)。
【0028】
ステップC2において、次アドレスの歌詞データが数値である場合には、その数値に対応する複数の音符が1つの文字の歌詞に対応する。図10(A)の例では、歌詞「か」の音声をn2、n3、n4の3個の音符に割り当てている場合である。この場合には、図10(B)に示すように、歌詞データの文字「か」及び数値「3」に対して、自動演奏データのn2のキーオンタイミングデータからn4のキーオフイベントまでのアドレスのデータが対応する。したがって、次アドレスの歌詞データに対応する自動演奏データのアドレスは、その数値に「4」を乗算した値を自動演奏データの現アドレスに加算したアドレスとなる。図6のステップC5では、次アドレスの自動演奏データがENDデータであるか否かを判別する(ステップC5)。加算したアドレスのデータがENDデータである場合には、カーソルの移動はできないので、カーソル歩進操作は無効となり、他のキー入力を判別するが、加算したアドレスのデータがENDデータでない場合には、自動演奏データ用の現アドレスに数値に「4」を乗算した値を加算した次アドレスをカーソル移動対象の音符のアドレスとして指定する(ステップC6)。
【0029】
ステップC4又はステップC6において、次アドレスを指定した後は、現アドレスに歌詞データがあるか否かを判別する(ステップC7)。歌詞データがある場合には、次アドレスの歌詞データの種類を判別する(ステップC8)。次アドレスの歌詞データが数値である場合には、歌詞データのアドレスに「2」を加算し(ステップC9)、カーソル位置を歩進する(ステップC10)。例えば、図10の例で、現アドレスの歌詞データが文字「か」である場合には、次アドレスの歌詞データは数値「3」である。この場合には、ステップC9において歌詞データの現アドレスに「2」を加算して、現アドレスを文字「な」のアドレスに変更する。また、ステップC6の処理によって、自動演奏データの現アドレスは、n5のキーオンタイミングデータのアドレスに変更されている。したがって、ステップC10の処理によって、カーソル位置は図10(A)のn5の音符及び歌詞の文字「な」の位置に変更される。
【0030】
ステップC8において、次アドレスの歌詞データが記号である場合には、歌詞データのアドレスに「2」を加算して(ステップC11)、さらに加算したアドレスの次アドレスの歌詞データの種類を判別する(ステップC12)。次アドレスの歌詞データが文字、スペース又は歌詞データである場合には、さらに歌詞データのアドレスに「1」を加算する(ステップC13)。そして、カーソル位置を歩進する(ステップC10)。
【0031】
例えば、図10(B)において、現アドレスの歌詞データが「は」である場合には、次アドレスの歌詞データは記号「+」である。この場合には、ステップC11の処理によって、歌詞データの現アドレスに「2」を加算して、歌詞データ「る」のアドレスを現アドレスとし、さらに、ステップC13の処理によって、現アドレスに「1」を加算して、歌詞データ「か」のアドレスとする。また、ステップC10の処理によって、カーソル位置は、図10(A)のn1の音符の位置からn2の音符の位置に移動される。
【0032】
ステップC12において、次アドレスの歌詞データが記号である場合には、再びステップC11において歌詞データのアドレスに「2」を加算する。例えば、自動演奏データの1つの音符に対して、3つの歌詞の文字「あなた」が割り当てられている場合には、歌詞データは文字「あ」、記号「+」、文字「な」、記号「+」、文字「た」になっている。この場合には、ステップC11及びC12の処理によって歌詞データのアドレスが「4」加算され、さらにステップC13において歌詞データのアドレスが「1」加算されることになる。
【0033】
ステップC7において、現アドレスに歌詞データが無い場合、又は、ステップC8において、次アドレスの歌詞データが文字若しくはスペースである場合、若しくは歌詞データが無い場合には、歌詞データのアドレスに「1」を加算して(ステップC13)、カーソル位置を歩進する(ステップC10)。
【0034】
ステップC1において、カーソル位置移動の操作が後退である場合には、自動演奏データのアドレスが先頭アドレスであるか否かを判別する(ステップC14)。先頭アドレスである場合には、カーソル位置の後退はできないので、カーソル後退操作は無効になり、他のキー入力を判別するが、先頭アドレスでない場合には、直前アドレスの歌詞データの種類を判別する(ステップC15)。直前アドレスの歌詞データが無い場合には、歌詞データの現アドレスから「1」を減算し(ステップC16)、自動演奏データのアドレスから「4」を減算する(ステップC17)。そして、カーソル位置を後退する(ステップC18)。
【0035】
ステップC15において、直前アドレスの歌詞データが文字又はスペースである場合には、歌詞データの現アドレスから「1」を減算し(ステップC19)、さらにその直前アドレスの歌詞データの種類を判別する(ステップC20)。直前アドレスの歌詞データが記号である場合には、歌詞データの現アドレスから「2」を減算して(ステップC21)、再びステップC20において歌詞データの種類を判別する。歌詞データが文字又はスペースである場合には、自動演奏データの現アドレスから「4」を減算する(ステップC17)。そして、カーソル位置を後退する(ステップC18)。
【0036】
例えば、図10(A)において、カーソル位置がn2の音符にある場合に、カーソル位置の後退操作をすると、図10(B)において、その時の現アドレスの歌詞データは「か」であるので、直前アドレスの歌詞データは「る」であり、さらにその直前アドレスの歌詞データは記号「+」である。この場合には、ステップC19の処理で歌詞データのアドレスから「1」を減算して、歌詞データ「る」のアドレスを現アドレスとし、ステップC17の処理で歌詞データのアドレスから「2」を減算して、歌詞データ「は」のアドレスを現アドレスとする。そして、ステップC17の処理で自動演奏データのアドレスを「4」だけ減算する。したがって、図10(B)において、自動演奏データのアドレスをn2のキーオンタイミングデータからn1のキーオンタイミングデータのアドレスに変更する。また、ステップC18の処理でカーソル位置を図10(A)のn2の音符の位置からn1の音符の位置に後退する。
【0037】
ステップC15において、直前アドレスの歌詞データが数値である場合には、歌詞データの現アドレスから「2」を減算し(ステップC22)、自動演奏データの現アドレスから、数値に「4」を乗算した値を減算する(ステップC23)。そして、カーソル位置を後退する(ステップC18)。
【0038】
例えば、図10(A)において、カーソル位置がn5の音符にある場合に、カーソル位置の後退操作をすると、図10(B)において、その時の現アドレスの歌詞データは「な」であるので、直前アドレスの歌詞データは数値「3」である。この場合には、ステップC22の処理で歌詞データ「な」のアドレスから「2」を減算して、歌詞データ「か」のアドレスを現アドレスとする。また、ステップC23の処理で自動演奏データのアドレスを「3×4=12」だけ減算して、図10(B)において、自動演奏データのアドレスをn5のキーオンタイミングデータからn2のキーオンタイミングデータのアドレスに変更する。また、ステップC18の処理でカーソル位置を図10(A)のn5の音符の位置からn2の音符の位置に後退する。
【0039】
ステップC10においてカーソル位置を歩進した後、若しくは、ステップC18においてカーソル位置を後退した後、又は、ステップC1においてカーソル移動操作が無い場合、若しくはステップC3、C5、C14においてカーソル移動操作を無効と判別した場合には、図8のフローにおいて、デリートキーの操作があるか否かを判別する(ステップC24)。デリートキーの操作があった場合には、現アドレスに歌詞データがあるか否かを判別する(ステップC25)。歌詞データが無い場合には直ちにメインフローに戻るが、歌詞データがある場合には、現アドレスの歌詞データを消去する(ステップC26)。この後、次アドレスの歌詞データの種別を判別する(ステップC27)。判別した歌詞データが文字又はスペースである場合には、ステップC26の処理によって生じた空き領域をつめる(ステップC28)。そして、表示を更新して(ステップC29)、メインフローに戻る。
【0040】
例えば、図11(A)において、カーソル位置が歌詞の文字「が」にある場合にデリートキーが操作されたときは、ステップC26の処理で歌詞データ「が」が消去される。またこの場合には、次アドレスの歌詞データは文字「ぼ」であり、かつ、図11(D)に示す歌詞データの文字「が」の領域が空き領域になるので、ステップC28の処理でこの空き領域をつめる。この結果、図11(B)に示す歌詞に変更される。
【0041】
ステップC27において判別した歌詞データが数値である場合には、歌詞データのアドレスをインクリメントして(ステップC30)、現アドレスの歌詞データすなわち数値を消去する(ステップC31)。そして、次アドレスに歌詞データがあるか否かを判別する(ステップC32)。歌詞データがある場合には、ステップC31の処理によって生じた空き領域をつめる(ステップC33)。空き領域をつめた後、又は、ステップC32において次アドレスに歌詞データが無い場合には、歌詞データのアドレスをデクリメントする(ステップC34)。そして、表示を更新して(ステップC29)、メインフローに戻る。
【0042】
ステップC27において判別した歌詞データが記号である場合には、歌詞データのアドレスをインクリメントし(ステップC35)、レジスタACの値をインクリメントする(ステップC36)。ACは、自動演奏データと歌詞データとの間のアドレスの調整を行うためのレジスタである。なお、イニシャライズにおいて、ACは「0」にリセットされている。ACをインクリメントした後、現アドレスの歌詞データを消去する(ステップC37)。この後さらに歌詞データのアドレスをインクリメントして(ステップC38)、ACの値をインクリメントし(ステップC39)、現アドレスの歌詞データを消去する(ステップC40)。
【0043】
次に、次アドレスの歌詞データが記号であるか否かを判別する(ステップC41)。記号である場合には、ステップC35に移行して、ステップC41までの上記各処理を実行する。ステップC41において、次アドレスの歌詞データが記号でない場合には、次アドレスに歌詞データがあるか否かを判別する(ステップC42)。歌詞データがある場合には、ステップC37及びC40における歌詞データの消去によって生じた空き領域をつめる(ステップC42)。空き領域をつめた後、又はステップC42において次アドレスに歌詞データがない場合には、歌詞データのアドレスからACの値を減算して(ステップC44)、ACを「0」にリセットする(ステップC45)。この後、表示を更新して(ステップC29)、メインフローに戻る。
【0044】
例えば、図11(D)において、現アドレスの歌詞データが「ぼ」であり、そのアドレスがkである場合において、ステップC26の処理でこの歌詞データを消去したときは、ステップC27において判別した次アドレスk+1の歌詞データは記号「+」である。したがって、ステップC35で歌詞データのアドレスkをk+1にインクリメントして、ステップC36でACの値を「0」から「1」にインクリメントする。そして、ステップC37で現アドレスk+1の歌詞データの記号「+」を消去する。さらに、ステップC38で歌詞データのアドレスk+1をk+2にインクリメントして、ステップC39でACの値を「1」から「2」にインクリメントする。そして、ステップC40で現アドレスk+2の歌詞データの「く」を消去する。
【0045】
次に、ステップC41で次アドレスk+3の歌詞データが記号でない(文字「を」である)と判別され、ステップC42で次アドレスk+3に歌詞データがあると判別される。したがって、ステップC43で消去によって生じた空き領域k、k+1、k+2をつめる。そして、歌詞データの現アドレスk+2からACの値「2」を減算して、現アドレスkとする。この結果、図11(D)の歌詞データは、現アドレスkの領域に「を」がセットされることになる。
【0046】
ステップC24において、デリートキーが操作されない場合には、図8のフローにおいて、入力キーが操作されたか否かを判別する(ステップC46)。入力キーが操作されない場合はメインフローに戻るが、入力キーが操作されたときは、全ての音符に歌詞データの割当が済んでいるか否かを判別する(ステップC47)。全ての音符に歌詞データの割当が済んでいない場合には、現在の自動演奏データのアドレスが先頭アドレスであるか否かを判別する(ステップC48)。先頭アドレスでない場合には、直前アドレスに歌詞データがあるか否かを判別する(ステップC49)。直前アドレスに歌詞データがない場合には直ちにメインフローに戻るが、歌詞データがある場合には、入力キーを種別する(ステップC50)。
【0047】
入力キーが文字である場合には、現アドレスに歌詞データがあるか否かを判別し(ステップC51)、歌詞データがある場合には、現アドレス以降の歌詞データを1つずつ後退させて、現アドレスを空き領域にする(ステップC52)。現アドレスに歌詞データがなく空き領域である場合、又はデータを後退させて空き領域にした場合には、その空き領域に入力キーに応じた歌詞データの文字を書き込む(ステップC53)。
【0048】
次に、直前アドレスの歌詞データの種類を判別する(ステップC54)。直前アドレスの歌詞データが文字、数値、又はスペースである場合には、歌詞データのアドレスを1つインクリメントし(ステップC55)、自動演奏データのアドレスを4つインクリメントする(ステップC56)。そして、表示を更新して(ステップC57)、メインフローに戻る。ステップC54において、直前アドレスの歌詞データが記号「+」である場合には、歌詞データのアドレスは1つインクリメントし(ステップC58)、自動演奏データのアドレスはインクリメントせずに、表示を更新して(ステップC57)、メインフローに戻る。
【0049】
例えば、図12において、歌詞データの文字「あ」「う」が自動演奏データの2つの音符にそれぞれ対応して表示され、自動演奏データ及び歌詞データの現アドレスを示す位置にカーソルが表示されている状態において、文字「お」がキー入力されたときは、ステップC52で「う」のアドレス以降の歌詞データを後退させて、「う」のアドレスを空き領域にして、ステップC53でその空き領域に入力キーに応じた歌詞データ「お」を書き込む。そして、ステップC55及びステップC56で歌詞データの現アドレス及び自動演奏データの現アドレスをインクリメントする。また、ステップC57で表示を更新して、歌詞データの文字「あ」「お」「う」が自動演奏データの3つの音符にそれぞれ対応して表示され、カーソル位置は次の音符に移動する。
【0050】
ステップC50において、入力キーが数値である場合には、文字の割り当てられていない音符数をカウントし(ステップC59)、そのカウント値に「1」を加算した値が入力された数値より小さいか否かを判別する(ステップC60)。「1」を加算するのは、すでに数値入力の前に音声を伸ばす最初の文字が1つの音符に対応して入力されており、その音符も入力される数値に含まれるからである。カウント値+「1」が入力数値より小さい場合には、入力数値に対して音符数が足りないので、キー入力が無効となりメインフローに戻る。カウント値+「1」が入力数値以上である場合には、直前アドレスの歌詞データの種類を判別する(ステップC61)。直前アドレスの歌詞データがスペース又は数値である場合には、数値の入力が無効であるのでメインフローに戻る。直前アドレスの歌詞データが文字である場合には、さらに2つ前のアドレスの歌詞データの種類を判別する(ステップC62)。2つ前のアドレスの歌詞データが記号「+」である場合には、直前アドレスの歌詞データは、3つ前のアドレスの文字の歌詞データと結合しているので、キー入力が無効となりメインフローに戻る。
【0051】
ステップC62において、2つ前のアドレスの歌詞データがスペース、数値又は文字である場合には、入力数値は有効である。この場合には、歌詞データの現アドレスに歌詞データがあるか否かを判別し(ステップC63)、歌詞データがある場合には、現アドレス以降の歌詞データを1つずつ後退させて、現アドレスを空き領域にする(ステップC64)。現アドレスに歌詞データがなく空き領域である場合、又はデータを後退させて空き領域にした場合には、その空き領域に入力キーに応じた歌詞データを書き込む(ステップC65)。そして、歌詞データのアドレスを1つインクリメントする(ステップC66)。次に、入力キーの種別を判別する(ステップC67)。入力キーが数値である場合には、その数値から「1」を減算して「4」を乗算した値を自動演奏データのアドレスに加算する(ステップC68)。そして、表示を更新して(ステップC69)、メインフローに戻る。
【0052】
例えば、図13において、直前アドレスに歌詞データ「さ」が入力されて、歌詞データの文字「た」「の」「さ」が自動演奏データの3つの音符にそれぞれ対応して表示され、「さ」に対応する音符の次の音符の位置にカーソルが表示されている状態において、数値「4」がキー入力されたときは、ステップC59でカウントされた文字の割当のない音符数「3」に「1」を加算した数「4」は、入力数値「4」と同じであると判別される。また、ステップC61で直前アドレスの歌詞データ「さ」が文字と判別され、2つ前のアドレスの歌詞データ「の」も文字であると判別される。次に、ステップC63で現アドレスに歌詞データがないと判別される。そして、図13に示すように、ステップC65で歌詞データの数値「4」が書き込まれ、ステップC66〜ステップC68を経て、ステップC69で表示が更新される。この表示更新によって、図13に示すように、4つの音符に対して、1つの文字「さ」及び音声を伸ばす3つの記号「ー」が自動的に表示される。この場合において、4つ目の音符は曲の最後の音符であるので、カーソル位置は音符のない位置に表示される。
【0053】
ステップC50において、入力キーの種別がスペースである場合には、直前アドレスの歌詞データの種別を判別する(ステップC70)。直前アドレスの歌詞データが文字、数値、又はスペースである場合には、歌詞データの現アドレスに歌詞データがあるか否かを判別し(ステップC63)、歌詞データがある場合には、現アドレス以降の歌詞データを1つずつ後退させて、現アドレスを空き領域にする(ステップC64)。現アドレスに歌詞データがなく空き領域である場合、又はデータを後退させて空き領域にした場合には、その空き領域に入力キーに応じたスペース(発音禁止)の歌詞データを書き込む(ステップC65)。そして、歌詞データのアドレスを1つインクリメントする(ステップC66)。次に、入力キーの種別を判別する(ステップC67)。入力キーがスペースである場合には、自動演奏データのアドレスに「4」を加算する(ステップC71)。そして、表示を更新して(ステップC69)、メインフローに戻る。
【0054】
ステップC70において、直前アドレスの歌詞データが記号「+」である場合には、3つ前のアドレスの歌詞データの種別を判別する(ステップC72)。その歌詞データが、記号でなく文字、数値、又はスペースである場合には、現アドレスに歌詞データがあるか否かを判別する(ステップC73)。歌詞データがある場合には、現アドレス以降の歌詞データを1つずつ後退させて、現アドレスを空き領域にする(ステップC74)。現アドレスに歌詞データがなく空き領域である場合、又はデータを後退させて空き領域にした場合には、その空き領域に入力キーに応じた歌詞データの文字を書き込む(ステップC75)。次に、歌詞データのアドレスを1つインクリメントする(ステップC76)。そして、表示を更新する(ステップC77)。この場合には、スタッカート的な発音を行うので、歌詞の文字は他と表示形態を変える。ステップC77の表示更新の後は、メインフローに戻る。
【0055】
例えば、図14において、歌詞データの文字「い」「き」が自動演奏データの2つの音符にそれぞれ対応して表示され、自動演奏データ及び歌詞データの現アドレスを示す位置にカーソルが表示されている状態において、記号「+」がキー入力された後に、スペースがキー入力されたときは、ステップC72で3つ前のアドレスの歌詞データである文字「い」を判別し、ステップC73〜ステップC76を経て、ステップC77で表示を変更する。この場合は、スタッカートの発音になるので、対応する2番目の音符の上にスタッカートを示す「・」を表示するとともに、歌詞の文字「き」の表示形態を変える。
【0056】
さらに、文字「み」がキー入力された後に、記号「+」がキー入力され、その後にスペースがキー入力されたときは、ステップC72で3つ前のアドレスの歌詞データである「スペース」を判別し、ステップC73〜ステップC76を経て、ステップC77で表示を変更する。この場合も、スタッカートの発音になるので、対応する3番目の音符の上にスタッカートを示す「・」を表示するとともに、歌詞の文字「み」の表示形態を変える。
【0057】
図8のステップC72において、3つ前のアドレスの歌詞データが記号「+」である場合には、その記号「+」によって2つ前のアドレスの文字(2つ前の歌詞データは文字以外にないが、これについては後述する)が、4つ前のアドレスの文字(これも文字以外にない)と結合するので、ステップC50で判別されたキー入力のスペースは無効になる。したがって、ステップC72において、3つ前のアドレスの歌詞データが記号「+」である場合には、ステップC78に移行して新たな入力キーの操作を判別する。
【0058】
全ての音符に歌詞データの割当が済んでいる場合には、任意の音符に記号「+」を付けてその後に入力する文字と記号「+」の前に入力した文字とを結合させる場合のみ有効であり、記号「+」以外の歌詞データを入力することはできない。したがって、ステップC47において全ての音符に歌詞データの割当が済んでいる場合には、入力キーは記号「+」であるか否かを判別し(ステップC79)、記号でない場合には、直ちにメインフローに戻る。入力キーが記号である場合には、現在の自動演奏データのアドレスが先頭アドレスであるか否かを判別する(ステップC80)。先頭アドレスである場合には、記号の入力は無効であるので、直ちにメインフローに戻る。
【0059】
ステップC50において、入力キーが記号「+」である場合、又は、ステップC80で現在の自動演奏データのアドレスが先頭アドレスでない場合には、図9のフローにおいて、直前アドレスの歌詞データの種別を判別する(ステップC81)。直前アドレスの歌詞データがスペース又は数値である場合には、記号「+」によって歌詞データ同士を結合できないので、キー入力を無効として直ちにメインフローに戻る。また、直前アドレスの歌詞データが記号である場合には、記号のキー入力が2つ連続するので、この場合もキー入力を無効として直ちにメインフローに戻る。
【0060】
ステップC81において、直前アドレスの歌詞データが文字である場合には、現アドレスに歌詞データがあるか否かを判別する(ステップC82)。歌詞データがある場合には、現アドレス以降の歌詞データを1つずつ後退させて、現アドレスを空き領域にする(ステップC83)。現アドレスに歌詞データがなく空き領域である場合、又はデータを後退させて空き領域にした場合には、その空き領域に入力キーに応じた歌詞データの文字を書き込む(ステップC84)。そして、歌詞データのアドレスを1つインクリメントする(ステップC85)。次に、図8のフローのステップC78に移行して、入力キーが操作されたか否かを判別する。
【0061】
図15及び図16は、図3のフローのステップA12の自動演奏処理のフローである。この処理では、自動演奏データの読み出しを行い(ステップD1)、その読出データの判別を行う(ステップD2)。読出データがタイミングデータである場合には、図5のタイマインタラプトでインクリメントされるタイマ値が、読み出したタイミングデータに達したか否かを判別する(ステップD3)。タイミングデータに達したときは、タイミングデータの次のイベントデータを実行するので、自動演奏データのアドレスをインクリメントして(ステップD4)、ステップD1に移行して、次の自動演奏データを読み出す。
【0062】
ステップD2において、その読出データがキーオンイベントである場合には、そのイベントデータが最初のキーオンイベントであるか否かを判別する(ステップD5)。最初のキーオンイベントでない場合には、カーソル位置を次のキーオンイベントに歩進するが(ステップD6)、最初のキーオンイベントである場合には、まだそのイベントに対する自動演奏処理がなされていないので、カーソル位置の歩進は行わない。
【0063】
次に、メモリのレジスタCTが「0」であるか否かを判別する(ステップD7)。CTは、歌詞データの中の数値「2」〜「9」のいずれかのデータをストアするレジスタであり、メインフローのイニシャライズ処理では「0」にリセットされている。ステップD7において、CTが「0」である場合には、歌詞データがあるか否かを判別する(ステップD8)。歌詞データがある場合には、その歌詞データを読み出し(ステップD9)、読出データが文字であるかスペースのいずれであるかを判別する(ステップD10)。
【0064】
読出データが文字である場合には、歌詞データのアドレスをインクリメントする(ステップD11)。そして、インクリメントしたアドレスの歌詞データの種類を判別する(ステップD12)。その歌詞データが文字又はスペースである場合には、前アドレスで読み出した文字に対応する音声波形データを選択して、キーオンイベントの音高の読出速度で読み出す(ステップD13)。次に、自動演奏データのアドレスをインクリメントして(ステップD14)、メインフローに戻る。
【0065】
ステップD7において、CTが「0」でない場合には、1つの文字を複数の音符に割り当てて音声を伸ばす場合であるので、前アドレスで読み出した文字の母音部に対応する音声波形データを選択して、キーオンイベントの音高の読出速度で読み出す(ステップD15)。次に、CTの値をデクリメントする(ステップD16)。そして、自動演奏データのアドレスをインクリメントする(ステップD17)。次に、ステップC16の処理でCTが「0」になったか否かを判別する(ステップD18)。CTが「0」でない場合にはメインフローに戻るが、CTが「0」になった場合には、歌詞データのアドレスをインクリメントしてステップD8に移行して、歌詞データの有無を判別する。
【0066】
ステップD10において、読出データがスペースである場合には、その音符については無音であるので、自動演奏データのアドレス及び歌詞データのアドレスの両アドレスをインクリメントする(ステップD20)。そして、メインフローに戻る。すなわち、任意の1つの音符に対して、特定の記号であるスペースが割り当てられている場合には、その1つの音符の発音は禁止する。すなわち、1つの音符に対して特定の記号(スペース)が入力されて割り当てられた場合には、その1つの音符については発音を禁止させる。
【0067】
ステップD2において、読出データがキーオフイベントである場合には、現在発音中の音符に対応する文字の音声を消音する(ステップD21)。次に、自動演奏データ用アドレスをインクリメントして(ステップD22)、メインフローに戻る。
【0068】
ステップD2において、読出データがENDデータである場合、又はステップD8において歌詞データが無い場合には、モードフラグを「0(歌詞入力処理モード)」にセットして(ステップD23)、自動演奏データのアドレス及び歌詞データのアドレスの両アドレスをリセットし、カーソルを先頭位置へ移動する(ステップD24)。そして、メインフローに戻る。
【0069】
ステップD12において、歌詞データが数値又は記号である場合には、数値であるか又は記号「+」であるかの種類を判別する(ステップD25)。数値である場合には、図16のフローにおいて、レジスタCTにその数値をセットし(ステップD26)、前アドレスで読み出した文字に対応する音声波形データを選択して、キーオンイベントの音高の読出速度で読み出す(ステップD27)。そして、CTの値をデクリメントして(ステップD28)、自動演奏データのアドレスをインクリメントする(ステップD29)。そして、メインフローに戻る。すなわち、1つの音符に対して任意の1つの文字及び数値が入力された場合には、その1つの音符を含む数値で示す複数の音符に入力された1つの文字を対応させて割り当て、その1つの文字の音声を複数の音符の音高及び音長に基づいて発音させる。
【0070】
図15のステップD25において、歌詞データが記号である場合には、図16のフローにおいて、歌詞データのアドレスをインクリメントする(ステップD30)。そして、歌詞データを読み出し(ステップD31)、読出データが文字であるかスペースであるかを判別する(ステップD32)。文字である場合には、歌詞データのアドレスをインクリメントする(ステップD33)。そして、そのアドレスの歌詞データが文字であるか記号「+」であるかを判別する(ステップD34)。記号「+」である場合には、歌詞データのアドレスをインクリメントして(ステップD35)、そのアドレスの歌詞データを読み出し(ステップD36)、ステップD33に移行して、歌詞データのアドレスをインクリメントする。そして、ステップD34において、歌詞データが記号「+」である場合には、ステップD35、D36、D33、D34のループ処理を繰り返す。この場合には、1つの音符に対して、記号「+」で結合されている複数の文字の歌詞データを読み出す。
【0071】
ステップD34において、歌詞データが文字である場合には、前アドレスまでに連続して読み出した文字に対応する音声波形データを選択して、キーオンイベントの音高の読出速度で順次読み出す(ステップD37)。次に、自動演奏データのアドレスをインクリメントする(ステップD38)。そして、メインフローに戻る。すなわち、1つの音符に対して特定の記号が入力された場合には、当該特定の記号の前後に入力された文字を結合して複数の文字を当該1つの音符に対応させて割り当て、当該割り当てられた複数の文字の音声を対応する1つの音符の音高及び音長に基づいて発音させる。
【0072】
ステップD32において、読出データがスペースである場合には、自動演奏データのアドレスをインクリメントして(ステップD39)、キーオフタイミングデータを読み出す(ステップD40)。次に、キーオフタイミングデータから直前のキーオンタイミングデータを減算した値を「2」で除算し、さらにその除算した値をキーオフタイミングデータから減算する演算を行って、その演算結果をキーオフタイミングデータとする(ステップD41)。この場合には、発音時間を自動演奏データの音長の半分に短縮する。
【0073】
次に、前アドレスで読み出した文字に対応する音声波形データを選択して、キーオンイベントの音高の読出速度で読み出す(ステップD42)。次に、自動演奏データのアドレスをインクリメントする(ステップD43)。そして、図15のステップD3に移行して、タイマ値が音長を短縮したキーオフタイミングデータに達したか否かを判別する。すなわち、キーボード3から任意の1つの文字の入力の後に特定の記号が入力された場合において、当該特定の記号の直後に別の特定の記号が入力された場合には、当該任意の1つの文字、前記特定の記号及び前記別の特定の記号を1つの音符に割り当て、当該1つの音符の音長よりも短い時間で発音させる。
【0076】
上記実施形態における音声割当装置の第の発明は、複数種の文字及び数値を含む歌詞データをそれぞれ同様の操作形態にて入力可能な入力手段(キーボード3)と、この入力手段から入力され歌詞データを曲の音符に対して割り当てる際に、文字が続けて入力されたときには、この入力された各文字を音符1つずつに対して順次割り当て、数値及び文字が続けて入力されたときには、この入力された数値に対応する数の音符に対して、前記入力された文字を割り当てる歌詞割当手段(CPU1)と、この歌詞割当手段によって各音符に対して割り当てられた各文字に対応する音声を、前記各音符の音高及び音長に応じて発音させる発音制御手段(CPU1)と、を備えた構成になっている。
【0077】
上記構成によれば、文字が続けて入力された場合には、その入力された各文字を音符1つずつに対して順次割り当て、数値及び文字が続けて入力された場合には、その入力された数値に対応する数の音符に対してその入力された文字を割り当て、その割り当てられた各文字の音声を対応する音符の音高及び音長に基づいて発音させる。したがって、複数の音符に長く伸ばして発音する1つの音声が対応する場合の文字の割当の操作を簡単にすることができる。
【0080】
また、上記実施形態における音声割当装置の第の発明は、複数種の文字及び当該文字とは異なる記号を含む歌詞データをそれぞれ同様の操作形態にて入力可能な入力手段(キーボード3)と、この入力手段から入力される歌詞データを楽曲の各音符に対して割り当てる際に、文字が続けて入力されたときには、この入力された各文字を音符1つずつに対して順次割り当て、文字及び記号(+スペース)が続けて入力されたときには、この入力された文字及び記号を併せて1つの音符に対して割り当てる歌詞割当手段(CPU1)と、この歌詞割当手段によって各音符に対して割り当てられた各文字に対応する音声を、前記各音符の音高及び音長に応じて発音させると共に、1つの音符に対して文字及び記号が割り当てられている場合は、この音符の音長よりも短い時間(音長÷2)で音声を発音させる発音制御手段(CPU1)と、を備えた構成になっている。
上記構成によれば、文字が続けて入力された場合には、その入力された各文字を音符1つずつに対して順次割り当て、文字及び記号が続けて入力された場合には、その入力された文字及び記号を併せて1つの音符に対して割り当て、文字のみが割り当てられた音符は、その文字の音声を対応する音符の音高及び音長で発音させ、文字及び記号が割り当てられた音符は、その文字の音声を対応する音符の音高及びその音符の音長よりも短い時間で発音させる。したがって、スタッカートのように音長の半分に対して無音の割当ができ、さらにその音声割当を簡単な歌詞入力操作で実現することができる。
【0083】
なお、上記実施形態においては、音声割当装置の発明について説明したが、この音声割当装置が実行する音声割当方法もまた、発明を構成する。
【0090】
また、上記実施形態における音声割当方法における音声割当処理のプログラムを、フレキシブルディスク、ハードディスク、CD、光ディスクその他の記録媒体に記録して、汎用のパソコンやワークステーションによってこの記録媒体のプログラムを読み出して実行することもできる。すなわち、記録媒体の発明が成立する。
【0097】
なお、上記実施形態においては、文字を結合する特定の記号や無音を示す特定の記号を入力するキーとして、「+」キーや「スペース」キーを用いたが、他のキーを用いてもよい。また、どのキーを用いるかはユーザが任意に指定する構成にしてもよい。
【0099】
【発明の効果】
請求項の発明によれば、文字が続けて入力された場合には、その入力された各文字を音符1つずつに対して順次割り当て、数値及び文字が続けて入力された場合には、その入力された数値に対応する数の音符に対してその入力された文字を割り当て、その割り当てられた各文字の音声を対応する音符の音高及び音長に基づいて発音させる。したがって、複数の音符に長く伸ばして発音する1つの音声が対応する場合の文字の割当の操作を簡単にすることができる。
【0100】
請求項の発明によれば、文字が続けて入力された場合には、その入力された各文字を音符1つずつに対して順次割り当て、文字及び記号が続けて入力された場合には、その入力された文字及び記号を併せて1つの音符に対して割り当て、文字のみが割り当てられた音符は、その文字の音声を対応する音符の音高及び音長で発音させ、文字及び記号が割り当てられた音符は、その文字の音声を対応する音符の音高及びその音符の音長よりも短い時間で発音させる。したがって、簡単な歌詞入力操作でスタッカートのように音長の半分に対して無音の割当ができるようにすることができる。
【図面の簡単な説明】
【図1】本発明の実施形態における音声割当装置のシステム構成を示すブロック図。
【図2】図1のメモリに記憶されたデータの例を示す図。
【図3】図1のCPUによって実行されるプログラムのメインフローチャート。
【図4】図1のディスプレイに表示された画面表示の例を示す図。
【図5】図3のメインフローチャートにおけるタイマインタラプトのフローチャート。
【図6】図3のメインフローチャートにおける歌詞入力処理のフローチャート。
【図7】図6に続く歌詞入力処理のフローチャート。
【図8】図7に続く歌詞入力処理のフローチャート。
【図9】図8に続く歌詞入力処理のフローチャート。
【図10】実施形態における自動演奏データと歌詞データとの関係を示す図。
【図11】実施形態における歌詞入力処理の表示例を示す図。
【図12】実施形態における歌詞入力処理の表示例を示す図。
【図13】実施形態における歌詞入力処理の表示例を示す図。
【図14】実施形態における歌詞入力処理の表示例を示す図。
【図15】メインフローチャートにおける自動演奏処理のフローチャート。
【図16】図15に続く自動演奏処理のフローチャート。
【図17】従来例における歌詞入力処理の方法を説明する図。
【符号の説明】
1 CPU
3 キーボード
4 メモリ
5 ディスプレイ
6 サウンドシステム
[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a voice assignment device, a voice assignment method, and a recording medium on which a voice assignment processing program is recorded.
[0002]
[Prior art]
Some automatic performance devices have a function of allocating lyrics to the melody of a song to be played and generating the sound of the lyrics along with the automatic performance. When lyrics are assigned to the melody, the notes of the performance music are displayed on the screen of the display device, and the lyric characters are assigned to each note. For example, in FIG. 17, “Kimi ga Boku” and one character are assigned to each note with respect to the five notes at the upper left of the drawing. In addition, when one letter “sa” is assigned to the last four notes in the upper right six notes in the figure to extend the pronunciation, the letter “sa” is assigned to the first note and the rest Each of the three notes is assigned a letter “A (A)” which is a vowel of the voice “SA (SA)” for each note.
[0003]
[Problems to be solved by the invention]
  However, in the conventional lyrics assignment technique, when one voice corresponds to a plurality of notes, the operation of assigning vowel characters to all the second and subsequent notes is complicated. Also, it was not possible to assign silence to notes that did not produce speech.
  The first problem of the present invention is to simplify the operation of assigning characters when one voice corresponds to a plurality of notes.
  First of the present invention2The problem is to make it possible to assign silence to notes that do not produce speech.
[0008]
[Means for Solving the Problems]
  Claim1The invention according toMultiple speciescharacteras well asLyric data including numerical valuesEach can be input in the same operation modeInput means and input from this input meansRuLyric dataeasyOf the songeachNoteforWhen assigningWhen characters are entered in succession, each entered character is sequentially applied to one note at a time.allocation,When a numerical value and a character are continuously input, the input character is changed with respect to the number of notes corresponding to the input numerical value.The lyrics allocating means to be assigned and the lyrics allocating meansThe voice corresponding to each letter assigned to each note isTo note pitch and pitchAccordingAnd a sound generation control means for generating sound.
[0009]
  Claim3The invention according toMultiple speciescharacteras well asLyric data including numerical valuesEach with the same operation formInput processing and inputRuLyric dataeasyOf the songeachNoteforWhen assigningWhen characters are entered in succession, each entered character is sequentially applied to one note at a time.allocation,When a numerical value and a character are continuously input, the input character is changed with respect to the number of notes corresponding to the input numerical value.The lyrics assignment process to assign and the lyrics assignment processThe voice corresponding to each letter assigned to each note isTo note pitch and pitchAccordingAnd a sound generation control process for generating sound.
[0010]
  Claim5The invention according toMultiple speciescharacteras well asLyric data including numerical valuesEach of the same formProcedure A to be input according to the operation and input by this procedure ARuLyric dataeasyOf the songeachNoteforWhen assigningWhen characters are entered in succession, each entered character is sequentially applied to one note at a time.allocation,When a numerical value and a character are continuously input, the input character is changed with respect to the number of notes corresponding to the input numerical value.Assign procedure B and this procedure BThe voice corresponding to each letter assigned to each note isTo note pitch and pitchAccordingA recording medium recording a program for voice assignment processing including the procedure C for generating sound.
[0011]
  Claim1, Claims3, Claims5According to the invention according toFollowed by lettersIf entered, theEach input character is assigned to one note at a time, and when a numerical value and a character are input consecutively, the input character is assigned to the number of notes corresponding to the input numerical value.Assign thatEach assignedThe voice of the letterCorrespondingSound is generated based on the pitch and length of the note.
[0012]
  Claim2The invention according toMultiple speciescharacterAnd different from the characterLyric data including symbolsEach can be input in the same operation modeInput means and this input meansFromEnteredRuLyric dataeasyOf the songeachNoteforWhen assigningWhen characters are entered in succession, each entered character is sequentially applied to one note at a time.allocation,When characters and symbols are continuously input, the input characters and symbols are combined for one note.Lyric assigning means, and the lyrics assigning meansThe voice corresponding to each letter assigned to each note isTo note pitch and pitchAccordingTo pronounceAndOne noteFor characters andAssigned a symbolIf it is, the voice is pronounced in a time shorter than the note length.And a sound generation control means.
[0013]
  Claim4The invention according toMultiple speciescharacterAnd different from the characterLyric data including symbolsEach with the same operation formInput processing and inputRuLyric dataeasyOf the songeachNoteforWhen assigningWhen characters are entered in succession, each entered character is sequentially applied to one note at a time.allocation,When characters and symbols are continuously input, the input characters and symbols are combined for one note.Lyric assignment process and the lyrics assignment processThe voice corresponding to each letter assigned to each note isTo note pitch and pitchAccordingTo pronounceAndOne noteFor characters andAssigned a symbolIf it is, the voice is pronounced in a time shorter than the note length.A sound generation control process,TheExecute.
[0014]
  Claim6The invention according toMultiple speciescharacterAnd different from the characterLyric data including symbolsEach of the same formProcedure A to be input according to the operation and input by this procedure ARuLyric dataeasyOf the songeachNoteforWhen assigningWhen characters are entered in succession, each entered character is sequentially applied to one note at a time.allocation,When characters and symbols are continuously input, the input characters and symbols are combined for one note.And assigning procedure B and this procedure BThe voice corresponding to each letter assigned to each note isTo note pitch and pitchAccordingTo pronounceAndOne noteFor characters andAssigned a symbolIf it is, the voice is pronounced in a time shorter than the note length.And a recording medium recording a program for voice assignment processing including the procedure C.
[0015]
  Claim2, Claims4, Claims6According to the invention according toWhen characters are input continuously, the input characters are sequentially assigned to one note at a time.SigncontinueIf entered, theThe input characters and symbols are assigned to one note, and a note to which only a character is assigned causes the sound of that character to be pronounced at the pitch and length of the corresponding note, and the character and symbol are assigned. A note is played in a time shorter than the pitch of the corresponding note and the note length.Let
[0016]
DETAILED DESCRIPTION OF THE INVENTION
Hereinafter, embodiments of the voice allocation apparatus according to the present invention will be described.
FIG. 1 is a diagram illustrating a system configuration of a voice allocation device according to an embodiment. The CPU 1 exchanges commands and data with the keyboard 3, memory 4, display 5, and sound system 6 connected via the system bus 2 to control the entire apparatus.
[0017]
Although not shown in the figure, the keyboard 3 has a mode switching key for switching operation modes, a character key for inputting lyrics data, a symbol key, a numeric key, a space key, a delete key for erasing lyrics data, and a cursor. Cursor keys for moving are provided. The memory 4 includes a program area for storing a program executed by the CPU 1, a data area for storing voice waveform data, automatic performance data, and lyrics data, and other various register and flag areas necessary for executing the program.
[0018]
FIG. 2 is a diagram showing the contents of the data area of the memory 4. The voice waveform data stores PCM waveform data corresponding to the lyrics voice “A, I, U, E, O, Ka, Ki,...”. At the time of sound generation, the sound is read out at a reading speed corresponding to the pitch of the sound and sent to the sound system 6. The automatic performance data is composed of a combination of timing data and event data. The end of the automatic performance data is END data, and is configured to identify the end of the song. The key-on timing or key-off timing represents the time until the on event or the off event. The lyric data is composed of voice characters corresponding to the automatic performance music, symbols “+”, numerical values “2” to “9”, and spaces. The contents of lyric data and their roles will be described later.
[0019]
The display 5 in FIG. 1 displays an image of a cursor, which is an image that clearly shows the relationship between a musical score composed of notes and the like, lyrics, and lyric characters corresponding to the notes at the time of lyrics input processing and automatic performance processing described later. To do. Although not shown in the figure, the sound system 6 includes a sound source that generates an audio signal, a D / A converter that converts audio waveform data read from the memory 4 from a digital to an analog audio signal, and unnecessary components of the audio signal. A filter for removing, an amplifier for amplifying an audio signal, a speaker, and the like are provided. Then, sound generation is performed in accordance with the sound generation process and the voice waveform data from the CPU 1, and the sound is silenced in accordance with the mute process.
[0020]
Next, the operation of the voice assignment device shown in FIG. 1 will be described in detail based on the flowchart of the program executed by the CPU 1 and the content displayed on the screen of the display 5.
[0021]
FIG. 3 is a main flow of a program executed by the CPU 1. In this process, after the initialization process (step A1), automatic performance data is read from the memory (step A2), a score is created based on the data, and displayed on the display (step A3). Next, it is determined whether or not the lyric data corresponding to the automatic performance data exists in the memory (step A4). If there is lyrics data, the lyrics data is read (step A5), and the lyrics are displayed on the display in correspondence with the score (step A6). After the lyrics are displayed in step A6, or when there is no lyrics data corresponding to the score in step A4, the cursor is positioned at the head position across the score display area and the lyrics display area as shown in FIG. (Step A7). That is, an image that clearly shows the relationship between one note and the lyrics characters corresponding to the one note is displayed on the screen.
[0022]
Next, it is determined whether or not the mode switching key has been operated (step A8), and when operated, the mode flag is inverted (step A9). Also, both the addresses of the automatic performance data and the lyrics data are reset, the timer is reset, and the mute process is performed. If the cursor is not at the head position, the cursor moves to the head position (step A10). Then, it is determined whether the mode flag is “1” or “0” (step A11). When the mode flag is “1”, automatic performance processing is performed (step A12), and when the mode flag is “0”, lyrics input processing is performed (step A13). Next, other processing is performed (step A14). Then, the loop processing from step A8 to step A14 is repeatedly executed.
[0023]
In step A10, after resetting the timer, the timer interrupt processing routine shown in FIG. 5 is entered at regular intervals, the timer value is incremented (step B1), and the process returns to the main routine again. This timer value represents the passage of time of the automatic performance data in the case of the automatic performance processing in step A12 of FIG. 3, and it is determined whether or not the key-on timing and key-off timing have been reached by this timer value.
[0024]
Next, the lyrics input process in step A13 of the main flow of FIG. 3 will be described. The input lyric data is the “character” that is the target of the pronunciation voice, the “+” symbol that joins the letters, and the target when the voice is extended over a plurality of notes of the automatic performance data. It consists of a numerical value from “2” to “9” indicating the number of notes, and “space” in the case of a staccato that prohibits pronunciation or produces a short sound. When inputting the lyrics, as shown in FIG. 4, the cursor is displayed on the display screen at the position of the notes of the automatic performance data and the notes to which the lyrics are to be input, and the user inputs the lyrics while watching the screen. I do.
[0025]
6 to 9 are flowcharts of lyrics input processing, FIG. 10 is a diagram showing the relationship between automatic performance data and lyrics data, and FIGS. 11 to 14 are display examples according to the lyrics data to be input. FIG.
[0026]
In FIG. 6, it is determined whether or not the cursor position has been moved (step C1). If the operation of stepping up the cursor is performed, the type of lyrics data at the next address is determined (step C2). If the lyric data at the next address is characters, symbols, spaces, or if there is no lyric data, "4" is added to the address of the automatic performance data, and whether or not the data at that address is END data Is discriminated (step C3).
[0027]
For example, in FIG. 10A, when the cursor position is on the note n7, the cursor position cannot be advanced. That is, in this case, since the address of the automatic performance data is the address of the key-on timing data of n7 in FIG. 10 (B), when "4" is added to the address of the automatic performance data in step C3, it is added. The address data is END data. Therefore, when the added address data is END data, the cursor cannot be moved. On the other hand, if the added address data is not END data in step C3, the next address obtained by adding “4” to the current address for automatic performance data is designated as the address of the note to be moved by the cursor (step C4). .
[0028]
In step C2, if the lyrics data of the next address is a numerical value, a plurality of notes corresponding to the numerical value correspond to the lyrics of one character. In the example of FIG. 10A, the voice of the lyrics “ka” is assigned to three notes n2, n3, and n4. In this case, as shown in FIG. 10B, the address data from the key-on timing data n2 of the automatic performance data to the key-off event n4 for the character “ka” and the numerical value “3” of the lyrics data. Corresponds. Therefore, the address of the automatic performance data corresponding to the lyric data of the next address is an address obtained by adding a value obtained by multiplying the numerical value by “4” to the current address of the automatic performance data. In step C5 of FIG. 6, it is determined whether or not the automatic performance data at the next address is END data (step C5). When the data at the added address is END data, the cursor cannot be moved, so the cursor step operation is invalid, and other key inputs are discriminated. However, when the data at the added address is not END data, The next address obtained by adding the value obtained by multiplying the current address for automatic performance data by "4" to the numerical value is designated as the address of the note to be moved by the cursor (step C6).
[0029]
After the next address is designated in step C4 or step C6, it is determined whether or not there is lyrics data at the current address (step C7). If there is lyric data, the type of lyric data at the next address is determined (step C8). If the lyrics data at the next address is a numerical value, “2” is added to the address of the lyrics data (step C9), and the cursor position is incremented (step C10). For example, in the example of FIG. 10, when the lyrics data at the current address is the character “ka”, the lyrics data at the next address is the numerical value “3”. In this case, in step C9, “2” is added to the current address of the lyrics data to change the current address to the address of the character “NA”. Further, the current address of the automatic performance data is changed to the address of the key-on timing data of n5 by the process of step C6. Accordingly, the cursor position is changed to the position of the n5 note and the lyric character “NA” in FIG.
[0030]
In step C8, if the lyrics data at the next address is a symbol, "2" is added to the address of the lyrics data (step C11), and the type of the lyrics data at the next address of the added address is determined (step C11). Step C12). If the lyrics data at the next address is character, space, or lyrics data, “1” is further added to the address of the lyrics data (step C13). Then, the cursor position is incremented (step C10).
[0031]
For example, in FIG. 10B, when the lyrics data at the current address is “ha”, the lyrics data at the next address is the symbol “+”. In this case, "2" is added to the current address of the lyric data by the process of step C11 to set the address of the lyric data "ru" as the current address, and further, "1" is added to the current address by the process of step C13. ] Is added to the address of the lyrics data “ka”. Further, the cursor position is moved from the position of the n1 note in FIG. 10A to the position of the n2 note by the processing of step C10.
[0032]
If the lyric data at the next address is a symbol at step C12, “2” is added to the address of the lyric data again at step C11. For example, if three lyric characters “you” are assigned to one note of the automatic performance data, the lyric data includes the characters “A”, the symbol “+”, the character “NA”, and the symbol “N”. “+” And the letter “ta”. In this case, the address of the lyrics data is added by “4” by the processing of steps C11 and C12, and further, the address of the lyrics data is added by “1” in step C13.
[0033]
If there is no lyric data at the current address in step C7, or if the lyric data at the next address is a character or space in step C8, or if there is no lyric data, "1" is set in the address of the lyric data. Addition is performed (step C13), and the cursor position is incremented (step C10).
[0034]
If the cursor position movement operation is backward in step C1, it is determined whether or not the address of the automatic performance data is the head address (step C14). If it is the first address, the cursor position cannot be moved backward, so the cursor backward operation is invalid, and other key inputs are determined. If it is not the first address, the type of lyrics data at the previous address is determined. (Step C15). If there is no lyrics data at the previous address, “1” is subtracted from the current address of the lyrics data (step C16), and “4” is subtracted from the address of the automatic performance data (step C17). Then, the cursor position is moved backward (step C18).
[0035]
If the lyric data at the previous address is a character or a space at step C15, "1" is subtracted from the current address of the lyric data (step C19), and the type of the lyric data at the previous address is further determined (step C15). C20). If the lyrics data at the immediately preceding address is a symbol, “2” is subtracted from the current address of the lyrics data (step C21), and the type of the lyrics data is determined again at step C20. If the lyric data is a character or a space, “4” is subtracted from the current address of the automatic performance data (step C17). Then, the cursor position is moved backward (step C18).
[0036]
For example, in FIG. 10A, when the cursor position is on the note of n2, and the cursor position is moved backward, the lyrics data at the current address at that time is “ka” in FIG. The lyric data at the immediately preceding address is “RU”, and the lyric data at the immediately preceding address is the symbol “+”. In this case, “1” is subtracted from the address of the lyrics data in the process of step C19, the address of the lyrics data “ru” is made the current address, and “2” is subtracted from the address of the lyrics data in the process of step C17. Then, the address of the lyrics data “ha” is set as the current address. Then, the address of the automatic performance data is subtracted by “4” in the process of step C17. Therefore, in FIG. 10B, the address of the automatic performance data is changed from the key-on timing data of n2 to the address of the key-on timing data of n1. Further, the cursor position is moved backward from the position of the n2 note in FIG. 10A to the position of the n1 note in the process of step C18.
[0037]
In step C15, when the lyrics data at the previous address is a numerical value, "2" is subtracted from the current address of the lyrics data (step C22), and the numerical value is multiplied by "4" from the current address of the automatic performance data. The value is subtracted (step C23). Then, the cursor position is moved backward (step C18).
[0038]
For example, in FIG. 10A, when the cursor position is on the note of n5 and the cursor position is moved backward, the lyrics data at the current address at that time is “NA” in FIG. The lyric data at the immediately preceding address is the numerical value “3”. In this case, “2” is subtracted from the address of the lyrics data “NA” in the process of step C22, and the address of the lyrics data “KA” is made the current address. Further, the address of the automatic performance data is subtracted by “3 × 4 = 12” in the process of step C23, and in FIG. 10B, the address of the automatic performance data is changed from the key-on timing data of n5 to the key-on timing data of n2. Change to address. Further, the cursor position is moved backward from the position of the note n5 in FIG. 10A to the position of the note n2 in the process of step C18.
[0039]
After stepping the cursor position in Step C10, after moving the cursor position back in Step C18, or when there is no cursor moving operation in Step C1, or in Steps C3, C5, and C14, it is determined that the cursor moving operation is invalid If so, it is determined whether or not the delete key is operated in the flow of FIG. 8 (step C24). If the delete key is operated, it is determined whether or not there is lyrics data at the current address (step C25). If there is no lyric data, the process immediately returns to the main flow, but if there is lyric data, the lyric data at the current address is deleted (step C26). Thereafter, the type of the lyrics data at the next address is determined (step C27). If the determined lyric data is a character or a space, the empty area generated by the process of step C26 is filled (step C28). Then, the display is updated (step C29), and the process returns to the main flow.
[0040]
For example, in FIG. 11A, when the delete key is operated when the cursor position is at the letter “GA” of the lyrics, the lyrics data “GA” is deleted in the process of step C26. In this case, the lyric data at the next address is the character “B”, and the area of the character “GA” in the lyric data shown in FIG. Fill free space. As a result, the lyrics are changed to the lyrics shown in FIG.
[0041]
If the lyrics data determined in step C27 is a numerical value, the address of the lyrics data is incremented (step C30), and the lyrics data at the current address, that is, the numerical value is deleted (step C31). Then, it is determined whether or not there is lyrics data at the next address (step C32). If there is lyric data, the empty area generated by the process of step C31 is filled (step C33). After filling the empty area or when there is no lyrics data at the next address in step C32, the address of the lyrics data is decremented (step C34). Then, the display is updated (step C29), and the process returns to the main flow.
[0042]
When the lyric data determined in step C27 is a symbol, the address of the lyric data is incremented (step C35), and the value of the register AC is incremented (step C36). AC is a register for adjusting an address between automatic performance data and lyrics data. In the initialization, AC is reset to “0”. After AC is incremented, the lyric data at the current address is deleted (step C37). Thereafter, the address of the lyrics data is further incremented (step C38), the value of AC is incremented (step C39), and the lyrics data at the current address is deleted (step C40).
[0043]
Next, it is determined whether or not the lyrics data at the next address is a symbol (step C41). If it is a symbol, the process proceeds to step C35, and the above processes up to step C41 are executed. If the lyrics data at the next address is not a symbol at step C41, it is determined whether or not there is lyrics data at the next address (step C42). If there is lyric data, the empty area generated by erasing the lyric data in steps C37 and C40 is filled (step C42). After filling the empty area or when there is no lyrics data at the next address in step C42, the value of AC is subtracted from the address of the lyrics data (step C44), and AC is reset to “0” (step C45). ). Thereafter, the display is updated (step C29), and the process returns to the main flow.
[0044]
For example, in FIG. 11D, when the lyric data at the current address is “B” and the address is k, when the lyric data is deleted in the process of step C26, the determination is made in step C27. The lyrics data at the address k + 1 is the symbol “+”. Accordingly, the address k of the lyrics data is incremented to k + 1 in step C35, and the AC value is incremented from “0” to “1” in step C36. In step C37, the symbol “+” of the lyrics data at the current address k + 1 is deleted. Further, the address k + 1 of the lyrics data is incremented to k + 2 in step C38, and the AC value is incremented from “1” to “2” in step C39. In step C40, “ku” is deleted from the lyrics data at the current address k + 2.
[0045]
Next, in step C41, it is determined that the lyric data at the next address k + 3 is not a symbol (the character “is”), and in step C42, it is determined that there is lyric data at the next address k + 3. Therefore, the empty areas k, k + 1, k + 2 generated by erasure in step C43 are filled. Then, the AC value “2” is subtracted from the current address k + 2 of the lyrics data to obtain the current address k. As a result, in the lyrics data in FIG. 11D, “O” is set in the area of the current address k.
[0046]
If the delete key is not operated in step C24, it is determined whether or not the input key is operated in the flow of FIG. 8 (step C46). If the input key is not operated, the process returns to the main flow, but if the input key is operated, it is determined whether or not the lyric data has been assigned to all the notes (step C47). If the lyric data has not been assigned to all the notes, it is determined whether or not the current automatic performance data address is the head address (step C48). If it is not the head address, it is determined whether or not there is lyrics data at the previous address (step C49). If there is no lyrics data at the immediately preceding address, the process immediately returns to the main flow, but if there is lyrics data, the input key is classified (step C50).
[0047]
If the input key is a character, it is determined whether or not there is lyrics data at the current address (step C51). If there is lyrics data, the lyrics data after the current address are moved backward one by one, The current address is made an empty area (step C52). When there is no lyric data at the current address and it is an empty area, or when the data is moved backward to make an empty area, the characters of the lyrics data corresponding to the input key are written in the empty area (step C53).
[0048]
Next, the type of the lyrics data at the immediately preceding address is determined (step C54). When the lyrics data at the immediately preceding address is a character, a numerical value, or a space, the address of the lyrics data is incremented by 1 (step C55), and the address of the automatic performance data is incremented by 4 (step C56). Then, the display is updated (step C57), and the process returns to the main flow. In step C54, when the lyrics data at the previous address is the symbol “+”, the address of the lyrics data is incremented by 1 (step C58), and the display is updated without incrementing the address of the automatic performance data. (Step C57), the process returns to the main flow.
[0049]
For example, in FIG. 12, the letters “a” and “u” of the lyrics data are displayed corresponding to two notes of the automatic performance data, respectively, and the cursor is displayed at a position indicating the current address of the automatic performance data and the lyrics data. When the character “o” is keyed in the state of being in the state, the lyric data after the address “u” is moved backward in step C52, the address “u” is made an empty area, and the empty area is made in step C53. Write the lyric data "O" corresponding to the input key. In step C55 and step C56, the current address of the lyrics data and the current address of the automatic performance data are incremented. In step C57, the display is updated so that the characters “a”, “o”, and “u” in the lyrics data are displayed corresponding to the three musical notes of the automatic performance data, and the cursor position moves to the next musical note.
[0050]
In step C50, when the input key is a numerical value, the number of notes to which no character is assigned is counted (step C59), and a value obtained by adding “1” to the count value is smaller than the input numerical value. Is discriminated (step C60). The reason for adding “1” is that the first character for extending the voice is already input corresponding to one note before the numerical value is input, and that note is included in the input numerical value. When the count value + “1” is smaller than the input numerical value, the number of notes is insufficient with respect to the input numerical value, so the key input becomes invalid and the process returns to the main flow. If the count value + “1” is equal to or greater than the input numerical value, the type of the lyrics data at the immediately preceding address is determined (step C61). If the lyric data at the immediately preceding address is a space or a numerical value, the input of the numerical value is invalid and the process returns to the main flow. If the lyric data at the immediately preceding address is a character, the type of the lyric data at the previous address is further determined (step C62). If the lyric data at the address two before is the symbol “+”, the lyric data at the previous address is combined with the lyric data at the character three addresses before, so the key input becomes invalid and the main flow. Return to.
[0051]
In step C62, if the lyrics data at the previous address is a space, a numerical value, or a character, the input numerical value is valid. In this case, it is determined whether or not there is lyric data at the current address of the lyric data (step C63). If there is lyric data, the lyric data after the current address is moved back one by one to obtain the current address. Is made an empty area (step C64). When there is no lyric data at the current address and it is an empty area, or when the data is moved backward to make an empty area, the lyric data corresponding to the input key is written in the empty area (step C65). Then, the address of the lyrics data is incremented by 1 (step C66). Next, the type of the input key is determined (step C67). If the input key is a numerical value, a value obtained by subtracting “1” from the numerical value and multiplying by “4” is added to the address of the automatic performance data (step C68). Then, the display is updated (step C69), and the process returns to the main flow.
[0052]
For example, in FIG. 13, lyric data “sa” is input to the previous address, and the characters “ta”, “no”, and “sa” in the lyric data are displayed corresponding to the three musical notes of the automatic performance data, respectively. In the state where the cursor is displayed at the position of the note next to the note corresponding to “”, when the numerical value “4” is key-input, the number of notes “3” with no character assignment counted in step C59 is set. The number “4” obtained by adding “1” is determined to be the same as the input numerical value “4”. In step C61, the lyrics data “sa” at the immediately preceding address is determined to be a character, and the lyrics data “no” at the previous address is also determined to be a character. Next, at step C63, it is determined that there is no lyrics data at the current address. Then, as shown in FIG. 13, the numerical value “4” of the lyric data is written in step C65, and the display is updated in step C69 through steps C66 to C68. As a result of this display update, as shown in FIG. 13, one character “sa” and three symbols “−” that extend the voice are automatically displayed for four notes. In this case, since the fourth note is the last note of the song, the cursor position is displayed at a position without a note.
[0053]
In step C50, when the type of the input key is a space, the type of the lyrics data at the immediately preceding address is determined (step C70). If the lyric data at the previous address is a character, a numerical value, or a space, it is determined whether or not there is lyric data at the current address of the lyric data (step C63). Are moved back one by one to make the current address a free area (step C64). If there is no lyric data at the current address and it is an empty area, or if the data is moved backward to make an empty area, the lyric data of the space (pronunciation prohibited) corresponding to the input key is written in the empty area (step C65). . Then, the address of the lyrics data is incremented by 1 (step C66). Next, the type of the input key is determined (step C67). If the input key is a space, “4” is added to the address of the automatic performance data (step C71). Then, the display is updated (step C69), and the process returns to the main flow.
[0054]
If the lyric data at the previous address is the symbol “+” at step C70, the type of the lyric data at the previous three addresses is determined (step C72). If the lyrics data is not a symbol but a character, a numerical value, or a space, it is determined whether or not there is lyrics data at the current address (step C73). If there is lyric data, the lyric data after the current address is moved back one by one to make the current address a free area (step C74). When there is no lyric data at the current address and it is an empty area, or when the data is moved backward to make an empty area, the characters of the lyrics data corresponding to the input key are written in the empty area (step C75). Next, the address of the lyrics data is incremented by 1 (step C76). Then, the display is updated (step C77). In this case, since the staccato-like pronunciation is performed, the display form of the characters of the lyrics is changed from the others. After the display update in step C77, the process returns to the main flow.
[0055]
For example, in FIG. 14, the letters “I” and “ki” in the lyric data are displayed corresponding to two notes of the automatic performance data, respectively, and the cursor is displayed at a position indicating the current address of the automatic performance data and the lyric data. In the state where the symbol “+” is keyed and a space is keyed, in step C72, the character “I” which is the lyrics data of the previous address is discriminated, and steps C73 to C76 are performed. After that, the display is changed in step C77. In this case, since the pronunciation is staccato, “·” indicating staccato is displayed on the corresponding second note, and the display form of the letter “ki” of the lyrics is changed.
[0056]
Further, when the character “mi” is keyed in and then the symbol “+” is keyed in and then a space is keyed in, “space” which is the lyric data of the address three times before is entered in step C72. After the determination, the display is changed in step C77 through steps C73 to C76. In this case as well, since the pronunciation is staccato, “·” indicating staccato is displayed on the corresponding third note, and the display form of the letter “mi” of the lyrics is changed.
[0057]
In step C72 of FIG. 8, when the lyrics data at the third previous address is the symbol “+”, the character at the second previous address is displayed by the symbol “+” (the second previous lyric data is not a character). However, since this will be combined with the character at the previous address (this is also not a character), the key input space determined at step C50 becomes invalid. Therefore, in step C72, when the lyric data at the third previous address is the symbol “+”, the process proceeds to step C78 to determine the operation of a new input key.
[0058]
When all the notes have been assigned lyric data, this is valid only when the symbol “+” is added to any note and the character entered after that is combined with the character entered before the symbol “+”. Therefore, it is not possible to input lyrics data other than the symbol “+”. Therefore, when the lyric data has been assigned to all the notes in step C47, it is determined whether or not the input key is the symbol “+” (step C79). Return to. If the input key is a symbol, it is determined whether or not the address of the current automatic performance data is the head address (step C80). If it is the head address, the input of the symbol is invalid, and the process immediately returns to the main flow.
[0059]
If the input key is “+” in step C50, or if the address of the current automatic performance data is not the start address in step C80, the type of the lyric data at the previous address is determined in the flow of FIG. (Step C81). If the lyric data at the immediately preceding address is a space or a numerical value, the lyric data cannot be combined with the symbol “+”, so the key input is invalidated and the process immediately returns to the main flow. In addition, when the lyric data at the immediately preceding address is a symbol, two key inputs for the symbol are continuous. In this case as well, the key input is invalidated and the process immediately returns to the main flow.
[0060]
In step C81, if the lyrics data at the previous address is a character, it is determined whether or not there is lyrics data at the current address (step C82). If there is lyric data, the lyric data after the current address is moved back one by one to make the current address a free area (step C83). If there is no lyric data at the current address and it is an empty area, or if the data is moved backward to make an empty area, the characters of the lyrics data corresponding to the input key are written in the empty area (step C84). Then, the address of the lyrics data is incremented by 1 (step C85). Next, the process proceeds to step C78 in the flow of FIG. 8 to determine whether or not the input key has been operated.
[0061]
15 and 16 show the flow of the automatic performance process at step A12 in the flow of FIG. In this process, automatic performance data is read (step D1), and the read data is determined (step D2). If the read data is timing data, it is determined whether or not the timer value incremented by the timer interrupt in FIG. 5 has reached the read timing data (step D3). When the timing data is reached, the next event data of the timing data is executed, so the address of the automatic performance data is incremented (step D4), and the process proceeds to step D1 to read the next automatic performance data.
[0062]
In step D2, if the read data is a key-on event, it is determined whether the event data is the first key-on event (step D5). If it is not the first key-on event, the cursor position is advanced to the next key-on event (step D6), but if it is the first key-on event, the automatic performance processing for that event has not yet been performed, so the cursor The position is not stepped.
[0063]
Next, it is determined whether or not the register CT of the memory is “0” (step D7). CT is a register for storing any one of the numerical values “2” to “9” in the lyrics data, and is reset to “0” in the initialization process of the main flow. In step D7, when CT is “0”, it is determined whether or not there is lyrics data (step D8). If there is lyrics data, the lyrics data is read (step D9), and it is determined whether the read data is a character or a space (step D10).
[0064]
If the read data is a character, the address of the lyrics data is incremented (step D11). Then, the type of the lyrics data at the incremented address is determined (step D12). If the lyric data is a character or a space, the voice waveform data corresponding to the character read at the previous address is selected and read at the pitch reading speed of the key-on event (step D13). Next, the automatic performance data address is incremented (step D14), and the process returns to the main flow.
[0065]
If CT is not “0” in step D7, it is a case where one character is assigned to a plurality of notes and the speech is extended, so the speech waveform data corresponding to the vowel part of the character read at the previous address is selected. Thus, reading is performed at the reading speed of the pitch of the key-on event (step D15). Next, the value of CT is decremented (step D16). Then, the address of the automatic performance data is incremented (step D17). Next, it is determined whether or not CT has become “0” in the process of step C16 (step D18). When CT is not “0”, the process returns to the main flow, but when CT becomes “0”, the address of the lyrics data is incremented and the process proceeds to step D8 to determine whether or not the lyrics data is present.
[0066]
In step D10, if the read data is a space, since the note is silent, both the address of the automatic performance data and the address of the lyrics data are incremented (step D20). Then, the process returns to the main flow. That is, when a space that is a specific symbol is assigned to any one note, the sound of that one note is prohibited. That is, when a specific symbol (space) is input and assigned to one note, the sound generation of that one note is prohibited.
[0067]
In step D2, if the read data is a key-off event, the sound of the character corresponding to the currently sounding note is muted (step D21). Next, the automatic performance data address is incremented (step D22), and the process returns to the main flow.
[0068]
If the read data is END data in step D2, or if there is no lyric data in step D8, the mode flag is set to “0 (lyric input processing mode)” (step D23), and the automatic performance data Both the address and the address of the lyrics data are reset, and the cursor is moved to the head position (step D24). Then, the process returns to the main flow.
[0069]
If the lyric data is a numerical value or a symbol in step D12, the type of the numerical value or the symbol “+” is determined (step D25). If it is a numerical value, the numerical value is set in the register CT in the flow of FIG. 16 (step D26), the voice waveform data corresponding to the character read at the previous address is selected, and the pitch of the key-on event is read. Read at a speed (step D27). Then, the CT value is decremented (step D28), and the address of the automatic performance data is incremented (step D29). Then, the process returns to the main flow. That is, when one arbitrary character and numerical value are input for one note, one character input corresponding to a plurality of notes indicated by a numerical value including the one note is assigned in correspondence with the first character. The sound of one character is pronounced based on the pitch and length of a plurality of notes.
[0070]
If the lyrics data is a symbol in step D25 of FIG. 15, the address of the lyrics data is incremented in the flow of FIG. 16 (step D30). Then, the lyrics data is read (step D31), and it is determined whether the read data is a character or a space (step D32). If it is a character, the address of the lyrics data is incremented (step D33). Then, it is determined whether the lyric data at the address is a character or a symbol “+” (step D34). If the symbol is “+”, the address of the lyrics data is incremented (step D35), the lyrics data of the address is read (step D36), the process proceeds to step D33, and the address of the lyrics data is incremented. If the lyric data is the symbol “+” in step D34, the loop processing of steps D35, D36, D33, D34 is repeated. In this case, the lyrics data of a plurality of characters connected by the symbol “+” are read out for one note.
[0071]
In step D34, if the lyric data is a character, the speech waveform data corresponding to the characters continuously read up to the previous address is selected and sequentially read at the reading speed of the pitch of the key-on event (step D37). . Next, the address of the automatic performance data is incremented (step D38). Then, the process returns to the main flow. That is, when a specific symbol is input for one note, the characters input before and after the specific symbol are combined to assign a plurality of characters corresponding to the single note, and the assignment The voices of the plurality of characters are generated based on the pitch and length of the corresponding one note.
[0072]
If the read data is a space at step D32, the address of the automatic performance data is incremented (step D39), and the key-off timing data is read (step D40). Next, a value obtained by subtracting the previous key-on timing data from the key-off timing data is divided by “2”, and an operation of subtracting the divided value from the key-off timing data is performed, and the calculation result is used as key-off timing data. (Step D41). In this case, the sound generation time is shortened to half of the sound length of the automatic performance data.
[0073]
Next, the voice waveform data corresponding to the character read at the previous address is selected and read at the reading speed of the pitch of the key-on event (step D42). Next, the address of the automatic performance data is incremented (step D43). Then, the process proceeds to step D3 in FIG. 15 to determine whether or not the timer value has reached key-off timing data in which the sound length is shortened. That is, when a specific symbol is input after the input of any one character from the keyboard 3, if another specific symbol is input immediately after the specific symbol, the arbitrary one character The specific symbol and the other specific symbol are assigned to one note, and the note is generated in a time shorter than the note length of the one note.
[0076]
  First of the voice allocation devices in the above embodiment1The invention ofMultiple speciescharacteras well asLyric data including numerical valuesEach can be input in the same operation modeInput means (keyboard 3) and input from this input meansRuLyric dataeasyOf the songeachNoteforWhen assigningWhen characters are entered in succession, each entered character is sequentially applied to one note at a time.allocation,When a numerical value and a character are continuously input, the input character is changed with respect to the number of notes corresponding to the input numerical value.The lyrics allocating means (CPU1) to be assigned and the lyrics allocating meansThe voice corresponding to each letter assigned to each note isTo note pitch and pitchAccordingAnd a sound generation control means (CPU1) for generating sound.
[0077]
  According to the above configuration,Followed by lettersIf entered, theEach input character is assigned to one note at a time, and when a numerical value and a character are input consecutively, the input character is assigned to the number of notes corresponding to the input numerical value.Assign thatEach assignedThe voice of the letterCorrespondingSound is generated based on the pitch and length of the note. Therefore, it is possible to simplify the operation of assigning characters when a single sound that is generated by extending a plurality of musical notes for a long time corresponds.
[0080]
  In addition, the voice allocation apparatus according to the above embodiment2InventionAre input means (keyboard 3) capable of inputting lyric data including a plurality of types of characters and symbols different from the characters in the same operation form, and the lyric data input from the input means is used for each note of music. When characters are input consecutively, the input characters are sequentially allocated to one note at a time, and when characters and symbols (+ spaces) are input consecutively, this input Lyric assigning means (CPU1) for assigning the assigned characters and symbols to one note together, and the voice corresponding to each character assigned to each note by the lyric assigning means, the pitch of each note. When a character and symbol are assigned to one note, the sound is pronounced in a time shorter than the note length (sound length ÷ 2). And tone generation control means (CPU 1) for, has a configuration provided with a.
  According to the above configuration, the characters continueIf entered,Each entered character is sequentially assigned to one noteallocation,When characters and symbols are entered in succession, the entered characters and symbols are combined.One noteAssigned to, only charactersAssignedA note causes the sound of that character to be pronounced at the pitch and length of the corresponding note, and a note to which a character or symbol is assignedThe voice of the letterThe pitch of the corresponding note and itsMake a note sound shorter than the note length of. ThereforeThe staccatoSilence can be assigned to half the sound length, andCan be realized by a simple lyric input operation.
[0083]
  In the above embodiment, the invention of the voice allocating device has been described, but the voice allocating method executed by the voice allocating device also constitutes the invention.
[0090]
  In addition, a program for voice assignment processing in the voice assignment method in the above embodiment is stored in the program.RexibleIt is also possible to record on a recording medium such as a disk, hard disk, CD, optical disk or the like, and read and execute the program on the recording medium by a general-purpose personal computer or workstation. That is, the invention of the recording medium is established.
[0097]
In the above-described embodiment, the “+” key and the “space” key are used as keys for inputting a specific symbol for combining characters and a specific symbol indicating silence. However, other keys may be used. . Further, the user may arbitrarily designate which key is used.
[0099]
【The invention's effect】
  Claim1,3,5According to the invention ofFollowed by lettersIf entered, theEach input character is assigned to one note at a time, and when a numerical value and a character are input consecutively, the input character is assigned to the number of notes corresponding to the input numerical value.Assign thatEach assignedThe voice of the letterCorrespondingSound is generated based on the pitch and length of the note. Therefore, it is possible to simplify the operation of assigning characters when one voice that is generated by extending a plurality of musical notes for a long time corresponds.
[0100]
  Claim2,4,6According to the invention ofWhen characters are input continuously, the input characters are sequentially assigned to one note at a time.SigncontinueIf entered, theThe input characters and symbols are assigned to one note, and a note to which only a character is assigned causes the sound of that character to be pronounced at the pitch and length of the corresponding note, and the character and symbol are assigned. A note is played in a time shorter than the pitch of the corresponding note and the note length.Let Therefore,Half of the sound length like staccato with simple lyrics input operationIt is possible to assign a silence to the.
[Brief description of the drawings]
FIG. 1 is a block diagram showing a system configuration of a voice allocation device according to an embodiment of the present invention.
FIG. 2 is a diagram showing an example of data stored in the memory of FIG. 1;
FIG. 3 is a main flowchart of a program executed by the CPU of FIG. 1;
4 is a diagram showing an example of a screen display displayed on the display of FIG. 1. FIG.
FIG. 5 is a flowchart of a timer interrupt in the main flowchart of FIG.
6 is a flowchart of lyrics input processing in the main flowchart of FIG. 3;
FIG. 7 is a flowchart of lyrics input processing following FIG. 6;
FIG. 8 is a flowchart of lyrics input processing following FIG.
FIG. 9 is a flowchart of lyrics input processing following FIG. 8;
FIG. 10 is a diagram showing a relationship between automatic performance data and lyrics data in the embodiment.
FIG. 11 is a diagram showing a display example of lyrics input processing in the embodiment.
FIG. 12 is a view showing a display example of lyrics input processing in the embodiment.
FIG. 13 is a diagram showing a display example of lyrics input processing in the embodiment.
FIG. 14 is a diagram showing a display example of lyrics input processing in the embodiment.
FIG. 15 is a flowchart of automatic performance processing in the main flowchart.
FIG. 16 is a flowchart of automatic performance processing following FIG. 15;
FIG. 17 is a diagram illustrating a method of lyric input processing in a conventional example.
[Explanation of symbols]
1 CPU
3 Keyboard
4 memory
5 display
6 Sound system

Claims (6)

複数種の文字及び数値を含む歌詞データをそれぞれ同様の操作形態にて入力可能な入力手段と、
この入力手段から入力され歌詞データを曲の音符に対して割り当てる際に、文字が続けて入力されたときには、この入力された各文字を音符1つずつに対して順次割り当て、数値及び文字が続けて入力されたときには、この入力された数値に対応する数の音符に対して、前記入力された文字を割り当てる歌詞割当手段と、
この歌詞割当手段によって各音符に対して割り当てられた各文字に対応する音声を、前記各音符の音高及び音長に応じて発音させる発音制御手段と、
を備えたことを特徴とする音声割当装置。
Input means capable of inputting lyrics data including plural kinds of characters and numerical values in the same operation form ,
When assigning for the lyrics data are entered from the input means to each note of easy songs, when a character is inputted continuously, sequentially assigned to the inputted respective characters against one note, numeric and Lyrics assigning means for assigning the input characters to the number of notes corresponding to the input numerical values when characters are continuously input ;
Sound generation control means for generating sound corresponding to each character assigned to each note by the lyric assigning means according to the pitch and length of each note;
A voice allocating device comprising:
複数種の文字及び当該文字とは異なる記号を含む歌詞データをそれぞれ同様の操作形態にて入力可能な入力手段と、
この入力手段から入力され歌詞データを曲の音符に対して割り当てる際に、文字が続けて入力されたときには、この入力された各文字を音符1つずつに対して順次割り当て、文字及び記号が続けて入力されたときには、この入力された文字及び記号を併せて1つの音符に対して割り当てる歌詞割当手段と、
この歌詞割当手段によって各音符に対して割り当てられた各文字に対応する音声を、前記各音符の音高及び音長に応じて発音させると共に、1つの音符に対して文字及び記号が割り当てられている場合は、この音符の音長よりも短い時間で音声を発音させる発音制御手段と、
を備えたことを特徴とする音声割当装置。
Input means capable of inputting lyric data including plural kinds of characters and symbols different from the characters in the same operation form ;
When assigning for the lyrics data are entered from the input means to each note of easy songs, when a character is inputted continuously, sequentially assigned to the inputted respective characters against one notes, letters and when the symbol is inputted continuously, and lyrics assigning means for assigning for one note together the inputted characters and symbols,
A sound corresponding to each character assigned to each note by the lyrics assigning means is pronounced according to the pitch and length of each note, and characters and symbols are assigned to one note. If there is a pronunciation control means for generating a voice in a time shorter than the note length ,
A voice allocating device comprising:
複数種の文字及び数値を含む歌詞データをそれぞれ同様の操作形態にて入力する入力処理と、
この入力処理によって入力され歌詞データを曲の音符に対して割り当てる際に、文字が続けて入力されたときには、この入力された各文字を音符1つずつに対して順次割り当て、数値及び文字が続けて入力されたときには、この入力された数値に対応する数の音符に対して、前記入力された文字を割り当てる歌詞割当処理と、
この歌詞割当処理によって各音符に対して割り当てられた各文字に対応する音声を、前記各音符の音高及び音長に応じて発音させる発音制御処理と、
実行することを特徴とする音声割当方法
An input process of manually entering each same operation forms the lyrics data including a plurality of types of characters and numbers,
When assigning for the lyrics data are entered by the input processing to each note of easy songs, when a character is inputted continuously, sequentially assigned to the inputted respective characters against one note, numeric and When a character is continuously input, a lyrics assignment process for assigning the input character to a number of notes corresponding to the input numerical value ;
A sound generation control process for generating a sound corresponding to each character assigned to each note by the lyrics assignment process according to the pitch and the length of each note ;
Voice allocation method characterized by the execution.
複数種の文字及び当該文字とは異なる記号を含む歌詞データをそれぞれ同様の操作形態にて入力する入力処理と、
この入力処理によって入力される歌詞データを楽曲の各音符に対して割り当てる際に、文字が続けて入力されたときには、この入力された各文字を音符1つずつに対して順次割り当て、文字及び記号が続けて入力されたときには、この入力された文字及び記号を併せて1つの音符に対して割り当てる歌詞割当処理と
この歌詞割当処理によって各音符に対して割り当てられた各文字に対応する音声を、前記各音符の音高及び音長に応じて発音させると共に、1つの音符に対して文字及び記号が割り当てられている場合は、この音符の音長よりも短い時間で音声を発音させる発音制御処理と、
を実行することを特徴とする音声割当方法
An input process for inputting lyrics data including plural kinds of characters and symbols different from the characters in the same operation mode,
When lyric data input by this input process is assigned to each note of a music piece, when characters are continuously input, each input character is sequentially assigned to one note at a time. when the inputted continuously, and lyrics allocation process to allocate for a single note together the inputted characters and symbols,
The sound corresponding to each character assigned to each note by this lyric assignment process is pronounced according to the pitch and length of each note, and a character and a symbol are assigned to one note. when on, the sound control processing to sound a voice in a shorter time than length of the note in this,
Voice allocation method characterized by the execution.
コンピュータに、
複数種の文字及び数値を含む歌詞データをそれぞれ同様の形態の操作に応じて入力する手順Aと、
この手順Aによって入力される歌詞データを楽曲の各音符に対して割り当てる際に、文字が続けて入力されたときには、この入力された各文字を音符1つずつに対して順次割り当て、数値及び文字が続けて入力されたときには、この入力された数値に対応する数の音符に対して、前記入力された文字を割り当てる手順Bと、
この手順Bによって各音符に対して割り当てられた各文字に対応する音声を、前記各音符の音高及び音長に応じて発音させる手順Cと、
を実行させるための音声割当処理プログラムを記録したコンピュータ読み取り可能な記録媒体
On the computer,
Procedure A for inputting lyrics data including plural types of characters and numerical values in accordance with operations of the same form,
When the lyric data input by the procedure A is assigned to each note of the music, when characters are continuously input, the input characters are sequentially assigned to one note at a time. Is continuously input, a procedure B for assigning the input characters to the number of notes corresponding to the input numerical values;
A procedure C for generating a sound corresponding to each character assigned to each note by this procedure B in accordance with the pitch and length of each note;
The computer-readable recording medium which recorded the audio | voice allocation processing program for performing this .
コンピュータに、
複数種の文字及び当該文字とは異なる記号を含む歌詞データをそれぞれ同様の形態の操作に応じて入力する手順Aと、
この手順Aによって入力される歌詞データを楽曲の各音符に対して割り当てる際に、文字が続けて入力されたときには、この入力された各文字を音符1つずつに対して順次割り当て、文字及び記号が続けて入力されたときには、この入力された文字及び記号を併せて1つの音符に対して割り当てる手順Bと、
この手順Bによって各音符に対して割り当てられた各文字に対応する音声を、前記各音符の音高及び音長に応じて発音させると共に、1つの音符に対して文字及び記号が割り当てられている場合は、この音符の音長よりも短い時間で音声を発音させる手順Cと、
を実行させるための音声割当処理プログラムを記録したコンピュータ読み取り可能な記録媒体
On the computer,
Procedure A for inputting lyrics data including plural kinds of characters and symbols different from the characters according to operations of the same form,
When the lyric data input by the procedure A is assigned to each note of the music, when characters are continuously input, each input character is sequentially assigned to one note at a time. Is continuously input, a procedure B in which the input characters and symbols are assigned to one note together;
The voice corresponding to each character assigned to each note by this procedure B is pronounced according to the pitch and length of each note, and the character and symbol are assigned to one note. In the case, the procedure C for generating a voice in a time shorter than the length of the note;
The computer-readable recording medium which recorded the audio | voice allocation processing program for performing this .
JP35078798A 1998-11-26 1998-11-26 Voice assignment apparatus, voice assignment method, and recording medium recording voice assignment processing program Expired - Fee Related JP3687375B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP35078798A JP3687375B2 (en) 1998-11-26 1998-11-26 Voice assignment apparatus, voice assignment method, and recording medium recording voice assignment processing program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP35078798A JP3687375B2 (en) 1998-11-26 1998-11-26 Voice assignment apparatus, voice assignment method, and recording medium recording voice assignment processing program

Publications (2)

Publication Number Publication Date
JP2000163057A JP2000163057A (en) 2000-06-16
JP3687375B2 true JP3687375B2 (en) 2005-08-24

Family

ID=18412875

Family Applications (1)

Application Number Title Priority Date Filing Date
JP35078798A Expired - Fee Related JP3687375B2 (en) 1998-11-26 1998-11-26 Voice assignment apparatus, voice assignment method, and recording medium recording voice assignment processing program

Country Status (1)

Country Link
JP (1) JP3687375B2 (en)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3646703B2 (en) * 2002-02-01 2005-05-11 ヤマハ株式会社 Voice melody music generation device and portable terminal device using the same
JP4415573B2 (en) * 2003-06-13 2010-02-17 ソニー株式会社 SINGING VOICE SYNTHESIS METHOD, SINGING VOICE SYNTHESIS DEVICE, PROGRAM, RECORDING MEDIUM, AND ROBOT DEVICE
JP2007086304A (en) * 2005-09-21 2007-04-05 Kawai Musical Instr Mfg Co Ltd Lyric editing device and lyrics editing program
JP2007086305A (en) * 2005-09-21 2007-04-05 Kawai Musical Instr Mfg Co Ltd Lyric editing device and lyrics editing program
JP2012083569A (en) * 2010-10-12 2012-04-26 Yamaha Corp Singing synthesis control unit and singing synthesizer
JP5979293B2 (en) * 2015-08-05 2016-08-24 ヤマハ株式会社 Singing synthesis control device and singing synthesis device
CN109859739B (en) * 2019-01-04 2023-12-22 平安科技(深圳)有限公司 Melody generation method and device based on voice synthesis and terminal equipment
JP7320976B2 (en) * 2019-04-18 2023-08-04 株式会社河合楽器製作所 Lyrics editing device and lyrics editing program

Also Published As

Publication number Publication date
JP2000163057A (en) 2000-06-16

Similar Documents

Publication Publication Date Title
JP3161561B2 (en) Multimedia system
US7737354B2 (en) Creating music via concatenative synthesis
JP3687375B2 (en) Voice assignment apparatus, voice assignment method, and recording medium recording voice assignment processing program
JP5549521B2 (en) Speech synthesis apparatus and program
Geary Formal Functions of Drum Patterns in Post-Millennial Pop Songs, 2012–2021
US5321198A (en) Tone signal generator utilizing ancillary memories for electronic musical instrument
CN1128385A (en) Data format and apparatus for accompanying song
Manoury Compositional Procedures in Tensio
JP5589741B2 (en) Music editing apparatus and program
JP3915428B2 (en) Music analysis apparatus and program
JP2012103654A (en) Voice synthesizer and program
Freire et al. Real-Time Symbolic Transcription and Interactive Transformation Using a Hexaphonic Nylon-String Guitar
JP5935815B2 (en) Speech synthesis apparatus and program
JP7350555B2 (en) Score editing device and score editing program
JPH05210386A (en) Asigner for electronic musical instrument
JP3952760B2 (en) Performance practice device and performance practice program
JP6149917B2 (en) Speech synthesis apparatus and speech synthesis method
JP2968387B2 (en) Key assigner for electronic musical instruments
JP4192936B2 (en) Automatic performance device
Meikle ScreenPlay: A topic-theory-inspired interactive system
JP6452234B2 (en) Musical sound generator and program
JP3029339B2 (en) Apparatus and method for processing sound waveform data
JP3395805B2 (en) Lyrics guide device for karaoke
JPH0719150B2 (en) Electronic musical instrument assigner
JP5429840B2 (en) Speech synthesis apparatus and program

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20050303

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050308

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050419

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20050517

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20050530

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20080617

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20090617

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20090617

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20100617

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20110617

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20110617

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20120617

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20120617

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20130617

Year of fee payment: 8

LAPS Cancellation because of no payment of annual fees