Dynamic volume for home automation

J

joshk03

Audioholic
So I have always wondered now this might work but I haven't found a complete solution. Maybe someone here has some ideas.

The goal would be that the doorbell and mailbox notifications could play over speakers in the home at a volume of "noise floor + 5db". If the room is loud, the notification should be loud. If house is quiet, the notification should be low volume.

Now my mailbox and doorbell are already tied into a small home server. So I'm well on my way... to somewhere. :)

My best idea is to add a cheap mic to monitor the SPL of the room and adjust the system volume accordingly. The problem being I don't have the coding skills to pull that off. Anyone know if software like this that exists? Or another completely different solution?

In your typical home the doorbell is just super loud all the time. So if you home alone and someone presses the doorbell, you nearly have a heart-attack.
 
WaynePflughaupt

WaynePflughaupt

Audioholic Samurai
An easier solution, and probably hundreds of dollars cheaper, would just be to take the cover off the doorbell and stick some masking tape on the bell where the striker hits it. Either that or put some thick tape like electrical or duct tape over the slots in the doorbell cover.

Regards,
Wayne A. Pflughaupt
 
Montucky

Montucky

Full Audioholic
Or you could go the way that the deaf community has been doing it for ages. Doorbells that use something like a flashing light instead of noise. I took that concept to the next level with my store's theater room. While doing a demo, I didn't want a loud bong or chime to interrupt the experience. At the same time, if it was at a normal level, there would be no way I could hear it since the room was pretty well isolated. So, my lead tech ended up working with our alarm guy and tied in the entry door sensor with the RTI control system that controlled the LED backlighting on the screen. When a person walked into the store, the backlights would flash on/off 3 times and I could politely excuse myself to greet the incoming customer. Amazing how nobody ever noticed the flashing but me. Discreet and quite effective. My tech said it would be super easy to do the same with a doorbell.

TL;DR version - Think about using light instead of sound!
 
J

joshk03

Audioholic
@WaynePflughaupt, That would work for the push-button doorbell. But the mailbox and doorbell #2 are only connected to the server. I was hoping to expand on the server idea for pushing notifications to my phone when I am out.

@Montucky, That's actually a clever idea. However, I do want to expand on the server integration for pushing notifications. And the light would be near impossible to see from some rooms.
 
BMXTRIX

BMXTRIX

Audioholic Warlord
I could probably do this with a Biamp unit properly coded. You need a good DSP unit which can measure ambient noise from microphones in the space, and translate a doorbell press into a chime which is balanced against the current audio levels of the home.

If you got crazy, and wired the heck out of your home, you could put multiple mics into the room, and balance the playback audio on a room by room basis. That would get really expensive.

I don't think Biamp supports internal audio files for chime playback, so that would be an issue.

It's an interesting way to go, but I have no idea how to build something from the ground up to do such a thing, and depending on the how speaker/wiring setup, could end up being pricey unless you just have the home as a single audio zone that is on all the time.

The Tesira Forte units are on eBay from about $200, which is about 1/10th of the typical cost for 12 inputs and 8 outputs (mono).
 
J

joshk03

Audioholic
@BMXTRIX, it would be cool to have 2 or 3 zones. It would be less cool if it was expensive :p hehe
 
J

joshk03

Audioholic
@Montucky, Ok, I'm coming around to your idea... The light might be the way to go. I could install a couple for better coverage. And reading light levels is easier than reading sound levels.
 
Montucky

Montucky

Full Audioholic
Ok, so here is probably one of the easiest ways I've thought to do this. You can get one of the Ring brand doorbells (those ones with the built in video monitoring), and then you can tie them in with the Philips Hue light bulbs. Just toss in a Hue bulb in whatever location you want the notification to come through, and voila. Have your designated lights flash or fade up/down, change colors, or do whatever you want to get your attention.
 
J

joshk03

Audioholic
I already have a connection from my doorbell #2 to my Linux server. When activated, an audio file plays out a USB speaker... Or at least it did before I had to unplug the speaker because it was making annoying sounds when the hard drive would rev up, and static in general. That's probably due to the cheap wall wart the server came with.
When I'm not so busy I will change out the code so it blinks a powerful LED instead of playing the ding-dong audio file.
Thanks for the good idea :)
 
Z

Zman7505

