A Python library to simulate a Zoom H6 recorder remote control

Related tags

Miscellaneoush6
Overview

H6

A Python library to emulate a Zoom H6 recorder remote control

Introduction

This library allows you to control your Zoom H6 recorder from your computer using an USB to TTL adapter. For this, you will need a few components to make a specific cable, but it's quite simple.

Cable

You will have to make a specific cable that connects a USB port from your computer to the Zoom H6 remote control port, but fear not. It's actually really simple.

You will need:

  • An FTDI USB to TTL converter:

FTDI USB to TTL

  • A 2.5mm jack screw terminal:

2.5mm jack screw terminal

  • A simple 3 wire cable

All of these components are widely available to buy online and the overall cost is less than 5€.

Once you have all of the components, the wiring is also quite simple:

FTDI adapter 2.5mm jack
Rx L
Tx R
GND V

Wiring

IMPORTANT: Make sure that the FTDI USB to TTL adapter jumper is set to 3.3v before using the cable. Leaving it at 5v could damage your recorder.

Installation

Simply install the library using pip:

pip install h6

Usage

You can include this library in your Python project or run it directly as a CLI tool.

CLI

To execute commands using your command line run:

h6 -p /dev/cu.usbserial-alcdut1 -c stop

You must specify the serial port using -p or --port and the command to send using -c or --command.

Importing the library

Usage example:

from h6 import ZoomH6
from time import sleep

# Define the serial port
serial_port = '/dev/cu.usbserial-alcdut1'

# Instantiate recorder
recorder = ZoomH6(serial_port)

# Initialize recorder
recorder.initialize()

# Send 'rec' command
recorder.send('record')

# wait for a while
sleep(3)

# Send 'stop' command
recorder.send('stop')

As you can see, when instantiating the ZoomH6 class you will need to specify the serial port where your FTDI USB to TTL adapter is connected.

The initialize() function executes a specific handshake expected by the Zoom H6 recorder in order to accept incoming commands.

You can send any valid command to the recorder. Keep reading for a list with all the available commands.

Commands

The complete list of available commands is:

Command Button
play_pause Play / Pause
stop Stop
record Record
forward Forward
reverse Reverse
vol_up Increase volume
vol_down Decrease volume
ch1 Toggle Channel 1
ch2 Toggle Channel 2
ch3 Toggle Channel 3
ch4 Toggle Channel 4
chr Toggle R Channel
chl Toggle L Channel

Compatibility

