Зачем проходить через все неприятности, когда вы можете просто купить именно то, что вы ищете? Педали USB Foot сделано для ПК, как это :
Они дешевые и делают именно то, что вы хотите сделать.
Я надеялся, что какой-нибудь супер-эксперт по электронике сможет дать мне несколько советов. Как мне получить этот http://www.amazon.co.uk/Cherub-WTB-004-Keyboard-Sustain-Pedal/dp/B000UDVV6E для работы с моим компьютером? Я в основном хочу использовать его для замены / эмуляции нажатия клавиш или чего-то в моих играх. Кто-нибудь с некоторым опытом с чем-то вроде этого получил какой-нибудь совет? Я готов попробовать простые хаки, связанные с программным обеспечением ... или более сложные программные продукты, если для этого есть ресурсы в Интернете.
Редактировать:
Я попытался подключить его к разъему для микрофона, и вот, всякий раз, когда я активирую (нажимаю) педаль, я получаю сигнал - это запись (на наглость).
Первый «толстый» - от нажатия на педаль, остальные были просто постукивания.
Зачем проходить через все неприятности, когда вы можете просто купить именно то, что вы ищете? Педали USB Foot сделано для ПК, как это :
Они дешевые и делают именно то, что вы хотите сделать.
На самом деле сделать это. Все, что вам действительно нужно, это клавиатура. Что - то небольшое, как это . Гут педаль и клавиатуру. Возможно, вы даже сможете установить клавиатуру внутри педали с помощью USB-кабеля, чтобы заменить аудио-провод. Педаль, вероятно, имеет 3 провода, + & - и резистор. Просто найдите + и - ведет методом проб и ошибок (только 6 возможных вариантов). Подсоедините один из ключей к проводам педали. Когда вы нажимаете педаль и замыкаете цепь ... нажатие клавиши!
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); } }
Как вы обнаружили, эта педаль является просто мгновенным переключателем.
Для считывания состояния переключателя и конвертации в 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.