Audioholic Intern
Why not set it up per db level on your audio system volume setting?

If volume is between... And ....
The volume of doorbel is...
Or else volume of doorbell is...

You'd have to have a 2 way driver for the audio amplifier but that's it.
 
J

joshk03

Audioholic
How would the server know the volume setting on the receiver?

Denon X1400H
 
Z

Zman7505

Audioholic Intern
you'd have to have a 2way driver for a control system, which I'm sure is available for denon. So for instance I use rti, I would place a if, then statement in the programming that would reference the denon's volume. But if you're not using a control system (my apologies if I misunderstood) then I don't see a method to accomplish the task.
 
Z

Zman7505

Audioholic Intern
What's a 2-way driver? RTI?

Let me elaborate, my apologies

So rti is a third party control company that allows for home automation and control. One method of accomplishing this is via infrared, just like standard remote controls do and anotheir is via a control driver. A driver allows a product to communicate to and from a third party system. It can state if it's on or off, it's temperature, volume etc. This allows the control system to automate tasks based on the condition of a particular device, in this case the denon's volume level.

The system would tell your doorbell to ring at a cerrain volume depending on the conditions of the denon.

I hope that helps
 
J

joshk03

Audioholic
I see, thanks. Good to know.
The Denon comes with a control app for my phone, so I won't have a need for a 3rd party system. If I went the audio route, I would prefer the SPL sensor because it hears everything, such as conversations, the vacuum cleaner, washer/dryer, etc.
 
Montucky

Montucky

Full Audioholic
What's a 2-way driver? RTI?
1-way would be your standard IR and such. 2-way is just like it sounds. Your control processor can send information to the equipment, and the equipment sends information back. You may have seen RS-232 over the years. That's a huge part of what made RS-232 so awesome. Now many of us have moved on to IP control with newer gear.

I also use RTI, but there are TON of other brands who use such communication as well. Man, with 2-way and something like RTI, the sky's the limit (and your L337 programming skillz) as to what you can do. My old lead tech really opened up my eyes to the possibilities. Same with Crestron. High dollar stuff, but man, you can just go so crazy with the stuff if you know what you're doing. I've seen some outrageous levels of home integration...long before the "smart home" craze too.
 
BMXTRIX

BMXTRIX

Audioholic Warlord
I feel like you are talking about a Control System 401 solution when you are at a Control System 001 level of understanding.

You have an idea, but I'm not sure what your actual programming skills are. You seem to be looking for a plug-n-play solution to a problem that doesn't have any solution in existence to my knowledge. It doesn't mean a solution isn't out there that exists, I'm just not aware of one.

What this means is that you need parts and pieces and putting them all together into a unified solution. You want a tone to play or lights to flash at levels appropriate to the ambient environment? Then you need to read that ambient environment, convert those readings to usable values, read the doorbell press, convert that to an action, and then have actions occur based upon the available information in a meaningful and reliable way.

Knowing the volume of the Denon is almost meaningless.

Why? Because the volume of the Denon is not a measurement of the level that the speakers actually will play at from that single product. The Denon is a pre-amp and a amplifier, that is then connected to speakers. So, what you need to know is what level the speakers actually play the tone at at various volume levels of the Denon, then adjust the playback of those speakers according to the current sound level that is measured in real time in the room, or averaged over the last few seconds.

If the Denon is the only source of audio in the room, and the measurements are taken from the room while the Denon is making those sounds, then the input on the Denon would need to change, cancelling the sounds in the room, and making the need for a 'loud' chime meaningless anyway.

This system would actually need a completely different set of speakers.
It would need something that could create the chime.
It would need something to hear the current audio levels in the room.
It would need an effective way to convert the audio levels to usable responses.
It would need a trigger device (doorbells).
It would need a way to convert those triggers to actionable items.
It would need a lot of code to make all that happen, which is a lot more than an 'if-then' statement, unless you get equipment designed from the ground up to do all of those things.
That's pretty much where a piece like a Biamp can come into play as a 'ducker' is the audio equivalent of a if-then. If the audio is at a certain level, then trigger the next volume level. You stack them and they automatically set the volume level for an output to feed an amp at appropriate levels.
You still need an external channel of amplification per speaker zone.
You also need to wire for those speakers.
You also need the speakers themselves.
Oh, and a mic in every room along with the wiring to those mics.
But, the Biamp I listed above is one of the only 'canned' solutions to what you are talking about doing.

