Как использовать педаль сустейна клавиатуры в качестве входного сигнала для моего компьютера?

3986
Dois

Я надеялся, что какой-нибудь супер-эксперт по электронике сможет дать мне несколько советов. Как мне получить этот http://www.amazon.co.uk/Cherub-WTB-004-Keyboard-Sustain-Pedal/dp/B000UDVV6E для работы с моим компьютером? Я в основном хочу использовать его для замены / эмуляции нажатия клавиш или чего-то в моих играх. Кто-нибудь с некоторым опытом с чем-то вроде этого получил какой-нибудь совет? Я готов попробовать простые хаки, связанные с программным обеспечением ... или более сложные программные продукты, если для этого есть ресурсы в Интернете.

Редактировать:

Форма волны педали

Я попытался подключить его к разъему для микрофона, и вот, всякий раз, когда я активирую (нажимаю) педаль, я получаю сигнал - это запись (на наглость).

Первый «толстый» - от нажатия на педаль, остальные были просто постукивания.

3
Я не думаю, что это существует, поскольку педаль говорит на языке MIDI. Вам понадобится устройство, которое транслирует это в MIDI-сигналы, и, возможно, тогда вы сможете как-то с этим что-то сделать. Это, насколько мне известно, не существует. LPChip 9 лет назад 0
@LPChip Педаль не говорит MIDI. Он имеет только аналоговый разъем. slhck 9 лет назад 1
@slhck: педаль представляет собой миди-триггер (интерфейс миди-триггера) Yorik 9 лет назад 0
Так что нет способа обработать это без дополнительного оборудования? Dois 9 лет назад 0
Технически вы могли бы обрабатывать его без дополнительного оборудования, но если кто-то не написал программное обеспечение для этого, вам пришлось бы писать свой собственный код, чтобы преобразовать вход микрофона в удобное нажатие клавиши. Ben Richards 9 лет назад 0

4 ответа на вопрос

2
Keltari

Зачем проходить через все неприятности, когда вы можете просто купить именно то, что вы ищете? Педали USB Foot сделано для ПК, как это :

Они дешевые и делают именно то, что вы хотите сделать.

На самом деле это не ответ, поскольку ОП уже владеет устройством и хочет знать, как использовать его как есть. Я согласен, что это проще, но ему все равно понадобится подходящее программное обеспечение с поддержкой midi, чтобы использовать его (DAW, симулятор усилителя, midi-pass-through и т. Д., Все из которых можно получить бесплатно). Yorik 9 лет назад 1
@ Йорик * это * ответ *, так как это альтернатива, которая будет работать Keltari 9 лет назад 0
Он сказал: «Как заставить эту вещь, которой я уже владею, работать». Вы сказали: «Используйте что-то еще». Так что в этом смысле это не ответ. Я думаю, вы это знаете. Yorik 9 лет назад 0
Я хочу пережить неприятности, потому что я думаю, что будет интересно попытаться изменить эту штуку ... а также, как говорили вышеупомянутые люди, я не хочу покупать что-то еще. Dois 9 лет назад 0
вы потратите на запчасти больше, чем 13 долларов, чтобы заработать. Однако я также дам ответ о том, как это сделать. Keltari 9 лет назад 0
1
Keltari

На самом деле сделать это. Все, что вам действительно нужно, это клавиатура. Что - то небольшое, как это . Гут педаль и клавиатуру. Возможно, вы даже сможете установить клавиатуру внутри педали с помощью USB-кабеля, чтобы заменить аудио-провод. Педаль, вероятно, имеет 3 провода, + & - и резистор. Просто найдите + и - ведет методом проб и ошибок (только 6 возможных вариантов). Подсоедините один из ключей к проводам педали. Когда вы нажимаете педаль и замыкаете цепь ... нажатие клавиши!

0
Dois

Well it's been 7 months or so and I totally forgot about this... came back and tried it again today and I managed to get it working.

Here's a simple Java program that works for my pedal. It converts the presses into keyboard "V"s (it's for me to activate +voice_record in cS GO)

package pedal2keyboard; import java.io.ByteArrayOutputStream; import java.nio.ByteBuffer; import java.nio.ByteOrder; import javax.sound.sampled.*; import java.awt.AWTException; import java.awt.Robot; import java.awt.event.KeyEvent; /*** * Author: Dois Koh * Date: 27th October 2015 * * Gets your microphone signal and you can go do whatever you want with it. * Right now, it takes signals from my Cherub WTB-004 Keyboard Sustain Pedal, plugged into * my microphone jack, and converts it into key presses (holds down V when depressed, * releases V when released) */ public class PedalToKeyboard { // Robot for performing keyboard actions (pressing V) public static Robot robot = null; // Currently 8KHz, 16 bit signal (2 bytes), single channel, signed (+ and -) and BIG ENDIAN format public static AudioFormat format = new AudioFormat(8000.0f, 16, 1, true, true); public static TargetDataLine microphone = null; public static boolean pedalPressed = false; public static void main(String[] args) { try { // Initialize robot for later use robot = new Robot(); // Retrieve the line to from which to read in the audio signal microphone = AudioSystem.getTargetDataLine(format); // Open the line in the specified format - // Currently 8KHz, 16 bit signal (2 bytes), single channel, signed (+ and -) and BIG ENDIAN format microphone.open(new AudioFormat(8000.0f, 16, 1, true, true)); ByteArrayOutputStream out = new ByteArrayOutputStream(); byte[] data = new byte[microphone.getBufferSize()/8]; // Begin audio capture. microphone.start(); int numBytesRead = 0; short previousShort = 0; // Continue until program is manually terminated while (true) { // Read the next chunk of data from the TargetDataLine. numBytesRead = microphone.read(data, 0, data.length); // Reset the buffer (get rid of previous data) out.reset(); // Save this chunk of data. out.write(data, 0, numBytesRead); byte[] bytes = out.toByteArray(); short[] shorts = new short[bytes.length/2]; // to turn bytes to shorts as either big endian or little endian. ByteBuffer.wrap(bytes).order(ByteOrder.BIG_ENDIAN).asShortBuffer().get(shorts); // Iterate through retrieved 16 bit data (shorts) for (short s : shorts) { // Check if descending or ascending (pedal press is descending, release is ascending) if (s < 0) { // descending // make sure drop is large instantaneous drop if (Math.abs(previousShort - s) > 200 && s < -32700) { if (!pedalPressed) { PedalPressedAction(); previousShort = s; break; } } } else if (s > 0) { // ascending // make sure increase is large instantaneous increase if (Math.abs(previousShort - s) > 200 && s > 32700) { if (pedalPressed) { PedalReleasedAction(); previousShort = s; break; } } } previousShort = s; } } } catch (LineUnavailableException | AWTException e) { e.printStackTrace(); } finally { if (microphone != null) microphone.close(); } } /*** * The action to perform when the pedal is depressed */ public static void PedalPressedAction() { pedalPressed = true; robot.keyPress(KeyEvent.VK_V); } /*** * The action to perform when the pedal is released */ public static void PedalReleasedAction(){ pedalPressed = false; robot.keyRelease(KeyEvent.VK_V); } } 
-2
Yorik

Как вы обнаружили, эта педаль является просто мгновенным переключателем.

Для считывания состояния переключателя и конвертации в midi вам понадобится «головное» устройство midi; способ подключить это головное устройство к компьютеру; а затем программное обеспечение для использования ввода MIDI.

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

Обратите внимание, что вы можете получить 10 $ геймпад и взломать выводы на плате и подключить 1 $ переключатели Radio Shack, установленные на плате, для целого ряда ножных педалей. Вы бы использовали драйвер joy-midi для направления сигналов на DAW или Amp Simulator.

Обычно для музыкального интерфейса и интеграции записи требуется приложение DAW (Digital Audio Workstation).

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

Даже при наличии соответствующего устройства, чтобы нажать кнопку для регистрации на вашем ПК, вы не можете использовать Audacity для этого. Вы можете попробовать бесплатный "vsthost" и некоторые обработчики эффектов VST (попробуйте "simuanalog" также бесплатно). VSTHost является хостом для загрузки усилителей и может направлять входные сигналы миди и джойстика на любую выставленную функцию / кнопку / диск в приложении VST. Он имеет встроенный рекордер, и вы можете редактировать файлы с дерзостью.

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

Итак: подведем итоги. Вам нужно взломать два провода (1 / 4-1 / 8-дюймовый кабель, зачищенный и припаянный к джойстику) или иным образом получить сигнал на компьютер в виде джойстика или миди. Затем вы можете перевести этот сигнал на все, что его обрабатывает. Joy2midi, переводчик Midi, midi2joy.

Извините, что вы имеете в виду "генерировать напряжение"? На этом устройстве нет батареи, и он потребляет ток от моего компьютера, поэтому я не получаю эту часть (просто уточняю). Кроме того, есть ли другой способ обработки сигнала, который я могу получить только с помощью программного обеспечения? (Я могу попробовать написать программное обеспечение, если вы можете указать мне правильное направление) Я не понимаю, как генерируется сигнал или в каком формате, но, конечно, я могу что-то с этим сделать ... Должен ли он быть преобразован в Форма "джойстик или миди" внешне? Dois 9 лет назад 0
Вероятно, он перемещает поршень с катушкой и магнитом, поэтому он «пассивен», как гитарный звукосниматель или диафрагменный микрофон. К разъему для микрофона подключен усилитель, и большинство компьютеров имеют опцию усиления +10 для микрофона. Что касается программного обеспечения, вы можете делать все что угодно. Если вы поищите в Google «простой переключатель», вы найдете всю информацию о симуляторах кабины пилотов, например, игры). Yorik 9 лет назад 0
где люди берут выключатели и преобразовывают входы. Google "клавиатура педаль" для получения информации об использовании клавиатур в качестве базы для педальных переключателей. Взлом джойстика или клавиатуры является наиболее распространенным, и они имеют очень низкое напряжение / ток, поэтому ваш риск убить себя или разжечь огонь практически нулевой. Кнопки джойстика и клавиши клавиатуры - это просто переключатели, которые замыкают цепь, соприкасаясь двумя проводами. Yorik 9 лет назад 0
Программное обеспечение можно назвать «midi translation» для midi> джойстика или midi> клавиатуры. Было нечто, называемое Joy2Midi для преобразования джойстиков в миди-сигналы управления. Joy2Key была программой, которая делала джойстик на клавиатуре. Есть много вариантов, но ищите с открытым исходным кодом и будьте осторожны, чтобы у них не было программ-спамеров и т.д. Yorik 9 лет назад 0
К вашему сведению: перемещение провода в магнитном поле вызывает напряжение (http://resources.schoolscience.co.uk/CDA/16plus/copelech4pg2.html), это обратимый процесс, поэтому микрофоны и колонки * в основном * одинаковы с настройки для их конкретной функции. Yorik 9 лет назад 0
И последнее: это ** правдоподобно **, что существует программное обеспечение, которое может прослушивать микрофонный вход и генерировать нажатие клавиш, если сигнал достаточно высокий (достаточно громкий). Может быть, даже использовать текст в речь и обучить его с помощью одного буквенного словаря. Yorik 9 лет назад 0