CN103366722B - 姿势检测装置及方法 - Google Patents
姿势检测装置及方法 Download PDFInfo
- Publication number
- CN103366722B CN103366722B CN201310112146.0A CN201310112146A CN103366722B CN 103366722 B CN103366722 B CN 103366722B CN 201310112146 A CN201310112146 A CN 201310112146A CN 103366722 B CN103366722 B CN 103366722B
- Authority
- CN
- China
- Prior art keywords
- cpu11
- magnetic sensor
- earth magnetism
- value
- angular velocity
- 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.)
- Active
Links
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01B—MEASURING LENGTH, THICKNESS OR SIMILAR LINEAR DIMENSIONS; MEASURING ANGLES; MEASURING AREAS; MEASURING IRREGULARITIES OF SURFACES OR CONTOURS
- G01B7/00—Measuring arrangements characterised by the use of electric or magnetic techniques
- G01B7/14—Measuring arrangements characterised by the use of electric or magnetic techniques for measuring distance or clearance between spaced objects or spaced apertures
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10H—ELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
- G10H1/00—Details of electrophonic musical instruments
- G10H1/0008—Associated control or indicating means
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10H—ELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
- G10H2220/00—Input/output interfacing specifically adapted for electrophonic musical tools or instruments
- G10H2220/155—User input interfaces for electrophonic musical instruments
- G10H2220/185—Stick input, e.g. drumsticks with position or contact sensors
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10H—ELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
- G10H2220/00—Input/output interfacing specifically adapted for electrophonic musical tools or instruments
- G10H2220/155—User input interfaces for electrophonic musical instruments
- G10H2220/391—Angle sensing for musical purposes, using data from a gyroscope, gyrometer or other angular velocity or angular movement sensing device
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10H—ELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
- G10H2220/00—Input/output interfacing specifically adapted for electrophonic musical tools or instruments
- G10H2220/155—User input interfaces for electrophonic musical instruments
- G10H2220/395—Acceleration sensing or accelerometer use, e.g. 3D movement computation by integration of accelerometer data, angle sensing with respect to the vertical, i.e. gravity sensing.
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10H—ELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
- G10H2220/00—Input/output interfacing specifically adapted for electrophonic musical tools or instruments
- G10H2220/155—User input interfaces for electrophonic musical instruments
- G10H2220/401—3D sensing, i.e. three-dimensional (x, y, z) position or movement sensing.
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10H—ELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
- G10H2230/00—General physical, ergonomic or hardware implementation of electrophonic musical tools or instruments, e.g. shape or architecture
- G10H2230/045—Special instrument [spint], i.e. mimicking the ergonomy, shape, sound or other characteristic of a specific acoustic musical instrument category
- G10H2230/251—Spint percussion, i.e. mimicking percussion instruments; Electrophonic musical instruments with percussion instrument features; Electrophonic aspects of acoustic percussion instruments, MIDI-like control therefor
- G10H2230/275—Spint drum
- G10H2230/281—Spint drum assembly, i.e. mimicking two or more drums or drumpads assembled on a common structure, e.g. drum kit
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Acoustics & Sound (AREA)
- Multimedia (AREA)
- General Physics & Mathematics (AREA)
- Electrophonic Musical Instruments (AREA)
- Measurement Of Length, Angles, Or The Like Using Electric Or Magnetic Means (AREA)
- Position Input By Displaying (AREA)
Abstract
提供一种姿势检测装置及方法,在使棒状构件高速地动作的情况下,通过校正地磁方向,能够提高棒状构件的姿势推测的精度。CPU(11)在棒部(10)的初始的静止状态下,将磁传感器(121)取得的地磁的各轴成分存储在RAM(15)中,按每一定定时取得由磁传感器(121)取得的由于对棒部(10)施加运动而变化的地磁的各轴成分,并按每规定区间对所取得的按每一定定时的地磁的各轴成分进行累加,使累加后的地磁的各轴成分与RAM(15)中存储地磁的各轴成分相符。
Description
相关申请的引用
本申请基于2012年4月2日提交的日本特许申请第2012-084369号,并要求该申请的优先权,在此通过引用而包含其全部内容。
技术领域
本发明涉及姿势检测装置及方法。
背景技术
以往,提出了若感测到演奏者的演奏动作则发出与演奏动作对应的乐音的演奏装置。例如,已知有通过仅由棒状构件构成的结构来发出打击乐器音的演奏装置,在该演奏装置中,在棒状构件中设置有传感器,通过演奏者用手把持构件并进行挥动,传感器感测其演奏动作,而发出打击乐器音。
根据这样的虚拟的演奏装置,不需要现实的乐器就能够发出乐器的乐音,因此,演奏者能够不受到演奏场所及演奏空间的制约地尽情演奏。
作为上述那样的虚拟的演奏装置,例如,在特开2007-256736号公报中公开了如下的演奏装置,该演奏装置构成为,在棒状构件中设置有加速度传感器,在通过挥动该构件而从加速度传感器得到的输出(加速度值)达到规定的阈值后,发出乐音。
然而,在这样的虚拟的演奏装置中,多数情况下是按演奏者的每个不同的演奏动作分别准备有不同的乐音。专利文献1所公开的演奏装置中也是构成为,使用地磁传感器来判定棒状构件的朝向,能够根据该朝向发出不同音色的乐音。但是,该情况下,音源的配置只能是水平方向的,因此,音源最多配置3个至4个,无法配置更多。而且,地磁传感器相对于干扰而言较弱而不稳定,因此,若如棒那样高速地动作,则方位推测的精度会变差。
发明内容
本发明鉴于这样的状况而做出,其目的在于提供一种姿势检测装置,在使棒状构件以高速动作的情况下,也能够通过对地磁方向进行校正,来提高棒状构件的姿势推测的精度。
为了实现上述目的,本发明的一方式的姿势检测装置具备:保持构件,供用户操作;磁传感器,检测在所述保持构件的相互正交的3轴各自的方向上产生的磁;存储控制单元,将在所述保持构件的初始的静止状态下由所述磁传感器检测到的基于地磁的磁、以及该初始静止状态下的姿势参数存储在存储器中;取得单元,按每一定定时取得所述磁传感器检测到的磁;累加单元,按每规定区间对所述取得单元取得的所述按每一定定时的所述磁传感器的各轴成分的输出值进行累加;以及校正单元,以使由该累加单元累加后的所述磁传感器的各轴成分的输出值与所述存储器所存储的初始的磁相符的方式校正姿势参数。
本发明的另一方式涉及姿势检测装置执行的方法,该姿势检测装置具备:保持构件,供用户操作;和磁传感器,检测在所述保持构件的相互正交的3轴各自的方向上产生的磁,其特征在于,该方法包括:存储控制步骤,将在所述保持构件的初始的静止状态下由所述磁传感器检测到的基于地磁的磁、以及该初始静止状态下的姿势参数存储在存储器中;取得步骤,按每一定定时取得所述磁传感器检测到的磁;累加步骤,按每规定区间对所述取得步骤取得的所述按每一定定时的所述磁传感器的各轴成分的输出值进行累加;和校正步骤,以使由该累加步骤累加后的所述磁传感器的各轴成分的输出值与所述存储器所存储的初始的磁相符的方式校正姿势参数。
附图说明
图1是表示本发明的演奏装置的一实施方式的概要的图。
图2是表示上述演奏装置的棒部的结构的框图。
图3是表示上述演奏装置的发音部的结构的框图。
图4是对上述演奏装置的棒部进行详细说明的图。
图5是对本发明的演奏装置的一实施方式所涉及的世界坐标系进行说明的图。
图6是表示上述棒部的CPU执行的处理的流程的流程图。
图7是表示姿势传感器和姿势的初始化处理的流程的流程图。
图8是表示姿势推测处理的流程的流程图。
图9是表示位置推测处理的流程的流程图。
图10是表示前端运动预测处理的流程的流程图。
图11是表示上述棒部的棒前端旋转轴与挥动方向之间的关系的图。
图12是表示第一实施例中的发音定时检测处理的流程的流程图。
图13是表示第二实施例中的发音定时检测处理的流程的流程图。
图14是表示上述棒部的动作状态的转变的图。
图15是表示发音量检测处理的流程的流程图。
图16是表示音符事件生成处理的流程的流程图。
图17是表示变形例中的音响搜索处理的流程的流程图。
图18是表示发音处理的流程的流程图。
具体实施方式
以下,使用附图对本发明的实施方式进行说明。
以下,参照附图来说明本发明的实施方式。
图1是表示本发明的一实施方式的演奏装置1的概要的图。如图1所示,本发明的演奏装置1由棒部10和发音部30构成。
棒部10是沿长边方向延伸的棒状构件。演奏者用手把持棒部10的一端(根侧)来进行以手腕等为中心的上挥及下挥动作,由此来进行演奏动作。为了感测这样的演奏者的演奏动作,而在棒部10的另一端(前端侧)设置有姿势传感器12(参照图2)。
发音部30用于发出乐音。
这样的演奏装置1中,与使用了棒部10的演奏动作、即棒部10的下挥动作相对应地,发音部30发出规定的乐音。由此,进行演奏者的演奏。
[演奏装置1的结构]
首先,参照图2及图3,对本实施方式的演奏装置1的各结构要素,具体地说对棒部10及发音部30的结构进行说明。
[棒部10的结构]
图2是表示棒部10的结构的框图。如图2所示,棒部10具备:CPU(CentralProcessingUnit)11、姿势传感器12、I/F(接口)装置13、ROM(ReadOnlyMemory)14、RAM(RandomAccessMemory)15、输入部16、无线通信装置17及LED18。
姿势传感器12包括:计测地磁方向的3轴的磁传感器121;用于测定对棒施加的加速度的3轴的加速度传感器122;以及计测棒的旋转动作的3轴的角速度传感器123。各传感器能够进行3个轴x、y、z的轴向的计测。
参照图4,在本实施方式中,将与棒部10的长边方向的轴一致的轴设为y轴,将与配置有姿势传感器12的基板(未图示)平行且与y轴正交的轴设为x轴,将与x轴及y轴正交的轴设为z轴。磁传感器121能够取得地磁向量的x轴、y轴、z轴各自的成分的地磁值。此外,加速度传感器122能够取得x轴、y轴、z轴各自的成分的加速度值。此外,角速度传感器123能够取得以各个轴为中心的角速度的成分的值(ωx、ωy、ωz)。
在此,演奏者保持着棒部10的一端(根侧),进行以手腕等为中心的上挥及下挥动作,由此,对棒部10产生旋转运动或平行运动等。由姿势传感器12检测这些运动,并送出给CPU11。
返回图2,CPU11读出姿势传感器12检测到的加速度值、角速度值、地磁方向和强度,根据这些值来进行棒的姿势及发音的定时检测。由此,CPU11进行与该发音对应的音符开启事件的生成,并经由I/F装置13及无线通信装置17将音符开启事件发送给发音部30。在此,所谓音符开启事件是指对音源部371(参照图3)指示乐音的发出的指令信息,在本实施方式中,除了发出的乐音的音色及音高的信息之外,还包含有乐音的音量等信息。
这样,CPU11基于棒部10所具有的姿势传感器12的各传感器值,向发音部30发送音符开启事件,由此,发音部30能够基于使用了棒部10的演奏动作来发出规定的乐音。
ROM14保存有CPU11执行的各种处理的处理程序,即,保存有如所述那样由姿势传感器12进行的数据的取得、音符开启事件的生成处理、音符开启事件的发送处理等的处理程序。RAM15保存有姿势传感器12的各传感器值、处理中取得的或生成的值。I/F13根据来自CPU11的指示,向无线通信装置17输出数据。
此外,输入部16具有各种开关(未图示),受理来自演奏者的各种指示输入。
无线通信装置17与发音部30之间进行规定的无线通信。规定的无线通信可以由任意的方法来进行,在本实施方式中,无线通信装置17通过红外线通信与发音部30之间进行无线通信。LED18根据来自CPU11的控制,进行发光及熄灭。另外,LED18被用于表示棒的姿势的初始化等棒的处理状态等。
[发音部30的结构]
接下来,参照图3,对发音部30的结构进行说明。图3是表示发音部30的结构的框图。如图3所示,发音部30具有CPU31、I/F(接口)32、ROM33、RAM34、显示部35、输入部36及音响(sound)系统37。发音部30的I/F32接受来自棒部10的数据(例如,发出乐音的控制数据即音符开启事件)并保存在RAM34中,并且,向CPU31通知数据的接受。在本实施方式中,棒部10设有无线通信装置17,发音部30设有红外线通信装置38。通过红外线通信装置38接收棒部10的无线通信装置17发出的无线信号,从而I/F32从棒部10接收数据。
CPU31执行演奏装置1整体的控制,特别是执行发音部30的控制、构成输入部36的键开关(未图示)的操作的检测、基于经由I/F32接收到的来自棒部10的音符开启事件进行的乐音的发出等各种处理。
ROM33保存演奏装置1整体的控制的程序,特别是保存发音部30的控制、构成输入部36的键开关(未图示)的操作的检测、基于经由I/F32接收到的音符开启事件进行的乐音的发出等各种处理的程序。此外,ROM33包含波形数据区域,该波形数据区域保存各种音色的波形数据,例如,长笛、萨克斯、小号等管乐器、钢琴等键盘乐器、吉他等弦乐器、低音鼓(bassdrum)、踩镲(high-hat)、小军鼓(snaredrum)、铙钹(cymbal),大锣(Tam-tam)等打击乐器的波形数据。
RAM34存储从ROM33读出的程序、在处理的过程中产生的数据或参数。在处理的过程中产生的数据中包括:输入部36的开关的操作状态、经由I/F32接收到的音符开启事件、演奏者的身体动作的状态(前进标志或位移量)等。
显示部35例如由液晶显示装置构成,将所选择的音色或音量、演奏者的身体动作的状态(相对于基准位置的位移量)等作为图像进行显示。此外,输入部36具有各种开关(未图示),受理来自演奏者的各种信息的输入。
音响系统37包括音源部371、音频电路372及扬声器373。音源部371根据来自CPU31的指示,从ROM33的波形数据区域读出波形数据,生成乐音数据并将其输出。音频电路372将从音源部371输出的乐音数据变换为模拟信号,并且,将变换后的模拟信号放大后输出给扬声器373。由此,从扬声器373输出乐音。
[坐标系的说明]
接下来,参照图5对本实施方式中的棒的姿势及世界坐标系进行说明。在此,所谓世界坐标是指以演奏者为中心的坐标系。如图5所示,将从演奏者观察时的右水平方向定义为X轴,将前方水平方向定义为Y轴,将头顶方向定义为Z轴。与图4所示出的棒部10的3轴即x轴、y轴、z轴是不同的。在本实施方式中,将棒部10的3轴称作本地坐标系并以小写字母进行表示,相对于此,在世界坐标系中,用大写字母来表示3轴。若演奏者挥动(swing)棒部10,则本地坐标与世界坐标之间的关系随着时间发生变化。将从世界坐标系观察时棒部10的本地坐标系的朝向是如何的称为棒的姿势。
此外,若棒部10移动,则从世界坐标系的原点观察的本地坐标系的原点也移动。将从世界坐标系观察的本地坐标系的原点称作棒部10的位置。
[演奏装置1的处理]
接着,对本实施方式的演奏装置1的处理进行说明。首先,参照图6来对在棒部10中执行的处理进行概要说明。
图6是表示棒部10的CPU11所执行的处理的流程的流程图。CPU11从ROM14读出并执行程序代码。
首先,CPU11执行初始化处理(步骤S11),该初始化处理包含姿势传感器12所具有的各种传感器的初始化和RAM15的数据的清除等。若初始化处理结束,则CPU11执行姿势传感器12所具有的各种传感器具有的、因设备的差别或温度而变化的偏置或增益调整等(步骤S12)。接下来,CPU11读出输入部36的开关的状态并将其保存在RAM15中(步骤S14)。保存在RAM15中的该开关的状态被用于后述的位置检测的辅助等。
接下来,CPU11在用户挥动了棒部10时,执行使得与该挥动相对应地发音的处理(步骤S16~S24))。首先,CPU11将姿势传感器12的加速度值、角速度值、以及地磁的方向和强度保存在RAM15中(步骤S16)。
CPU11根据该读出的值,执行棒部10的姿势的推测(步骤S17),接下来,执行棒部10的平行移动的位置推测(步骤S18)。进而,CPU11执行棒部10的前端的运动预测(步骤S19),使用该预测出的运动,执行发音定时的检测(步骤S20)。进而,CPU11执行发音量的检测(步骤S21)。在步骤S20中为发音定时(动作状态为后述的SHOT”)情况(步骤S22中判定为是的情况)下,CPU11根据棒部10的姿势及位置,决定乐音的音色、音高,生成音符开启事件(步骤S23),并将生成的音符开启事件发送给发音部30(步骤S24)。
[姿势传感器和姿势的初始化]
参照图7对图6的步骤S12的姿势传感器和姿势的初始化处理进行详细说明。
图7是表示姿势传感器和姿势的初始化处理的流程的流程图。
首先,CPU11进行显示,以便让用户使棒部10的前端朝向前方方向静止(步骤S71)。作为显示的例子,CPU11使LED18以绿色点亮。
接下来,CPU11读出角速度传感器123的各轴的数据。角速度传感器123通常会因设备的差别或温度变动而角速度为0时的偏置值变动。CPU11将角速度传感器123的值作为偏置值存储在RAM15中(步骤S72)。之后的步骤中,CPU11在读出了角速度传感器123的值时,通过从所读出的值中减去该偏置值,而调整成使得棒部10静止时的角速度为0。
接下来,CPU11读出加速度传感器122的各轴的数据,与前次的加速度比较来判断是否检测到了重力方向的变化(步骤S74)。具体地说,在棒部10的静止状态下,加速度传感器122的值仅示出重力方向的各轴成分,因此,CPU11在各轴成分的值没有变化情况下,能够检测为棒处于静止状态。在本实施方式中,CPU11在1秒程度没有变化的情况下,检测为棒处于静止状态。CPU11在检测为棒处于静止状态的情况下,结束角速度的偏置值的登录,使处理转移至步骤S75。另一方面,CPU11在检测为棒进行了动作的情况下,使处理移至步骤S72,再次重新进行偏置值的登录。
接着,CPU11进行姿势的初始化(步骤S75)。具体地说,CPU11在用户使棒部10的前端部朝向了前方方向的状态下,以使棒部10的前端部所朝的方向成为世界坐标系的前方(Y轴向)的方式对世界坐标系与本地坐标系的关系进行初始化。此外,CPU11将该初始化时刻的角速度、加速度及地磁的各轴成分存储在RAM15中。
接着,CPU11进行用于使用户进行将棒部10朝向各种方向的动作的显示(步骤S76)。例如,CPU11使LED18以红色进行闪烁。
进而,CPU11求出磁传感器121的偏置和增益的校正数据(步骤S77)。具体地说,CPU11通过磁传感器121来检测与步骤S76的处理相对应地用户使棒部10朝向各种方向时的地磁的值,并使用计测到的地磁的值来求出校正数据。作为偏置和增益的值的求出方法的例子,CPU11根据磁传感器121的各轴的最大值及最小值来计算其中央值,将计算出的中央值作为各轴的偏置值。
此外,CPU11以使从各轴的中央到最大值为止的值相同的方式计算增益校正值,并将计算出的偏置值和增益校正值存储在RAM15中。之后的步骤中,CPU11在读出了磁传感器121的值时,从读出的值中减去偏置值,进而乘上校正增益,由此对地磁的值进行校正后作为检测值。
接着,CPU11判定所检测到的地磁的值是否是在一般地面上检测到的值(步骤S78)。在所检测到的地磁的值不是在一般地面上检测到的值的情况下,CPU11使处理返回至步骤S76,再次求出磁传感器121的偏置值和增益的校正数据。在检测到的地磁的值是在一般地面上检测到的值的情况下,CPU11使处理移至步骤S79,将偏航(yaw)校正模式设为地磁模式。
此外,CPU11在虽然执行了规定次数(例如5次等)的步骤S78的处理但检测到的地磁的值仍然不是在一般地面上检测到的值的情况下,使处理移至步骤S80,将偏航校正模式设为敲击模式。若步骤S79或者步骤S80的处理结束,则CPU11使处理移至步骤S81,显示偏航校正模式是地磁模式还是敲击模式。例如,CPU11在是敲击模式的情况下,使LED18以红色点亮,在是地磁模式的情况下,使LED18以绿色点亮。另外,角速度传感器123及磁传感器121的传感器值的校正处理的顺序也可以调换。
[姿势推测]
参照图8,对图6的步骤S17的姿势推测处理进行详细说明。
图8是表示姿势推测处理的流程的流程图。
若将从世界坐标系观察的本地坐标系的x轴、y轴、z轴的基向量设为ex、ey、ez,将各基向量定义为按列排列的矩阵TL→W=(exeyez),则在本地坐标系的点p=(xyz)T和与该点p对应的世界坐标系的点P=(XYZ)T之间有接下来的关系式(1)、(2)成立(运算符号T表示转置矩阵)。
P=TL→Wp...式(1)p=TL→W TP...式(2)
这样,TL→W表示2个坐标系的关系,因此,这样能够使用2个坐标系彼此的关系等来表示当前的棒姿势状态。另外,作为姿势的表现方法,也可以使用俯仰(pitch)、偏航(yaw)、翻滚(roll)等角度。
然而,能够根据在本次时刻t读取到的角速度传感器123的值来取得具有本地坐标系的各轴成分的3维的角速度向量。通过对该3维的角速度向量的各轴成分的值乘上角速度传感器123的取样时间即δT,求出旋转角向量θt=(θxtθytθzt)T。
能够通过该旋转角向量求出棒的姿势。具体地说,时刻t下的姿势TL →Wt,使用以x轴为中心的θxt的旋转、以y轴为中心的θyt的旋转和以z轴为中心的θzt的旋转的合成矩阵Rall(θt)、以及前次的姿势TL→Wt-1,能够推测为TL→Wt=Rall(θt)TL→Wt-1。这样,CPU11基于本次的角速度传感器123的值,使前次的姿势更新,来推测本次的姿势(步骤S101)。
然而,这样求出的姿势不断地累积误差。此外,若姿势有一次出错,则之后的姿势推测的精度会显著恶化。例如,考虑使棒部10从前方水平笔直地朝向右水平方向进行了旋转的情况。若最初不是水平而是垂直方向的旋转中带有误差,则棒的前端的轨迹一边倾斜地上升一边旋转,然后,关于该姿势,由于还有新的旋转被施加,因此,加速地从本来的姿势偏离。因此,通过进行重力推测,来进行姿势推测的校正,提高了姿势的精度。
由加速度传感器122检测到的加速度向量由本地坐标系中的各轴的成分构成。使用在步骤S101中求出的姿势信息,用世界坐标系向量来表示该加速度向量。
如果不施加外力,则加速度传感器122仅检测到重力,因此,若将加速度传感器122检测到的本地坐标系下的加速度向量变换为世界坐标系,则始终表示相同的方向。但是,棒部10在动作中被施加离心力等外力,因此,不会始终朝向相同的方向。然而,用户是以站立不动的状态挥动棒部10的,因此,棒部10的位置不动。此外,在将棒部10上挥了时或下挥了时等停止时,速度为0。即,从加速度向量中除去重力成分之后的外力的积分在棒部10停止时为0。因此,对世界坐标系的加速度向量进行了积分而得的向量大体表示重力方向。使用该性质来推测世界坐标系的重力方向。
具体地说,CPU11将在本次时刻t读取到的加速度传感器122取得的各轴成分的加速度值设为LAT=(AxtAytAzt)T,由于这是本地坐标系,因此,基于式(3),变换计算为世界坐标系(步骤S102)。
WAT=TL→Wt·LAT...(3)
接下来,CPU11针对变换为世界坐标系的加速度向量的值,按各成分计算从当前时刻至规定时间前的平均值,求出平均加速度向量。规定时间是根据挥动状态等实验决定的。CPU11将该平均加速度向量推测为重力方向向量Wegt(步骤S103)。
具体地说,定义下述的式子(式(4)),通过递归加法进行累加。kg为阻尼系数,是根据挥动状态等实验决定的。
Gwt=kg·Gwt-1+WAt...(4)
根据该Gwt,用Wegt=Gwt/|Gwt|推测世界坐标系的重力方向向量Wegt。
接下来,CPU11以使该重力方向向量Wegt成为Z轴的负的方向向量(00-1)T的方式,修正姿势参数TL→Wt(步骤S104)。具体地说,CPU11通过进行以与重力方向向量Wegt和负的方向向量(00-1)T这2个向量正交的轴为中心来旋转这2个向量所成角度的量的操作,来修正姿势参数TL→Wt。由此,进行重力方向的校正,因此,提高姿势推测的精度。
所述的姿势校正仅为重力方向,因此,以Z轴为中心的偏航角的误差累积仍然被残留。在本实施方式中,关于偏航角的校正,提出了由用户进行的开关操作和使用了地磁进行的校正这2个方法。
首先,说明基于用户的开关操作进行的校正。该校正是指通过用户在棒部10朝向前方的定时定期地按下棒部10所具备的输入部16(例如,开关),使CPU11进行偏航角的校正。CPU11判断偏航方向强制开关是否被接通(步骤S109)。该处理中,CPU11判断是否从输入部16接收到了表示偏航方向强制开关被接通了的信号。
在步骤S109中的判断为是的情况下,CPU11求出使棒部10的前端的世界坐标系的方向向量与世界坐标系的Y轴的方向向量一致这样的旋转矩阵,使用该旋转矩阵来进行姿势参数的校正(步骤S110)。由此,棒部10的前端的偏航角被设为0度。
该旋转矩阵例如考虑如下的旋转角向量,该旋转角向量具有构成2个向量的角度的长度,且朝向与2个向量正交的向量方向。能够对该旋转角向量,利用与求出角速度传感器123的姿势校正的合成旋转矩阵的方法相同的方法,来求出合成矩阵变换。
接下来,对使用了地磁的校正进行说明。
在步骤S109的判断为否的情况下,CPU11判定偏航方向校正模式是否为地磁模式下的校正模式(步骤S105)。在不是地磁模式下的校正模式的情况下,CPU11结束姿势推测处理。
在是地磁模式下的校正模式的情况下,CPU11将在本次时刻t读取到的由磁传感器121求出的地磁向量的值设为LMT=(MxtMytMzt)T,由于这是本地坐标系,因此基于式(5),变换为世界坐标系(步骤S106)。
WMT=TL→Wt·LMT...(5)
接下来,CPU11例如执行IIR(InfiniteImpulseResponse:无限脉冲响应)滤波来进行平滑化。将该平滑而得到的方向推测为当前的地磁方向Wemt(步骤S107)。
具体地说,执行下述的IIR滤波运算(式(6))来进行平滑化。km为滤波系数,是根据挥动状态等实验决定的。
Mwt=(1-km)·Mwt-1+km·WAt...(6)
根据该Mwt,用Wemt=Mwt/|Mwt|来推测世界坐标系的当前的地磁方向向量Wemt。
接着,CPU11将初始状态下的世界坐标系中的地磁的方向Wem0记录在RAM15中,求出使当前的地磁方向Wemt与初始状态下的世界坐标系中的地磁的方向Wem0的方向在世界坐标系的XY平面中朝向相同的方向这样的旋转矩阵,使用该旋转矩阵来进行姿势参数TL→Wt的校正(步骤S108)。由此,进行地磁方向的校正,因此提高了姿势推测的精度。
该旋转矩阵具体地说,考虑将各向量的Z成分设为0的向量,并且,从该2个向量方向,与重力校正同样地考虑具有在中心构成2个向量的角度的长度且朝向与2个向量正交的向量方向的向量,该旋转矩阵能够通过该各成分的值的旋转的合成矩阵变换来表现。
[位置推测]
参照图9对图6的步骤S18的位置推测处理进行详细说明。
图9是表示位置推测处理的流程的流程图。
在进行姿势推测时,在图8的步骤S103中,推测了世界坐标的重力方向Wegt。CPU11求出从世界坐标系的加速度向量中除去了该重力方向Wegt的成分后的向量,将该向量定义为由外力引起的加速度WFT(步骤S201)。进而,CPU11对由外力引起的加速度WFT进行积分来求出移动速度Wvt,进而对该移动速度Wvt进行积分来求出水平面的移动量WDt(步骤S202)。
另外,积分如果是完全积分则会出现误差累积的影响,因此,优选使用不完全积分。阻尼系数(时间常数)是通过实验来进行调整的。这样求出的值在之后的音符事件生成处理(图16参照)中被利用。
[前端运动预测]
参照图10及图11对图6的步骤S19的前端运动预测处理进行详细说明。
优选发音的强弱通过棒前端的速度来控制。关于预测速度,有从加速度传感器求出速度的方法,但是精度方面有问题。此外,仅通过角速度来预测的情况下,棒的挥动是以肘或肩为中心的旋转运动或者一边伸出肘等一边进行挥动,因此,角速度与速度不一定处于成正比关系。因此,在本实施方式中,通过前端的角速度和角加速度来进行速度预测。
图10是表示前端运动预测处理的流程的流程图。
作为求出方法的一个例子,首先,CPU11将从角速度向量中除去绕y轴的成分后的角速度设为棒前端的角速度的观测值ωVt=(ωxt0ωzt)T,使用卡尔曼滤波等来将该值推测为角速度ωs及角加速度δωs(S210)。
例如,各自的角速度成分是对前次的角速度成分加上了角加速度成分后的值,角加速度成分能够利用对与前次相同的角加速度成分中加上驱动噪声这样的状态模型来求出。CPU11使用这样得到的棒前端的角速度,将该角速度的最近一次的平均向量方向推测为棒前端速度旋转轴er(步骤S211)。
本实施例是通过卡尔曼滤波来实现的,但是,也可以使用IIR滤波对传感器的值及其差分进行平滑化来求出各自的角速度、角加速度。
将与棒前端旋转轴和棒的方向y轴正交的方向(外积方向,参照图11)定义为挥动方向es。前端的旋转运动的切线方向朝该方向。CPU11通过计算LAt与es的内积来求出加速度向量LAt的挥动方向的成分LAst,(步骤S212)。
[发音定时检测处理]
参照图12或者图13对图6的步骤S20的发音定时检测处理进行详细说明。
[发音定时检测处理(第一实施例)]
图12是表示第一实施例中的发音定时检测处理的流程的流程图。
首先,CPU11与动作状态相对应地进行分支(步骤S302)。动作状态中有IDLE(空闲)、ACTION(动作)、SHOT(敲击)及DONE(完成)这4个状态。CPU11在IDLE的情况下,使处理移至步骤S303,在ACTION的情况下,使处理移至步骤S320,在SHOT的情况下,使处理移至步骤S330,在DONE的情况下,使处理移至步骤S340。
在此,在图14中示出了标准的动作状态的转变。图14中,横轴表示时间轴,纵轴在图A中表示角速度的大小(向量的长度)。符号没有什么含义,但为了方便将棒部10开始挥动的方向设为正。此外,纵轴在图B中表示角加速度的大小(向量的长度)。符号将与角速度的正方向相同的朝向设为正。图C示出了旋转方向的加速度。图D示出了动作状态的转变。
棒停止的状态为IDLE,在初始状态下,动作状态被初始化为IDLE。在初始状态的时刻t0,动作状态为IDLE。此时CPU11在棒部10的角加速度不是正的情况下,结束发音定时检测处理(步骤S303)。即使棒部10的角加速度为正但棒部10的角速度为“阈值1”以下的情况下,CPU11结束发音定时检测处理(步骤S304)。在棒部10的角速度超过了“阈值1”的值的情况下,CPU11使处理移至步骤S305(步骤S304)。图14中示出了在t2的时刻超过了“阈值1”。在步骤S305中,CPU11使动作状态变更为ACTION(步骤S305),将最大角速度初始化为0(步骤S306),结束发音定时检测处理。
若动作状态变为ACTION,则短暂期间内棒继续加速,在此期间,角加速度为正,因此,CPU11在步骤S320中判断为是,比较当前的角速度与所保持的最大角速度(步骤S321),在角速度大于最大角速度的情况下,更新最大角速度(步骤S322),对“阈值2”进行更新(步骤S323)。在角速度小于最大角速度的情况下,CPU11结束发音定时检测处理。
“阈值2”是由最大角速度的值决定的。例如,利用“阈值2”=(最大角速度)×C来求出,在此,C为0~1的值,是实验决定的。通常优选为0.1程度。该“阈值2”假定了与检测到敲击起至发出乐音为止的延迟时间相当的预先的角速度。这是因为,由于会产生无线的传递延迟、在后述的发音处理中会产生延迟,所以为了保证该延迟的量,而先于本来的鸣声的定时地事先鸣动乐音。一般而言,假定敲击的角速度的曲线是与乐音的强弱成正比的形状,根据角速度的最大值来决定阈值。
若棒部10变为减速状态(t3),则棒部10的角加速度成为0以下,因此,CPU11在步骤S320中判断为否。在步骤S324中,CPU11比较当前的角速度的绝对值是否小于“阈值2”。在棒还未被充分地减速的期间,CPU11在步骤S324中判断为否,结束发音定时检测处理,等待敲击定时。
若棒充分地减速,小于“阈值2”,则CPU11判定为接近了敲击定时,在步骤S324中判断为是(t4的定时),将动作状态设定为SHOT(步骤S325),将敲击经过时间初始化为0(步骤S326)。然后,CPU11结束发音定时检测处理。该SHOT状态用于通知发音定时,在图6的步骤S22的发音定时的判断中被使用。
在动作状态为SHOT的情况下,CPU11将动作状态在步骤S330中更新为DONE,结束发音定时检测处理。
在动作状态为DONE的情况下,CPU11判断角速度是否为“阈值3”以下(步骤S340),在判断为角速度为“阈值3”以下的情况下,将动作状态变更为IDLE(步骤S341),结束发音定时检测处理。CPU11在步骤S340中判断为角速度大于“阈值3”的情况下,判断敲击经过时间是否为“阈值4”以下(步骤S342),在判断为敲击经过时间为“阈值4”以下的情况下,结束发音定时检测处理。另一方面,CPU11在判断为敲击经过时间超过了“阈值4”的情况下,将动作状态变更为IDLE(步骤S341),结束发音定时检测处理。
即,DONE状态被保持,直至角速度变为“阈值3”以下。这是为了防止在停止时鸣动多个乐音的误动作。但是,在角速度缓慢地减速,角速度变为“阈值3”以下为止的敲击经过时间超过了“阈值4”的情况下,动作状态被从DONE变更为IDLE。
[发音定时检测处理(第二实施例)]
图13是表示第二实施例中的发音定时检测处理的流程的流程图。
首先,CPU11与动作状态相对应地进行分支(步骤S352)。动作状态中有IDLE、ACTION、SHOT及DONE这4个状态。CPU11在IDLE的情况下,使处理移至步骤S353,在ACTION的情况下,使处理移至步骤S370,在SHOT的情况下,使处理移至步骤S380,在DONE的情况下,使处理移至步骤S390。在此,标准的动作状态的转变如图14所示那样与第一实施例相同。
CPU11在棒部10的角加速度不是正的情况下,结束发音定时检测处理(步骤S353)。即便棒部10的角加速度为正但棒部10的角速度为“阈值1”以下的情况下,CPU11结束发音定时检测处理(步骤S354)。在棒部10的角速度超过了“阈值1”的值的情况下,CPU11使处理移至步骤S355(步骤S354)。图14示出了在t2的时刻超过了“阈值1”。步骤S355中,CPU11使动作状态变更为ACTION(步骤S355),结束发音定时检测处理。
若动作状态变为ACTION,则短暂期间内使棒继续加速,在该期间,角加速度为正,因此,CPU11在步骤S370中判断为是,结束发音定时检测处理。
若棒部10变为减速状态(t3),则棒部10的角加速度成为0以下,因此,CPU11在步骤S370中判断为否。CPU11在步骤S371中,根据当前的棒前端角速度ωst、角加速度δωst,推测角速度变为0为止的时间。若将该推测的时间设为Trem,则能够通过
Trem=|ωst|/|δωst|
大概地推测该时间。
接着,CPU11判定推测出的时间是否为“阈值5”以下(步骤S372)。例如该“阈值5”设为10m秒程度。
该“阈值5”作为检测到敲击起至发出乐音为止的延迟时间而被设定。这是因为,由于会产生无线的传递延迟、在后述的发音处理中会产生延迟,因此为了保证该延迟的量,要早于本来的鸣声定时地事先鸣动乐音。CPU11在棒部10充分地减速之前,在步骤S372中判断为否,结束发音定时检测处理。若棒部10的角速度终于接近0,则到停止(角速度0)为止的推测时间为“阈值5”以下,CPU11在步骤S372中判断为是(t4的定时),将动作状态设定为SHOT(步骤S373),将SHOT经过时间初始化为0(步骤S374)。该SHOT状态用于通知发音定时,在图6的步骤S22的发音定时的判断中被使用。
在动作状态为SHOT的情况下,CPU11将动作状态在步骤S380中更新为DONE,结束发音定时检测处理。
在动作状态为DONE的情况下,CPU11判断角速度是否为“阈值3”以下(步骤S390),在判断为角速度为“阈值3”以下的情况下,将动作状态变更为IDLE(步骤S391),结束发音定时检测处理。CPU11在步骤S390中判断为角速度大于“阈值3”的情况下,判断敲击经过时间是否为“阈值4”以下(步骤S392),在判断为敲击经过时间为“阈值4”以下的情况下,结束发音定时检测处理。另一方面,CPU11在判断为敲击经过时间超过了“阈值4”的情况下,将动作状态变更为IDLE(步骤S391),结束发音定时检测处理。
即,DONE状态被保持,直至角速度成为“阈值3”以下。这是为了防止在停止时鸣动多个乐音的误动作。但是,在角速度缓慢地地减速,角速度变为“阈值3”以下为止的敲击经过时间超过了“阈值4”的情况下,动作状态被从DONE变更为IDLE。
[发音量检测]
参照图15对图6的步骤S21的发音量检测处理进行详细说明。
图15是表示发音量检测处理的流程的流程图。
CPU11判定动作状态,在动作状态为DONE或者IDLE的情况下,使处理移至步骤S402,在动作状态为ACTION或者SHOT的情况下,使处理移至步骤S406。
在动作状态为DONE或者IDLE的情况下,CPU11将峰值角速度值(标量)ωspeak、偏移速度vst、峰值偏移速度vspeak及峰值偏移加速度aspeak初始化为0(步骤S402~S405)。
峰值角速度值ωspeak是在棒发音挥动中检测到的角速度的最大值,偏移速度vst是棒的前端的平行移动量的速度成分,当前的峰值偏移速度vspeak是对偏移速度LVst的最大值进行保持的值。若在发音定时检测(图12的步骤S305)中检测到棒的挥动,动作状态变为ACTION或者SHOT,则CPU11比较当前的棒前端角速度向量的标量|ωst|与峰值角速度值ωspeak,在|ωst|较大的情况下,将ωspeak更新为|ωst|的值(步骤S406)。
接下来,CPU11进行在图10的步骤S212中求出的挥动方向的加速度成分LAst的偏移加速度的峰值aspeak的保持和更新(步骤S407)。
接着,CPU11对在图10的步骤S212中求出的挥动方向的加速度成分LAst进行不完全积分,得到挥动方向的速度LVst(步骤S408)。
CPU11比较所述的挥动方向速度LVst与峰值角速度值vspeak,在LVst较大的情况下,将vspeak更新为LVst的值(步骤S409)。
接下来,CPU11根据3个峰值求出棒的速度(音量)。例如,通过下面的式(5)那样的加权加法等来求出。
Pshot=a1·ωspeak+a2·vspeak+a3·aspeak...式(5)
在此,a1、a2、a3为混合参数,是实验决定的。
将该Pshot利用为敲击的乐音的大小。
[音符事件生成]
参照图16对图6的步骤S23的音符事件生成处理进行详细说明。
图16是表示音符事件生成处理的流程的流程图。
在敲击时,使在空间上虚拟地排列的哪个音源鸣动被决定,而敲击定时考虑到系统的延迟而被先检测,因此,CPU11进行乐音鸣动时的棒部10的位置的推测(步骤S501)。由于棒部10的前端的角速度和角加速度已知,因此,CPU11通过求出Trem后的棒的姿势能够推测位置。具体地说,CPU11对Trem进一步进行时间细分化,将其时间间隔设为T,根据前次的角速度向量及角加速度向量来求出各时间的角速度向量。进而,CPU11利用该角速度向量,求出各时间间隔的旋转角向量,使用该旋转角向量,求出合成旋转矩阵,来预测接下来的姿势。到Trem为止反复进行上述运算,由此能够将Trem秒后的姿势预测为TL→Wt+Trem。能够根据该姿势参数得到棒部10的前端方向y轴的世界坐标系的位置Py=(PyXPyYPyZ)T。
在世界坐标系中绘制(map)(配置)有6个音源的情况下,将各个音源的位置(世界坐标系)例如设为:
音源1:(0,1,0)前方
音源2:(sin60,cos60,0)前方右60度方向
音源3:(-sin60,cos60,0)前方左60度方向
音源4:(0,cos45,sin45)前方上部45度方向
音源5:(cos45sin60,cos45cos60,sin45)前方右60度,上部45度方向
音源6:(-cos45sin60,cos45cos60,sin45)前方左60度,上部45度方向。
该各音源的位置信息和对应于各音源号码的音色被预先存储在ROM14的存储器中。
CPU11求出在步骤S501中推测出的发音时的棒部10的位置Py与各个音源位置Psi=(PsiXPsiYPsiZ)T之间的距离,将距离最近的音源作为本次的敲击对象的音源(步骤S502)。
距离测定为计算欧几里得距离。或者,对相对于挥动方向轴的距离而言不敏感那样的每个成分加权而使用欧几里得距离也是有效的。挥动方向由于是移动方向因此精度差,所以,优选与旋转轴方向相比使用加大了权重的距离。
或者,方位能够变换为俯仰、偏航、翻滚角度表现。也可以是,用该角度标记将音源位置、棒的位置变换为角度标记,来求出距离。此时,也可以使用在俯仰方向和偏航方向上改变了权重的距离。翻滚成分的权重优选为0。
若将在步骤S502中作为敲击对象的音源号码或者在参照图17后述的音响(sound)搜索处理中决定出的音源号码设为i,则CPU11从表格中读出与第i个音源对应的音符(步骤S503),能够获得发音的音符。
接下来,CPU11检查在图7的步骤S79或者S80判定出的偏航方向校正模式(步骤S504)。在偏航方向校正模式为地磁模式的情况下,CPU11结束音符事件生成处理。另一方面,在偏航校正模式为敲击模式的情况下,CPU11求出音源与棒部10所成的偏航角误差(步骤S505)。具体地说,CPU11根据姿势参数求出棒的方向向量,使用所述的世界坐标系的音源的位置信息来求出音源的方向向量,将由这2个向量的XY成分构成的向量的角度之差求出为偏航角误差(yawangleerror)。该偏航角误差为绕Z轴的旋转误差,因此,CPU11求出以Z轴为旋转轴的旋转矩阵,使用该旋转矩阵来进行姿势的校正(步骤S506)。
[音响搜索]
参照图17对图16的步骤S502的变形例的音响搜索处理进行详细说明。
图17是表示图16的步骤S502的变形例的音响搜索处理的流程的流程图。代替图16的步骤S502的处理,而执行本处理。即,本处理在图15的步骤S501的处理后被执行,若本处理的步骤S613结束,则CPU11使处理移至图16的步骤S503。
首先,CPU11通过与图16的步骤S502同样的音响搜索方法,根据各音响图查找出距离最近的音源(步骤S601)。
接下来,CPU11将查找出的音源号码i作为本次的音源选择号码存储在RAM15中(步骤S602)。接着,CPU11读出前次的音源号码,并比较该音源号码的位置坐标与本次的音源的位置坐标。此时,比较除了垂直方向Z轴之外的X、Y坐标(步骤S603)。垂直方向在本实施例不被校正。
进而,CPU11判断是否为相同方位(步骤S604),在判断为是相同方位时,判定在图9的S202中求出的移动量的水平成分的值是否大于预先确定的正的阈值(步骤S605)。在该判定为是的情况下,CPU11使棒部10的前端方向的位置Py向正方向旋转预先确定的水平方向的旋转角度(步骤S606)。在步骤S605中判定为否的情况下,CPU11比较将阈值设为-1倍时的负的阈值与该移动量的水平成分,判定该移动量的水平成分是否小于负的阈值(步骤S607)。在该判定为是的情况下,CPU11使棒部10的前端方向的位置Py向负方向旋转预先确定的水平方向的旋转角度(步骤S608)。
CPU11这样对棒的前端方向的方位进行校正,再次通过与图16的S502同样的音响搜索方法,根据各音响图(soundmap)查找距离最近的音源(步骤S609)。CPU11判断是否查找到了音源(步骤S610),在查找到了的情况下(步骤S610中判断为是),将新找到的音源更新为本次的音源号码并存储在RAM15中(步骤S611)。在没有找到的情况下(步骤S610中判断为否),保持以前的音源号码。
接下来,CPU11为了求出下次的敲击与本次的敲击之间的移动量,而将移动量的值复位为0(步骤S612)。进而,CPU11将本次采用的音源号码作为前次的音源号码存储在RAM15中(步骤S613)。
[发音处理]
参照图18对在发音部30中执行的发音处理进行说明。
图18是表示在发音部30中执行的发音处理的流程的流程图。
如图18所示,发音部30的CPU31在电源接通时,执行包含如下的初始化处理:RAM34的数据的清除、在显示部35的画面上显示的图像的清除、音源部371的清除等(步骤S701)。接着,CPU31执行开关处理(步骤S702)。在开关处理中,例如,根据输入部36的开关操作,确定演奏者所希望的音量值及音色,并保存在RAM34中。
接着,CPU31判断I/F32是否新接收到了音符开启事件(步骤S703)。在步骤S703判断为是的情况下,CPU31基于该接收到的音符开启事件,执行将所设定的音量值及所设定的音色的乐音的发出指示给音源部371的处理(步骤S704)。若步骤S704的处理结束,则CPU31使处理返回至步骤S702。
以上,对本实施方式的演奏装置1的结构及处理进行了说明。
在本实施方式中,CPU11按每一定定时取得加速度传感器122检测到的加速度及角速度传感器123检测到的角速度,并且,在棒部10的初始的静止状态下,包含加速度传感器122检测到的因重力引起的加速度在内地将该初始静止状态下的姿势参数存储在RAM15中。并且,按每一定定时,根据角速度传感器123检测到的角速度来更新该姿势参数,基于该更新后的姿势参数,根据检测到的加速度,计算重力方向的加速度。进而,按每个规定区间对该计算出的加速度进行累加,将累加后的加速度校正成与存储在RAM15中的加速度相符(优选一致)。
因此,在使棒部10高速地进行了动作的情况下,通过对重力方向进行校正,能够提高棒部10的姿势推测的精度。
此外,本实施方式中,CPU11在棒部10的初始的静止状态下,通过磁传感器121,检测包含棒部10的长边方向的轴在内的相互正交的3个轴各自方向的地磁成分,基于所述姿势参数将其变换为其他3个轴向的地磁成分并存储在RAM15中。并且,按每一定定时取得磁传感器121检测到的各轴的地磁成分,基于姿势参数将所取得的按每一定定时的各轴的地磁成分变换为所述其他3个轴向的地磁成分。进而,按每个规定区间对该变换后的各地磁成分进行累加,将该累加后的各地磁成分校正成与存储在RAM15中的各地磁成分相符(优选一致)。
因此,在使棒部10高速地进行了动作的情况下,通过对地磁方向进行校正,能够提高棒部10的姿势推测的精度。
此外,在本实施方式中,CPU11在角速度传感器123取得的角速度的值超过了“阈值1”后低于“阈值2”的情况下,向发音部30发送音符开启事件。此外,“阈值2”是与角速度传感器123取得的角速度的值超过“阈值1”后的最大值对应的值(具体地说,是对该最大值乘以一定比率值后的值)。
因此,通过考虑发音延迟时间而与本来的敲击定时相比在一定时间之前生成发音定时,能够提高发音的精度。
此外,在本实施方式中,CPU11推测角速度传感器123取得的角速度的值超过“阈值1”后成为0为止的时间,在推测出的时间低于“阈值5”的情况下,向发音部30发送音符开启事件。
因此,通过考虑发音延迟时间而与本来的敲击定时相比在一定时间之前生成发音定时,能够提高发音的精度。
此外,在本实施方式中,CPU11基于角速度传感器123取得的角速度来计算棒部10的前端部的角速度及角加速度,基于计算出的棒部10的前端部的角速度及角加速度,来推测角速度传感器123取得的角速度的值超过“阈值1”后变为0为止的时间。
因此,能够提高角速度的值变为0为止的时间的推测精度。
此外,在本实施方式中,CPU11基于角速度传感器123取得的角速度,推测演奏操作中的棒部10的旋转轴方向,基于从角速度传感器123取得的角速度中除去棒部10的长边方向的轴成分之后的角速度,计算棒部10的前端部的角速度,基于推测出的最近一次的旋转轴方向及计算出的棒部10的前端部的最近一次的角速度,计算规定时间后的棒部10的世界坐标系的位置,向发音部30发送与音源图的多个区域中的、距离计算出的该位置最近的区域对应的乐音的音符开启事件。
因此,即便棒部10被倾斜地挥动的情况下,也能够以本来的敲击定时下的棒部10的位置的音色进行发音。
此外,在本实施方式中,CPU11基于角速度传感器123取得的角速度,推测演奏操作中的棒部10的旋转轴方向,基于从由角速度传感器123取得的角速度中除去棒部10的长边方向的轴成分后的角速度,计算棒部10的前端部的角速度,基于推测出的最近一次的旋转轴方向及计算出的棒部10的前端部的最近一次的角速度,计算规定时间后的棒部10的世界坐标系的位置,基于加速度传感器122取得的加速度,计算移动距离,基于计算出的该位置及计算出的该移动距离,校正规定时间后的棒部10的世界坐标系的位置,向发音部30发送与音源图的多个区域中的、距离校正后的该位置最近的区域对应的乐音的音符开启事件。
因此,即便棒部10被倾斜地挥动且进行了平行移动的情况下,也能够以本来的敲击定时下的棒部10的位置的音色进行发音。
此外,在本实施方式中,CPU11基于角速度传感器123取得的角速度,计算演奏操作中的棒部10的角速度的最大值,基于加速度传感器122取得的加速度,计算演奏操作中的棒部10的加速度的最大值,基于计算出的角速度的最大值和加速度的最大值,控制发出的乐音的音量。
因此,即使在虚拟的音源在世界坐标系中被垂直地配置的情况下,也能够反映出挥动动作的强度地进行适当的音量控制。
以上,对本发明的实施方式进行了说明,但是实施方式只不过是例示,不限定本发明的技术范围。本发明能够获得其他各种实施方式,而且,在不脱离本发明的宗旨的范围内能够进行省略、置换等各种变更。这些实施方式及其变形包含在本说明书等记载的发明的范围及宗旨内,并且包含在权利要求书所记载的发明及其等同范围内。
Claims (2)
1.一种姿势检测装置,其特征在于,具备:
保持构件,供用户操作;
磁传感器,检测在所述保持构件的相互正交的3轴各自的方向上产生的地磁;
存储控制单元,将在所述保持构件的初始的静止状态下由所述磁传感器检测到的初始的地磁、以及该初始静止状态下的姿势参数存储在存储器中;
取得单元,按每一定定时取得所述磁传感器检测到的地磁;
累加单元,按每规定区间对所述取得单元取得的所述按每一定定时的所述磁传感器的各轴成分的输出值进行累加;以及
校正单元,以使由该累加单元累加后的所述磁传感器的各轴成分的输出值与所述存储器所存储的初始的地磁的值相符的方式校正姿势参数。
2.一种姿势检测装置执行的方法,该姿势检测装置具备:保持构件,供用户操作;和磁传感器,检测在所述保持构件的相互正交的3轴各自的方向上产生的地磁,其特征在于,该方法包括:
存储控制步骤,将在所述保持构件的初始的静止状态下由所述磁传感器检测到的初始的地磁、以及该初始静止状态下的姿势参数存储在存储器中;
取得步骤,按每一定定时取得所述磁传感器检测到的地磁;
累加步骤,按每规定区间对所述取得步骤取得的所述按每一定定时的所述磁传感器的各轴成分的输出值进行累加;和
校正步骤,以使由该累加步骤累加后的所述磁传感器的各轴成分的输出值与所述存储器所存储的初始的地磁的值相符的方式校正姿势参数。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012-084369 | 2012-04-02 | ||
JP2012084369A JP6044099B2 (ja) | 2012-04-02 | 2012-04-02 | 姿勢検出装置、方法及びプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103366722A CN103366722A (zh) | 2013-10-23 |
CN103366722B true CN103366722B (zh) | 2016-01-27 |
Family
ID=48013860
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310112146.0A Active CN103366722B (zh) | 2012-04-02 | 2013-04-02 | 姿势检测装置及方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US10222194B2 (zh) |
EP (1) | EP2648183A1 (zh) |
JP (1) | JP6044099B2 (zh) |
CN (1) | CN103366722B (zh) |
Families Citing this family (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012170344A2 (en) * | 2011-06-07 | 2012-12-13 | University Of Florida Research Foundation, Inc. | Modular wireless sensor network for musical instruments and user interfaces for use therewith |
US9035160B2 (en) | 2011-12-14 | 2015-05-19 | John W. Rapp | Electronic music controller using inertial navigation |
JP5549698B2 (ja) | 2012-03-16 | 2014-07-16 | カシオ計算機株式会社 | 演奏装置、方法及びプログラム |
JP5598490B2 (ja) * | 2012-03-19 | 2014-10-01 | カシオ計算機株式会社 | 演奏装置、方法及びプログラム |
JP2013213946A (ja) * | 2012-04-02 | 2013-10-17 | Casio Comput Co Ltd | 演奏装置、方法及びプログラム |
JP2013213744A (ja) | 2012-04-02 | 2013-10-17 | Casio Comput Co Ltd | 姿勢検出装置、方法及びプログラム |
WO2014137311A1 (en) * | 2013-03-04 | 2014-09-12 | Empire Technology Development Llc | Virtual instrument playing scheme |
CN105807907B (zh) * | 2014-12-30 | 2018-09-25 | 富泰华工业(深圳)有限公司 | 体感交响乐演奏系统及方法 |
US9418639B2 (en) * | 2015-01-07 | 2016-08-16 | Muzik LLC | Smart drumsticks |
US9799315B2 (en) * | 2015-01-08 | 2017-10-24 | Muzik, Llc | Interactive instruments and other striking objects |
US11092441B2 (en) * | 2016-06-02 | 2021-08-17 | Bigmotion Technologies Inc. | Systems and methods for walking speed estimation |
FR3061797B1 (fr) * | 2017-01-11 | 2021-06-18 | Jerome Dron | Emulation d'au moins un son d'instrument de percussion du type batterie |
JP2021107843A (ja) * | 2018-04-25 | 2021-07-29 | ローランド株式会社 | 電子楽器システムおよび楽器用コントローラ |
US11157090B2 (en) | 2018-10-26 | 2021-10-26 | Magic Leap, Inc. | Ambient electromagnetic distortion correction for electromagnetic tracking |
WO2021033593A1 (ja) * | 2019-08-22 | 2021-02-25 | ソニー株式会社 | 信号処理装置および方法、並びにプログラム |
CN111935630A (zh) * | 2020-08-06 | 2020-11-13 | 普玄物联科技(杭州)有限公司 | 一种地磁判断方向的共享单车停放系统 |
GB2611021B (en) * | 2021-08-27 | 2024-06-26 | Little People Big Noise Ltd | Gesture-based audio syntheziser controller |
CN114384939B (zh) * | 2022-03-24 | 2022-07-29 | 江苏深瑞光学技术有限公司 | 一种微型水下探测机器人自主导航系统 |
CN117979211A (zh) * | 2024-03-29 | 2024-05-03 | 深圳市戴乐体感科技有限公司 | 集成音箱系统及其控制方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1898526A (zh) * | 2003-12-22 | 2007-01-17 | 旭化成电子材料元件株式会社 | 方位角计测装置 |
CN201984802U (zh) * | 2011-01-20 | 2011-09-21 | 程矛 | 微电脑控制的数码弦乐器 |
Family Cites Families (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3748483B2 (ja) | 1997-09-12 | 2006-02-22 | 株式会社リコー | 姿勢入力装置、姿勢入力機能を備えるペン型入力装置及びそのペン型入力装置を有するペン型入力システム |
EP1837858B1 (en) | 2000-01-11 | 2013-07-10 | Yamaha Corporation | Apparatus and method for detecting performer´s motion to interactively control performance of music or the like |
US6388183B1 (en) | 2001-05-07 | 2002-05-14 | Leh Labs, L.L.C. | Virtual musical instruments with user selectable and controllable mapping of position input to sound output |
KR100668298B1 (ko) | 2004-03-26 | 2007-01-12 | 삼성전자주식회사 | 움직임에 기반한 소리 발생 방법 및 장치 |
KR100738072B1 (ko) | 2005-02-01 | 2007-07-12 | 삼성전자주식회사 | 움직임 기반 소리 설정장치와 소리 발생장치 및 움직임기반 소리 설정방법과 소리 발생방법 |
US7402743B2 (en) | 2005-06-30 | 2008-07-22 | Body Harp Interactive Corporation | Free-space human interface for interactive music, full-body musical instrument, and immersive media controller |
JP2007256736A (ja) | 2006-03-24 | 2007-10-04 | Yamaha Corp | 電気楽器 |
JP4679431B2 (ja) | 2006-04-28 | 2011-04-27 | 任天堂株式会社 | 音出力制御プログラムおよび音出力制御装置 |
WO2008026357A1 (fr) | 2006-08-29 | 2008-03-06 | Microstone Corporation | Procédé de capture de mouvements |
JP5429918B2 (ja) | 2008-02-15 | 2014-02-26 | 任天堂株式会社 | 情報処理プログラムおよび情報処理装置 |
US8109146B2 (en) | 2008-02-21 | 2012-02-07 | Massachusetts Institute Of Technology | Measurement of bowed string dynamics |
JP5630969B2 (ja) | 2009-05-12 | 2014-11-26 | 任天堂株式会社 | 姿勢算出装置、姿勢算出プログラム、姿勢算出システム、および、姿勢算出方法 |
EP2140919B1 (en) | 2008-06-30 | 2018-09-05 | Nintendo Co., Ltd. | Orientation calculation apparatus, storage medium having orientation calculation program stored therein, game apparatus, and storage medium having game program stored therein |
US8858330B2 (en) | 2008-07-14 | 2014-10-14 | Activision Publishing, Inc. | Music video game with virtual drums |
JP5251482B2 (ja) | 2008-12-18 | 2013-07-31 | セイコーエプソン株式会社 | 入力装置およびデータ処理システム |
FR2942344B1 (fr) | 2009-02-13 | 2018-06-22 | Movea | Dispositif et procede de controle du defilement d'un fichier de signaux a reproduire |
JP5088398B2 (ja) * | 2010-06-01 | 2012-12-05 | カシオ計算機株式会社 | 演奏装置および電子楽器 |
US8653350B2 (en) | 2010-06-01 | 2014-02-18 | Casio Computer Co., Ltd. | Performance apparatus and electronic musical instrument |
JP5067458B2 (ja) * | 2010-08-02 | 2012-11-07 | カシオ計算機株式会社 | 演奏装置および電子楽器 |
JP5338781B2 (ja) | 2010-09-21 | 2013-11-13 | カシオ計算機株式会社 | 撮影装置 |
EP2497547B1 (en) * | 2011-03-08 | 2018-06-27 | Nintendo Co., Ltd. | Information processing program, information processing apparatus, information processing system, and information processing method |
JP5812663B2 (ja) | 2011-04-22 | 2015-11-17 | 任天堂株式会社 | 音楽演奏用プログラム、音楽演奏装置、音楽演奏システムおよび音楽演奏方法 |
JP2013213946A (ja) * | 2012-04-02 | 2013-10-17 | Casio Comput Co Ltd | 演奏装置、方法及びプログラム |
-
2012
- 2012-04-02 JP JP2012084369A patent/JP6044099B2/ja active Active
-
2013
- 2013-03-29 US US13/853,781 patent/US10222194B2/en active Active
- 2013-04-02 CN CN201310112146.0A patent/CN103366722B/zh active Active
- 2013-04-02 EP EP13162008.0A patent/EP2648183A1/en not_active Withdrawn
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1898526A (zh) * | 2003-12-22 | 2007-01-17 | 旭化成电子材料元件株式会社 | 方位角计测装置 |
CN201984802U (zh) * | 2011-01-20 | 2011-09-21 | 程矛 | 微电脑控制的数码弦乐器 |
Also Published As
Publication number | Publication date |
---|---|
JP2013213745A (ja) | 2013-10-17 |
EP2648183A1 (en) | 2013-10-09 |
US10222194B2 (en) | 2019-03-05 |
CN103366722A (zh) | 2013-10-23 |
JP6044099B2 (ja) | 2016-12-14 |
US20130262024A1 (en) | 2013-10-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103366722B (zh) | 姿势检测装置及方法 | |
CN103366721B (zh) | 演奏装置及方法 | |
CN103364840B (zh) | 姿势检测装置及方法 | |
US8609972B2 (en) | Performance apparatus and electronic musical instrument operable in plural operation modes determined based on movement operation of performance apparatus | |
CN102568453B (zh) | 演奏装置及电子乐器 | |
CN102347021B (zh) | 演奏装置及电子乐器 | |
US8445771B2 (en) | Performance apparatus and electronic musical instrument | |
JP2013190663A (ja) | 演奏装置及びプログラム | |
CN103325365A (zh) | 音发生装置和方法 | |
CN102270446A (zh) | 演奏装置以及电子乐器 | |
EP4385007A1 (en) | Gesture-based audio syntheziser controller | |
JP6436145B2 (ja) | 演奏装置、方法及びプログラム | |
JP6519578B2 (ja) | 姿勢検出装置、及び姿勢検出方法 | |
JP6031801B2 (ja) | 演奏装置、方法及びプログラム | |
JP6031800B2 (ja) | 演奏装置、方法及びプログラム | |
JP6111526B2 (ja) | 楽音発生装置 | |
JP2013044889A (ja) | 演奏装置 | |
JP2013213947A (ja) | 演奏装置、方法及びプログラム | |
JP2013044951A (ja) | 操作子および演奏装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |