Музыкальный звукогенерирующий инструмент и машиночитаемый носитель

Иллюстрации

Показать все

Инструмент включает в себя: накопитель, сконфигурированный для хранения в нем данных песни и аудиоданных, при этом (а) данные песни включают в себя высоту тонов и информацию о времени, указывающую распределение временных интервалов генерации музыкальных звуков песни, и (б) аудиоданные являются данными аккомпанемента для песни данных песни; генератор музыкальных звуковых данных, сконфигурированный для генерирования музыкальных звуковых данных заданных музыкальных звуков на основании манипуляций множеством звукоизвлекающих элементов; и проигрыватель аудиоданных, сконфигурированный считывать и воспроизводить аудиоданные согласно информации о прошедшем времени, полученной с помощью информации о времени, содержащейся в данных песни. Проигрыватель аудиоданных включает в себя: блок оценки манипулирования, сконфигурированный определять, совпадает ли по времени распределение временных интервалов манипулирования одним из звукоизвлекающих элементов с распределением временных интервалов генерации звука данных песни; и контроллер проигрывателя. Технический результат - возможность считывать аудиоданные согласно манипуляциям клавишами исполнителем, когда аудиоданные воспроизводятся как автоматический аккомпанемент. 2 н.п. и 8 з.п. ф-лы, 24 ил.

Реферат

ПЕРЕКРЕСТНАЯ ССЫЛКА НА РОДСТВЕННЫЕ ЗАЯВКИ

Эта заявка притязает на приоритет заявок, на патент Японии № 2011-084222, поданной 6 апреля 2011, и № 2011-185697, поданной 29 августа 2011, полное содержание которых включено в настоящий документ по ссылке.

УРОВЕНЬ ТЕХНИКИ ИЗОБРЕТЕНИЯ

Область техники, к которой относится изобретение

Варианты воплощения, описанные здесь, относятся к музыкальному звукогенерирующему инструменту и машиночитаемому носителю, в котором музыкальные звуковые данные, генерируемые путем нажатия клавиш, и сохраненные аудиоданные взаимодействуют друг с другом.

Описание предшествующего уровня техники

Функция, обычно называемая "автоматическим аккомпанементом", хорошо известна в электронных музыкальных инструментах. Согласно типичной функции автоматического аккомпанемента, данные паттерна автоматического аккомпанемента заданной песни (музыкального произведения) сохранены, а музыкальные звуки, составляющие автоматический аккомпанемент, генерируются по мере того, как сохраненные данные последовательно считываются в заданном темпе. Исполнитель играет заданную часть (как правило, мелодию), нажимая клавиши согласно распределению временных интервалов, заданному в песне, при этом слушая автоматический аккомпанемент, посредством чего генерируются все музыкальные звуки песни.

Паттерн автоматического аккомпанемента конфигурируется так, чтобы музыкальные звуки, соответствующие заданным аккордам, генерировались согласно распределению временных интервалов генерации звука заданной последовательности аккомпанемента. Паттерн автоматического аккомпанемента может включать в себя облигатные звуки контрапункта и ритмические звуки.

Такой автоматический аккомпанемент генерирует звуки таким же образом, что и музыкальные звуки, которые генерируются, когда исполнитель манипулирует клавишами. В частности, событие включения воспроизведения ноты включает в себя отправку тона и высоты тона в секцию источника звука согласно распределению временных интервалов генерации звука, указанных последовательностью автоматического аккомпанемента, и секция источника звука читает данные формы волны, то есть читает данные указанного тона со скоростью, соответствующей указанной высоте тона, из постоянного запоминающего устройства (ROM), которое хранит данные формы волны, посредством чего выводятся музыкальные звуковые данные формы волны указанного тона и высоты тона.

В электронном музыкальном инструменте, имеющем такую функцию автоматического аккомпанемента, исполнитель не обязательно искусен в исполнении песни; он или она могут не суметь нажимать клавиши согласно правильному распределению временных интервалов или могут нажимать неверные клавиши. Заявки на патент Японии (JP-A) 2000-206965 и 2007-114539 раскрывают электронные музыкальные инструменты, которые даже в таком случае предотвращают событие, когда только автоматический аккомпанемент независимо идет вперед, путем регулировки чтения данных паттерна автоматического аккомпанемента.

С другой стороны был предложен электронный музыкальный инструмент, который может воспроизводить и музыкальные звуковые данные формы волны, генерируемые секцией источника звука, и аудио данные, принятые из другого аудио устройства, такого как аудио плеер, или аудио данные, полученные путем дискретизации по времени аудиосигнала, принятого микрофоном, и т.п.

