Звук херману був увічнений у пісні The Beach Boys Good Vibrations . Багато хто також пов'язує її звучання з темою оригінальної серії « Зоряний шлях» , хоча, мабуть, це була емуляція сопрано .
Цей виклик вимагає від вас реалізувати термін .
Вхідні дані
- Візьміть двовимірний вхід від миші або іншого пристрою введення (наприклад, ви можете використовувати джойстик), який видаватиме сигнал від аудіовиходу пристрою таким чином:
- збільшення x збільшить частоту тону. Зауважте, що частота збільшується експоненціально з музичною нотою, тому вам потрібно реалізувати лінійну залежність між положенням миші x та музичною нотою, і
- збільшення y збільшить гучність тону.
- Схоже, виникає плутанина щодо форми хвиль, що створюється справжнім терміном , тому для простоти необхідно використовувати синусоїду (або її близьке наближення).
Правила
- Вироблений тон повинен мати принаймні 2-октавний діапазон. Більш широкий асортимент прийнятний. А-440 повинен лежати в межах діапазону.
- Для того, щоб створити чутливий вигляд безперервно змінної частоти та амплітуди, діапазон значень, що розглядаються в обох вимірах від пристрою введення, повинен бути не менше 500 Реалізація може відкрити вікно (щонайменше 500х500 пікселів) для зчитування вводу з положення курсору миші. Або не відкриваючи вікно, координати можуть зчитуватися безпосередньо з миші чи іншого пристрою введення.
- Для зупинки програми повинен бути простий засіб - комбінація клавіш, клацання миші або інший загальний пристрій введення. CTRL-c є достатнім.
- Будь-які стандартні бібліотеки можуть бути використані до тих пір, поки вони повністю не реалізують рішення, не вимагаючи інших робіт.
- Стандартні правила для Code Golf та I / O
- Ви можете зупинитись, якщо миша чи пристрій введення втрачають фокус на поле введення.
Примітки
- Оскільки вихідний тон динамічно генерується, слід подбати про те, щоб тон був безперервною формою хвилі; тобто немає чутних клацань або спливів, викликаних раптовими змінами фази або амплітуди.
- Ви можете обмежити зону розміру вводу до 500 на 500, але вона може бути більшою.
Це код-гольф , тому найкоротша відповідь будь-якою мовою виграє.
Особлива подяка
Особлива подяка Digital Trauma за те, що вона зробила цей виклик та опублікувала його в таємній пісочниці Санти. Я зробив декілька правок, і ось оригінальний пост.