Игра на инструменте не смотря на клавиатуру это

Обновлено: 17.05.2024

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

Современно, удобно, эффективно

Предварительный просмотр:

Муниципальное бюджетное образовательное учреждение

«Городской дворец детского (юношеского) творчества

на начальном этапе обучения игре на фортепиано»

педагог МХС «ВИТА»

Новокузнецк 2020 г.

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

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

Элементарная теория музыки включает в себя следующие основные разделы: звук, его свойства (высота, длительность, сила, тембр); метроритм; интервалы, аккорды; лад (тональность, гаммы); мелодика.

Приступая к обучению игре на фортепиано, преподаватель на первых этапах работы работает в 2-х направлениях:

а) работа над двигательным аппаратом (постановкой руки, кисти, пальцев)

б) ознакомление с элементами теории музыки (в первую очередь с такими понятиями как «нотоносец», «ключ», «нота», «длительность», «пауза»).

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

Затем следует переходить к знаниям непосредственно по элементарной теории музыки (вопросы - что такое ключ? что он обозначает? какие вы знаете ключи? как они записываются? что такое звук? какие бывают звуки? чем определяется высота звука?). Таким образом закрепляется понятие такого качества звука, как высота .

Затем следует переходить к объяснению следующего свойства - длительность . Объяснять принцип деления длительности целой на половинные, четвертные, восьмые, шестнадцатые. Все эти понятия находить в нотах.

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

Следующий шаг - важнейший раздел в работе с начинающими: ритм .

Известно, что ритм - одно из важнейших выразительных элементов музыкальной речи. Часто учащиеся не могут в музыкальных пьесах создать образ именно из-за недостаточной ритмической тонкости исполнения. Ритм тесно связан с метром. И это важно в работе над пьесами, связанными с движением (марши, пляски, игры), где роль ритма при выявлении метрического начала становится особенно значительной. Нужно уметь выделять сильную долю в такте. Для этого очень хорошо использовать прием: тактирование. Ритмическое воспитание следует основывать на передаче ритма музыки в простых, доступных движениях: хлопки, приседания, ходьба, отстукивание, дирижирование. Ритмическое воспитание целесообразно начинать не с деталей, а с восприятия целостного музыкального произведения и, прежде всего, с темпа , как важного жанрового признака. Чувство темпа - есть не что иное, как чувство скорости чередования метрических пульсаций музыки. Хорошим приемом воспитания устойчивости темпа является просчитывание нескольких пустых тактов перед началом игры, а иногда и посреди игры, для чего делают искусственные остановки. Важно приучать учащихся время от времени сравнивать темп с первоначальным.

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

Чувство ритма — сложное явление, комплексно включающее в себя восприятие, понимание, исполнение, созидание ритмической стороны музыкальных образов. Зрительные образы углубляют и облегчают восприятие музыкального ритма (ученик видит, как учитель исполняет музыкальное произведение, видит наглядные пособия: схемы, рисунки, плакаты, да и сами ноты являются наглядным материалом).

Чувство ритма — это:

а) чувство метрических пульсаций (сильные доли)

б) чувство временных протяженностей (соразмеренность разных длительностей)

в) чувство формы произведения (мотивы, фразы, периоды)

г) чувство «рубато» (цезуры, ускорение, замедление).

Общеизвестным методом воспитания ритмического чувства, элементарной устойчивости ритма является счет вслух, который следует применять в случае надобности на всех ступенях развития музыкальных умений учащихся и который, естественно, применяют по мере необходимости. Счет вслух - особая сторона в работе над ритмом. Обязательно считать или нет? Существует много различных мнений: одни педагоги утверждают, что обязательно считать во время игры постоянно, от начала до конца, другие склонны к мнению, что не нужно считать, так как у ученика должно воспитываться чувство внутреннего ощущения ритма. Третьи утверждают, что считать должен педагог, а ученику счет мешает во время игры. Четвертые придерживаются иного мнения: считать до тех пор, пока ученик, играя, анализирует произведение, а как только начинается исполнение, счета вслух не должно быть. Все-таки вернее будет следующее: счет вслух полезен тогда, когда ученику легко с ним работать. Особенно счет полезен в ансамбле.

  • ученик считает во время игры каждой рукой отдельно,
  • играет педагог, а ученик считает,
  • пропевание мелодии с одновременным дирижированием (можно с карандашом),
  • измельчение либо укрупнение счета,
  • счет вслух и про себя,
  • счет с «и» и без «и».

