IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ カシオ計算機株式会社の特許一覧

特開2024-55304情報処理装置、電子楽器、制御方法及びプログラム
<>
  • 特開-情報処理装置、電子楽器、制御方法及びプログラム 図1
  • 特開-情報処理装置、電子楽器、制御方法及びプログラム 図2
  • 特開-情報処理装置、電子楽器、制御方法及びプログラム 図3
  • 特開-情報処理装置、電子楽器、制御方法及びプログラム 図4
  • 特開-情報処理装置、電子楽器、制御方法及びプログラム 図5
  • 特開-情報処理装置、電子楽器、制御方法及びプログラム 図6
  • 特開-情報処理装置、電子楽器、制御方法及びプログラム 図7
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024055304
(43)【公開日】2024-04-18
(54)【発明の名称】情報処理装置、電子楽器、制御方法及びプログラム
(51)【国際特許分類】
   G10H 1/18 20060101AFI20240411BHJP
   G10H 1/057 20060101ALN20240411BHJP
【FI】
G10H1/18 Z
G10H1/057 Z
【審査請求】未請求
【請求項の数】11
【出願形態】OL
(21)【出願番号】P 2022162123
(22)【出願日】2022-10-07
(71)【出願人】
【識別番号】000001443
【氏名又は名称】カシオ計算機株式会社
(74)【代理人】
【識別番号】110001254
【氏名又は名称】弁理士法人光陽国際特許事務所
(72)【発明者】
【氏名】本間 玲雄
【テーマコード(参考)】
5D478
【Fターム(参考)】
5D478DC16
(57)【要約】
【課題】ダンパーペダルを操作しなくても、ダンパーペダルの効果を良好に得ることができるようにする。
【解決手段】電子楽器の制御部は、鍵盤のいずれかの鍵が押鍵されるごとに、押鍵に応じて発音される音に関する特徴量を取得し、取得した特徴量に基づいて、押鍵に応じて発音される音の濁りやすさを示す指標値を算出し、算出した指標値に基づいて、ダンパーペダル機能のオンオフの切り替えを制御する。
【選択図】図3
【特許請求の範囲】
【請求項1】
操作子への操作に応じて取得される特徴量に基づいて、発音させる音の濁りやすさを示す指標値を取得し、取得された前記指標値に基づいて、ダンパーペダル機能のオンオフの切り替えを制御する制御部、
を備える情報処理装置。
【請求項2】
前記制御部は、前記操作子への操作が検出されるごとに、取得された前記指標値が合算された合計値を取得し、取得された前記合計値が予め定められた閾値に達した場合に、前記ダンパーペダル機能を一旦オフに切り替えてからオンにするよう制御する、
請求項1に記載の情報処理装置。
【請求項3】
前記制御部は、前記特徴量として前記操作された操作子の音高及び/又はベロシティを取得し、取得した前記音高及び/又は前記ベロシティに基づいて、前記指標値を算出する、
請求項1に記載の情報処理装置。
【請求項4】
前記指標値は、前記音高が低く、前記ベロシティが大きいほど大きくなる値である、
請求項3に記載の情報処理装置。
【請求項5】
前記制御部は、複数の前記操作子が操作された場合に、和音であるか否かを判断し、和音であると判断した場合は、複数の前記操作子の操作を1つの操作とみなし、複数の前記操作子のそれぞれの操作に応じて取得される前記特徴量に基づいて、1つの前記指標値を算出する、
請求項1に記載の情報処理装置。
【請求項6】
前記制御部は、演奏する楽曲の拍子、テンポ、又はジャンルに基づいて、前記閾値を設定する、
請求項1に記載の情報処理装置。
【請求項7】
前記制御部は、複数の前記操作子が操作された場合に、和音であるか否かを判断し、和音であると判断した場合は、前記ダンパーペダル機能を一旦オフに切り替えてからオンにするよう制御する、
請求項1に記載の情報処理装置。
【請求項8】
前記制御部は、1つの前記操作子の操作が検出されてから予め定められた時間内に所定数以上の操作子の操作が検出された場合に、和音であると判断する、
請求項5又は7に記載の情報処理装置。
【請求項9】
請求項1~7のいずれか一項に記載の情報処理装置と、
複数の操作子と、
を備える電子楽器。
【請求項10】
コンピュータが、
操作子への操作に応じて取得される特徴量に基づいて、発音させる音の濁りやすさを示す指標値を取得し、取得された前記指標値に基づいて、ダンパーペダル機能のオンオフの切り替えを制御する、
制御方法。
【請求項11】
コンピュータに、
操作子への操作に応じて取得される特徴量に基づいて、発音させる音の濁りやすさを示す指標値を取得し、取得された前記指標値に基づいて、ダンパーペダル機能のオンオフの切り替えを制御する、
処理を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置、電子楽器、制御方法及びプログラムに関する。
【背景技術】
【0002】
従来、電子ピアノ等の電子楽器には、足で操作するスイッチとして、ダンパーペダル(サステインペダル)が設けられている。ダンパーペダルを踏むと、押鍵(キーオン)時には音を伸ばすことにより音の響きを豊かにし、音と音を滑らかにつなげることができる。また、離鍵(キーオフ)時には余韻を少なくする機能を持つ。このようにダンパーペダルには押鍵から離鍵までのエンベロープ維持と、豊かな響きをもたせる二つの大きな効果をもつ。
【0003】
しかし、演奏者がダンパーペダルを踏んだままにすると、音に濁りが生じる場合があるため、演奏者は、ダンパーペダルのON/OFFのタイミングを考えながら演奏する必要があり、演奏者の技術・経験が求められる。
【0004】
そこで、例えば、特許文献1には、電子鍵盤楽器において、サステインボタンをオンすることにより自動サステイン機能がオンされ、キーオンの楽音と発音中の楽音との音高差を求め、所定の規定値内である楽音については迅速に消音することで、初心者ユーザでも濁りのない楽音が発音できるようにしたことが記載されている。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2006-153919公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかし、キーオンの楽音と発音中の楽音との音高差が規定値より大きい場合であっても、多くの音が重なったり、低音が重なったり、音量の大きい音が重なったりすると、残響が大きく音が濁りやすくなり、良好な効果を得ることはできない。
【0007】
本発明は、上記の問題に鑑みてなされたものであり、ダンパーペダルを操作しなくても、ダンパーペダルの効果を良好に得ることができるようにすることである。
【課題を解決するための手段】
【0008】
上記課題を解決するため、本発明の情報処理装置は、
操作子への操作に応じて取得される特徴量に基づいて、発音させる音の濁りやすさを示す指標値を取得し、取得された前記指標値に基づいて、ダンパーペダル機能のオンオフの切り替えを制御する制御部、
を備える。
【発明の効果】
【0009】
本発明によれば、ダンパーペダルを操作しなくても、ダンパーペダルの効果を良好に得ることが可能となる。
【図面の簡単な説明】
【0010】
図1】本発明の情報処理装置を備える電子楽器の機能的構成を示すブロック図である。
図2】電子楽器のエンベロープの一例を示す図である。
図3図1の制御部により実行されるダンパーペダル機能制御処理の流れを示すフローチャートである。
図4図1の制御部により実行されるダンパーペダル機能制御処理の流れを示すフローチャートである。
図5図3のステップS6において実行されるKeyON処理の流れを示すフローチャートである。
図6】(a)は、単音からなる演奏の楽譜を示す図、(b)は、オートダンパーペダルモードをONにして図6(a)の楽譜を演奏した場合に、各押鍵においてダンパーペダル機能制御処理で取得又は算出される値を一覧にしたデータ表である。
図7】(a)は、和音を伴う演奏の楽譜を示す図、(b)は、オートダンパーペダルモードをONにして図7(a)の楽譜を演奏した場合に、各押鍵において上記ダンパーペダル機能制御処理で取得又は算出される値を一覧にしたデータ表である。
【発明を実施するための形態】
【0011】
以下に、本発明の実施形態について、図面を用いて説明する。但し、以下に述べる実施形態には、本発明を実施するために技術的に好ましい種々の限定が付されている。そのため、本発明の技術的範囲を以下の実施形態及び図示例に限定するものではない。
【0012】
[電子楽器1の構成]
図1は、本発明に係る電子楽器1の全体構成例を示す図である。
電子楽器1は、図1に示すように、制御部11、記憶部12、鍵盤13、入力部14、表示部15、通信部16、出力部17、ペダル部18等を備えて構成され、各部はバス19により接続されている。
【0013】
制御部11は、少なくとも1つのCPU(Central Processing Unit)、RAM(Random Access Memory)等を備えて構成され、電子楽器1の各部を制御するコンピュータである。具体的には、制御部11のCPUは、記憶部12に記憶されているシステムプログラムや各種プログラムの中から指定されたプログラムを読み出してRAMに展開し、展開されたプログラムとの協働で、各種処理を実行する。
例えば、制御部11は、記憶部12に記憶されているプログラムとの協働により後述するダンパーペダル機能制御処理を実行することにより、本発明の情報処理装置の制御部として機能する。
【0014】
記憶部12は、不揮発性の半導体メモリやHDD(Hard Disk Drive)等により構成されている。記憶部12は、電子楽器1のシステムプログラムや各種プログラム、プログラムの実行に必要なデータを記憶する。記憶部12は、電子楽器1に内蔵されたものに限られず、電子楽器1に対して着脱可能な外部記録媒体を含んでもよい。
【0015】
鍵盤13は、複数の鍵(操作子)、及び押鍵/離鍵された鍵を検出する検出部等を備え、押鍵/離鍵された鍵の音高(note_num)、ベロシティ(velocity)やタイミングの情報を制御部11に出力する。押鍵は、楽器音を発音させるための操作子の操作であり、離鍵は、楽器音の発音を停止させるための操作子の操作である。
【0016】
入力部14は、押しボタンスイッチや表示部15に取り付けられたタッチパネル等で構成されている。入力部14は、ユーザによる押しボタンスイッチの操作信号や画面上の操作信号を制御部11に出力する。
【0017】
表示部15は、LCD(Liquid Crystal Display)等で構成され、制御部11から指示された表示情報に従い各種表示を行う。
【0018】
通信部16は、外部機器との間で通信を行うための有線ユニットや無線ユニットを備え、外部機器とデータ送受信を行う。
【0019】
出力部17は、図示しない音源部、フィルタ部、D/Aコンバータ、増幅器、ミキサー、スピーカ等を備える。出力部17は、制御部11からの指示に従って、音源部により、音源部に備えられた波形ROMに予め記憶された波形データを読み出すか又は波形データを生成して、波形データに基づく楽器音を、フィルタ部、D/Aコンバータ、増幅器、ミキサーを介してスピーカから出力する。
【0020】
ペダル部18は、少なくともダンパーペダルを含む1又は複数のペダルと、踏み下げ動作されたペダルを検出する検出部等を備え、踏み下げ動作されたペダルの情報を制御部11に出力する。
【0021】
[電子楽器1の動作]
次に、電子楽器1における動作について説明する。
電子楽器1は、動作モードとして、鍵盤13の押鍵された鍵の音高等に応じてピアノ等の楽器音を発音(出力)する通常モードの他、オートダンパーペダルモードを有している。オートダンパーペダルモードは、鍵盤13の押鍵された鍵の音高等に応じて自動的にダンパーペダル機能のON/OFF(オンオフ)を制御するモードである。ダンパーペダル機能は、実際にダンパーペダルを踏み込んだときと同等の効果(音を伸ばす効果)を楽器音に付加する機能である。
【0022】
図2は、電子楽器1のエンベロープの一例を示す図である。図2において、縦軸は音量、横軸は時間を示す。図2に示すように、時間T1で押鍵(Note On)されると、振幅0の状態からだんだん音が大きくなっていき、アタックレベルL1(最大音量)に達する。アタックレベルL1に達すると、音量は少し減衰して一定の振幅L2となり、周期波形といえる状態が続く。この一定振幅をサステインレベルL2という。また、サステインレベルL2の状態が続く時間T3~T4をサステインタイムという。離鍵(Note Off)が検出されると、リリースタイムT4~T5に移行し、発音している音は消音する。離鍵が検出される前に既定のサステインタイムT3~T4が終了した場合は、離鍵が検出されるまでの間、サステインレベルL2から徐々に音が減衰する。
電子楽器1では、ダンパーペダル機能をONにした場合、出力部17により、押鍵に応じた楽器音の波形を調整して、通常モードでの楽器音の波形に比べてサステインタイムT3~T4を長くしたり、リリースタイムT4~T5を長くしたりする(なだらかに音を減衰させる)調整を行うことにより、発音される音を伸ばす効果を楽器音に付加する。
【0023】
ここで、ダンパーペダル機能をONにすると、音の響きが豊かになり、音と音を滑らかにつなげることができる。しかし、多くの音が重なったり、低音が重なったり、音量の大きい音が重なったりすると、残響が大きく濁りやすくなり、良好な効果を得ることはできない。
【0024】
そこで、本実施形態において、制御部11は、オートダンパーペダルモードにおいて鍵盤13で押鍵操作が検出されると、押鍵に応じて発音される音に関する特徴量を取得し、取得した特徴量に基づいて、ダンパーペダル機能のON/OFFを制御する。
ダンパーペダル機能のON/OFFの制御に用いる、音に関する特徴量としては、例えば、押鍵された鍵の音高(note_num)、ベロシティ(velocity)が挙げられる。音高は、低いほど濁りやすい。ベロシティは、大きいほど残響が大きく濁りやすい。
また、押鍵されている(発音中の)数(押鍵数(key_count))が多いほど残響が大きく濁りやすい。ただし、和音の場合は協和音であることが多く、濁りは発生しにくい。
【0025】
制御部11は、鍵盤13で押鍵操作が検出されるごとに、押鍵に応じて発音される音に関する特徴量として、音高(note_num)及びベロシティ(velocity)を取得し、その押鍵によって発音される音の濁りやすさを示す指標値(calculate_num)を算出する。次いで、制御部11は、この指標値(calculate_num)を押鍵数(key_count)分合算し、その合計値(total_num)と予め定められた閾値とを比較する。閾値は、それ以上合計値(total_num)が大きいと濁りが生じる可能性がある値である。合計値(total_num)が予め定められた閾値以上である場合、制御部11は、ダンパーペダル機能を一旦OFFに切り替えて発音中の音の響きをリセット(消音)した後、ダンパーペダル機能をONに戻す。これにより、音の濁りのない良好なダンパーペダル機能の効果を得ることができる。ただし、上述のように和音の場合は協和音であることが多く、濁りは発生しにくい。そこで、同時押鍵数(dco_num)が3以上の場合は、和音と判断し、その場合は、1つの押鍵とみなして指標値を算出する。
【0026】
合計値(total_num)と比較する閾値は、演奏する楽曲のスタイルやジャンルごとに異なるものを使用することが好ましい。ここで、本実施形態におけるスタイルとは、テンポ及び拍数である。ジャンルは、例えば、ポップス、ジャズ、クラシック、ロック等が挙げられる。激しい曲、重たい曲、テンポが速い曲は、残響が大きく濁りやすくなるため、ダンパーペダル機能のON/OFFを切り替えるスパンは短くする必要がある。そのため、このような楽曲の場合は閾値を低く設定する。ゆったりした曲、軽い曲は、残響の影響は小さいため、ダンパーペダル機能のON/OFFを切り替えるスパンは長くてよい。そのため、このような楽曲の場合は閾値を高く設定する。
【0027】
本実施形態では、制御部11は、スタイル(テンポ及び拍数)に応じて閾値を設定する。例えば、制御部11は、ユーザ操作により拍数を指定させるとともにテンポ(例えば、速い、ふつう、ゆっくり)を指定させる。次いで、制御部11は、定数(ここでは、10)×拍数を基本の閾値として算出する。例えば、4拍子の曲であれば基本の閾値は40、3拍子の曲であれば基本の閾値は30となる。そして、制御部11は、基本の閾値にテンポに応じた調整値を掛けて合計値(total_num)と比較する閾値を設定する。調整値は、テンポが速いほど小さい値が予め定められている。例えば、テンポが「速い」であれば調整値は0.5、「ふつう」であれば調整値は1、「ゆっくり」であれば調整値は2が定められている。なお、テンポは数値で指定することとしてもよい。例えば、テンポの値(範囲)と調整値とを対応付けたテーブルを記憶部12に記憶しておき、指定されたテンポの値に応じた調整値をテーブルから取得することとしてもよい。
【0028】
また、閾値は、ジャンルに応じて設定することとしてもよい。例えば、ジャンルと閾値とを対応付けたテーブルを記憶部12に記憶しておき、制御部11がジャンルに応じた閾値を設定してもよい。
【0029】
以下、制御部11により実行されるダンパーペダル機能制御処理について説明する。
図3図4は、入力部14によりオートダンパーペダルモードのONが指示された場合に、制御部11により実行されるダンパーペダル機能制御処理の流れを示すフローチャートである。ダンパーペダル機能制御処理は、制御部11と記憶部12に記憶されているプログラムとの協働により実行される。
【0030】
まず、制御部11は、ユーザによる、演奏する楽曲のスタイル(拍子及びテンポ)の指定を受け付ける(ステップS1)。
例えば、制御部11は、表示部15に拍子やテンポの指定画面を表示し、入力部14による指定を受け付ける。
【0031】
次いで、制御部11は、指定されたスタイルに基づいて閾値を設定する(ステップS2)。
例えば、制御部11は、指定された拍子に基づいて上述の基本の閾値を算出し、算出した閾値をテンポに応じた調整値により調整して閾値を設定する。
【0032】
なお、ジャンルごとの閾値のテーブルを記憶部12に記憶しておき、制御部11は、ステップS1においては、ジャンルの指定を受け付け、ステップS2においては、指定されたジャンルに対応する閾値を記憶部12に記憶されているテーブルから読み出して設定することとしてもよい。
【0033】
次いで、制御部11は、ダンパーペダル機能をONにし(ステップS3)、key_count、damper_change_flgに0を設定する(ステップS4)。
key_countは、ダンパーペダル機能がONになってからの押鍵数を格納するための変数であり、damper_change_flgは、ダンパーペダル機能をOFFに切り替えるか否かを示すフラグを格納する変数である。damper_change_flgが「1」の場合、ダンパーペダル機能をOFFに切り替えることを示す。
【0034】
次いで、制御部11は、dco_numに0を設定する(ステップS5)。
dco_numは、同時押鍵数を格納するための変数である。
【0035】
次いで、制御部11は、KeyON処理を実行する(ステップS6)。
図5は、ステップS6において実行されるKeyON処理の流れを示すフローチャートである。KeyON処理は、制御部11と記憶部12に記憶されているプログラムとの協働により実行される。
【0036】
まず、制御部11は、鍵盤13において押鍵が検出されるのを待機する(ステップS601)。
鍵盤13において押鍵が検出されると(ステップS601;YES)、制御部11は、
dco_numに1を設定し(ステップS602)、タイマに所定時間(例えば、250ms)を設定し、計測をスタートさせる(ステップS603)。
【0037】
次いで、制御部11は、タイマの設定時間が経過したか否かを判断する(ステップS604)。
タイマの設定時間が経過していないと判断した場合(ステップS604;NO)、制御部11は、鍵盤13において別の押鍵が検出されたか否かを判断する(ステップS605)。
鍵盤13において別の押鍵が検出されたと判断した場合(ステップS605;YES)、制御部11は、dco_numを1カウントアップし(ステップS606)、ステップS604に戻る。
鍵盤13において別の押鍵が検出されていないと判断した場合(ステップS605;NO)、制御部11は、ステップS604に戻る。
【0038】
ステップS604において、タイマの設定時間が終了したと判断した場合(ステップS604;YES)、制御部11は、図3のステップS7に移行する。
【0039】
上記KeyON処理では、1つ目の鍵が押鍵されてからタイマの設定時間(例えば、250ms)内に押鍵された数を同時押鍵数としてdco_numにカウントしている。極めて速いと言われるテンポ240bpmにおいて、1/4拍子の秒数は250msである。本実施形態では、この値をタイマの設定時間として例示しているが、押鍵から発音までの時間が不自然とならない値であれば特に限定されない。
【0040】
図3のステップS7において、制御部11は、damper_change_flgの値を判定する(ステップS7)。
damper_change_flg=0であると判定した場合(ステップS7;=0)、制御部11は、ステップS11に移行する。
【0041】
damper_change_flg=1であると判定した場合(ステップS7;=1)、制御部11は、ダンパーペダル機能をOFFに切り替え(ステップS8)、次いで、ダンパーペダル機能をONに戻す(ステップS9)。そして、damper_change_flgに0を設定し(ステップS10)、ステップS11に移行する。
【0042】
ステップS11において、制御部11は、dco_numの値を取得し(ステップS11)、dco_num<3であるかdco_num≧3であるかを判断する(ステップS12)。
ステップS12では、同時押鍵数(dco_num)が3以上であるか否かにより和音であるか否かを判断している。
【0043】
dco_num<3であると判断した場合(ステップS12;<3)、すなわち、和音ではないと判断した場合、制御部11は、key_countを1カウントアップする(ステップS13)。
次いで、制御部11は、押鍵ごとに、押鍵により発音される音に関する特徴量としての音高(note_num)及びベロシティ(velocity)の値を取得し(ステップS14)、取得した音高(note_num)からnote_rateを、取得したベロシティ(velocity)からvelocity_rateを決定する(ステップS15)。
【0044】
例えば、音高(note_num)を低音域(例えば、~E3)、中音域(例えば、F3~G4♯)、高音域(例えば、A4~)の3段階でグループ分けし、各音域ごとにnote_rateを予め定めたテーブルを記憶部12に記憶しておく。ここで、note_rateは、濁りやすい低音域ほど大きい値とする。例えば、低音域のnote_rateは2、中音域のnote_rateは1、高音域のnote_rateは0.5とする。
制御部11は、記憶部12に記憶されているテーブルを参照し、音高(note_num)の値が属する音域に基づいてnote_rateを決定する。
【0045】
また、例えば、ベロシティ(velocity)を小音量(例えば、0~31)、中音量(32~95)、大音量(96~127)の3段階でグループ分けし、各グループごとにvelocity_rateを予め定めたテーブルを記憶部12に記憶しておく。ここで、velocity_rateは、濁りやすい大音量ほど大きい値とする。例えば、小音量のvelocity_rateは0.5、中音量のvelocity_rateは1、高音量のvelocity_rateは2とする。
制御部11は、記憶部12に記憶されているテーブルを参照し、ベロシティ(velocity)の値が属するグループに基づいてvelocity_rateを決定する。
【0046】
次いで、制御部11は、押鍵ごとに、決定したnote_rate及びvelocity_rateに基づいて、その押鍵によって発音される音の濁りやすさを示す指標値(calcutate_num)を算出する(ステップS24)。
指標値(calcutate_num)は、例えば、1つの押鍵の発音に対し、初期値(ここでは、10とする)を与え、そこにnote_rate及びvelocity_rateを掛けて算出する。例えば、指標値(calcutate_num)は、以下の(式1)により算出することができる。
【数1】
すなわち、指標値(calcutate_num)は、音高(note_num)が低く、ベロシティ(velocity)が大きいほど大きくなる。
【0047】
次いで、制御部11は、算出した指標値(calcutate_num)をバッファに格納し(ステップS25)、バッファに格納された指標値(calcutate_num)の合計値(total_num)を算出し(ステップ26)、ステップS27に移行する。
合計値(total_num)は、以下の(式2)により算出することができる。
【数2】
【0048】
一方、ステップS12において、dco_num≧3であると判断した場合(ステップS12;≧3)、すなわち、和音であると判断した場合、制御部11は、key_countをリセットし(ステップS16)、次いでkey_countを1カウントアップし(ステップS17)、バッファ内の値をクリアする(ステップS18)。
なお、ステップS16とステップS17をまとめて「key_countに1を設定する(key_count=1)」という1つのステップとしてもよい。
【0049】
次いで、制御部11は、同時押鍵したうちの一つの鍵についての音高(note_num)及びベロシティ(velocity)を取得し(ステップS19)、取得した音高(note_num)からnote_rateを、取得したベロシティ(velocity)からvelocity_rateを決定し(ステップS20)、各rateをバッファに格納する(ステップS21)。
制御部11は、dco_num分(同時押鍵数分)のnote_rate及びvelocity_rateが得られるまで、ステップS19~S21を繰り返し実行し、dco_num分(同時押鍵数分)のnote_rate及びvelocity_rateが得られた場合(ステップS22;YES)、note_rate、velocity_rateのそれぞれについて、分布比率(頻度)が最も高いものをそれぞれのnote_rate、velocity_rateとして設定し(ステップS23)、ステップS24に移行する。
例えば、同時押鍵した各押鍵のvelocity_rateが0.5、0.5、2の場合は、「0.5」を採用する。なお、分布比率が同じ場合は「1」を採用する。
【0050】
次いで、制御部11は、算出したnote_rate及びvelocity_rateに基づいて、その押鍵(和音)によって発音される音の濁りやすさを示す指標値(calcutate_num)を算出する(ステップS24)。
指標値(calcutate_num)は、上述の(式1)により算出することができる。
【0051】
上述のように、和音の場合は協和音であることが多く、濁りは発生しにくいと考えられる。そこで、ステップS16~S23において、同時押鍵数が3以上の場合は、1つの押鍵とみなして1つの指標値を算出する。
【0052】
次いで、制御部11は、算出した指標値(calcutate_num)をバッファに格納し(ステップS25)、バッファに格納された指標値の合計値(total_num)を算出し(ステップ26)、ステップS27に移行する。
合計値(total_num)は、上述の(式2)により算出することができる。
【0053】
ステップS27において、制御部11は、dco_num<3であるかdco_num≧3であるかを判断する(ステップS27)。
dco_num<3である、すなわち、和音ではないと判断した場合(ステップS27;dco_num<3)、制御部11は、ステップS2で設定した閾値と、ステップS26で算出した合計値(total_num)を比較し、閾値≦合計値(total_num)であるか否かを判断する(ステップS28)。
【0054】
閾値≦合計値(total_num)ではないと判断した場合(ステップS28;NO)、制御部11は、出力部17に発音処理を行わせ(ステップS29)、ステップS5に戻る。
ステップS29において、制御部11は、押鍵された鍵の音高(note_num)及びベロシティ(velocity)に基づく楽器音の波形データを出力部17の音源部に生成させ(又は読み出させ)、生成された楽器音の波形(通常モードでの波形)に比べてサステインタイムT3~T4やリリースタイムT4~T5が長くなるように出力部17のフィルタ部や増幅器を制御して、発音される音を伸ばす効果を楽器音に付加して出力部17のスピーカから発音させる。
【0055】
一方、ステップS28において、閾値≦合計値であると判断した場合(ステップS28;YES)、制御部11は、出力部17に発音処理を行わせる(ステップS30)。
発音処理は、ステップS29で説明したものと同様である。
そして、制御部11は、バッファ内の値をクリアし(ステップS31)、damper_change_flgを1に設定し(ステップS32)、key_countを0に設定し(ステップS33)、ステップS5に戻る。
【0056】
ここで、閾値≦合計値である場合、音に濁りが生じる可能性があると考えられる。そこで、制御部11は、ステップS32において、damper_change_flgを1に設定しておくことで、次に押鍵があった場合に、自動的にダンパーペダル機能を一旦OFFに切り替え、再度ONにしてから発音処理を行うよう制御している。これにより、ダンパーペダルを操作しなくても、音の濁りのない、良好なダンパーペダル効果を得ることが可能となる。
【0057】
一方、ステップS27において、dco_num≧3である、すなわち、和音であると判断した場合(ステップS27;dco_num≧3)、制御部11は、ダンパーペダル機能をOFFに切り替える(ステップS34)。
ダンパーペダル機能をOFFに切り替えると、制御部11は、発音中の音がある場合、出力部17の増幅器を制御して、発音中の音を直ちに消音させる。
次いで、制御部11は、ダンパーペダル機能をONし(ステップS35)、発音処理を実行し(ステップS36)、ステップS5に戻る。
発音処理は、ステップS29で説明したものと同様である。
【0058】
ここで、dco_num≧3である、すなわち、和音である場合、制御部11は、和音を発音する前に一旦ダンパーペダル機能をOFFしてから、ダンパーペダル機能をONにして発音処理を行う。したがって、和音(コード)の進行ごとにダンパーペダルを踏み変えるのと同様の効果を自動的に実現させることができる。
【0059】
制御部11は、オートダンパーペダルモードがOFFに設定されるか、又は電源がOFFされるまで、上記ダンパーペダル処理のステップS5以降の処理を繰り返し実行する。
【0060】
以下、図6図7を参照してダンパーペダル機能制御処理におけるダンパーペダル機能のON/OFFの切り替えタイミングの例について説明する。
図6(a)は、単音からなる演奏の楽譜を示す図である。図6(b)は、オートダンパーペダルモードをONにして図6(a)の楽譜を演奏した場合に、各押鍵において上記ダンパーペダル機能制御処理で取得又は算出される値を一覧にしたデータ表である。
なお、図6(b)の鍵盤番号は、図6(a)の音符に付した番号に対応している。また、図6(a)における「forte」は、3小節目から大音量(forte)で演奏することを示している(それ以外は中音量で演奏)。また、図6(a)の「Ped.」は、上記ダンパーペダル機能制御処理におけるダンパーペダル機能の切り替えタイミング(その鍵に対応する音の発音前に一旦ダンパーペダル機能をOFFにしてからONに戻すタイミング)を示している。なお、オートダンパーペダルモードに入るとダンパーペダル機能はOFFからONとなるので、最初の音(鍵盤番号1の音)については「Ped.」を示している。また、図6(b)のデータ表の値は、閾値を「40」に設定した場合の値を示している。
【0061】
図6(a)、(b)に示すように、鍵盤番号1~3を押鍵した際に算出される合計値(total_mum)は40未満であるが、鍵盤番号4を押鍵した際に算出される合計値(total_mum)は40となり、閾値以上となる。このままダンパーペダル機能をONにしたままだと音が濁る可能性があるため、次の鍵盤番号5が押鍵された際、その音の発音前に、ダンパーペダル機能が一旦OFFに切り替えられた後、ONに設定される。同様に、鍵盤番号8、10、13を押鍵した際に算出される合計値(total_mum)も閾値以上となるため、次の鍵盤番号9、11、14が押鍵された際、その音の発音前に、ダンパーペダル機能が一旦OFFに切り替えられた後、ONに設定される。
【0062】
図7(a)は、和音を伴う演奏の楽譜を示す図である。図7(b)は、オートダンパーペダルモードをONにして図7(a)の楽譜を演奏した場合に、各押鍵において上記ダンパーペダル機能制御処理で取得又は算出される値を一覧にしたデータ表である。
なお、図7(b)の鍵盤番号は、図7(a)の音符に付した番号に対応している。また、また、図7(a)の「Ped.」は、上記ダンパーペダル機能制御処理におけるダンパーペダル機能の切り替えタイミングを示している。なお、オートダンパーペダルモードに入るとダンパーペダル機能はOFFからONになるので、最初の音(鍵盤番号1の音)については「Ped.」を示している。また、図7(b)に示すデータ表の値は、閾値を「40」に設定した場合の値を示している。
【0063】
図7(a)、(b)に示すように、鍵盤番号4、11を押鍵した際に算出される合計値(total_mum)は40となり、閾値以上となる。このままダンパーペダル機能をONにしたままだと音が濁る可能性があるため、次の鍵盤番号5、12が押鍵された際、その音の発音前に、ダンパーペダル機能が一旦OFFに切り替えられた後、ONに設定される。一方、鍵盤番号7を押鍵した際に算出される合計値(total_mum)は35となり、閾値未満であるが、鍵盤番号8は和音であるため、その音の発音前に、ダンパーペダル機能が一旦OFFに切り替えられた後、ONに設定される。
【0064】
このように、単音からなる楽曲を演奏する場合は、合計値(total_mum)が閾値以上となった場合に、その次に押鍵された鍵の音の発音前に、ダンパーペダル機能が一旦OFFに切り替えられた後、ONに設定されるので、発音中の音を消してから次に押鍵された鍵の音を発音することができ、音の濁りを抑制することができる。
また、和音を伴う楽曲の場合、同様に、合計値(total_mum)が閾値以上となった場合に、その次に押鍵された鍵の音の発音前に、ダンパーペダル機能が一旦OFFに切り替えられた後、ONに設定されるので、発音中の音を消してから次に押鍵された鍵の音を発音することができ、音の濁りを抑制することができる。さらに、和音が押鍵された場合には、閾値に拘らず、和音の発音前にダンパーペダル機能が一旦OFFに切り替えられた後、ONに設定されるので、和音を濁りのない音で発音できる。また、和音(コード)の進行ごとにダンパーペダルを踏み変えるような効果を得ることができる。
【0065】
以上説明したように、電子楽器1の制御部11は、押鍵に応じて発音される音に関する特徴量を取得し、取得した特徴量に基づいて、押鍵に応じて発音される音の濁りやすさを示す指標値を算出し、算出した指標値に基づいて、押鍵に応じて発音される音を伸ばすダンパーペダル機能のオンオフの切り替えを制御する。
例えば、制御部11は、鍵盤13のいずれかの鍵が押鍵されるごとに、算出した指標値を合算して合計値を算出し、算出した合計値が閾値以上である場合に、ダンパーペダル機能を一旦オフに切り替えてからオンにするよう制御する。
したがって、オートダンパーペダルモードにおいて、自動的に音の濁りが発生しないように制御するので、ダンパーペダルを操作しなくても、ダンパーペダル機能の効果を良好に得ることができる。
【0066】
例えば、制御部11は、押鍵に応じて発音される音に関する特徴量として、音高及びベロシティを取得し、取得した音高及びベロシティに基づいて、押鍵に応じて発音される音の濁りやすさを示す指標値を算出する。例えば、指標値は、音高が低く、ベロシティが大きいほど大きくなる値である。したがって、音の濁りやすさを適切に示す指標値を算出することができる。
【0067】
また、制御部11は、複数の鍵が押鍵された場合に、和音であるか否かを判断し、和音であると判断した場合は、複数の押鍵を1つの押鍵とみなし、複数の押鍵のそれぞれの操作に応じて取得される特徴量に基づいて、1つの指標値を算出する。したがって、協和音であることが多く、濁りが発生しにくいと考えられる和音の場合は、複数の押鍵を1つの押鍵とみなして指標値を算出することができる。
【0068】
また、制御部11は、ユーザにより指定された、演奏する楽曲の拍子、テンポ、又はジャンルの少なくとも一つに基づいて、合計値と比較するための閾値を設定する。したがって、演奏する楽曲が、残響が大きく濁りやすい特徴をもつ楽曲、例えば、激しい、重たい、又はテンポが速い楽曲の場合には、閾値を小さくし、テンポが遅い、ゆったりとした、軽い楽曲の場合には、閾値を大きくすることができ、ダンパーペダル機能のオンオフ制御を適切に行うことが可能となる。
【0069】
また、制御部11は、複数の鍵が押鍵された場合に、和音であるか否かを判断し、和音であると判断した場合は、和音の発音前にダンパーペダル機能を一旦OFFに切り替えてからONにする。したがって、和音を濁りのない音で発音させることができる。また、和音(コード)の進行ごとにダンパーペダルを踏み変えるのと同様の効果を自動的に実現させることができる。
【0070】
なお、上記実施形態における記述内容は、本発明に係る情報処理装置、電子楽器、制御方法及びプログラムの好適な一例であり、これに限定されるものではない。
【0071】
例えば、上記実施形態では、ステップS28において閾値≦合計値であると判断された場合に、damper_change_flgを1に設定しておくことで、次に押鍵があった場合に、自動的にダンパーペダル機能を一旦OFFに切り替え、再度ONにしてから発音処理を行うよう制御したが、ダンパーペダル機能のON/OFFを切り替えるタイミングは、上記実施形態に限定されない。例えば、ステップS28において閾値≦合計値であると判断された場合、制御部11は、ステップS30で発音処理をする前に、ダンパーペダル機能のON/OFFを切り替える(一旦OFFに切り替えてからONに戻す)制御を行ってもよい。この場合、ステップS7~S9は不要となる。
また、ステップS27において同時押鍵数(dco_num)≧3と判断した場合、制御部11は、押鍵された和音を発音してからダンパーペダル機能のON/OFFを切り替えることとしてもよい。
【0072】
また、上記実施形態では、ユーザにより指定された、演奏する楽曲のジャンルに応じて合計値と比較するための閾値を変えてもよい旨を記載したが、ユーザにより指定されたジャンルに応じてダンパーペダル機能の効果の強さ(音の伸びの度合い)を変更することとしてもよい。例えば、ジャンルごとに、ダンパーペダル機能がONである場合の上述のサステインタイムT3~T4又はリリースタイムT4~T5を予め定めて記憶部12に記憶しておき、制御部11は、出力部17にユーザにより指定されたジャンルに応じた長さで楽器音を発音させることとしてもよい。この場合、例えば、ロックのような激しい、重たい音楽のジャンルについては、ダンパーペダル機能の効果を強くするとすぐに音が濁るため、効果を弱くし(例えば、サステインタイムT3~T4又はリリースタイムT4~T5を長くする度合いを低くし)、ゆったりとしたクラシックの場合は、効果を強くする(例えば、サステインタイムT3~T4又はリリースタイムT4~T5を長くする度合いを高くする)。
【0073】
また、例えば、上記実施形態においては、本発明の情報処理装置が電子楽器1に含まれる構成として説明したが、これに限定されない。例えば、本発明の情報処理装置の機能が、有線又は無線による通信インターフェースを介して電子楽器1に接続された外部装置(PC(Personal Computer)、タブレット端末、スマートフォン等)に備えられていることとしてもよい。
【0074】
また、上記実施形態においては、電子楽器1が鍵盤楽器である場合を例にとり説明したが、エレキギター、MIDIバイオリン等他の電子楽器としてもよい。
【0075】
また、上記実施形態においては、音に関する特徴量として、音高とベロシティの双方を用いる場合を例として説明したが、いずれか一方のみを用いることとしてもよい。
【0076】
また、上記実施形態では、本発明に係るプログラムのコンピュータ読み取り可能な媒体として半導体メモリやハードディスクを使用した例を開示したが、この例に限定されない。その他のコンピュータ読み取り可能な媒体として、SSDや、CD-ROM等の可搬型記録媒体を適用することが可能である。また、本発明に係るプログラムのデータを通信回線を介して提供する媒体として、キャリアウエーブ(搬送波)も適用される。
【0077】
その他、情報処理装置を備える電子楽器の細部構成及び細部動作に関しても、発明の趣旨を逸脱することのない範囲で適宜変更可能である。
【0078】
以上に本発明の実施形態及び変形例を説明したが、本発明の技術的範囲は上述の実施の形態に限定するものではなく、特許請求の範囲に記載に基づいて定められる。更に、特許請求の範囲の記載から本発明の本質とは関係のない変更を加えた均等な範囲も本発明の技術的範囲に含む。
【符号の説明】
【0079】
1 電子楽器
11 制御部
12 記憶部
13 鍵盤
14 入力部
15 表示部
16 通信部
17 出力部
18 ペダル部
19 バス
図1
図2
図3
図4
図5
図6
図7