Skip to content

Commit

Permalink
Merge pull request #2 from eric-glb/dev
Browse files Browse the repository at this point in the history
v2.0
  • Loading branch information
eric-glb authored Aug 27, 2021
2 parents fc69bc7 + 23eaa52 commit 0e23cd8
Show file tree
Hide file tree
Showing 39 changed files with 1,530 additions and 135 deletions.
Empty file modified LICENSE
100644 → 100755
Empty file.
73 changes: 49 additions & 24 deletions README.md
100644 → 100755
Original file line number Diff line number Diff line change
@@ -1,26 +1,44 @@
# keybow2040-voicemeeter

### Keybow2040 tailored for my needs:
- USB HID *and* Midi keys to pilot Voice Meeter Banana and OS media control
- Visual feedback when muting/unmuting mic
- USB HID *and* Midi keys to pilot Voice Meeter Banana, OS media control, Meet and Teams mute switchs;
- Visual feedback when muting/unmuting mic;
- standby mode (all leds off) if not used for a certain amount of time (10 min).

https://user-images.githubusercontent.com/89578893/130957119-04bb56d3-d831-4dda-bfc8-a24a935e4dee.mp4
### Demonstration

### From:
https://user-images.githubusercontent.com/89578893/131130065-ba3a7a3c-cb5e-4299-a4bc-061b160bbfd6.mp4

### What it does control

![voicemeeter-keybow](https://user-images.githubusercontent.com/89578893/131132043-4670462a-669e-4495-9d9d-ae1357e7f5e8.png)

And also:
- Mute switch for Teams;
- Mute switch for Google Meet;
- Multimedia: Previous, Next Track and Play/Pause; Volume keys (hooked to A1 output level in Voice Meeter).

NB:
As Mute switch for Teams is keyboard layout dependend (CTRL+SHIFT+M), I use a french AZERTY mapping for adafruit_hid.
Please read the specific [README.md](lib/adafruit_hid_fr/README.md) for details.

### Inspiration taken from:
- https://www.tomshardware.com/how-to/build-rp2040-powered-shortcut-keypad

### My installation relies on:
- Pimoroni keybow2040-circuitpython:
https://github.com/pimoroni/keybow2040-circuitpython
- VB-Audio Voice Meeter Banana:
- VB-Audio Voice Meeter Banana (worth the price):
https://vb-audio.com/Voicemeeter/banana.htm
- VB-Audio Virtual Audio Cable to route Spotify to a specific input, using the system mixer configuration:
- VB-Audio Macro Buttons (installed with Voice Meeter):
See [Voice Meeter Banana documentation](https://vb-audio.com/Voicemeeter/VoicemeeterBanana_UserManual.pdf), p. 37.
- VB-Audio Virtual Audio Cable to route Spotify client to VoiceMeeter input #3, using the system mixer configuration:
https://vb-audio.com/Cable/index.htm

### Debug:
- Use PuTTY on Serial line COM4, speed 115200 bauds
- Use PuTTY on Serial line COM4 (YMMV), speed 115200 bauds.

### My Voice Meeter Banana settings:
### My VB-Audio Voice Meeter Banana settings:

Input #1 -> USB Blue Yeti Mic -> to B1
Input #2 -> Laptop Mic (unused)
Expand All @@ -29,24 +47,31 @@ https://user-images.githubusercontent.com/89578893/130957119-04bb56d3-d831-4dda-
A2 -> USB soundcard -> headphones

Hook Volumes Keys (For Level Output A1)
Hook Ctrl+F10,F11,F12 (For Level Input #1)

Use [configs/VoiceMeeter-Midi-keybow.xml](configs/VoiceMeeter-Midi-keybow.xml) MIDI map for the Voice Meeter MIDI config.
Basically:

MIDI Mapping for CircuitPython Audio:
Mute Strip #3 -> Note On G#1 (44)
Mute BUS A2 -> Note On C#2 (49)
Mute Strip #1 -> Note on C1 (36)
Mute Strip #3 -> Note On E1 (40)
Mute BUS A2 -> Note On G#1 (44)

### My VB-Audio Macro Buttons settings:

Use [configs/MacroButtons-Midi-keybow](configs/MacroButtons-Midi-keybow) for the Voice Meeter MIDI config.

### Key mapping:

┌─┬────────────┬─┬───────────┬──┬─────────────┬──┬────────────────┐
│3│Volume Up │7│Previous │11│Next │15│Play/Pause
│ │ │ │ │ │ │ │
├─┼────────────┼─┼───────────┼──┼─────────────┼──┼────────────────┤
│2│Volume Down │6│ │10│ │14│
│ │ │ │ │ │ │ │
├─┼────────────┼─┼───────────┼──┼─────────────┼──┼────────────────┤
│1│ │5│ │ 9│ │13│MIDI
│ │ │ │ │ │Headphones Mute
├─┼────────────┼─┼───────────┼──┼─────────────┼──┼────────────────┤
│0│Mic Mute │4│ │ 8│MIDI │12│Speakers Mute
│ │ │ │ │ │Cable Mute │ │
└─┴────────────┴─┴───────────┴──┴─────────────┴──┴────────────────┘
┌─┬────────────┬─┬───────────┬──┬────────────────┬────────────────┐
│3│Google Meet │7│Previous │11│Next │15│Play/Pause │
│ │Mute Toggle │ │ │ │
├─┼────────────┼─┼───────────┼──┼────────────────┼────────────────┤
│2│Teams │6│MIDI Cable │10│MIDI Headphones │14│Speakers
│ │Mute Toggle │ │Volume Up │ │Volume Up │ │Volume Up
├─┼────────────┼─┼───────────┼──┼────────────────┼────────────────┤
│1│ │5│MIDI Cable │ 9│MIDI Headphones │13│Speakers
| │ │Volume Down │ │Volume Down │ │Volume Down
├─┼────────────┼─┼───────────┼──┼────────────────┼────────────────┤
│0│MIDI Mic │4│MIDI Cable │ 8│MIDI Headphones │12│Speakers
│ │Mute Toggle │ │Mute Toggle │ │Mute Toggle │ │Mute Toggle
└─┴────────────┴─┴───────────┴──┴────────────────┴────────────────┘
Loading

0 comments on commit 0e23cd8

Please sign in to comment.