Эти приемы приносят пользу, но нельзя ими злоупотреблять. Счет можно прекратить совсем или отказаться от использования «и», когда будут усвоены ритмические трудности. Необходимо запомнить, что считать (если звучит счет вслух) следует внятно, отчетливо и обязательно напевно. Во время счета не следует дублировать его отстукиванием ногой, так как в дальнейшем могут возникнуть трудности с педализацией.

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

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

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

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

Изучение темы «Лад» следует начинать с того, что в мелодии есть устойчивые и не устойчивые звуки, что остановиться на неустойчивом звуке - это равно как не договорить слово и что неустои всегда тяготеют к устоям. Ладо-тональность лучше осознать предварительным просматриванием нотного текста перед разучиванием. Прием работы: определить тональность (по начальному и конечному басу, по ключевым знакам) и предложить сыграть гамму данной тональности. Учащиеся должны научиться хорошо слышать и различать мажор и минор. Прием: слушание музыки в разных ладах, определение характера исполняемых педагогом произведений. Учащихся с достаточно развитым ладотональным мышлением можно знакомить и с образцами атональной музыки.

Гаммы принято изучать по кварто-квинтовому кругу. Это обеспечивает учащимся теоретическое осмысление таких понятий, как «тональность», «параллельные гаммы», «родственные тональности».

О гармонии следует говорить с точки зрения неустойчивости (диссонансы) и покоя (консонансы). Можно говорить о простейших функциях Тоники, Субдоминанты, Доминанты и их последованиях (TDT, TST и т.д.), о протяженности их во времени, о большой напряженности звучностей доминантового наклонения и их разрешения в I ступень (TSDT). Важно, чтобы учащиеся в каждом произведении вслушивались в отдельные гармонии и их сочетания, стремились понять выразительный смысл гармонического развития.

В процессе работы следует сообщать сведения о строении аккордов , их функциональной зависимости (конечно, в общих чертах). Это приводит к осмысленному восприятию гармонического языка и выразительных средств музыкального произведения. Работу по разделу «Аккорды» полезно проводить с учащимися путем разбора созвучий по вертикали. Зачастую следует не просто указать учащемуся на ошибку, неверную ноту в тексте, а предложить самому найти эту ошибку: прислушаться к звучанию, сравнить высоту звуков в обеих руках, выяснить их идентичность, сделать простейший гармонический анализ, разобрать аккордовую основу мелодики. Важно не только разобрать структуру того или иного созвучия, а воспитывать слуховое ощущение этих созвучий.

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

Важно научить извлекать звук в самых различных силовых (динамических) уровнях: F, P, mF, mP, creschendo, diminuendo, sF, владеть плавной нюансировкой, уметь делать метрические акценты разной силы, уметь оформлять смысловые центры (кульминации) и мягкие окончания фраз.

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

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

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

Основными элементами музыкального слуха являются: ладовое чувство, музыкально-слуховые представления, музыкально-ритмическое чувство. Все они тесно взаимосвязаны и независимо друг от друга не существуют. Музыкальный слух развивается в процессе музыкального воспитания и обучения. Какими же способами (приемы, методы) мы воспитываем музыкальный слух на уроках фортепиано? Это прежде всего игра на инструменте (фактурное разнообразие изложения музыкального материала), сольфеджирование (пение по нотам), воспитание слуховой памяти, чистоты интонирования, чувство высоты звука, чтение нот с листа - развитие музыкального мышления, устное чтение музыкальных текстов без помощи инструмента («воображаемая игра»), работа за столом (просчитывание, прочитывание нотного текста, простейший структурный анализ) - формирование зрительных представлений, подбор мелодии (аккомпанемента) по слуху, игра в ансамбле.

