A system for interacting with a string instrument, an attachment device, and a communication method
Patent Information
- Authority / Receiving Office
- EP · EP
- Patent Type
- Applications
- Current Assignee / Owner
- MBOW LTD
- Filing Date
- 2023-08-23
- Publication Date
- 2026-07-01
AI Technical Summary
Current technologies lack an effective system for interacting with string instruments that provides real-time feedback and enhanced learning experiences for musicians.
A system comprising a motion processor and a sound processor that receive and process bow movement data and sound data from a string instrument, offering music pedagogy, performance, and gaming functions, along with an attachment device and communication method for seamless data transmission.
The system enables real-time feedback and improved learning experiences for musicians by providing synchronized processing of bow movement and sound data, reducing latency, and enhancing practice efficiency through gamified and pedagogical functions.
Smart Images

Figure CN2023114502_27022025_PF_FP_ABST
Abstract
Description
A SYSTEM FOR INTERACTING WITH A STRING INSTRUMENT, AN ATTACHMENT DEVICE, AND A COMMUNICATION METHODTECHNICAL FIELD
[0001] The present invention relates to a system for interacting with a string instrument and an attachment device for a string instrument bow. The present invention also relates to a communication method between an attachment device for a string instrument bow and a control console.BACKGROUND
[0002] String instruments produce sound from one or more tensioned and vibrating strings. String vibration is typically transferred to the air through the instrument's body. The sound output of string instruments depends on the strings' length, tightness, and thickness. For example, a longer string produces a lower tone than a shorter one, a tighter string produces a higher sound than a looser one, and a thicker string produces a lower sound than a thinner one.
[0003] Playing the violin involves the use of both hands. With the left hand, the player presses down the strings against the fingerboard using the fingertips to shorten the vibrating portion of the string and modify the pitch. By placing their fingers at specific positions, players can produce different notes and play melodies. The right hand holds the bow, which is typically made of a Pernambuco stick, an attachable section called the frog, and horsehair. The player applies weight to the bow and draws it across the strings, creating friction and causing the strings to vibrate. Right hand technique includes controlling the bow's speed, pressure, and direction to produce various timbrical nuances and articulations, such as legato, staccato, and spiccato.
[0004] To play a string instrument in tune, one must work on both the ability to hear the pitch clearly and to physically produce the note in a consistent manner. The ears of the string instrument player need to be well trained to listen for both correct and incorrect notes. The string instrument player also has to practice significantly to train muscle memory so as to ensure the timely and correct placement every time.SUMMARY OF THE INVENTION
[0005] In accordance with a first aspect of the prevent invention, there is provided a system for interacting with a string instrument comprising:
[0006] - a motion processor arranged to receive bow movement data associated with the movement of a bow when the bow is interacting with the string instrument;
[0007] - a sound processor arranged to receive captured sound data of the string instrument interacting with the bow; and
[0008] - the motion and sound processors, each further arranged to process the movement data and the sound data to provide one or more music pedagogy, performance or gaming functions.
[0009] In an embodiment of the first aspect, the motion processor is configured to determine the Euler angles of the bow representing a rotation of the bow relative to a known reference orientation based on the received bow movement data.
[0010] In an embodiment of the first aspect, the motion processor is further configured to determine the orientation of the bow represented by Quaternions based on the determined Euler angles or, to determine a bow trajectory by using a Gait tracking process.
[0011] In an embodiment of the first aspect, the motion processor is configured to determine at least one of velocity and acceleration of the bow based on the received bow movement data.
[0012] In an embodiment of the first aspect, the motion processor is further configured to determine the angle of inclination of the bow based on the received bow movement data.
[0013] In an embodiment of the first aspect, the motion processor is further configured to determine the bow trajectory based on the received bow movement data with at least two measurement data within a predetermined time period.
[0014] In an embodiment of the first aspect, the bow movement data is received from a movement sensing unit, the movement sensing unit being movable together with the bow when the bow is interacting with the string instrument.
[0015] In an embodiment of the first aspect, the sound data is captured by a sound sensing unit, the sound sensing unit being configured to capture sound data associated with the interaction between the bow and the string instrument.
[0016] In an embodiment of the first aspect, the motion and sound processors are configured to synchronise the received bow movement and sound data, whereby the noise associated with the latency between the received bow movement and sound data is reduced.
[0017] In an embodiment of the first aspect, the movement data and the sound data are each processed by the motion and sound processors, whereby the information associated with the processed data are at least audibly or visibly represented to the user.
[0018] In an embodiment of the first aspect, audible or visible representation forms at least part of the music pedagogy, performance or gaming functions.
[0019] In an embodiment of the first aspect, the movement sensing unit and the sound sensing unit are arranged to embed in a frog attached in use to a bow of the string instrument.
[0020] In an embodiment of the first aspect, the data transmission of the bow movement data and sound data is performed by using a Bluetooth Low Energy (BLE) arrangement, the arrangement being configured to facilitate the communication of sound data and bow movement data to the motion and sound processors.
[0021] In an embodiment of the first aspect, the BLE arrangement includes a Generic Attribute Profile (GATT) arranged to define the format of the sound data and bow movement data in the BLE service whereby the noise associated with the BLE latency between the arrival of the bow movement data and the sound data at the control console is reduced.
[0022] In an embodiment of the first aspect, the Generic Attribute Profile (GATT) defines a single characteristic associated with both of the sound data and bow movement data.
[0023] In accordance with a second aspect of the prevent invention, there is provided an attachment device for a string instrument bow comprising:
[0024] - a movement sensor arranged to detect the movement of the bow when interacting with the string instrument;
[0025] - a sound detection arrangement arranged to capture the sound of the string instrument interacting with the bow;
[0026] - a control module arranged to connect the two sensors and transmit the data to an external device.
[0027] In an embodiment of the second aspect, the movement sensor, sound detection arrangement and the control module are arranged to form part of a frog portion of the string instrument bow.
[0028] In an embodiment of the second aspect, the attachment device further includes a frog housing arranged to retain the movement sensor, sound detection arrangement and the control module, the frog housing being at least partially hollow for providing one or more receptacles for the movement sensor, sound detection arrangement and the control module.
[0029] In an embodiment of the second aspect, the frog housing includes a first compartment for forming a conventional frog mortise and a second compartment for forming the receptacle for the movement sensor, sound detection arrangement and the control module, the second compartment being spatially isolated from the first compartment.
[0030] In an embodiment of the second aspect, the second compartment is sandwiched between the first compartment and an attachment portion being attached to a conventional bow stick.
[0031] In an embodiment of the second aspect, the movement sensor, sound detection arrangement and the control module are being dimensioned to conform with the cross-sectional area of the second compartment.
[0032] In an embodiment of the second aspect, the net mass of the hollow frog housing and the movement sensor, sound detection arrangement and the control module is equivalent to the mass of a conventional frog.
[0033] In an embodiment of the second aspect, the centre of gravity of the hollow frog housing and the movement sensor, sound detection arrangement and the control module is equivalent to the centre of gravity of a conventional frog.
[0034] In an embodiment of the second aspect, the movement sensor, sound detection arrangement and the control module are disposed and inclined to at least one of the housing wall of the frog housing, and the frog housing further comprises a counter mass arranged to balance the mass of the electronic module.
[0035] In an embodiment of the second aspect, the attachment device further includes a battery storage arranged to provide power supply to the movement sensor, sound detection arrangement, a haptic feedback module and the control module, the battery storage being configured to act as the counter mass whereby the stability of the bow is maintained.
[0036] In accordance with a third aspect of the prevent invention, there is provided a communication method between an attachment device for a string instrument bow and a control console, the method comprising:
[0037] - transmitting bow movement data from the attachment device to the control console through a first characteristic of a service, wherein the bow movement data is associated with the movement of a bow when the bow is interacting with a string instrument;
[0038] - transmitting sound data from the attachment device to the control console through a second characteristic of a service, wherein the sound data is associated with the sound of the string instrument interacting with the bow;
[0039] - mapping the bow movement data and the sound data;
[0040] - presenting to the user information associated with one or more music pedagogy, performance or gaming functions based on the mapped data;
[0041] wherein the first and second characteristics are transmitted through a synchronised channel whereby the service is processed upon the transmission of both of the first and second characteristics is completed.
[0042] In an embodiment of the third aspect, the data transmission is performed by using a Bluetooth Low Energy (BLE) arrangement, the arrangement being configured to facilitate the communication of sound data and bow movement data to the control console.
[0043] In an embodiment of the third aspect, the BLE arrangement includes a Generic Attribute Profile (GATT) arranged to define the format of the sound data and bow movement data in the BLE service whereby the noise associated with the BLE latency between the arrival of the bow movement data and the sound data at the control console is reduced.
[0044] In an embodiment of the third aspect, the Generic Attribute Profile (GATT) defines a single characteristic associated with both of the sound data and bow movement data.
[0045] In an embodiment of the third aspect, the single characteristic data comprises the following specification:
[0046] - 2 bytes-Timestamp
[0047] - 2 bytes-Sensor 1-X ax.
[0048] - 2 bytes-Sensor 1 -Y ax.
[0049] - 2 bytes-Sensor 1-Z ax.
[0050] - 2 bytes-Sensor 2-X ax.
[0051] - 2 bytes-Sensor 2-Y ax.
[0052] - 2 bytes -Sensor 2 -Z ax.
[0053] - 2 bytes -Sensor 3 -X ax.
[0054] - 2 bytes-Sensor 3-Y ax.
[0055] - 2 bytes -Sensor 3 -Z ax.
[0056] In an embodiment of the third aspect, the single characteristic data comprises the following specification:
[0057] - 19 bytes -Audio ADPCM (Audio Adaptive Differential Pulse Code Modulation) .
[0058] - 5 bytes -Audio sync.BRIEF DESCRIPTION OF THE DRAWINGS
[0059] Embodiments of the present invention will now be described, by way of example, with reference to the accompanying drawings in which:
[0060] Figure 1 illustrates a system for interacting with a string instrument in accordance with one embodiment of the present invention;
[0061] Figure 2 illustrates a system for interacting with a string instrument in accordance with another embodiment of the present invention, wherein the system is arranged to operate within or with a personal device such as a mobile communication device;
[0062] Figure 3 illustrates a string instrument interactive method in accordance with one embodiment of the present invention, the method being performed using the system of Figures 1 or 2;
[0063] Figure 4A illustrates a splash screen presented on the display of a mobile device;
[0064] Figure 4B illustrates a user profile screen presented on the display of a mobile device;
[0065] Figure 4C illustrates a friend profile screen presented on the display of a mobile device;
[0066] Figure 4D illustrates a splash screen presented on the display of a mobile device;
[0067] Figure 4E illustrates a game splash screen presented on the display of a mobile device;
[0068] Figure 4F illustrates a marketplace splash screen presented on the display of a mobile device;
[0069] Figure 5 illustrates a schematic block diagram showing how the data are transmitted from the attachment device to central processing unit for data processing;
[0070] Figure 6A illustrates a schematic diagram showing the structure of a standard Bluetooth Low Energy (BLE) profile in a communication between a client and a server;
[0071] Figure 6B illustrates a schematic diagram showing the structure of a Bluetooth Low Energy (BLE) profile in a communication between a client and a server in accordance with one example of the present invention;
[0072] Figure 7A illustrates a bow stick for a string instrument with an attachment device in accordance with one embodiment of the present invention;
[0073] Figure 7B is a perspective view showing a partial bow stick with an attachment device in accordance with one embodiment of the present invention;
[0074] Figure 7C is a cutaway view of the partial bow stick with the attachment device depicted in Figure 7B;
[0075] Figure 8A is a perspective view showing an attachment device for a string instrument in accordance with one embodiment of the present invention, with the attachment device being detached from the bow stick;
[0076] Figure 8B illustrates the two-part housing components of the attachment device shown in Figure 8A without the circuit board;
[0077] Figure 8C illustrates the fastening between the upper and lower housing members of the attachment device shown in Figure 8B;
[0078] Figure 8D illustrates the fastening between the upper and lower housing members of the attachment device shown in Figure 8B;
[0079] Figure 8E illustrates yet another perspective view of the attachment device shown in Figure 8A;
[0080] Figure 8F is a cutaway view of the attachment device as shown in Figure 8E without the circuit board;
[0081] Figure 9A is a cutaway view of the attachment device as shown in Figure 8A;
[0082] Figure 9B is a further cutaway view of the attachment device as shown in Figure 9A;
[0083] Figure 9C is a cross sectional view of the attachment device as shown in Figure 9A, showing the internal arrangement viewing from the rear end of the bow frog;
[0084] Figure 10A illustrates the frog of a conventional bow; and
[0085] Figure 10B illustrates the frog of a bow in accordance with one embodiment of the present invention.
[0086] DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0087] The present invention relates to a string instrument interactive system or a system for interacting with a string instrument. The system may also be referred to as a string instrument interactive system, such that an instrument player can communicate with the system via the use of a personal communication device and with an attachment device arranged to detect sounds or bow movements. The user may then send various types of information such as bow movement data and sound data to the system. The system is configured to process data associated with the playing, practising or performing of the instrument player. The system is also configured to represent these data in the form of music pedagogy, performance or gaming functions such that the instrument player may practice on their own with the minimal guidance from their tutor, or may be able to perform musical pieces with guidance from the system, and in some embodiments, the system may also be able to record, capture or transmit their performance as desired by the musical instrument player. This may be advantageous as recording a player’s performance may be useful for playback, review or for comparison with previous or other performances to assist in learning and improvement.
[0088] The system may also allow a user to communicate with the system or other users e.g., with particular practice areas or preferences that are desirable for the user. The system may also provide entertainment to a user. The functions of the system are advantageous because it may convert a tedious practising exercise into a more interesting practising platform as well as in providing additional gamified functions to the process of learning and perfecting the playing of the musical instrument. In addition, the user may be made instantly aware if their postures or pitches are incorrect and auto correct or adjust her or himself with minimal guidance from a tutor. In turn, reducing the contact time with a human tutor, whilst rendering practice and learning sessions more productive, enjoyable. Additionally, the user may also record a playing or practice session for progress comparison so as to enhance their practice and learning. These advantages may reduce the cost to learn a musical instrument, whilst encouraging new pupils to be more interested and engaged with the learning process.
[0089] Referring to Figure 1, an embodiment of the present invention is illustrated. This embodiment is arranged to provide a system for interacting with a string instrument. The system comprises a motion processor arranged to receive bow movement data associated with the movement of a bow when the bow is interacting with the string instrument, a sound processor arranged to receive captured sound data of the string instrument interacting with the bow. The motion and sound processors, each further arranged to process the movement data and the sound data to provide one or more music pedagogy, performance or gaming functions.
[0090] This embodiment is also arranged to provide an attachment device for a string instrument bow. The attachment device comprises a movement sensor arranged to detect the movement of the bow when interacting with the string instrument, a sound detection arrangement arranged to capture the sound of the string instrument interacting with the bow, and a control module arranged to connect the two sensors and transmit the data to an external device.
[0091] Preferably, the music pedagogy, performance or gaming function comprises an exercise program that includes one or more exercises to be performed by the user, and wherein the exercise program is presented on the display.
[0092] In one example embodiment, the system may be incorporated as an application ( “app” ) ecosystem to provide one or more music pedagogy functions. For instance, the ecosystem is configured to (i) record, store, and analyse data associated with the playing of a string instrument; (ii) provide real-time feedback through a gamified approach adapted to the level / age of specific students; (iii) integrate all these elements into traditional teaching routines to support the work of teachers e.g. student practice tracking, factual objective metrics, etc. and students alike e.g. real-time feedback, milestone-based approach; and (iv) transform ensemble playing through time-aligned data analysis and feedback.
[0093] In another example embodiment, the ecosystem may also provide one or more performance functions. For instance, the gestural data extracted from the system may be used in music performance for real-time control of sonic or visual events e.g. digital sound processing in a visual programming language such as MaxMSP or other similar software, or audio-visual mappings in a visual programming environment such as TouchDesigner or other similar software.
[0094] In one example, the processor is configured to provide one or more gaming functions. For instance, the processor is configured to generate and present a gaming exercise on the display such that the user may follow the instruction and perform the exercises in the exercise program. Optionally, the processor may also be programmed to present one or more entertainment functions as an extension of the gaming function on the display.
[0095] As shown in Figure 1, there is a shown a schematic diagram of a string instrument interactive system 10 and a user 12 e.g. a string instrument player interacting with the system 10. The string instrument interactive system 10 comprises a computing apparatus 100. As shown in Figure 1, the computing apparatus 100 includes suitable components necessary to receive, store and execute appropriate computer instructions. The components may include a processing unit 102, including Central Processing Unit (CPUs) , Math Co-Processing Unit (Math Processor) , Graphic Processing Unit (GPUs) or Tensor Processing Unit (TPUs) for tensor or multi-dimensional array calculations or manipulation operations, read-only memory (ROM) 104, random access memory (RAM) 106, and input / output devices such as disk drives 108, a user interface 110 such as a keyboard, touchscreen. The computing apparatus may comprise other input devices 116 such as an Ethernet port, a USB port, etc. Display 112 such as a liquid crystal display, a light emitting display or any other suitable display and communications links (i.e., a communication interface) 114.
[0096] In this example embodiment, the processor 102 is configured to receive motion and sound data from external sensing units. For instance, the motion and sound data associated with the playing of a string instrument by the user 12 may be recorded by the sensing units located on the string instrument or its components. The processor 102 may be a single processor to provide the combined functions of a motion data processor and a sound data processor.
[0097] The computing apparatus 100 may include instructions that may be included in ROM 104, RAM 106, or disk drives 108 and may be executed by the processing unit 102. There may be provided with one or more communication interfaces (i.e., one or more communication links) 114 which may variously connect to one or more computing devices such as a server, personal computers, terminals, wireless or handheld computing devices, Internet of Things (IoT) devices, smart devices, edge computing devices. At least one of a plurality of communications link may be connected to an external computing network through a telephone line or other type of communications link. The communication interface 114 is configured to allow communication of data via any suitable communication network using any suitable protocol such as for example Wi-Fi, Bluetooth, 4G, 5G or any other suitable communications protocol.
[0098] In this example embodiment, an Internet of Things (IoT) device or a smart device may be exemplified as an attachment device 130 which is suitable for attaching to, embedded within, or proximate to a string instrument played by the user 12, which as shown in some examples, is implemented as a replacement frog of a bow arranged to be embedded or otherwise attached to the bow. The frog may be retrofitted to an existing bow, or simply be part of a new bow which is made for a player of a string instrument. The attachment device 130 includes suitable components necessary to sense, capture and transmit / receive appropriate computer data, electronic signals or computing instructions. The components may include a movement sensor 132 e.g. an Inertial measurement unit (IMU) sensor, a sound detection arrangement 134 e.g. a microphone, and a control module 136 connecting and controlling the movement sensor 132 and sound detection arrangement 134. The attachment device 130 may further include a communication module 138 configured to transmit the signals captured by the movement sensor 132 and the sound detection arrangement 134 to the user interface 110 or other parts or components of the system 10.
[0099] The computing apparatus 100 may include storage devices such as a disk drive 108 which may encompass solid state drives, hard disk drives, optical drives, magnetic tape drives or remote or cloud-based storage devices. The computing apparatus 100 may use a single disk drive or multiple disk drives, or a remote storage service. The computing apparatus 100 may also have a suitable operating system which resides on the disk drive or in the ROM of the computing apparatus 100.
[0100] The computing apparatus 100 may further comprises one or more cameras to capture a plurality of images or capture a video stream. The camera may be a webcam or other suitable camera. The camera may be mounted on the display 112. The camera may be a separate unit that may be coupled to the one of the input devices 116. The camera is arranged in electronic communication with the processor 102. The processor 102 is configured to receive recorded images or a recorded video from the camera. The processor 102 is further configured to process the images or video from the camera. The camera can capture images or video of the user 12.
[0101] Advantageously, the computing apparatus 100 may, in some example embodiments, be loaded with a pose estimation or pose detection process. In these examples, the pose estimation process is arranged to use the camera to capture movements of the user, and the processor 102 in turn is arranged to apply a pose estimation process or a motion capture process to identify movements, pose, or motions of the user, including movement in their posture, their limbs locations, their torso and head and neck positions. The motions of the user 12 can be processed together with the motion and sound data associated with the playing of a string instrument by the processor 102 for generating one or more signal outputs e.g. to animate the avatar in the virtual world and graphically presented on the display 112, as well as to compare against for correct posture or the correct method of holding on to the instrument.
[0102] The computing apparatus 100 may also provide the necessary computational capabilities to operate or to interface with a machine learning network, such as a neural network, to provide various functions and outputs. The neural network may be implemented locally, or it may also be accessible or partially accessible via a server or cloud-based service. The machine learning network may also be untrained, partially trained or fully trained, and / or may also be retrained, adapted, or updated over time.
[0103] The computing apparatus 100 comprises one or more databases that store different data that is utilised by the processor 102. In the illustrated embodiment, the apparatus 100 comprises a user database 120. The user database includes information regarding users e.g., name, date of birth, age, address etc. The database 120 can be created during a registration process in which a user may register via an app on their computing apparatus. The database 120 may be stored on a cloud service and may be accessible. The computing apparatus 100 may also include a profile database 122 that stores profile information (i.e., learning data) regarding a user. The profile data may include any one or more of, learner level, teacher level, practice hours, technique analysis, repertoire, achievements. The computing apparatus 100 further comprises an entertainment database 124. The entertainment database 124 is configured to store various games, exercises and exercise programs related to a user, sheet music or other memory stimulation games or any other audio / visual entertainment data. Optionally, one or more of these databases may be stored at a remote server that can be accessed by the apparatus 100.
[0104] The computing apparatus 100 includes a software application (i.e., an app) that is stored in a memory unit e.g., ROM 104 or RAM 106 or another memory unit. The software application includes computer readable and executable instructions. The processor is configured to execute the instructions to cause the processor to perform one or more functions defined in the instructions. The application may control the processor to provide one or more music pedagogy, performance or gaming functions.
[0105] In one example, the computing apparatus 100 may be a user computing apparatus. The computing apparatus 100 may be a tablet, smartphone, laptop or other personal computing device. The application is installed on the computing apparatus 100 and once executed, controls the functions of the computing apparatus 100.
[0106] In one form the computing apparatus 100 may be configured to communicate with one or more servers 20 via the communication interface 114. In one example, the computing apparatus 100 is configured to communicate with a virtual world server e.g., a metaverse server to allow a user to access the metaverse. The processor 102 may be configured to generate and animate an avatar and transmit this information to the virtual world server such that the avatar is animated in the virtual world and controllable in the virtual world. The avatar may be a virtual representation of the user or a character selected or associated with the user. The computing apparatus allows selection or creation of a custom avatar and allows a user to interact with the virtual world via the avatar. The camera is used to capture movements of the user, and the processor 102 is configured to apply a pose estimation process or a motion capture process to identify motions of the user. The motions of the user are used to animate the avatar in the virtual world.
[0107] In this example embodiment, the computing apparatus may be implemented by any computing architecture, including portable computers, tablet computers, stand-alone Personal Computers (PCs) , smart devices, Internet of Things (IOT) devices, edge computing devices, client / server architecture, “dumb” terminal / mainframe architecture, cloud-computing based architecture, or any other appropriate architecture. The computing apparatus may be appropriately programmed to implement the invention. The computing apparatus may execute an application (app) to implement the various functions defined by the application.
[0108] In one alternative embodiment, the string instrument interactive system 10 of Figure 1 may be modified, adapted or implemented for operation with a mobile communication device, preferably being connected to a server or cloud based system for storage of data or processing of data. For instance, the string instrument interactive system 10a may comprise a computing apparatus 200 which is almost identical to the arrangement of computing apparatus 100, save that computing apparatus 200 is implemented onto a mobile device 210 with a user interface 212. The device 210 may include a processing unit 202, read-only memory (ROM) 204, random access memory (RAM) 206, input / output devices 208, a display 212, and communication interface e.g. Bluetooth Low Energy (BLE) communication 214. The rest of the components in the string instrument interactive system 10a may be identical or similar to the string instrument interactive system 10 as shown in Figure 1.
[0109] In one example embodiment, the string instrument may be implemented by any string instrument, including real or virtual instrument such as Chinese erhu, violin, electronic violin, cello, viola or other instruments which may or may not necessarily be a physical device, and thus may include a physical instrument or a physical simulation of an instrument, as well as virtual instruments graphically presented on a portable computer such as tablet computers, air guitar, or virtual violin where the interaction between the string instrument and the bow are not necessarily physical, e.g. by gesture only.
[0110] Alternatively, the attachment device 130 as aforementioned may be implemented as a wearable device. For instance, the wearable device may be a bracelet which is wearable by the arm wrist of the user.
[0111] Figure 3 illustrates a block diagram of an example method 300 for interacting with a string instrument. The method 300 illustrates functions that may be performed by the computing apparatus 100 / 200. The application is executed and the method 300 commences. The application comprises computer readable instructions that are executed by the processor and cause the computing apparatus 100 / 200 to perform the method 300. The method comprises step 302. Step 302 comprises identifying a user. In one example the user is identified by a log in process. In this example, when the application is initiated by an instrument player or user, a log in screen is presented on the display 112 / 212. The user logs in with user specific credentials. The processor 102 / 202 is configured authorise the user by checking the credentials with stored credentials in the user database 120. This may be done locally or the processor 102 / 202 may access a server when the authorisation process is performed. Alternatively, the user may be identified by a biometric scan or by a face scan using a camera.
[0112] Once the user is logged in; the application is configured to control the processor 102 / 202 to display an initial landing screen, splash screen or home screen. The method comprises performing one or more functions. The processor 102 / 202 is configured to perform one or more functions. Step 304 comprises generating a profile screen. Optionally the user may also interact with one or more virtual buttons that will cause further information to be displayed. The method may progress to step 306 after the user is identified. Step 306 comprises presenting further information such as practice hours, technique analysis, repertoire to the user.
[0113] The method can also proceed to step 308 after the user has interacted with one or more virtual buttons via the user interface 110. Step 308 comprises generating a perform splash screen. In one example the perform function comprises a virtual online rehearsal function. Step 310 comprises communicating a perform interface to the user after the user has interacted with one or more virtual buttons. For instance, the processor may be configured to communicate the string ensemble rehearsal function for presenting a sheet music on the display to the user. The perform interface may also allow the user to practice together and interact with other string ensemble members.
[0114] The method may also proceed to step 312 after the user has interacted with one or more virtual buttons via the user interface 110. Step 312 comprises generating a game splash screen. In one example the game function comprises instrument playing function. The processor is configured to communicate the instrument playing function to the display for presenting on the display to the user. Step 314 comprises communicating a game interface to the user after the user has interacted with one or more virtual buttons. Step 316 comprises capturing the bow movement and the performance by the instrument player. Step 318 comprises generating and animating the output of the user.
[0115] The method may also proceed to step 320 after the user has interacted with one or more virtual buttons via the user interface 110. Step 320 comprises generating a marketplace splash screen. In one example the marketplace function comprises online purchasing function.
[0116] Figures 4A to 4F illustrate an example implementation of the string instrument interactive system. The computing apparatus 200 of the string instrument interactive system 10 is a mobile phone with an integrated IMU sensor in this example. A user executes the software application to access the system 10.
[0117] Referring to Figure 4A, the first splash screen (i.e., a home screen) is presented on the display 212 after a log in process is completed by the user. The splash screen 400 comprises a plurality of interactable virtual buttons 402, 404, 406, 408, each allowing a user to activate various functions. A profile button 402 allows a user to view the detailed profile of the user. A perform button 404 allows a function related to performance of a string instrument to be presented. A game button 406 allows a user to select one or more gaming functions provided by the string instrument interactive system. A marketplace 408 allows a user to select one or more items for online purchasing.
[0118] Referring to Figures 4B, a profile screen 410 of the user is presented on the display 212. The user profile screen 410 may be presented in response to the user selecting the profile button 402. The user profile screen 410 may include various information. For instance, the user profile screen 410 may display a user profile picture 412. The user profile screen 410 can also include a virtual setting button 413 which allows the user to customise the settings of the application. Other information such as the learner level and teacher level can also displayed next to the user profile. On the upper corner of the user profile there is provided a graphical representation 414 in the avatar of pearl which represents the points earned by the player. Advantageously, the points earned by the user may be used for purchasing rewards, items or services in a marketplace or exchange later.
[0119] There is also provided some additional virtual buttons such that the user may select to retrieve further info. A practice hours button 416 allows a user to view his trends of practice hours. A technique analysis button 418 allows a user to view his technique attribute and focus on specific areas for further improvement. A repertoire button 420 allows a user to select one or more music sheets for performing in a violin performance. Other information relevant to the user, e.g. the achievements of the user may also be displayed in 422, 424, 426 and 428.
[0120] Referring to Figures 4C, a profile screen 430 of the friend of the user is presented on the display 212. The profile screen 430 may be presented in response to the user selecting the name of the friend in a friend list shown on the user profile screen 410. Similarly, the profile screen 430 may present various information of another user on the display 212.
[0121] Referring to Figure 4D, there is also shown a game splash screen 450 which can be presented on the display 212 in response to the user selecting the game button 406. A pull-down menu is presented on the game splash screen 450 which comprises a plurality of interactable virtual buttons 452, 454, 456 and 458. A bow incline button 452 allows a user to activate a bow incline game. A bow tilt button 454 allows a user to activate a bow tilt game. A flappy bow button 456 allows a user to activate a flappy bow game for practicing Spiccato technique. A sheet music button 458 allows a user to activate a music game function so that the bow motion and sound data of the user can be analysed for further assessment.
[0122] The bow incline game will now be described with reference to the game splash screen 470 as shown in Figure 4E. The game splash screen 470 is presented on the display 212 in response to the user activating the bow incline button 452. During the game play, the display 212 will prompt up a musical notation 472 on the game splash screen 470 and instruct the user to play an equivalent note on the string instrument. The bow movement and the pitch played by the instrument player will then be recorded and processed by the system 200. The processor is configured to generate and animate an avatar representing the inclination of the bow on the game splash screen 470. The processor is also configured to display how far off is the pitch played by the instrument player from the referential pitch.
[0123] The game splash screen 470 may also include a chromatic tuner 480 which displays the offset of the pitch from the reference. The needle 482 rotates with reference to the reference point 484 to indicate the deviation of the pitch from the reference. As an illustration, a clockwise rotation of the needle 482 indicates the pitch is sharp i.e. too high and shall be tune down. In contrast, an anticlockwise rotation of the needle 482 indicates the pitch is flat i.e. too low and shall be tune up. Optionally, an audible representation indicating the deviation may also be presented to the user.
[0124] For instance, the bow incline game may display an A flat music notation 472 on the game splash screen 470. If the chromatic tuner 480 detects an audio input of B flat by the user, a 22.5 degrees from the reference point 484 will be shown on the game splash screen 470.
[0125] Referring to Figures 4F, a profile screen 490 of the teacher of the user is presented on the display 212. The profile screen 490 may be presented in response to the user selecting the marketplace button 408. The teacher profile screen 490 may include various information. For instance, the user profile screen 490 may display a teacher profile picture 492. Other information such as the grading and the language proficiency can also be displayed in the teacher profile and underneath the teacher profile picture 492. On the right bottom corner of the teacher profile there is also provided a graphical representation 494 in the avatar of pearl which represents the points required for interacting with the teacher.
[0126] Although not required, the embodiments described with reference to the Figures can be implemented as an application programming interface (API) or as a series of libraries for use by a developer or can be included within another software application, such as a terminal or personal computer operating system or a portable computing device operating system. Generally, as program modules include routines, programs, objects, components, and data files assisting in the performance of particular functions, the skilled person will understand that the functionality of the software application may be distributed across a number of routines, objects, or components to achieve the same functionality desired herein.
[0127] Referring to Figure 5, another embodiment of the present invention is also illustrated. This embodiment is arranged to provide a communication method between an attachment device for a string instrument bow and a control console. The method comprises transmitting bow movement data from the attachment device to the control console through a first characteristic of a service, wherein the bow movement data is associated with the movement of a bow when the bow is interacting with a string instrument; transmitting sound data from the attachment device to the control console through a second characteristic of a service, wherein the sound data is associated with the sound of the string instrument interacting with the bow; mapping the bow movement data and the sound data; presenting to the user information associated with one or more music pedagogy, performance or gaming functions based on the mapped data. The first and second characteristics are transmitted through a synchronised channel whereby the service is processed upon the transmission of both of the first and second characteristics is completed.
[0128] Figure 5 shows an explanatory block diagram depicting the processing of the data associated with the playing of a string instrument receiving from the movement sensor 312 of the attachment device 130 by the processor 102 / 202 of the system 100 / 200. The data communication between the attachment device 130 and the mobile device 210 is achieved by a Bluetooth Low Energy (BLE) transmission. For instance, the attachment device 130 may be a BLE client and the mobile device 210 may be a BLE server. The raw data recorded by the attachment device 130 can be transmitted to the mobile device 210 through a Bluetooth Low Energy (BLE) profile.
[0129] In this example embodiment, the movement sensor 132 may be incorporated as an IMU sensor 510 which uses the combination of accelerometer 520, gyroscope 530 and magnetometer 540 for measuring the motion of the bow in three axes (x, y, and z) .
[0130] The accelerometer 520 can be triaxial accelerometers which provide simultaneous measurements in three orthogonal directions, for analysis of all of the vibrations being experienced by a structure. Each unit incorporates three separate sensing elements that are oriented at right angles with respect to each other. The gyroscope 530 can be triaxial gyroscopes which measures the speed of rotation in three-axis –pitch, roll, and yaw. The magnetometer 540 can be triaxial magnetometers which measure the strength of that magnetic field in 3 dimensions: along the X, Y, and Z axes. The combined measurement may provide a vector dictating the strength and direction of the magnetic field.
[0131] Accordingly, the IMU data captured by the single IMU sensor 510 would include nine data inclusive of three sets of raw (x, y, z) data from the accelerometer, gyroscope, and magnetometer. Each of the raw data and timestamp are 2 bytes sized and transmitted to the processor 102 / 202 via BLE transmission. The IMU data is processed to extract the acceleration, bow orientation, inclination, tilt, skew, bow transversal position and velocity.
[0132] In one example embodiment, the data transmission is implemented via BLE connectivity and the data are exported from the IMU sensor 510 to the processor 102 / 202 through a control console e.g. a OSC protocol as shown in step 550.
[0133] Upon the raw data are transmitted to the processor 102 / 202, various instructions are performed to analyse the data. The processor 102 / 202 converts the initial attitude of the bow frog 130, which may be attached, embedded or otherwise engaged or be disposed proximate to the bow, instrument or player, in the raw data derived by the IMU sensor 510 into the initial attitude in the Euler angle representation represented by a direction matrix as shown in step 560. The Euler angle representation defines a rotation of the bow relative to a known reference orientation based on the received bow movement raw data. The processor 102 / 202 then converts the initial attitude represented by the direction matrix into the initial attitude represented by Quaternions in the form of unit vectors in the directions of rotation and an angle of rotation as shown in step 562. The Quaternions represent the orientation of the bow.
[0134] Typically, the accelerometer function of the IMU sensor 510 measures the acceleration of the bow. In practical speaking, the acceleration is the rate of change of the velocity of an object. To determine the velocity, the processor 102 / 202 can be configured to integrate the acceleration data over time. Thus, the processor 102 / 202 may process and retrieve the bow velocity and the bow acceleration readily in step 564.
[0135] In general, the orientation of the bow relative to the string may be represented by three bow angles or parameters including inclination, skewness and tilt. The inclination determines which string is played, skewness represents the deviation of the bow from perpendicularity to the string, and tilt represents the rotation about the length axis of bow stick i.e. angle of the bow hair ribbon with the string. While the skewness of the bow with respect to the string would unlikely affect the sound quality, the tilt may have some minor influence comparing with inclination and skewness. To correctly perform bowing movements, the bow trajectory should be maintained perpendicular to the strings during the whole movement.
[0136] In one example embodiment, the angles of the bow relative to the string instrument such as inclination, skewness and tilt are also measured by the IMU sensor 510 and further processed by the processor 102 / 202 as shown in step 566. Based on the bow velocity, bow acceleration, inclination, skewness and tilt over a predetermined time period, the bow trajectory can also be processed by the processor 102 / 202 as shown in step 568.
[0137] In another example, a Gait tracking process may be used to estimate or determine the trajectory of the bow. By using the Gait tracking or Gait analysis, the movement of the player, including the movement of the anatomy of the player such as their arm, hand or shoulder position or movement, may be processed to determine the movement or trajectory of the bow.
[0138] Apart from the motion data, there is also provided a sound sensing unit e.g. a microphone (not shown in Figure 5) which captures the sound data associated with the interaction between the bow and the string instrument. The sound data are also transmitted to the same processor 102 / 202 or an additional sound processor of the system 100 / 200.
[0139] In one example embodiment, there is also provided a novel sound-feature extracting model for converting AC audio input into digital audio data. The audio is first recorded by the sound detection arrangement 134 of the attachment device 130 as analogue waveform and further converted by the sound processor into digital format. Essentially, a plurality of sound features associated with different aspects of the sound e.g. spectral envelope, energy, loudness, fundamental frequency, Fast Fourier Transform (FFT) etc. are fed into statistical models so as to model the audio input in a high-resolution audio format with up to e.g. 25 different sound features.
[0140] Upon processing of the audio input, the sound data can be used to calibrate the motion data collected by the motion processor, as shown in step 552. For instance, when an open string of G (e.g. G string is not being pressed down by a finger of the left hand) is played by a user and recorded by the sound detection arrangement 134, the sound processor may generate a signal which assists the determination of the bow inclination.
[0141] Optionally, and in some embodiments, a haptic feedback module may also be included within the attachment device or frog 130. In these embodiments, a haptic feedback module, such as electrical motion or vibration devices, may be controlled to provide haptic feedback, in the forms of sensory stimulations, vibrations, movements or oscillations. The haptic feedback is advantageous as it may be able to provide tactile feedback to the user during their interaction with the instrument so as to provide feedback or guidance in real time.
[0142] Conventionally, the violin comes in two adult sizes, the full “4 / 4” size at 23” -23.5” long and 14” wide, known as the standard size, as well as the “7 / 8” size at 22.5” long and 13.5” wide. Seven sizes are made for youth ages 3 to 12, each size based on the arm length of the player: 3 / 4, 1 / 2, 1 / 4, 1 / 8, 1 / 10, 1 / 16, and 1 / 32. While the string instrument interactive system 10 is pre-tuned to capture the motion of a bow stick played on a full-size violin as a default arrangement, the string instrument interactive system 10 may also be implemented therein another custom calibration process which may be further calibrated to adapt for different string instrument and various sizes.
[0143] In one alterative example embodiment, the string instrument interactive system 10 is pre-tuned to determine the acceleration, bow orientation, inclination, tilt, skew, bow transversal position and velocity based on a plurality of referential parameters of a full size violin. However, the sound data processed by the processor 102 / 202 may also be used for determining the type of string instrument played by the user.
[0144] For instance, the acceleration and velocity required for playing the same note on a full-size violin is different from 1 / 4 violin. Based on the IMU data and the sound data, the motion processor 102 / 202 can identify the appropriate size of the violin and thus calibrate the processed data based on the corresponding referential parameters accordingly.
[0145] In another alternative embodiment, the motion processor 102 / 202 can also determine the type of string instrument used by the performer based on the IMU data. For instance, one major difference between violin or viola and cello lies in how the instrument being hold by the player. A cello is played sitting down and in between the knees, with the end pin on the floor balancing the instrument. In contrast, violin and viola are positioned under the chin of the user. Accordingly, the orientation of the bridge of a violin or viola and also the orientation of the bow of a violin or viola with respect to the ground will be very different from that of the cello, which can be readily detected by processing the IMU data obtained by the magnetometer 540.
[0146] In another alternative embodiment, the motion processor can also determine the type of string instrument used by the performer based on the IMU data and the sound data. For instance, whilst the overall appearance of violin and viola are very similar, the violin strings are G (lowest) , D, A, and E (highest) and the viola strings are C (lowest) , G, D, and A (highest) . The bow inclination of an open G, D or A string played on a violin would be different from that of an open G, D or A string played on a viola.
[0147] Examples of the Bluetooth Low Energy (BLE) profile used in a communication between the attachment device 130 and the mobile device 210 will now be described in further details.
[0148] As the inventors have found in their research and experimentations, a BLE profile may be adapted so as to control the communications between two devices. This has an advantage as the communication process and the protocol may be designed for a particular use to address any specific usage concern. In one example, the BLE profile may have a Generic Attribute Profile (GATT) which specifies the structure in which profile data may be transmitted and exchanged between two devices (server and client) . Generic Attribute Profile (GATT) is known to be built on top of the Attribute Protocol (ATT) and defines a framework in which the resources can be organized in each transmission.
[0149] In some examples, the GATT defines two roles, which includes a GATT server and a GATT client. The GATT server may store the data transported over the Attribute Protocol and accepts Attribute Protocol requests, commands and confirmations from the GATT client. The GATT server may also send responses to requests and when configured, sends indication and notifications asynchronously to the GATT client when specified events occur on the GATT server. GATT may also specify the format of data contained on the GATT server. Accordingly, a modification of the GATT may arrange for the manner in which information is exchanged between a client and server.
[0150] Figure 6A is an illustration of an example format for the GATT service information table 600 in a Bluetooth Low Energy (BLE) connection in accordance with the conventional protocol commonly used. The GATT protocol layer defines a 4-level tree-like framework. The top level of the hierarchy is a profile 610 (level 0) . The GATT service information table 600 defines basic elements such as services 612 (level 1) and characteristics 614, 616, 618 (level 2) used in the profile 610.
[0151] In this example, the profile 610 may include one or more services 612 necessary to fulfil a use case. The service 612 is a collection of data and associated behaviours to accomplish a particular function or feature of a device or portions of a device. There are two types of services: primary and secondary. A primary service is a service that provides the primary functionality of a device. A secondary service is a service that provides auxiliary functionality of a device and is referenced from at least one primary service on the device. Examples of services that may be specified in a GATT table residing on a GATT server include bow movement data and sound data.
[0152] In particular, the service 612 is composed of a plurality of characteristics 614, 616, 618 or references to other services. Each characteristic 614, 616, 618 contains a single value 614b, 616b, 618b (level 3) used in a service along with properties 614a, 616a, 618a. Optionally, each characteristic 614, 616, 618 may also contain configuration information about how the value 614b, 616b, 618b is accessed and information about how the value 614b, 616b, 618b is displayed or represented. For instance, each characteristic 614, 616, 618 may also include one of more descriptors 614c, 616c, 618c (level 3) that describe the characteristic values 614b, 616b, 618b or permit configuration of the server with respect to the characteristic value 614b, 616b, 618b such that the value 614b, 616b, 618b is understandable by the user.
[0153] Advantageously, with the defined structure of services 612, characteristics 614, 616, 618, and characteristic value 614b, 616b, 618b and descriptors 614c, 616c, 618c, a GATT client that is not specific to a profile 610 can still traverse the GATT server and display characteristic values 614b, 616b, 618b to the user.
[0154] As shown in Figure 6A, the GATT service information table 600 includes a first Bluetooth characteristic 614, a second Bluetooth characteristic 616, and a third Bluetooth characteristic 618. In the existing solutions, accelerometer, magnetometer, and gyro data captured by the IMU sensor 510 are sent in 1 Bluetooth characteristic 614.
[0155] The audio signal is also encoded and presented by differential pulse-code modulation (DPCM) . Typically, the sampled analogue signal is digitally represented by digital signal while the differences between the consecutive samplings are calculated and quantified.
[0156] In existing solutions, Adaptive differential pulse-code modulation (ADPCM) is commonly used for encoding the audio signal. ADPCM further varies the size of the quantization step and reduces the required data bandwidth for a given signal-to-noise ratio comparing with differential pulse-code modulation (DPCM) . ADPCM synchronous code correction (ADPCM Sync) is also adopted for reducing the transcoding distortion. Accordingly, ADPCM Audio (8bit / 8kHz) and ADPCM Sync are also sent in two corresponding Bluetooth characteristics 616 and 618.
[0157] The reading of these characteristics data 614, 616 and 618 is in real-time. However, there is inevitably a delay between the reception of the 1 Bluetooth characteristic 614 associated with the bow movement data and the two Bluetooth characteristics 616 and 618 associated with the audio data. Although this would give a delay within micro second time period, this may result in some latency and noises affecting the accuracy of the BLE transmission.
[0158] Figure 6B is an illustration of an example format for the GATT service information table 620 transmitted between the attachment device 130 and the mobile device 210, in accordance with at least one embodiment of the present invention. The top level of the hierarchy is a profile 630 which is composed of one or more services 632 necessary to fulfil a use case. The service 632 is composed of one or more characteristics 634 or references to other services. Each characteristic 634 contains a value 634b and may contain optional descriptors 634c about the value 634b.
[0159] In contrast with the service 612 conventionally used in the conventional GATT service information table 600 shown in Figure 6A, all the accelerometer, magnetometer, and gyro data and the audio data are included as and sent in one single Bluetooth characteristic 634. The custom firmware in accordance with one example of the present invention sends both sensor and audio features in a single characteristic 634. The fact that all data are sent together in one single Bluetooth characteristic 634 prevents the BLE receiver of the mobile device 210 from reading each of the accelerometer, magnetometer, and gyro data and the audio data in real-time and avoid synchronisation problem, thereby achieving the lowest possible latency and thus significantly reduce the noise in a BLE connection.
[0160] In one example embodiment, a 44 bytes of data packet is sent in the following format:
[0161] While the audio format in this example embodiment is compressed in the form of ADPCM, other alternative codecs or formats may also be adopted. For instance, the audio format may be encoded by using one or more variant of differential pulse-code modulation (DPCM) .
[0162] Advantageously, the frog is specifically designed to replicate the feel and function of a traditional frog. The detailed construction of the attachment device 130 in accordance with one example embodiment of the present invention as shown in Figures 1 and 2 will now be described in details with reference to Figures 7A to 10B.
[0163] Figure 7A depicts a violin bow 700 which primarily includes a bow stick 710 made of wood or carbon fibre for holding a violin bow hair 720 generally made of horse hair in place. The hair 720 is used to glide across the strings of a string instrument, thus making the strings vibrate and create a sound. The bow stick 710 includes a bow tip 712 at one end and the bow hair 720 is attached to the stick at the tip 712 through a tip plate 711. On the opposite end of the bow 700, there is provided a frog 730 which houses a mechanism for tightening and loosening the bow hair 720.
[0164] With reference to Figures 7B to 7C, there is provided an example of an innovative frog attachment device 730 which is designed with one or more specific shapes and dimensions. The attachment device 730 may be retrofit to a conventional bow to achieve the same function while embedding the various electronic components of the attachment device 130.
[0165] In this example embodiment, the frog 730 includes a plurality of smaller components which facilitate the adjustment and re-hair of the bow hair 720. In particular, the frog 730 includes a tongue portion 731 at the bottom which is in contact with and receives the hair 720. As shown in this example embodiment, the frog 730 includes a ferrule 732 which is a removable plate of metal for surrounding and protecting the hair 720. The hair channel 722 of the hair 720 is inserted into the frog through the ferrule 732. Across the ferrule 732 there is extended a curved portion to form a throat 736 so that the instrument players may place their thumb in or above the throat to hold the bow 700 tightly. Optionally, on each of the sides of the frog 730 there is provided an eye 738 in circle shape for ornamental purpose.
[0166] At the bottom of the frog 730 there is also provided a metal screw 740. The screw 740 includes a screw tang 742 which is exposed from the very bottom end of the bow stick 710, from which a screw shaft 744 is extended along the hollow bow stick 710. On the opposite end of the screw shaft 744 is screwed by an eyelet 746 which is further extended to form a shank 748 for securing to the frog 730.
[0167] With reference to Figures 8A to 8F, there is also provided a frog 730 which is an at least partially hollow housing 800 so as to provide one or more compartments for accommodating various electronics components. Preferably, the frog 730 is made of an upper housing member 810 and a lower housing member 820, together forming the housing 800 for providing one or more compartments. The upper housing member 810 comprises a underslide 812 extending longitudinally in a direction parallel to the bow hair 720 and is further connected to a frog end plate 814 which forms the back surface of the frog 720. There is also a reinforcing plate 816 underneath the underslide 812 together forming a gap to receive part of the lower housing member 820.
[0168] The lower housing member 820 is formed by a pair of frog walls 822, 824 which are interconnected by an underneath frog bottom wall 823. On the upper rim of the frog walls 822, 824 there is provided a slot 826 for matching the profile of the underslide 812. A tab 828 is further extended along the upper rim of the frog wall 822 towards the other frog wall 824 such that the tab 828 can be slide into the gap formed between the underslide 812 and reinforcing plate 816 and sandwiched between the underslide 812 and reinforcing plate 816 for securing the upper and lower housing members 810, 820.
[0169] Preferably, there is also provided additional screw and thread arrangement to further secure the fastening between the upper and lower housing members 810, 820. For instance, the underslide 812 may include a tapped screw hole 832 and the slot 826 may include a tapped screw hole 834. When the underslide 812 is positioned over the slot 826, the tapped screw holes 832, 834 are overlapped such that a screw 836 may be screwed into tapped screw holes 832, 834 for fastening the upper and lower housing members 810, 820.
[0170] There is also provided a fastening means for securing the screw 740 to the frog 730. For instance, the underslide 812 may include a tapped screw hole 842, the reinforcing plate 816 may include a tapped screw hole 844, and the tab 828 may include a tapped screw hole 846. When the underslide 812 is positioned over the slot 826, the tapped screw holes 842, 844 and 846 are overlapped such that the screw thread of the shank 748 can be screwed into tapped screw holes 842, 844 and 846 for fastening the screw 740 to the frog 730.
[0171] Figures 8E to 8F depict the example frog 730 in another perspective views to shown the underneath components in further details. The frog end plate 814 is also further extended from the bottom rim to form a tab 818. The frog bottom wall 823 also includes an exposed slot 826. The tab 818 is fitted to the slot 826 of the frog bottom wall 823 to provide a flush surface and form a slide 850. Optionally, there is also provided a screw 852 for fastening the tab 818 to the slot 826.
[0172] With reference to Figures 9A to 9C, there is shown the inner construction of the frog 730. The frog 730 includes several compartments for accommodating various components. For instance, the motion and sound sensing functions are provided by a single PCB board 900, which integrates all the bow movement data and sound data capturing function of the attachment device 130 as aforementioned.
[0173] For instance, the PCB board 900 may be a custom-made IMU embedding all the necessary sensors such as gyroscope, accelerometer, magnetometer, force-sensing resistor (FSR) , BLE antenna, microcontroller into the required dimensions. The PCB board 900 may also be implemented with a haptic feedback module, although the haptic feedback module may be placed elsewhere, but controlled by circuits on the PCB board 900.
[0174] The PCB board 900 may also further includes a USB port 910 for battery charging. The PCB board 900 is also in electrical communication with an onboard battery 920.
[0175] The inner spacing of the frog 730 is segregated into multiple compartments to contain various components. On the frog bottom wall 823 there is also provided a frog mortise 930 which is a rectangular shell or box extending from the frog bottom wall 823 for receiving the hair channel 722 of the hair 720 inserted into the frog 730 through the ferrule 732.
[0176] To provide a more tactile feeling to the user and thus replicate the feeling of a conventional bow frog, the various components are disposed in a compact manner that may provide a user experience similar to a traditional bow frog. In this example embodiment, an approximate one fourth of the cross-sectional area of the housing 800 taking in the cutaway direction of the longitudinal length is occupied by a first compartment defined by the frog mortise 930. The remaining cross-sectional area of the housing 800 is defined as a second compartment which is spatially isolated from the first compartment. The PCB board 900 is designed and dimensioned which occupies the second compartment. For instance, the PCB board 900 is formed as a L-shape which flush with the outer contour defined by the frog mortise 930 and fully occupies the second compartment.
[0177] Preferably, the components are packed in a compact manner. As shown in the cross-sectional view in Figure 9C, the PCB board 900 is positioned adjacent to and lies against the frog wall 824 as close as possible to the frog wall 824. This prevents the vibration of the PCB board 900. On the other hand, there is provided a counter mass adjacent to the other frog wall 822 such that the weight of the PCB board 900 and the counter mass are symmetrical about the centreline A-B. Optionally, the counter mass may be provided by the battery 920.
[0178] With reference finally to Figures 10A to 10B, there is a comparison between a traditional bow frog 1000 and a bow frog 1100 arranged to operate as an attachment device, in accordance with one example embodiment of the present invention.
[0179] The traditional bow frog 1000 includes a solid frog body 1030 made of wooden materials. The housing 1030 includes a tongue portion 1031 at the bottom through which horsehairs can be installed within the frog. On the side surfaces of the frog housing 1030 there is provided a pair of Parisian eyes 1038.
[0180] With reference finally to Figure 10B, there is shown a 3D printable hollowed frog housing unit 1100 in accordance with one example embodiment of the present invention. The frog housing unit 1100 produces an interface that feels, looks, and weighs similarly or exactly the same as the traditional bow frog 1000 and may be rehaired by any archetier following traditional procedures.
[0181] The frog housing unit 1100 combines a metallic lid with a range of other non-metallic materials for the housing. For instance, the metallic material may be brass, steel, aluminium, silver, or gold, and the non-metallic materials may be different types of Polylactic Acid (PLA) , photopolymer resins, or wood.
[0182] In particular, the novel bow frog attachment device 1100 also includes a housing 1130 but it is formed by an upper housing member 1210 and a lower housing member 1220. The housing 1130 includes a tongue portion 1131 at the bottom through which horsehairs can be installed within the frog 1100 in the same way as the traditional bow frog 1000. The housing 1130 includes a pair of holes through which a pair of Parisian eyes can be attached thereto. The bow frog 1100 also provides a compartment for receiving a PCB board 1300, which lies against the rear surface of the lower housing member 1220.
[0183] In general, the balance point i.e. centre of gravity of a conventional string instrument bow is around one third from the frog end of the bow. To ensure that the balance point of a string instrument bow incorporating the bow frog attachment device 1100 would remain the same, the net mass of the hollow frog housing plus the electronic components and the centre of gravity of the overall bow frog attachment device 1100 would be equivalent to that of a conventional frog.
[0184] Preferably, the size of the attachment device 1100 may be dimensioned for fitting the bow frog of various string instruments. For instance, the attachment device 1100 may have a dimension of 16 mm x 49 mm x 22 mm for retrofitting to a conventional violin bow. For instance, the attachment device 1100 may have a dimension of 16 mm x 49 mm x 25 mm for retrofitting to a conventional viola bow. For instance, the attachment device 1100 may have a dimension of 17 mm x 50 mm x 27 mm for retrofitting to a conventional cello bow.
[0185] Advantageously, the novel bow frog 1100 differs from previous string instrument interactive interfaces in its design, which is not busy or intrusive and does not require any retraining to be incorporated into the practice of performance routines of string musicians of any level.
[0186] The string instrument interactive system may be particularly applicable to string instrument learners whom receive limited individual training from a tutor. The various functions provided by the string instrument interactive system may provide a partially self-learning platform and improve quality of the individual practising by an instrument player.
[0187] It will also be appreciated that where the methods and systems of the present invention are either wholly implemented by computing system or partly implemented by computing systems then any appropriate computing system architecture may be utilised. This will include stand-alone computers, network computers and dedicated hardware devices. Where the terms “computing apparatus” and “computing device” are used, these terms are intended to cover any appropriate arrangement of computer hardware capable of implementing the function or functions described.
[0188] It will be appreciated by persons skilled in the art that numerous variations and / or modifications may be made to the invention as shown in the specific embodiments without departing from the spirit or scope of the invention as broadly described. The present embodiments are, therefore, to be considered in all respects as illustrative and not restrictive.
[0189] Any reference to prior art contained herein is not to be taken as an admission that the information is common general knowledge, unless otherwise indicated.
Claims
1.A system for interacting with a string instrument comprising:- a motion processor arranged to receive bow movement data associated with the movement of a bow when the bow is interacting with the string instrument;- a sound processor arranged to receive captured sound data of the string instrument interacting with the bow; and- the motion and sound processors, each further arranged to process the movement data and the sound data to provide one or more music pedagogy, performance or gaming functions.2.A system in accordance with claim 1, wherein the motion processor is configured to determine Euler angles of the bow representing a rotation of the bow relative to a known reference orientation based on the received bow movement data.3.A system in accordance with claim 2, wherein the motion processor is further configured:- to determine an orientation of the bow represented by Quaternions based on the determined Euler angles, or,- to determine a bow trajectory by using a Gait tracking process.4.A system in accordance with claim 1, wherein the motion processor is configured to determine at least one of velocity and acceleration of the bow based on the received bow movement data.5.A system in accordance with claim 1, wherein the motion processor is further configured to determine the angle of inclination of the bow based on the received bow movement data.6.A system in accordance with claim 1, wherein the motion processor is further configured to determine the bow trajectory based on the received bow movement data with at least two measurement data within a predetermined time period.7.A system in accordance with claim 1, wherein the bow movement data is received from a movement sensing unit, the movement sensing unit being movable together with the bow when the bow is interacting with the string instrument.8.A system in accordance with claim 7, wherein the sound data is captured by a sound sensing unit, the sound sensing unit being configured to capture sound data associated with the interaction between the bow and the string instrument.9.A system in accordance with claim 1, wherein the motion and sound processors are configured to synchronise the received bow movement and sound data, whereby the noise associated with the latency between the received bow movement and sound data is reduced.10.A system in accordance with claim 1, wherein the movement data and the sound data are each processed by the motion and sound processors, whereby the information associated with the processed data are at least audibly or visibly represented to the user.11.A system in accordance with claim 10, wherein audible or visible representation forms at least part of the music pedagogy, performance or gaming functions.12.A system in accordance with claim 8, wherein the movement sensing unit and the sound sensing unit are arranged to embed in a frog attached in use to a bow of the string instrument.13.A system in accordance with claim 1, wherein the data transmission of the bow movement data and sound data is performed by using a Bluetooth Low Energy (BLE) arrangement, the arrangement being configured to facilitate the communication of sound data and bow movement data to the motion and sound processors.14.A system in accordance with claim 13, wherein the BLE arrangement includes a Generic Attribute Profile (GATT) arranged to define the format of the sound data and bow movement data in the BLE service, whereby the noise associated with the BLE latency between the arrival of the bow movement data and the sound data at the control console is reduced.15.A system in accordance with claim 14, wherein the Generic Attribute Profile (GATT) defines a single characteristic associated with both the sound data and bow movement data.16.An attachment device for a string instrument bow comprising:- a movement sensor arranged to detect the movement of the bow when interacting with the string instrument;- a sound detection arrangement arranged to capture the sound of the string instrument interacting with the bow;- a control module arranged to connect the two sensors and transmit the data to an external device.17.An attachment device in accordance with claim 16, wherein the movement sensor, sound detection arrangement and the control module are arranged to form part of a frog portion of the string instrument bow.18.An attachment device in accordance with claim 17, further including a frog housing arranged to retain the movement sensor, sound detection arrangement and the control module, the frog housing being at least partially hollow for providing one or more receptacles for the movement sensor, sound detection arrangement and the control module.19.An attachment device in accordance with claim 18, wherein the frog housing includes a first compartment for forming a conventional frog mortise and a second compartment for forming the receptacle for the movement sensor, sound detection arrangement and the control module, the second compartment being spatially isolated from the first compartment.20.An attachment device in accordance with claim 19, wherein the second compartment is sandwiched between the first compartment and an attachment portion being attached to a conventional bow stick.21.An attachment device in accordance with claim 20, wherein the movement sensor, sound detection arrangement and the control module are being dimensioned to conform with the cross-sectional area of the second compartment.22.An attachment device in accordance with claim 16, wherein the net mass of the hollow frog housing and the movement sensor, sound detection arrangement and the control module are approximately equivalent to the mass of a conventional frog for which the attachment device is arranged to replace.23.An attachment device in accordance with claim 16, wherein the centre of gravity of the hollow frog housing and the movement sensor, sound detection arrangement and the control module are approximately equivalent to the centre of gravity of a conventional frog for which the attachment device is arranged to replace.24.An attachment device in accordance with claim 16, wherein the movement sensor, sound detection arrangement and the control module are disposed and inclined to at least one of the housing wall of the frog housing, and the frog housing further comprises a counter mass arranged to balance the mass of the electronic module.25.An attachment device in accordance with claim 24, further including a battery storage arranged to provide power supply to the movement sensor, sound detection arrangement, a haptic feedback module and the control module, the battery storage being configured to act as the counter mass whereby the stability of the bow is maintained.26.A communication method between an attachment device for a string instrument bow and a control console, the method comprising:- transmitting bow movement data from the attachment device to the control console through a first characteristic of a service, wherein the bow movement data is associated with the movement of a bow when the bow is interacting with a string instrument;- transmitting sound data from the attachment device to the control console through a second characteristic of a service, wherein the sound data is associated with the sound of the string instrument interacting with the bow;- mapping the bow movement data and the sound data;- presenting to the user information associated with one or more music pedagogy, performance or gaming functions based on the mapped data; wherein the first and second characteristics are transmitted through a synchronised channel whereby the service is processed upon the transmission of both of the first and second characteristics is completed.27.A communication method in accordance with claim 26, wherein the data transmission is performed by using a Bluetooth Low Energy (BLE) arrangement, the arrangement being configured to facilitate the communication of sound data and bow movement data to the control console.28.A communication method in accordance with claim 27, wherein the BLE arrangement includes a Generic Attribute Profile (GATT) arranged to define the format of the sound data and bow movement data in the BLE service whereby the noise associated with the BLE latency between the arrival of the bow movement data and the sound data at the control console is reduced.29.A communication method in accordance with claim 27, wherein the Generic Attribute Profile (GATT) defines a single characteristic associated with both the sound data and bow movement data.30.A communication method in accordance with claim 29, wherein the single characteristic data comprises the following specification:- 2 bytes-Timestamp- 2 bytes-Sensor 1-X ax.- 2 bytes-Sensor 1 -Y ax.- 2 bytes-Sensor 1-Z ax.- 2 bytes-Sensor 2-X ax.- 2 bytes-Sensor 2-Y ax.- 2 bytes -Sensor 2 -Z ax.- 2 bytes -Sensor 3 -X ax.- 2 bytes-Sensor 3-Y ax.- 2 bytes -Sensor 3 -Z ax.31.A communication method in accordance with claim 29, wherein the single characteristic data comprises the following specification:- 19 bytes -Audio ADPCM (Audio Adaptive Differential Pulse Code Modulation) .- 5 bytes -Audio sync.