Skip to main content

A Python library to emulate a Zoom H6 recorder remote control

Project description

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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

h6-0.1.1.tar.gz (4.6 kB view details)

Uploaded Source

Built Distribution

h6-0.1.1-py3-none-any.whl (4.7 kB view details)

Uploaded Python 3

File details

Details for the file h6-0.1.1.tar.gz.

File metadata

  • Download URL: h6-0.1.1.tar.gz
  • Upload date:
  • Size: 4.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.1.4 CPython/3.9.0 Darwin/19.6.0

File hashes

Hashes for h6-0.1.1.tar.gz
Algorithm Hash digest
SHA256 1e5a98ec8ebcfef44c0b7d3b2b5ab8ef6e0ad006bd6bf48f3f99dd2eb2a0fbcb
MD5 8d1b2091423b452ef48c2c9c7538695e
BLAKE2b-256 e9e7af4ac50cbe210240d2d6f0c42c866471020a2e545dd9e69f5205216dfc5a

See more details on using hashes here.

File details

Details for the file h6-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: h6-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 4.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.1.4 CPython/3.9.0 Darwin/19.6.0

File hashes

Hashes for h6-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 1eda20391c68081f638b2d0f60e643b154b0a5b651c77cad18641bfe41f27621
MD5 d24f380733290a814bf5347e76c5c60f
BLAKE2b-256 774902c000099086f7152655330dcb57d6b23c71d33a70cba56fbfdabad7d859

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page