Для музыкального слуха важно систематическое повторение в течение длительного времени одного и того же музыкального материала, особенно, если таким материалом являются всевозможные упражнения (на виды техники, на развитие игрового аппарата, пальцев, на звукоизвлечение). Ярким примером могут служить гаммы, аккорды, арпеджио.

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

(фортепиано) Чтение с листа и игра не глядя на клавиатуру

Читаю на данный момент я как черепаха, и сильно торможу при виде сложных аккордов.
Не в этом суть, по мере моих занятий возникли следующие вопросы:
1. Можно ли практикой, достичь полной концентрации на нотах и игры не глядя на клавиатуру вовсе?
2. У меня довольно маленькие руки, и вряд ли они уже вырастут, в результате чего, не дотягиваюсь.
К посту прикреплена картинка с двумя примерами. В первом примере я так и не понял как мне сыграть арпеджио. Во втором, я банально не дотягиваюсь, точнее дотягиваюсь но совсем чуть-чуть.
Как быть, играть то, где дотягиваюсь?
Такие участки здорово демотивируют.

P.S. Мой репертуар составляет разнообразная музыка из аниме, фильмов, сериалов, ну и попробовал сыграть первую страничку Лунной сонаты. Самоучка.

Миниатюры

Миниатюры
Арпеджио в левой руке играть от нижнего ДО, которое берется сверху. Нону в правой руке: если есть возможность переложить ЛЯ в левую руку.
По поводу чтения с листа, надо больше читать с листа)
Сначала медленно. Постепенно появится опыт, познакомитесь со стандартными фактурами, руки запомнят клавиатуру.
Нужно добиваться некоторого автоматизма, сознание осуществляет общий контроль, динамику, фразировку. Руки должны играть максимально самостоятельно, ноты с листа считываются глазами и через подсознание, не подгружая ЦП передаются исполнительному механизму - рукам. Это такое особое состояние сознания, нечто вроде транса. Подробнее не могу объяснить, все на уровне интуиции.

Спасибо за ответ.
По поводу особого состояния сознания в чем-то согласен

Раньше я распечатывал ноты, и старательно рисовал аппликатуру под себя. потом перестал.
И создал себе правило: нижний стан для левой, верхний для правой руки.
Справедливо ли мое суждение, или стоит пересмотреть взгляды?

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

Мне всегда было забавно видеть как автоматически научившийся определенному уровню пианизма в раннем возрасте, пытается объяснить это словами, которые взрослому пользы никакой не принесут.

Особенно "полезны" при этом слова - "руки должны" и "нужно добиваться". Видимо считатся что все придет само собой. Но при этом забывается, что само собой (или по "интуиции" которая здесь упомянута вообще всуе) все приходит если заниматься обучением до 20-25, а не после.

Мне всегда было забавно видеть как автоматически научившийся определенному уровню пианизма в раннем возрасте, пытается объяснить это словами, которые взрослому пользы никакой не принесут.

Особенно "полезны" при этом слова - "руки должны" и "нужно добиваться". Видимо считатся что все придет само собой. Но при этом забывается, что само собой (или по "интуиции" которая здесь упомянута вообще всуе) все приходит если заниматься обучением до 20-25, а не после.

Я читаю блог этого человека, так что с большинством тех публикаций знаком. Мало того, я сам занимаюсь с полного нуля, после 40-ка, уже несколько лет, поэтому не понаслышке знаком с трудностями, подстерегающими начинающего "пенсионера". Работал с преподавателем. Общался также с теми, кто обучает взрослых. Такие результаты - большая редкость. Это факт.

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

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

Местами по публикации:

Ссылки приведены на исполнение мастеров - ни одной записи "виновника". Т.е. все остается "на словах".

ХТК Баха и 1-ч Лунной Бетховена вещи ну просто совершенно разного порядка. Поставить их рядом уже странно. А уж осилить ХТК в полном объеме - очень серьезное дело.

Балладу Шопена довести до исполнительского уровня (далее по тексту публикации) к концу 2-го(!!) года обучения - либо деза, либо редчайший случай, если начинать с нуля. Короче, много чего из этой информации зачастую не выдерживает элементарной "ревизии".

Не собирался столько постить, но ответил конкретно вам, хотя изначально отвечал лишь на пост выше. Нижецитируемое из того поста особенно показательно:

-----
Подробнее не могу объяснить, все на уровне интуиции.
-----

Вот вам и объяснение. Кому оно полезно, скажите? Занавес.

А определенные "успехи" они вполне могут быть, конечно, но с учетом всевозможных "если". и чаще всего они достаточно скромные. И это даже не мои слова.

Favorite

В закладки

Я научился играть на пианино за один день. Но пока никто не оценил

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

Звучит нереально? Я вот тоже сначала не поверил.

Что это за чудо такое


The One существует и в полноразмерной версии, где клавиш уже 88, плюс имеются 3 педали для пущего реализма. Но увы, такой навороченный гаджет мне в руки не попал, поэтому в этом обзоре речь идёт исключительно про «лайт»-версию этого инструмента.


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

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


Элементы управления представлены регулятором громкости и кнопкой включения: по большому счёту больше ничего и не нужно, чтобы начать учиться играть, но для особо продвинутых есть ещё две, для изменения длительности послезвучия (мягкое или фиксированное) и звучания самого инструмента (доступны 20 пресетов, среди которых клавесин, колокольчик, скрипка, бас-гитара, барабаны и куча других).


Тем не менее сзади у инструмента есть несколько разъёмов для подключения различных устройств:

  • для подключения адаптера питания 12В
  • для подключения микрофона (можно играть и петь под запись одновременно)
  • для подключения дополнительного усилителя звука
  • для подключения к внешнему приёмнику сигнала
  • для подключения педали (покупается отдельно)

Спереди, под блоком клавиш слева, есть вход 3,5 мм для подключения наушников, чтобы заниматься в полной тишине.

The One Smart Piano Lite может работать автономно, вдали от розетки: достаточно вставить в специальный отсек 6 батареек формата AA.


Для искушенного пользователя есть даже возможность выбрать цвет: The One продается в черной и белой расцветке.



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

После запуска приложения пользователю доступны 4 раздела:

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

1. Раздел «Ноты»

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


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

Для каждой композиции можно настроить стиль игры: только правой рукой, только левой или сразу двумя. Соответственно, можно разучить партию для обеих рук по-отдельности, а потом совместить полученные сведения, чтобы поразить домашних виртуозным владением инструментом.

2. Интенсивный курс

Это раздел для быстрого обучения игры различных песен и мелодий из каталога.


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

Если песня сложная, можно замедлить её темп, а потом постепенно его увеличивать, оттачивая игру именно этой части произведения.

В конце каждой части произведения приложение уточняет, запомнил ли я как играть этот кусок песни; если я отвечаю утвердительно, приложение учит меня следующему кусочку песни, и так до конца. В итоге пользователя ждёт некое подобие «экзамена»: нужно сыграть всю композицию, с учётом полученных знаний.

3. Видео

Этот раздел целиком посвящён урокам: десятки часов видео-роликов с репетиторами, во главе с Джозефом Хоффманом, профессиональным учителем фортепиано, которые расскажут все секреты игры для новичков.


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

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

4. Игры

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


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

Результат можно улучшать, а огромный выбор песен просто призывает сыграть их все.

Хочу такой себе домой