Например, можно представить устройство, которое воспроизводит такие аудиоданные как автоматический аккомпанемент и воспроизводит как звуки мелодии музыкальные звуковые данные формы волны, которые генерируются секцией источника звука на основании манипуляций клавишами исполнителем. Так как аудио данные считываются с фиксированной частотой дискретизации, это устройство имеет проблему, состоящую в трудности управления чтением аудио данных так, чтобы это соответствовало игре исполнителя, когда он или она не может нажимать клавиши согласно правильному распределению временных интервалов.

СУЩНОСТЬ ИЗОБРЕТЕНИЯ

Задача настоящего изобретения состоит в обеспечении музыкального звукогенерирующего инструмента и машиночитаемого носителя, которые позволяют считывать аудиоданные должным образом согласно манипуляциям клавишами исполнителем, когда аудио данные воспроизводятся как автоматический аккомпанемент. Согласно одному или более иллюстративным аспектам настоящего изобретения обеспечивается музыкальный звукогенерирующий инструмент. Музыкальный звукогенерирующий инструмент содержит: накопитель, сконфигурированный для хранения в нем данных песни и аудио данных, при этом (а) данные песни включают в себя высоту тонов и информацию о времени, указывающую распределение временных интервалов генерации музыкальных звуков песни, и (б) аудио данные являются данными аккомпанемента для песни данных песни; генератор музыкальных звуковых данных, сконфигурированный для генерирования музыкальных звуковых данных заданных музыкальных звуков на основании манипуляций множеством звукоизвлекающих элементов; и проигрыватель аудио данных, сконфигурированный считывать и воспроизводить аудио данные согласно информации о прошедшем времени, полученной с помощью информации о времени, содержащейся в данных песни. Проигрыватель аудио данных содержит: блок оценки манипулирования, сконфигурированный определять, совпадает ли по времени распределение временных интервалов манипулирования одним из звукоизвлекающих элементов с распределением временных интервалов генерации звука данных песни; и контроллер проигрывателя, сконфигурированный (а) изменять положение чтения аудио данных с точки пересечения нуля, соответствующей распределению временных интервалов манипулирования, на точку пересечения нуля, соответствующую распределению временных интервалов генерации звука, и затем (б) считывать и воспроизводить аудиоданные, когда блок оценки манипулирования определяет, что распределение временных интервалов манипулирования не совпадает по времени с распределением временных интервалов генерации звука.

Согласно одному или более иллюстративным аспектам настоящего изобретения обеспечен постоянный машиночитаемый носитель данных, хранящий программу для управления блоком управления музыкального звукогенерирующего инструмента, который включает в себя: (I) накопитель, сконфигурированный хранить в нем данные песни и аудио данные, при этом (а) данные песни включают в себя высоту тона и информацию о времени, указывающую распределение временных интервалов генерации музыкальных звуков песни, и (б) аудио данные являются данными аккомпанемента для песни данных песни; и (II) генератор музыкальных звуковых данных, сконфигурированный генерировать музыкальные звуковые данные заданных музыкальных звуков на основании манипулирования множеством звукоизвлекающих элементов, и программа управляет блоком управления для выполнения функций: (а) определения, совпадает ли по времени распределение временных интервалов манипулирования одним из звукоизвлекающих элементов с распределением временных интервалов генерации звука данных песни; (б) изменения положения чтения аудио данных с точки пересечения нуля, соответствующей распределению временных интервалов манипулирования, на точку пересечения нуля, соответствующую распределению временных интервалов генерации звука; и (в) считывания и воспроизведения аудио данных, когда определено, что распределение временных интервалов манипулирования не совпадает по времени с распределением временных интервалов генерации звука.

Другие аспекты и преимущества настоящего изобретения будут очевидны из следующего описания, чертежей и формулы изобретения.

КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ

Фиг. 1 показывает внешний вид электронного музыкального инструмента согласно варианту воплощения настоящего изобретения;

фиг. 2 является блок-схемой, показывающей конфигурацию электронного музыкального инструмента согласно варианту воплощения;

фиг. 3 показывает иллюстративную взаимосвязь между данными песни и распределением временных интервалов нажатия клавиш, когда аккомпанемент выполняется согласно варианту воплощения;

фиг. 4 показывает другую иллюстративную взаимосвязь между данными песни и распределением временных интервалов нажатия клавиш, когда аккомпанемент выполняется согласно варианту воплощения;

фиг. 5 показывает другую иллюстративную взаимосвязь между данными песни и распределением временных интервалов нажатия клавиш, когда аккомпанемент выполняется согласно варианту воплощения;

фиг. 6A показывает иллюстративную структуру данных песни согласно варианту воплощения;

фиг. 6B показывает иллюстративную группу регистров для хранения данных, которые устанавливаются в процессе обработки;

фиг. 7A является блок-схемой последовательности операций иллюстративного основного процесса, который выполняется в электронном музыкальном инструменте согласно варианту воплощения;

фиг. 7B является блок-схемой последовательности операций иллюстративного процесса прерывания по таймеру согласно варианту воплощения;

фиг. 8 является блок-схемой последовательности операций, показывающей детали иллюстративного клавиатурного процесса согласно варианту воплощения;

фиг. 9 является блок-схемой последовательности операций иллюстративного обучающего клавиатурного процесса согласно варианту воплощения;

фиг. 10 является блок-схемой последовательности операций иллюстративного песенного процесса согласно варианту воплощения;

фиг. 11 является блок-схемой последовательности операций иллюстративного процесса начала песни согласно варианту воплощения;

фиг. 12 является блок-схемой последовательности операций иллюстративного процесса воспроизведения музыкальных звуков песни согласно варианту воплощения;

фиг. 13 является блок-схемой последовательности операций иллюстративного процесса поиска точек цикла согласно варианту воплощения;

фиг. 14 изображает пример обнаружения точек цикла согласно варианту воплощения;

фиг. 15 является блок-схемой последовательности операций иллюстративного процесса аудио воспроизведения песни согласно варианту воплощения;

фиг. 16A и 16B являются блок-схемами последовательности операций иллюстративных процессов аудио воспроизведения песни согласно варианту воплощения;

фиг. 17 является блок-схемой последовательности операций иллюстративного процесса генерации звука источника звука согласно варианту воплощения;

фиг. 18 показывает иллюстративную взаимосвязь между распределением временных интервалов нажатия клавиши (включением воспроизведения ноты)/отпусканием клавиши (выключением воспроизведения ноты) данных песни и аудиоданными в варианте воплощения;

фиг. 19 показывает иллюстративную взаимосвязь, аналогичную иллюстративной взаимосвязи фиг. 18, в случае, когда исполнитель делает преждевременное нажатие;

фиг. 20 показывает иллюстративную структуру данных песни согласно другому варианту воплощения изобретения; и

фиг. 21 является блок-схемой последовательности операций иллюстративного процесса поиска точек цикла согласно другому варианту воплощения.

ПОДРОБНОЕ ОПИСАНИЕ

Далее будет описан вариант воплощения настоящего изобретения со ссылкой на прилагаемые чертежи. На фиг. 1 показан внешний вид электронного музыкального инструмента 10 согласно варианту воплощения. Как показано на фиг. 1, электронный музыкальный инструмент 10 согласно варианту воплощения оснащен клавиатурой 11. Переключатели 12, 13 и т.д. для указания тона, запуска или остановки аккомпанемента, основанного на аудио данных (см. ниже), и служащие для других целей, и блок 15 индикации для отображения различных видов информации (например, тона или части партитуры), относящейся к песне, которая будет исполняться, расположены позади клавиатуры 11. Электронный музыкальный инструмент 10 согласно варианту воплощения имеет, например, 61 клавишу (C2-C7).

Фиг. 2 является блок-схемой, показывающей конфигурацию электронного музыкального инструмента 10 согласно варианту воплощения изобретения. Как показано на фиг. 2, электронный музыкальный инструмент 10 согласно варианту воплощения оснащен центральным процессором (CPU) 21, постоянным запоминающим устройством (ROM) 22, оперативным запоминающим устройством (RAM) 23, аудио системой 24, клавиатурой 11, входным интерфейсом (I/F) 14, блоком 15 индикации и группой 16 переключателей, включающей вышеупомянутые переключатели 11 и 12.

CPU 21 управляет всем электронным музыкальным инструментом 10 и выполняет различные виды обработки, такие как обнаружение нажатий клавиш клавиатуры 11 или манипулирование переключателем группы 16 переключателей, управление аудио системой 24 в соответствии с манипулированием клавишами или переключателями и аккомпанементом, который основан на аудиоданных.