Which, hopefully you now realize, isn't a simple plug-n-play solution.

Denon is nice. They open their Serial (RS-232) protocol so that you can get feedback and good information about the current setup of their receivers, as they have decided. If you are now Googling 'serial protocol' or 'RS-232', then you are at the very front end of learning how control systems work. If you are looking for a nice GUI that is just handed to you, on a solution that may not exist at this point and don't want to code everything yourself, then it just isn't going to happen.

Having a doorbell that works on your phone is nifty, but it's not open source. It's the exact opposite of open source. Unless they have released the API to the general public, and it is usable, and provides the information that you need, then it's completely closed and useless.

So, I'm not sure how far down this road you have gone. I'm not sure what type of doorbell you have that is tied into you server. I'm not sure whether you've played with the API directly, or what you are doing with that information. It could be a lot, or it could be nothing. But, the rooms you want to use it in are the parts that need a lot of sensors tied into things and there are DiY home automation systems with IP controlled devices and sensors that sit on the end of them that may allow you to move forward with this idea. But, it will not be plug-n-play, it will be testing, coding, and you will still need some consideration of speakers, mics, and amps to make it all work.

It doesn't have to be expensive, but it depends on how much time you are willing to put into all of it.

Saying "You just read the ambient noise level." - is easy to say and do.
Saying "You need to convert that ambient noise level from one device and make it an actionable item on another, completely separate device." - is the crux of control system programming.

In my world: When a 3-way divisible room is opened up, I need to combine all the speaker in the space into a single zone and have all the touchpanels mirror one another. When someone plugs in a computer into one of the (now) available four connection points, I will turn on all the displays in the 3 combined spaces and play that computer on those displays, if the system is in automatic mode. Otherwise, they can choose which displays or room audio to send that computer to. Then they can mix and match audio/video sources as they desire. If all the computers are currently disconnected, and they are not in an active phone call, the system should turn itself off automatically after five minutes.

That paragraph was about 120 hours of work and testing to get right.
 
J

joshk03

Audioholic
Ah, RS232. If only the spec. included a power wire and skipped all that hardware-handshake BS it would still sit on its throne. Now it’s last stand is limited to long distance applications.
I pioneered mobile software and hardware that bridges the gap from RS232 to server in just a few microseconds. But I’m not out to change the world today, just upgrade my doorbell
It all works now, and yes I am wanting to keep a separate set of speakers on the server. I was just wondering about an SPL sensor for Linux. It seems that’s not available. Darn.
 
BMXTRIX

BMXTRIX

Audioholic Warlord
I was just wondering about an SPL sensor for Linux. It seems that’s not available. Darn.
Well, it's good to know you aren't walking into this blind.

You may have better (much better) luck looking on some automation forums. Not to direct you away from Audioholics and what it does offer, which is great, but it is very limited in automation topics except for a few members. You really want to get into a DiY home automation group where people may have a solution, whether it is direct, or really cheap, for a control solution that will work well for your desires. A cheap microphone will do it.

If I were to say, what would work very well, and would be cheaper than the $200 item I listed above, is to look for even older Biamp stuff that still includes what you want.

ie: https://www.ebay.com/itm/Biamp-Nexia-TC-Teleconferencing-DSP-Digital-Audio-Signal-Processor/123002734569?hash=item1ca388c7e9:g:LckAAOSwuUZanY5U

It offers both IP and RS232 control options, along with complete customization and readings of room levels. It could pretty much deliver everything you want then you can build a control back end to run the show through their published API.

Still, I'm not sure there isn't something else that isn't even more plug-n-play for what you want to do.

This is a 10-input by 4-output solution (vs. the 12x8 I listed earlier).

$40, then you still need a mic or two of some sort. They could be really cheap because you don't need quality, just levels.
 
J

joshk03

Audioholic
The automation group is probably a good suggestion. If I used a mic, a doorbell notification would come in, then I would need to stop and process a second or two of audio and check it for SPL. If a module exists, I can simply ask it for the SPL from the past few seconds. That’s best.
 
newsletter

  • RBHsound.com
  • BlueJeansCable.com
  • SVS Sound Subwoofers
  • Experience the Martin Logan Montis
Top