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
Team collaborative evaluation tracker.

Team collaborative evaluation tracker.

2 Dec 19, 2021
Um sistema de llogin feito em uma interface grafica.

Interface-para-login Um sistema de login feito com JSON. Utilizando a biblioteca Tkinter, eu criei um sistema de login, onde guarda a informações de l

Mobben 1 Nov 28, 2021
Logo DYS (Doküman Yönetim Sitemi) API Python Implementation

dys-connector Logo DYS (Dokuman Yonetim Sistemi) API Python Implementation Python Package: https://pypi.org/project/dys-connector Quick Start from dys

Logo Group 8 Mar 19, 2022
Senior Comprehensive Project For Python

Senior Comprehensive Project Author: Grey Hutchinson My project, which I nicknamed “Murmur”, was to create a research tool that would use neural netwo

1 May 29, 2022
rTorrent Crash Prevention

rTorrent Disk Checker This program is capable of the following when: - a torrent is added by any program (autodl-irssi, RSS Downloader et

16 Dec 14, 2022
PyDateWaiter helps waiting special day & calculating remain days till that day with Python code.

PyDateWaiter (v.Beta) PyDateWaiter helps waiting special day(aniversary) & calculating remain days till that day with Python code. Made by wallga gith

wallga 1 Jan 14, 2022
A general-purpose wallet generator, for supported coins only

2gen A general-purpose generator for keys. Designed for all cryptocurrencies supporting the Bitcoin format of keys and addresses. Functions To enable

Vlad Usatii 1 Jan 12, 2022
An AI-powered device to stop people from stealing my packages.

Package Theft Prevention Device An AI-powered device to stop people from stealing my packages. Installation To install on a raspberry pi, clone the re

rydercalmdown 157 Nov 24, 2022
Anki Cards for the HSK vocabulary Chinese-German

Anki-HanyuShuipingKaoshi Anki Cards for the HSK vocabulary Chinese-German Das Deck baut auf folgenden Quellen auf: China Endecken Wortschatz von wohok

1 Jan 07, 2022
A fast Python in-process signal/event dispatching system.

Blinker Blinker provides a fast dispatching system that allows any number of interested parties to subscribe to events, or "signals". Signal receivers

jason kirtland 1.4k Dec 31, 2022
Performance data for WASM SIMD instructions.

WASM SIMD Data This repository contains code and data which can be used to generate a JSON file containing information about the WASM SIMD proposal. F

Evan Nemerson 5 Jul 24, 2022
Unzip Japanese Shift-JIS zip archives on non-Japanese systems.

Unzip JP GUI Unzip Japanese Shift-JIS zip archives on non-Japanese systems. This script unzips the file while converting the file names from Shift-JIS

Emile Bangma 9 Dec 07, 2022
A fluid medium for storing, relating, and surfacing thoughts.

Conceptarium A fluid medium for storing, relating, and surfacing thoughts. Read more... Instructions The conceptarium takes up about 1GB RAM when runn

115 Dec 19, 2022
resultados (data) de elecciones 2021 y código para extraer data de la ONPE

elecciones-peru-2021-ONPE Resultados (data) de elecciones 2021 y código para extraer data de la ONPE Data Licencia liberal, pero si vas a usarlo por f

Ragi Yaser Burhum 21 Jun 14, 2021
1000+ ready code templates to kickstart your next AI experiment

AI Seed Projects Start with ready code for your next AI experiment. Choose from 1000+ code templates, across a wide variety of use cases. All examples

BlobCity, Inc 98 Jan 03, 2023
Developing and Comparing Vision-based Algorithms for Vision-based Agile Flight

DodgeDrone: Vision-based Agile Drone Flight (ICRA 2022 Competition) Would you like to push the boundaries of drone navigation? Then participate in the

Robotics and Perception Group 115 Dec 10, 2022
Shows a pixel art of any Pokémon in your terminal!

pokemon-icat This script is inspired by this project, but since the output heavily depends on the font of your terminal, i decided to make a script th

ph04 52 Dec 22, 2022
An easy way to access to your EPITECH subjects based on the Roslyn's database.

An easy way to access to your EPITECH subjects based on the Roslyn's database.

Mathias 1 Feb 09, 2022
Manjaro CN Repository

Manjaro CN Repository Automatically built packages based on archlinuxcn/repo and manjarocn/docker. Install Add manjarocn to /etc/pacman.conf: Please m

Manjaro CN 28 Jun 26, 2022
Class XII computer science project.

Computer Science Project — Class XII Kshitij Srivastava (XI – A) Introduction The aim of this project is to create a fully operational system for a me

Kshitij Srivastava 2 Jul 21, 2022