Comments 17
Я когда развлекался с подобными вещами постоянно натыкался на проблему, что клавиатуры моих ноутбуков не держали нормально больше двух-трёх кнопок нажатыми. В турецком марше это ещё некритично, а вот в каких-нибудь других произведениях уже напрягает.
И да, круто!
И да, круто!
UFO just landed and posted this here
Один из вариантов имитации пианино на компьютере. www.virtualpiano.net/
(Плюсы — браузер, хороший интерфейс. Главный минус проекта — нельзя нажимать одновременно белые и черные клавиши — они переключаются через шифт). Некоторые видео на виртуалпиано тем не менее все равно завораживают.
(Плюсы — браузер, хороший интерфейс. Главный минус проекта — нельзя нажимать одновременно белые и черные клавиши — они переключаются через шифт). Некоторые видео на виртуалпиано тем не менее все равно завораживают.
Эта проблема появилась со времён USB, и кроме варианта эмуляции нескольких устройств в одном (клавиатуры Happy hacking) теперь вариантов нет. В ноутбуках проблема, скорее всего, вызвана тем, что производитель сэкономил на диодах, которые можно поставить на каждую клавишу, чтобы избежать этой проблемы.
Не совсем ясна идея с диодами. Не могли бы раскрыть мысль?
Клавиатура устроена так: есть сетка m x n проводов, пересечения — клавиши-выключатели, которые замыкают вертикальный i-й провод с горизонтальным j-м.
Как происходит опрос? Контроллер постоянно по очереди посылает на вертикальные провода 1 по кругу, и слушает, на каком из горизонтальных появился или пропал сигнал по сравнению с прошлым кругом, то есть нажали или отпустили клавишу.
Что будет если нажать несколько клавиш одновременно? Если они не находятся в одной колонке, то ничего страшного, все определятся. А если лежат? Может быть такая ситуация, что зажали (1,1), (1,2) и (2,1). Можете проверить, любой алгоритм опроса решит, что ещё дополнительно зажата (2,2), хотя на самом деле её нет среди нажатых.
А если клавиши сделать диодами (т.е. при нажатии не просто замыкается горизотнальный и вертикальный проводники, но соединяются через диод), то такое ложное замыкание зарегистрировано не будет. Но это дороже.
Как происходит опрос? Контроллер постоянно по очереди посылает на вертикальные провода 1 по кругу, и слушает, на каком из горизонтальных появился или пропал сигнал по сравнению с прошлым кругом, то есть нажали или отпустили клавишу.
Что будет если нажать несколько клавиш одновременно? Если они не находятся в одной колонке, то ничего страшного, все определятся. А если лежат? Может быть такая ситуация, что зажали (1,1), (1,2) и (2,1). Можете проверить, любой алгоритм опроса решит, что ещё дополнительно зажата (2,2), хотя на самом деле её нет среди нажатых.
А если клавиши сделать диодами (т.е. при нажатии не просто замыкается горизотнальный и вертикальный проводники, но соединяются через диод), то такое ложное замыкание зарегистрировано не будет. Но это дороже.
Принцип понятен, спасибо.
Т.е. пленочные клавиатуры автоматом идут в топку.
Есть механические клавиатуры с кнопками устроенными таким образом?
И что с ограничением ОС, т.е. слышал что более 10(или около того) одновременно нажатых клавиш в принципе не поддерживается.
Т.е. пленочные клавиатуры автоматом идут в топку.
Есть механические клавиатуры с кнопками устроенными таким образом?
И что с ограничением ОС, т.е. слышал что более 10(или около того) одновременно нажатых клавиш в принципе не поддерживается.
Я сказал бы, что нет компьютерных клавиатур, устроенных по-другому :) Плёночные или механические различаются устройством выключателей на клавишах, а не их коммутацией.
Ограничение на число клавиш в ОС вытекает совсем из другой оперы, а именно из свойств контроллера клавиатуры AT — чипа i8042 или его современного воплощения, а для USB, емнип 6, не помню, откуда берётся. Есть устройства, на которых нет такого ограничения — например, MIDI-клавиатуры, они никак не связаны с указанным интерфейсом (они, правда, устроены сильно по-другому).
Ограничение на число клавиш в ОС вытекает совсем из другой оперы, а именно из свойств контроллера клавиатуры AT — чипа i8042 или его современного воплощения, а для USB, емнип 6, не помню, откуда берётся. Есть устройства, на которых нет такого ограничения — например, MIDI-клавиатуры, они никак не связаны с указанным интерфейсом (они, правда, устроены сильно по-другому).
Окей, а теперь раскидайте ноты по клавишам так, чтобы на выходе получить код quicksort.
Чтобы проиграть этот звук вдвое быстрее, удалим каждое второе значение в массиве:
…
Сделав это, мы не только сократили вдвое длительность звука, но и удвоили его частоту, поэтому и его тон стал выше.
А ещё мы добавили искажения. Не успокаивайте себя, искажения вполне слышимые на слух.
Удивительно? Про aliasing не слышали? Перед децимацией нужно выполнять фильтрацию высоких частот (подавлять те, которые окажутся после децимации выше частоты Найквиста).
Напротив, если повторить каждое значение, то получится более медленный звук, с более длинным периодом, а значит, и ниже тоном:
И мерзким свистом впридачу. А можно было вообще-то и не повторять значения, а вставить нули — это роли не играет и на результате не сказывается. На этот раз low-pass фильтрация делается после разрежения сэмплов.
Я хочу подчекрнуть, что это не какие-то там заоблачные вопросы, это самые основы цифрового звука. Всё это прямо следует из обоснования идеи, то есть, из теоремы Котельникова. Их игнорировать нельзя даже в самом примитивном варианте. Особенно, если вы сразу после этого начинаете говорить о более сложных и менее базовых вещах, типа изменения длительности без изменения тона.
Ну и, самое главное. То, что вы описали, называется не «пианопьютер», а сэмплер.
P.S. То, что это перевод, вас не извиняет. Не переводите плохие статьи.
Судя по видео с чашей, упаковка от яиц продолжает пользоваться популярностью в качестве акустического материала.
На клавиатуре компьютера или ноутбука есть неприятная задержка воспроизведения звука, из-за которой нормально играть невозможно. Хотя, возможно, благодаря, драйверам это можно как-то исправить.
Не понял, в чём особый смысл статьи. Сэмплированную многоголосую музыку на персональных компьютерах мы слушали ещё в начале 90-х. Причём один сэмпл не приходилось хранить в 50 вариантах, а растягивался он на лету. Причём такая программа, как Scream Tracker, если кто помнит, могла играть даже без нормальной звуковой карты, на спикер.
Sign up to leave a comment.
Питон, смещение тона и Пианопьютер