Смарт-фортепиано The One с легкостью заменит все учебники, уроки сольфеджио и бабушек-репетиторов. Это устройство в связке с планшетом откроет дверь в мир музыки и научит играть на одном из самых котируемых музыкальных инструментов на всем земном шаре и детей, и взрослых.


Из минусов могу отметить только одно: некоторые композиции нужно покупать в самом приложении. Цены варьируются от 0.99$ до 3,99$. Это связано с отчислениями правообладателям песен. Разработчики обещают разобраться с этим, внедрив возможность доступа ко всей медиатеке по подписке.

The One один из тех гаджетов, который пригодится всем творческим людям: благодаря большому количеству пресетов и звуков, это смарт-фортепиано, которое стоит всего 24 990 рублей, можно использовать как для сочинения музыки, так и для различных аранжировок.

Лично я уже откладываю деньги на The One, потому что после написания этого обзора тестовый экземпляр уже забрали, а у меня только начал получаться Имперский марш из «Звёздных Воин»!

Дизайн: 5, Удобство: 5, Цена: 5, Плюс к харизме: 5, Вердикт: 5 (5 голосов, общий рейтинг: 4.40 из 5)

Favorite

В закладки

Мой сын, как, наверное, все дети программистов, получил свою первую клавиатуру ещё когда не умел сидеть. Сейчас ему чуть меньше года, но он уже понимает разницу между «игрушечной» и «настоящей» (папиной) клавиатурой — если колотить по кнопкам настоящей, то на экране меняется картинка, а компьютер иногда издаёт какие-то звуки.

КДПВ

Поскольку лишиться всех своих данных мне пока не хочется, ребёнку иногда разрешается нажимать на кнопки заблокированного компьютера. К сожалению, для ребёнка это не очень весело, поскольку компьютер имеет всего два режима (две картинки) — экран ввода пароля и собственно экран блокировки.

Чтобы процесс освоения компьютера стал для детёныша более увлекательным, я решил написать ему простенькую игру. Будучи программистом со стажем, весь процесс решено было построить «правильно».

Требования

Заказчик (мой сын, возраст <1 года), как и все нормальные заказчики затруднился письменно изложить непротиворечивые и полные требования к продукту, поэтому пришлось помочь писать самому.

  • Приложение работает в режиме полного экрана.
  • Можно нажимать на всё подряд, но самые доступные методы выхода или переключения программ должны быть заблокированы.
  • Визуальная обратная связь — цвет фона меняется при нажатии, в центре экрана отображается нажатый символ.
  • Звуковая обратная связь — приложение издаёт звук при нажатии на клавишу.
  • Предсказуемое поведение — цвет фона, символ и звук должны быть всегда одинаковыми для одной и той же клавиши.
  • Мне должно быть не стыдно за написанный код.
  • Код должен быть ценен сам по себе.
  • Архитектура и все решения должны быть «правильными» — как в заказном проекте.

Реализация

Из одного из старых проектов был извлечен код для создания приложения, развернутого на весь экран:

