Abstract:
A computer-implemented method includes receiving input data including MIDI events arranged in a timeline, determining a target grid position from among the plurality of grid positions, determining a search range around the target grid position, and identifying a set of MIDI events within the search range around the target grid position. The method further includes determining a reference point for the set of MIDI events based on a function of the set of MIDI events, adjusting a position of the reference point toward the target grid position, determining a proportional movement for each MIDI event on the timeline based on its location relative to the adjusted reference point, and adjusting each MIDI event based on the determined proportional movement. The function of the set of MIDI events can be a weighted average based on one or more MIDI characteristics of the set of MIDI events.
Abstract:
Systems, methods, and non-transitory computer-readable storage media generate customized arpeggios. An exemplary method includes providing a storage medium, including a database storing data corresponding to an arpeggio pattern to be played by a virtual instrument. The method further includes receiving a plurality of user inputs that enable a user to select a desired set of musical notes (e.g. a chord) other than the notes (e.g. chord) used to create the arpeggio stored in the database, without having to re-enter the note sequence. The method then includes creating the desired arpeggio for the selected set of notes by applying the stored arpeggio data from the database to the entered notes, and playing the created desired arpeggio
Abstract:
A computer-implemented method includes receiving input data including MIDI events arranged in a timeline, determining a target grid position from among the plurality of grid positions, determining a search range around the target grid position, and identifying a set of MIDI events within the search range around the target grid position. The method further includes determining a reference point for the set of MIDI events based on a function of the set of MIDI events, adjusting a position of the reference point toward the target grid position, determining a proportional movement for each MIDI event on the timeline based on its location relative to the adjusted reference point, and adjusting each MIDI event based on the determined proportional movement. The function of the set of MIDI events can be a weighted average based on one or more MIDI characteristics of the set of MIDI events.
Abstract:
A method, system, and computer-readable product for positioning a virtual sound capturing device in a graphical user interface (GUI) are disclosed. The method includes displaying a virtual sound capturing device in relation to a virtual sound producing device in a three dimensional interface and in a two dimensional graphical map. Additionally, the method includes adjusting the display of the virtual sound capturing device in relation to the virtual sound producing device in both the three dimensional interface and the two dimensional graphical map in response to commands received from an input device.
Abstract:
A method, system, and computer-readable product for positioning a virtual sound capturing device in a graphical user interface (GUI) are disclosed. The method includes displaying a virtual sound capturing device in relation to a virtual sound producing device in a three dimensional interface and in a two dimensional graphical map. Additionally, the method includes adjusting the display of the virtual sound capturing device in relation to the virtual sound producing device in both the three dimensional interface and the two dimensional graphical map in response to commands received from an input device.
Abstract:
A method including receiving a first set of performance data corresponding to a first plurality of MIDI-based notes in a first rhythmic order. The first plurality of MIDI-based notes may form a first arpeggio, with each of the first plurality of notes having a corresponding first performance data. The method further includes receiving input data indicating a change to the first performance data corresponding to a note in the first plurality of notes, changing the first performance data for the corresponding note using the input data, receiving a second set of performance data corresponding to a second plurality of MIDI-based notes, and applying the changed first performance data to the second performance data. Applying the first changed performance data includes editing the second set of performance data in real-time by replacing the second performance data with the changed first performance data.
Abstract:
Processor-implemented methods and systems for polyphonic note detection are disclosed. The method includes converting a portion of a polyphonic audio signal from a time domain to a frequency domain. The method includes detecting a fundamental frequency peak in the frequency domain. The method then detects a defined number of integer-interval harmonic partials. If a defined number of integer-interval harmonic partials relative to the fundamental frequency peak are detected the fundamental frequency is recorded as a detected note. This process is repeated for each fundamental frequency until each note in the polyphonic audio signal has been detected. For example, this method allows detection of each note in a strummed guitar chord to provide feedback on the tuning of each string in a strummed chord or allows detection and feedback of the timing and pitch errors for guitar chords played along with a reference track.
Abstract:
Systems, methods, and non-transitory computer-readable storage media generate customized arpeggios. An exemplary method includes providing a storage medium, including a database storing data corresponding to an arpeggio pattern to be played by a virtual instrument. The method further includes receiving a plurality of user inputs that enable a user to select a desired set of musical notes (e.g. a chord) other than the notes (e.g. chord) used to create the arpeggio stored in the database, without having to re-enter the note sequence. The method then includes creating the desired arpeggio for the selected set of notes by applying the stored arpeggio data from the database to the entered notes, and playing the created desired arpeggio.
Abstract:
Processor-implemented methods and systems for polyphonic note detection are disclosed. The method includes converting a portion of a polyphonic audio signal from a time domain to a frequency domain. The method includes detecting a fundamental frequency peak in the frequency domain. The method then detects a defined number of integer-interval harmonic partials. If a defined number of integer-interval harmonic partials relative to the fundamental frequency peak are detected the fundamental frequency is recorded as a detected note. This process is repeated for each fundamental frequency until each note in the polyphonic audio signal has been detected. For example, this method allows detection of each note in a strummed guitar chord to provide feedback on the tuning of each string in a strummed chord or allows detection and feedback of the timing and pitch errors for guitar chords played along with a reference track.