This library has only been tested with the H6 model, but according to the Zoom support (see #1) it should work with other models such as the H4n and the H5.

If you get to try with any other model than the H6, please write your experience in that issue's comments.

Changelog

  • 0.1.1:

    • Added 3 seconds timeout to avoid infinite handshake
    • Improved the way commands are sent
    • Renamed L and R channels commands for consistency
    • Improved error handling
    • Updated README file
    • Bumped version to 0.1.1
  • 0.1.0

    • Initial release
Owner
Matias Godoy
Jack of all trades, master of none
Matias Godoy
Grouping nucleotide coordinate ranges.

NuclRanger Grouping nucleotide coordinate ranges. A quick pre-processing step for "bedtools getfasta":- https://bedtools.readthedocs.io/en/latest/cont

Sujanavan Tiruvayipati 1 Oct 04, 2022
Information about a signed UEFI Shell that can be used when Secure Boot is enabled.

SignedUEFIShell During our research of the BootHole vulnerability last year, we tried to find as many signed bootloaders as we could. We searched all

Mickey 61 Jan 03, 2023
BDD base project: Python + Behave

BDD base project: Python + Behave Basic example of using Python with Behave (BDD). This Gherkin example includes: Basic Scenario Scenario Outline Tagg

eccanto 1 Dec 08, 2021
Step by step development of a vending coffee machine project, including tkinter, sqlite3, simulation, etc.

Step by step development of a vending coffee machine project, including tkinter, sqlite3, simulation, etc.

Nikolaos Avouris 2 Dec 05, 2021
Master Duel Card Translator Project

Master Duel Card Translator Project A tool for translating card effects in Yu-Gi-Oh! Master Duel. Quick Start (for Chinese version only) Download the

67 Dec 23, 2022
Think DSP: Digital Signal Processing in Python, by Allen B. Downey.

ThinkDSP LaTeX source and Python code for Think DSP: Digital Signal Processing in Python, by Allen B. Downey. The premise of this book (and the other

Allen Downey 3.2k Jan 08, 2023
Script em python, utilizando PySimpleGUI, para a geração de arquivo txt a ser importado no sistema de Bilhetagem Eletrônica da RioCard, no Estado do Rio de Janeiro.

pedido-vt-riocard Script em python, utilizando PySimpleGUI, para a geração de arquivo txt a ser importado no sistema de Bilhetagem Eletrônica da RioCa

Carlos Bruno Gomes 1 Dec 01, 2021
🦕 Compile Deno executables and compress them for all platforms easily

Denoc Compile Deno executables and compress them for all platforms easily. Install You can install denoc from PyPI like any other package: pip install

Eliaz Bobadilla 8 Apr 04, 2022
System Information Utility With Python

System-Information-Utility This is a simple utility, for the terminal, which allows you to find out information about your PC. It's very easy to run t

2 Apr 15, 2022
List of all D&D 5e monsters: WotC + popular third-party sourcebooks

Xio's Guide to Monsters If you're a DM like me, and you have multiple sources of D&D 5e monsters that include WotC as well as third-party suppliers, y

20 Jan 06, 2023
Example code for the book Fluent Python, 1st Edition (O'Reilly, 2015)

Fluent Python, First Edition: example code This repository is archived and will not be updated.

Fluent Python 5.4k Jan 09, 2023
python3 scrip for case conversion of source code files writen in fixed form fortran

convert_FORTRAN_case python3 scrip for case conversion of source code files writen in fixed form fortran python3 scrip for case conversion of source c

7 Sep 20, 2022
A collection of modern themes for Tkinter TTK

ttkbootstrap A collection of modern flat themes inspired by Bootstrap. Also includes TTK Creator which allows you to easily create and use your own th

Israel Dryer 827 Jan 04, 2023
Simple python code for compile brainfuck program.

py-brainf*ck Just a basic compiled that compiles your brainf*ck codes and gives you informations about memory, used cells, dumped version, logs etc...

4 Jun 13, 2021
Hospitality app for ERPNext to manage hotels & restaurants.

Hospitality ERPNext Hospitality module is designed to handle workflows for Hotels and Restaurants. Manage Restaurants The Restaurant module in ERPNext

Frappe 19 Dec 26, 2022
MIXLAB_NASA_TICKET mixlab 灵感来源于NASA的火星船票

MIXLAB_NASA_TICKET mixlab 灵感来源于NASA的火星船票,我们想要使用开源的代码来定制化这一设计。 其中photo_to_cartoon 是paddle的开源代码:https://github.com/minivision-ai/photo2cartoon-paddle 也借

tongji_cy 38 Feb 20, 2022
「📖」Tool created to extract metadata from a domain

Metafind is an OSINT tool created with the aim of automating the search for metadata of a particular domain from the search engine known as Google.

9 Dec 28, 2022
UdemyPy is a bot that hourly looks for Udemy free courses and post them in my Telegram Channel: Free Courses.

UdemyPy UdemyPy is a bot that hourly looks for Udemy free courses and post them in my Telegram Channel: Free Courses. How does it work? For publishing

88 Dec 25, 2022
SuperCollider library for Python

SuperCollider library for Python This project is a port of core features of SuperCollider's language to Python 3. It is intended to be the same librar

Lucas Samaruga 65 Dec 22, 2022
Dicionario-git-github - Dictionary created to help train new users of Git and GitHub applications

Dicionário 📕 Dicionário criado com o objetivo de auxiliar no treinamento de nov

Felippe Rafael 1 Feb 07, 2022