Далее в дебрях интернета была найдена библиотека MouseKeyHook, с примерами, как заблокировать кнопку Windows. Аналогично примерам были заблокированы Alt-Tab и Ctrl-Esc. Теперь выйти из приложения можно только по Alt-F4.

  • Использовался new Random(seed), чтобы при каждом запуске рандом выдавал одни и те же значения.
  • Чтобы цвета были более-менее осмысленными, рандом выбирал значение из перечисления KnownColor, которое затем преобразовывалось в Color и присваивалось Form.BackColor.
  • Поддерживались буквенные символы и цифры.
  • Символ выводился «как есть» — клавиша Q могла вывести «Q», «q», «Й», «й», в зависимости от активного языка ввода и состояния CapsLock.
  • Form.BackColor категорически не согласен принимать цвет Transparent.
  • Чёрный цвет принимается, но символа на нём не видно.
  • Есть ряд клавиш, которые могут быть нажаты, у них есть символ, но они не обрабатываются программой или не отображают символ — Enter, Tab, Space, блок цифр над буквами и блок цифровых клавиш справа на клавиатуре.
  • Очень не нравился код обработки KeyDown/KeyPress — нужно было выделять диапазоны символов 'A-Z' и '0-9', пробел, Enter. Много не очень внятных блоков условий и сложный код расчёта размера массива рандомных цветов и выборки цвета из него.
  • Написана простенькая WinForm утилита, которая точно так же «слушает» нажатия, сохраняет их в словарь Клавиша-Символ. Это позволило разрешить проблему вывода русских/английских букв.
  • У утилиты есть кнопка сохранения словаря в файл.
  • Поскольку клавиши Space и Enter в этом случае вызывали срабатывание обработчика кнопки, а Tab вызывал переход на кнопку, даже если она не выбрана, пришлось эти случаи отдельно обработать — установить TabStop=false для кнопок и вставить ActiveControl = null везде, где только можно.
  • Утилита помогла выявить все значимые клавиши — она запоминала клавишу при KeyDown, но добавляла её в словарь только по KeyPress, соответственно, всё, что не имеет символьного представления (Alt. Shift, Ctrl, Windows, функциональные клавиши) игнорировалось.
  • Обработку клавиши в самой игре можно будет значительно упростить до поиска по словарю.
  • Формат файла был самый простой — готовые наборы разделяются переводом строки, а поля (Клавиша-Символ-Цвет) в наборе разделяются символом \0 (пробел, табуляцию, и символы вроде запятой использовать не получилось, так как они могли быть элементом набора)
  • После сохранения невидимые символы вручную были заменены на Unicode-символы, отсутствующие на клавиатуре.
  • Цвет подбирался не случайным образом, а брался последовательно из enum KnownColor, начиная со следующего после KnownColor.Black (KnownColor.Transparent идёт немного раньше).
  • Недостаточная звуковая обратная связь (звук издает только клавиша PrintScreen).
  • Некорректно обрабатывается маленькая светящаяся кнопочка в правом дальнем углу ноутбука (экран гаснет).
  • Нужно использовать внешнюю клавиатуру без кнопок управления питанием или маскировать аппаратную кнопку рукой.
  • Пора переходить к звуковой обратной связи.
  • Автор невнимательно прочитал MSDN, а именно строку «ranging from 37 to 32767 hertz».
  • Низкие звуки примерно до 110 Гц звучат отвратительно и их нельзя показывать заказчику.
  • Длительность звука 300 мс — слишком долго.
  • Звук выводится синхронно и вызывает задержку прорисовки фона.
  • Формировать частоты от 110Гц (25-я клавиша пианино, A2).
  • Длительность звука сделать 100мс.
  • Выводить звук в отдельном потоке.
  • Команда выразила подозрение, что нужно делать Lock во втором потоке на время выполнения Console.Beep. В дальнейшем подозрение не подтвердилось, но удалять было лень блокировка осталась для дидактических целей.
  • Использовать двойной буфер при смене цвета, чтобы не было полос на экране при быстром нажатии на клавиши.
  • Реализовать паттерн MVC, выделить логику игры в контроллер, во View оставить только код специфичный для работы с формой (переход в полный экран, обработчики событий).
  • Покрыть контроллер юнит-тестами
  • Вынести файл-словарь с тройками «Клавиша-Символ-Цвет» в ресурсы и реализовать русскую и английскую версии.
  • Поскольку на рабочем ноуте (а на нём мы планировали провести демо) у меня стоит локаль английская, было реализована настройка локали через конфиг. При этом в конфиге добавлена своя секция и реализован простенький файл для доступа к этой секции, возвращающий типизированные значения переменных конфига.

В результате мы получили забавную игрушку для ребенка, которая развивает мелкую моторику и память (на любимые цвета и ноты), а также код, который можно использовать для демонстрации реализации «правильных» подходов. Например, для студентов или Junior-девелоперов.

Читайте также: