2015-03-17 9 views
1


У меня есть пара вопросов относительно JFugue (5, бета-версия).
Транспонирование ключа с помощью jfugue - Некоторые вопросы, касающиеся Jfugue

  • От Полный путеводитель по JFugue упоминается, что в зависимости от ключа подписи в шаблоне, JFugue интерпретирует значение ноты. В качестве примера, в случае ключа F-major, B будет автоматически переведен в B-flat, если только мы не напишем «Bn». Вопрос в том, что если мы имеем дело с ключевым ключом F и пишем «Bb», как JFugue интерпретирует его? Как «Bbb» или как примечание «Bb»?
  • Мой второй вопрос о переносе ключей в JFugue.
    Каков самый быстрый способ сделать это?

Спасибо за вашу помощь,
С наилучшими пожеланиями,
Хусейн Хаммуде.

+0

Это оба отличные вопросы, спасибо! Я сделаю все возможное, чтобы ответить на них, но, к сожалению, сегодня я не могу этого сделать. –

+0

О, и у меня есть другой вопрос: JFugue 5 дает мне ошибку, когда я играю шаблон, содержащий числовое значение примечания (пример: C5 соответствует [60]). Это не так в JFugue4. Любые предложения приветствуются. –

+0

Для этого последнего используйте 60 без кронштейнов. JFugue 5 удаляет скобки, за исключением случаев, когда материал внутри скобки является строкой для поиска в словаре (например, «T [Allegro]» или «I [Piano]»). Номера - это просто цифры и не нужны скобки в JFugue 5. –

ответ

1

Ответьте на первую часть своего вопроса: В ключе F-Major Bb играет как Bb, так же, как и B, когда играет в F-Major. Вот программа, которая проверяет это:

StaccatoParser parser = new StaccatoParser(); 
DiagnosticParserListener dpl = new DiagnosticParserListener(); 
parser.addParserListener(dpl); 
Pattern pattern = new Pattern("KEY:Cmaj B Bn Bb KEY:FMaj B Bn Bb"); 
parser.parse(pattern); 

и его выход (обратите внимание, что MIDI Note 70 является Bb и MIDI Note 71 В):

Before parsing starts 
Key signature parsed: key = 0 scale = 1 
Note parsed: value = 71 duration = 0.25 onVelocity = 64 offVelocity = 64 
Note parsed: value = 71 duration = 0.25 onVelocity = 64 offVelocity = 64 
Note parsed: value = 70 duration = 0.25 onVelocity = 64 offVelocity = 64 
Key signature parsed: key = 5 scale = 1 
Note parsed: value = 70 duration = 0.25 onVelocity = 64 offVelocity = 64 
Note parsed: value = 71 duration = 0.25 onVelocity = 64 offVelocity = 64 
Note parsed: value = 70 duration = 0.25 onVelocity = 64 offVelocity = 64 
After parsing finished 

Ответ на вторую часть вашего вопроса: я Не уверен, что сейчас есть приличный ответ. Но вы вдохновили меня написать метод transpose() на классе Pattern. Спасибо!

+0

Спасибо за ваши ответы! Это было действительно полезно. В настоящее время я пытаюсь написать метод «transpose()», и я отправлю его вам, если он закончит работу без каких-либо ошибок. Я ценю ваш ответ: D С наилучшими пожеланиями, Hussein. –

 Смежные вопросы

  • Нет связанных вопросов^_^