В ROM 22 хранятся программы различных процессов, выполняемых CPU 21, например процесса, который выполняется в ответ на манипулирование переключателем, генерации музыкального звука в ответ на нажатие клавиши клавиатуры 11, и аккомпанемента, который выполняется согласно аудио данным. ROM 22 имеет область данных форм волн, в которой хранятся данные форм волн для генерации музыкальных звуков различных тонов фортепиано, скрипки, гитары, трубы, кларнета и т.д., область данных песен, в которой хранятся данные песен, включающие данные клавиш, которые необходимо нажимать, и распределение временных интервалов нажатий, и область аудио данных, в которой хранятся аудио данные. В RAM 23 хранятся программы, которые считываются из ROM 22, и данные, которые генерируются во время обработки. RAM 23 также имеет область аудио данных для хранения аудио данных, которые приняты от другого аудио устройства 30 через входной I/F 14. Аудио данные являются, например, данными PCM, полученными посредством дискретизации по времени с заданной частотой дискретизации, значения данных сохраняются последовательно, начиная с начального адреса области аудио данных.

Входной I/F 14 может быть соединен с другим аудио устройством 30 и может принимать аудио данные от другого аудио устройства 30. Аудио данные сохраняются в области аудио данных RAM 23 с помощью CPU 21. Аудио данные увязываются с прошедшим временем, измеренным относительно данных, сохраненных в головном адресе.

Аудио система 24 оснащена секцией 26 источника звука, аудио схемой 27, динамиками 28 и проигрывателем 29 аудио данных. При приеме, например, информации, относящейся к нажатию клавиши или информации, относящейся к паттерну автоматического аккомпанемента, от CPU 12, секция 26 источника звука считывает заданные данные формы волны из области данных форм волн ROM 22, генерирует и выводит данные музыкальных звуков с заданной высотой тона. Секция 26 источника звука может выводить данные формы волны (в частности, данные формы волны, имеющие тон ударного инструмента, такого как малый барабан, большой барабан или тарелки) как они есть как музыкальные звуковые данные. Проигрыватель 29 аудио данных считывает аудио данные, сохраненные в области аудио данных, в соответствии с частотой дискретизации или прошедшими временами, которые основаны на информации о времени, содержащейся в данных песни. Как описано ниже, проигрыватель 29 аудио данных может принять две точки цикла (время начальной точки цикла и время конечной точки цикла) и выполнять воспроизведение цикла аудио данных между этими двумя точками цикла. Аудио схема 27 комбинирует музыкальные звуковые данные и аудио данные, а D/A преобразовывает и усиливает комбинированные данные. Результирующий аудио сигнал выводится из динамиков 28.

Фиг. 3-5 показывают иллюстративную взаимосвязь между данными песни и распределением временных интервалов нажатий клавиши, когда аккомпанемент выполняется согласно варианту воплощения. Как показано на фиг. 3, в данных песни для регулярного распределения временных интервалов необходимо нажать клавишу (клавиша нажата) после первой паузы (продолжительностью t0), необходимо убрать палец с этой клавиши по прошествии времени t1(1), и необходимо нажать следующую клавишу на время t1(2) через время t2(1). В фактических манипуляциях 320 нажатия клавиш, нажатие первой клавиши и отпускание первой клавиши выполнены правильно. Однако тогда как следующая клавиша должна быть нажата во время T (обозначенное символом 322) после промежутка продолжительностью t2(1) с момента отпускания первой клавиши, на самом деле следующая клавиша нажата во время T' (обозначенное символом 321) после промежутка продолжительностью t2' (обозначенного символом 310) (t2'<t2(1)). Таким образом, следующая клавиша нажата раньше на T-T' (=t2(1)-t2'). Поэтому с этого момента времени и далее необходимо совершать чтение данных песни с опережением на T-T' (обозначено символом 311).

Также в примере фиг. 4 в фактических манипуляциях 420 нажатия клавиш нажатие первой клавиши и отпускание первой клавиши выполнены правильно. Однако, в примере фиг. 4 следующая клавиша не нажимается (обозначено символом 410) даже после промежутка продолжительностью t2(1) после отпускания первой клавиши. Например, предположим, что как показано на фиг. 5, следующая клавиша нажата во время T'' (обозначенное символом 521) после промежутка продолжительностью t'' (>t2(1)) с момента отпускания первой клавиши. В этом случае нажатие следующей клавиши задержано на t''-t2(1). Поэтому с этого момента времени и далее необходимо задержать чтение данных песни на t''-t2(1) (обозначено символом 512). В период 511 данные, имеющие новый адрес аудио данных, не могут считываться.

Как описано ниже, поскольку в варианте воплощения генерирование музыкальных звуков путем нажатия клавиш выполняется секцией 26 источника звука, аккомпанемент осуществляется путем генерирования аудио данных. Поэтому, как показано на фиг. 3 или 5, если нажатие клавиши произведено раньше или позже, необходимо корректировать считывание аудио данных. В варианте воплощения это выполняется с помощью способа, который будет описан ниже.

Фиг. 6A показывает иллюстративную структуру данных песни согласно варианту воплощения. Фиг. 6B показывает иллюстративную группу 610 регистров для хранения данных, которые задаются в процессе обработки. Как показано на фиг. 6A, данные 600 песни включают в себя записи 601, 603, 605 и т.д. о временах, указывающих продолжительности времени, записи 602 и т.д. о событиях включения воспроизведения ноты, каждая из которых включает в себя высоту тона нажимаемой клавиши, и записи 604 и т.д. о событиях выключения воспроизведения ноты, каждая из которых включает в себя высоту тона клавиши, с которой необходимо убрать палец.

Первая запись 601 о времени содержит продолжительность времени t0 до первого нажатия клавиши. Продолжительность времени t0 соответствует продолжительности вступления песни. Продолжительности времени t1, содержащиеся в записи о времени между предыдущим событием включения воспроизведения ноты и последующим событием выключения воспроизведения ноты, указывают продолжительность нажатия клавиши. Продолжительности времени t2, содержащиеся в записи о времени между предыдущим событием выключения воспроизведения ноты и последующим событием включения воспроизведения ноты, указывают продолжительность времени от отпускания некоторой клавиши до нажатия следующей клавиши.

Как показано на фиг. 6B, группа регистров 610, которая обеспечена в RAM 23, имеет регистр прошедшего времени, регистр информации о времени, регистр информации о текущей высоте тона, регистр информации о следующей высоте тона, регистр прошедшего времени песни, флаг правильной клавиши, регистр состояния и флаг воспроизведения цикла. Регистр прошедшего времени хранит время, прошедшее между песенными процессами. Регистр информации о времени хранит период времени ∆t (=t1+t2) между событиями включения воспроизведения нот. Регистр информации о текущей высоте тона и регистр информации о следующей высоте тона хранят информацию о высоте тона, которая содержится в записи соответствующего события включения воспроизведения ноты. Регистр прошедшего времени песни хранит время, прошедшее с начала песни. Регистр состояния хранит статус воспроизведения электронного музыкального инструмента 10.

Процессы, которые выполняются в электронном музыкальном инструменте 10 согласно варианту воплощения, будут описаны ниже. Фиг. 7A является блок-схемой последовательности операций иллюстративного основного процесса, который выполняется в электронном музыкальном инструменте 10 согласно варианту воплощения. Фиг. 7B является блок-схемой последовательности операций иллюстративного процесса прерывания по таймеру согласно варианту воплощения. В процессе прерывания по таймеру, в то время как выполняется основной процесс фиг. 7A, число и в счетчике прошедшего времени и в счетчике прошедшего времени песни, которые являются прерывающими счетчиками, увеличивается каждый заданный период времени (этапы 711 и 712). В процессе прерывания по таймеру каждый счетчик может быть остановлен в соответствии с инструкцией от CPU 21.

Как показано на фиг. 7A, при включении питания электронного музыкального инструмента 10, на этапе 701 CPU 21 электронного музыкального инструмента 10 выполняет процесс инициализации, который включает в себя удаление данных, хранившихся в RAM 23, и вывод изображения на экран в блоке индикации 15. На этапе 702 CPU 21 выполняет процесс переключения, то есть обнаруживает манипуляции, если таковые имеются, выполняемые на соответствующих переключателях группы 16 переключателей, и выполняет обработку, соответствующую обнаруженному манипулированию переключателем.

Например, на этапе 702 (процесс переключения) детектируется манипулирование переключателем, указывающим тон, переключателем для указания данных песни для аккомпанемента или переключателем воспроизведения песни. Например, если переключатель воспроизведения песни включен, CPU 21 сохраняет заданное значение в регистре состояния группы 610 регистров. Если переключатель воспроизведения песни выключен, CPU 21 сохраняет значение, указывающее выключенное состояние воспроизведения песни, в регистре состояния.

После завершения этапа 702 (процесс переключения) CPU 21 выполняет клавиатурный процесс на этапе 703. Фиг. 8 является блок-схемой последовательности операций, показывающей детали иллюстративного клавиатурного процесса согласно варианту воплощения. В клавиатурном процессе на этапе 801 CPU 21 сканирует клавиши клавиатуры 11. Событие (событие включения воспроизведения ноты или событие выключения воспроизведения ноты) как результат сканирования клавиш временно сохраняется в RAM 23. На этапе 802 CPU 21 определяет, имело ли место новое событие для некоторой клавиши, путем обращения к результату сканирования клавиш, сохраненному в RAM 23. Если результат определения этапа 802 положителен, на этапе 803 CPU 21 определяет, находится ли статус воспроизведения в состоянии "идет воспроизведение песни" путем обращения к регистру состояния.

Если результат определения этапа 803 положителен, на этапе 804 CPU 21 выполняет обучающий клавиатурный процесс. С другой стороны, если результат определения этапа 803 отрицателен, CPU 21 выполняет обычный клавиатурный процесс на этапе 805. На этапе 805 CPU 21 определяет, является ли клавишное событие включением воспроизведения ноты (нажатие клавиши) или выключением воспроизведения ноты (отпускание клавиши). Если клавишное событие является включением воспроизведения ноты, CPU 21 генерирует событие включения воспроизведения ноты, включающее в себя информацию о высоте тона нажатой клавиши, и выводит ее в секцию 26 источника звука. Если клавишное событие является выключением воспроизведения ноты, CPU 21 генерирует событие выключения воспроизведения ноты, включающее в себя информацию о высоте тона отпущенной клавиши, и выводит ее в секцию 26 источника звука.

Далее будет описан обучающий клавиатурный процесс (этап 804). Фиг. 9 является блок-схемой последовательности операций иллюстративного обучающего клавиатурного процесса согласно варианту воплощения. Как показано на фиг. 9, на этапе 901 CPU 21 определяет, является ли клавишное событие новым включением воспроизведения ноты. Если результат определения этапа 901 является положительным, на этапе 902 CPU 21 генерирует событие включения воспроизведения ноты, включающее в себя информацию о высоте тона нажатой клавиши, и выводит ее в секцию 26 источника звука. Если результат определения этапа 901 отрицателен, на этапе 903 CPU 21 генерирует событие выключения воспроизведения ноты, включающее в себя информацию о высоте тона отпущенной клавиши, и выводит ее в секцию 26 источника звука. Затем обучающий клавиатурный процесс завершается.

После выполнения этапа 902 на этапе 904 CPU 21 определяет, совпадает ли по времени высота тона новой клавиши включения воспроизведения ноты с высотой тона, которая сохранена в регистре информации о следующей высоте тона. Если результат определения этапа 904 отрицателен, обучающий клавиатурный процесс завершается. Если результат определения этапа 904 положителен, на этапе 905 CPU 21 устанавливает флаг правильной клавиши из группы регистров 610, равным "1". Флаг правильной клавиши устанавливается равным "1", если клавиша, которая была нажата исполнителем, совпадает по времени с клавишей, которая должна быть нажата следующей.

На этапе 906 CPU 21 определяет, находятся ли аудио данные как данные аккомпанемента в состоянии воспроизведения цикла. Это может быть выполнено путем определения, равен ли "1" флаг воспроизведения цикла группы 610 регистров. Если результат определения этапа 906 отрицателен, на этапе 907 CPU 21 определяет сдвинутое время начальной точки для преждевременного нажатия. Если результат определения этапа 906 положителен, на этапе 908 CPU 21 определяет сдвинутое время начальной точки для запоздавшего нажатия. Сдвинутое время начальной точки является точкой пересечения нуля заданной фазы (например, изменение значения данных от отрицательного к положительному), которая находится ближе всего к распределению временных интервалов нажатия клавиши со стороны будущего на временной последовательности.

После завершения этапа 703 (клавиатурный процесс) CPU 21 выполняет песенный процесс на этапе 704. Фиг. 10 является блок-схемой последовательности операций иллюстративного песенного процесса согласно варианту воплощения. Как показано на фиг. 10, на этапе 1001 CPU 21 определяет, находится ли статус воспроизведения в состоянии "идет воспроизведение песни" путем обращения к регистру состояния. Если результат определения этапа 1001 отрицателен, на этапе 1002 CPU 21 определяет, находится ли статус воспроизведения в состоянии "начало песни" путем обращения к регистру состояния. Если результат определения этапа 1002 отрицателен, песенный процесс завершается. Если результат определения этапа 1002 положителен, на этапе 1003 CPU 21 выполняет процесс начала песни.

Фиг. 11 является блок-схемой последовательности операций иллюстративного процесса начала песни согласно варианту воплощения. Как показано на фиг. 11, на этапе 1101 CPU 21 получает продолжительность времени t0 из головной записи данных песни, которые сохранены в ROM 22. Продолжительность t0 сохраняется в регистре информации о времени группы 610 регистров как информация о начальном времени ∆t. На этапе 1102 CPU 21 получает событие включения воспроизведения ноты из записи в следующем адресе и сохраняет в регистре информации о текущей высоте тона информацию о высоте тона, содержащуюся в полученном событии включения воспроизведения ноты. На этапе 1103 CPU 21 получает событие включения воспроизведения ноты из следующей записи и сохраняет в регистре информации о следующей высоте тона информацию о высоте тона, содержащуюся в полученном событии следующего включения воспроизведения ноты.

На этапе 1104 CPU 21 разрешает работу счетчика прошедшего времени песни процесса прерывания по таймеру и начинает измерение прошедшего времени песни. На этапе 1105 CPU 21 дает команду проигрывателю 29 аудио данных начать воспроизведение аудио данных. На этапе 1106 CPU 21 сохраняет информацию, указывающую состояние "идет воспроизведение песни" в регистре состояния в качестве статуса воспроизведения.

Если результат определения этапа 1001 положителен, на этапе 1004 CPU 21 выполняет процесс воспроизведения музыкальных звуков песни. Фиг. 12 является блок-схемой последовательности операций иллюстративного процесса воспроизведения музыкальных звуков песни согласно варианту воплощения. Как показано на фиг. 12, на этапе 1201 CPU 21 получает значение регистра прошедшего времени. На этапе 1202 CPU 21 определяет, вычислять ли информацию о времени ∆t. Если результат определения этапа 1202 положителен, на этапе 1203 CPU 21 суммирует продолжительность времени t1, которая содержится в записи рядом с записью о событии включения воспроизведения ноты для клавиши, нажатой в этот раз, и продолжительность времени t2, содержащуюся в записи рядом с записью о событии выключения воспроизведения ноты для той же самой клавиши, и сохраняет значения суммы t1+t2 в регистре информации о времени как информацию о времени ∆t. На этапе 1202 определяется, что период времени ∆t должен быть вычислен, если значения регистра информации о текущей высоте тона и регистра информации о следующей высоте тона были изменены.

На этапе 1204 CPU 21 вычитает прошедшее время из периода времени ∆t. Этапы 1201-1204 служат для определения, достигло ли время, прошедшее с момента времени предыдущего нажатия клавиши (включения воспроизведения ноты), периода времени ∆t и времени следующего нажатия клавиши (включения воспроизведения ноты). Если на этапе 1205 путем обращения к результату этапа 1204 определено, что прошел период времени ∆t со времени предыдущего нажатия клавиши (этап 1205: да), то это означает, что клавиша, которая должна быть нажата следующей, еще не была нажата, хотя время для этого уже пришло. Поэтому если результат определения этапа 1205 положителен, на этапе 1206 CPU 21 выполняет процесс поиска точек цикла.

Фиг. 13 является блок-схемой последовательности операций иллюстративного процесса поиска точек цикла согласно варианту воплощения. Как показано на фиг. 13, на этапе 1301 CPU 21 вычисляет период цикла, который является периодом требуемой высоты тона, на основании информации о текущей высоте тона, хранящейся в регистре информации о текущей высоте тона. Этот период цикла задает основной период цикла аудио данных. На этапе 1302 CPU 21 ищет аудио данные для точки пересечения нуля путем возвращения назад в прошлое от текущего адреса воспроизведения. На этапе 1303 CPU 21 вычисляет средний период между точками пересечения нуля. CPU 21 ищет точки пересечения нуля, имеющие одинаковую фазу. То есть, если точка пересечения нуля, которая найдена первой, является возрастающей точкой пересечения нуля (значение данных изменяется от отрицательного к положительному), то после этого необходимо искать только возрастающие точки пересечения нуля.

На этапе 1304 CPU 21 определяет, находится ли абсолютное значение разности между периодом цикла и средним периодом в пределах допустимого диапазона (то есть меньше, чем заданное пороговое значение). Если результат определения этапа 1304 отрицателен, на этапе 1302 CPU 21 осуществляет поиск аудио данных для следующей точки пересечения нуля путем возвращения еще дальше назад в прошлое на временной последовательности. С другой стороны, если результат определения этапа 1304 положителен, на этапе 1305 CPU 21 сохраняет информацию, указывающую самую последнюю найденную точку пересечения нуля, которая имела абсолютное значение разности в пределах допустимого диапазона, в RAM 23 в качестве начальной точки цикла между точками цикла аудио данных (другой точкой цикла является конец цикла). В варианте воплощения время, соответствующее самой последней найденной точке пересечения нуля (время начальной точки цикла), сохраняется как информация, указывающая начальную точку цикла. Как описано ниже, в варианте воплощения каждый участок регулярного распределения временных интервалов нажатия клавиши совпадает по времени с точкой пересечения нуля заданной фазы (фазы возрастания, изменение значения данных от отрицательного к положительному). Поэтому конечная точка цикла является точкой, соответствующей регулярному распределению временных интервалов нажатия клавиши. Поэтому в варианте воплощения время, соответствующее регулярному распределению временных интервалов нажатия клавиши (время конечной точки цикла), сохраняется в качестве информации, указывающей конечную точку цикла.

Затем, на этапе 1306 CPU 21 устанавливает флаг воспроизведения цикла группы 610 регистров равным "2". Флаг воспроизведения цикла указывает состояние воспроизведения цикла аудио данных. Флаг воспроизведения цикла, равный "2", означает состояние начала воспроизведения цикла. С другой стороны, флаг воспроизведения цикла, равный "1", означает состояние воспроизведения цикла, а флаг воспроизведения цикла, равный "0", означает состояние, в котором не выполняется никакое воспроизведение цикла.

Фиг. 14 изображает пример обнаружения точек цикла согласно варианту воплощения. На фиг. 14 символ 1401 указывает распределение временных интервалов выключения воспроизведения ноты (отпускания клавиши), а символ 1402 указывает правильное распределение временных интервалов следующего включения воспроизведения ноты (нажатия клавиши). Период времени от включения воспроизведения ноты некоторой клавишей до следующего включения воспроизведения ноты равен ∆t (обозначен символом 1400). Символ 1410 обозначает аудио данные для аккомпанемента. Высота тона клавиши, которая уже была нажата, и с которой уже был убран палец, (обозначенная символом 1401) является A4 (=440 Гц), а ее период цикла равен приблизительно 2,27 миллисекунды.

Как видно из фиг. 14, если нажатие клавиши не выполнено фактически при правильном распределении 1402 временных интервалов следующего включения воспроизведения ноты, CPU 21 измеряет периоды между точками пересечения нуля (одинаковой фазы) аудио данных. В первой обработке пара точек пересечения нуля определяется путем возвращения назад в прошлое на временной последовательности от правильного распределения 1420 временных интервалов следующего включения воспроизведения ноты, и средний период формы 1411 волны между этими точками пересечения нуля составляет 2,22 миллисекунды. Например, в варианте воплощения, если пороговое значение для высоты тона A4 составляет 0,01 миллисекунды, то результат определения этапа 1304 (см. фиг. 13) становится отрицательным, потому что |2,27-2,22| больше или равно пороговому значению. На следующем этапе 1302 CPU 21 возвращается еще дальше назад во временной последовательности, посредством чего определяются в общей сложности две пары точек пересечения нуля.

Вычисленный средний период этих двух форм 1411 и 1412 волны между определенными точками пересечения нуля равен 2,245 миллисекундам. Процесс снова возвращается к этапу 1302, потому что |2,27-2,245| все еще больше или равно пороговому значению. На этапе 1302 CPU 21 возвращается еще дальше назад во временной последовательности, посредством чего определяются в общей сложности три пары точек пересечения нуля. Вычисленный средний период этих трех форм 1411-1413 волны между определенными точками пересечения нуля равен 2,263 миллисекундам. Процесс снова возвращается к этапу 1302, потому что |2,27-2,263| все еще больше или равно пороговому значению.

На этапе 1302 CPU 21 возвращается еще дальше назад во временной последовательности, посредством чего определяются в общей сложности четыре пары точек пересечения нуля. Вычисленный средний период этих четырех форм 1411-1414 волны между определенными точками пересечения нуля равен 2,27 миллисекундам. Результат определения этапа 1304 становится положительным, потому что |2,27-2,27| меньше, чем пороговое значение. Период времени 1420, состоящий из этих четырех форм 1411-1414 волны, является периодом времени цикла и его начальная точка 1422 и конечная точка 1421 являются точками цикла. В варианте воплощения начальная точка 1422 и конечная точка 1421 соответствуют времени начальной точки цикла и времени конечной точки цикла соответственно.

Таким образом, получен период времени, имеющий формы волн, средний пе