Control Denon Professional DN-500AV surround preamplifier remotely.
- Denon Professional DN-500AV (Seems to be based on the same platform as the Denon AVR-1912 and AVR-2112CI)
- More? Contributions welcome!
- Ethernet
- Using Twisted
- connection status detection
- automatically try to reconnect with exponential backoff
- RS-232? also using Twisted
- General MIDI input using Mido
- Define control scheme.
See: Summary of MIDI 1.0 Messages
, MIDI 1.0 Control Change Messages
- CC7 = Master Volume
- CC120 = Mute
- CC? = On/Standby
- Program Changes -> Inputs select
- Mapping?
- Virtual ports
- using loopMidi for Windows
- rt-midi native for *NIX OSes
- rtpMIDI?
- Define control scheme.
See: Summary of MIDI 1.0 Messages
, MIDI 1.0 Control Change Messages
- Setup
- IP address
- Serial port?
- COM (Windows)
- tty (*NIX OSes)
- On/Standby
- Main volume
- Get
- Relative
- Absolute
- Set
- Relative
- Absolute
- Mute
- Get
- SPL calibrated display
- EBU/SMPTE RP200: 85dB C SPL @ -18 dBFS (Equivalent to 83 dB C SPL @ -20 dBFS)
- K meter
- K-20: -20dBFS = 83dB C SPL (Same as SMPTE and EBU)
- K-14: -14dBFS = 83dB C SPL
- Can be compensated from SMPTE/EBU levels by lowering the output volume by 6dB
- K-12: -12dBFS = 83dB C SPL
- Can be compensated from SMPTE/EBU levels by lowering the output volume by 8dB
- EBU R 128: -23LUFS (-23dBFS) = 73dB C SPL (Debatable/unclear removed for now)
- Presets!
- Relative (-18dB, -24dB…)
- Absolute
- SPL calibrated
- Zone 2
- Per Channel level (Up to 7.1)
- Tone
- EQ
- Sound presets
- Input select
- Favorites
- Security
- Panel Lock
- IR Remote Lock
- Settings backup/restore
- All
- Subsystems?
- Retrieve status
- Logger
- Update the GUI
- Import EQ settings
- From REW value file
- Only use negative values! You can’t compensate a destructive room mode by adding energy to it.
- From REW value file
- Full Profiles/presets?
- Using Kivy
- Keyboard shortcuts:
- M for Mute
- Up/Down Vol +/-
- Left/Right VolPreset +/-
- PgUp/PgDwn SrcPreset +/-
- Keyboard shortcuts:
- Systray/Taskbar support using pystray
- Only one instance is allowed (Microsoft Windows only)
- Option to make window stay always on top (Microsoft Windows only)
- Touch doesn't activate the window and doesn't steal focus (Microsoft Windows only)
- Trigger events without having to activate the window first (Microsoft Windows only)
- Draw it on the first touch enabled display if available instead of the main one
- Handle shutdown to power off the device
- Generate icon with IconMaker
- PyInstaller (Fairly stable for Microsoft Windows)
- UPX support
- How to build:
- Review denonremote.spec
- Use
hatch build; hatch run build:pyinstaller
- Nuitka (Alpha support for Microsoft Windows)
- Use
hatch build; hatch run build:nuitka
- Use
- PyOxidiser
- cx-Freeze for multiplatform support?
- VST plugin? (Not required if MIDI input is implemented but would be neat to have in the monitoring section of a
DAW)
- See PyVST
- Autonomous mobile app? Kivy enables that!
- Android
- iOS/iPadOS
The receiver only allows 1 active connection. A dispatcher proxy could allow multiple simultaneous remotes (Desktop and mobile).
Open ports:
- 23/tcp (TELNET): BridgeCo AG Telnet server
AVR serial protocol used here - 80/tcp (HTTP): GoAhead WebServer
Web control (index.asp) Shows nothing.
Most of the useful code is commented!
CSS loading at "css/mainMenu.css" times out.
Main control is available at "MainZone/index.html"! - 443/tcp (HTTPS):
ERR_SSL_PROTOCOL_ERROR in Google Chrome
SSL_ERROR_EXTRACT_PUBLIC_KEY_FAILURE in Mozilla Firefox - 1026/tcp (RTSP): Apple AirTunes rtspd 103.2
- 6666/tcp: ?
- 8080/tcp (HTTP): AV receiver http config
Android
JavaScript:
- https://github.com/phillipsnick/denon-avr
- https://github.com/murderbeard/com.moz.denon
- https://github.com/jtangelder/denon-remote
PHP
- https://github.com/Wolbolar/IPSymconDenon (IP Symcon automation)
Python:
- https://github.com/jeroenvds/denonremote (XBMC plugin)
- https://github.com/Tom360V/DenonAvr (Similar objectives?)
- https://github.com/toebsen/python-denonavr (HTTP RESTful server)
- https://github.com/MrJavaWolf/DenonPhoneController (Landline phone controller)
- https://github.com/troykelly/python-denon-avr-serial-over-ip (Library)
- https://github.com/auchter/denonavr_serial (Library)
- https://github.com/jphutchins/pyavreceiver (Nice library)
- https://github.com/frawau/aiomadeavr (Library)
- https://github.com/scarface-4711/denonavr (Uses the HTTP/XML interface. Library)
Author: ©2021-2022 Raphaël Doursenaud.
This software is released under the terms of the GNU General Public License, version 3.0 or later (GPL-3.0-or-later).
See LICENSE.
Logo and icons released under the Creative Commons Attribution-Share Alike 4.0 International.
- Python v3.10
Copyright © 2001-2022 Python Software Foundation.
Used under the terms of the PSF License Agreement. - Kivy
Copyright 2010-2022, The Kivy Authors.
Used under the terms of the MIT license.
Uses: - Twisted
Copyright (c) 2001-2022 Twisted Matrix Laboratories.
Used under the terms of the MIT license. - PyInstaller
Copyright (c) 2010-2022, PyInstaller Development Team.
Copyright (c) 2005-2009, Giovanni Bajo.
Based on previous work under copyright (c) 2002 McMillan Enterprises, Inc.
Used under the terms of the GNU General Public License version 2.0.- includes cpython
- Free Serif
Copyright © 2022 Free Software Foundation, Inc.
Used under the terms of the GNU General Public License version 3.0. - Roboto Mono
Copyright (c) 2015 The Roboto Mono Project Authors.
Used under the terms of the Apache License, Version 2.0. - Unicode Power Symbol
Copyright (c) 2013 Joe Loughry.
Used under the terms of the MIT license.
Own work based upon:
- Denon Professional DN-500AV Front
Marketing material from Denon Professional.
Copyright 2012-2022 inMusic Brands, Inc.
- Denon is a trademark of Sound United, LLC and Affiliates.
- Denon Professional is a trademark of inMusic Brands, Inc.
Other trademarks are property of their respective owners and used fairly for descriptive and nominative purposes only.