SageTV Community  

Go Back   SageTV Community > SageTV Products > SageTV Software
Forum Rules FAQs Community Downloads Today's Posts Search

Notices

SageTV Software Discussion related to the SageTV application produced by SageTV. Questions, issues, problems, suggestions, etc. relating to the SageTV software application should be posted here. (Check the descriptions of the other forums; all hardware related questions go in the Hardware Support forum, etc. And, post in the customizations forum instead if any customizations are active.)

Reply
 
Thread Tools Search this Thread Display Modes
  #1  
Old 01-13-2005, 08:33 AM
Cayars Cayars is offline
Sage Icon
 
Join Date: Nov 2003
Posts: 2,029
Quote:
Originally Posted by broderp
I posted this on another forum, but it is also a feature request, and maybe be seen by a wider audience here.

Many TV's today have a audio level control to keep the sound level. There is nothing more anoying than to come to a comercial and have to lower the volume because it's so loud. Then when the show comes on, you have to raise the volume back so you can hear it.

TV's use circuitry in the pre-amp stage to compare the amplitute of the signal being broadcast to what is set. Using comparitors and or attenuator circuits, they auto matically "follow" the audio signal and maintain a constant volume.

While we cant do this with sage, we have something that cold work possibly. We have CC and we have COMMERCIAL SKIP. COMM SKIP would be the easiest. anytime that sage senses a commercial, have it automatically lower the volume by a selectible amount. This control would obviously be defeated if you were to use comm skip, as you would never see or hear them, but when you don't, this optionacan be on.
I know you posted this in the Cayars thread and I actually started to implement it and then said to myself "Why am I doing this, since it will autoskip the commercials for me?" so I stopped.

The above is for programs that have been processed by comskip. If you can skip the commercials, why bother with lowering the sound?
Quote:
The second way, not as "clean" but may work, is to use CC data if there is a way to HOOK to it and sense it. Lots of commercials don't have CC, so the lack of CC data would trigger the same volume reduction idea as in COMM SKIP. The thing about it is, you shouldn't have to have CC running to do this, as CC info is there wheather you see it or not. (as long as it's being transmitted that it.)
No hooks available at the STV level to do this at present. Jeff/Frey, would have to add additional core logic and inline processing to do this and I don't think the CPU tradeoff is in anyway worth it.
Quote:
I'd also like the option to automatically turn on CC when I mute the volume all together.
I'm adding this to 17B of my STV and anyone else developing STVs or Frey themselves are welcome to use the code to accomplish this. It's not very add at all to do. In my STV it will be configurable.

Carlo
Reply With Quote
  #2  
Old 01-13-2005, 09:02 AM
lovingHDTV's Avatar
lovingHDTV lovingHDTV is offline
Sage Icon
 
Join Date: Jul 2003
Posts: 1,019
Is the volume control your asking for also called Dynamic Range Compression? This is supported by some audio filter, like ac3filter. You can enable it in the filter and it will control volume changes within the audio stream.

I have used this before on my reciever for watching movies with loud explosions when I don't want to distrub others in the house. Not sure why it would not work for commercials also.

Would be worth a shot.

Edit:
Here is the blurb on the ac3filter homepage about this:
* Dynamic range compression.
By its nature ac3 is a logarithmic format. Samples are stored in form of exponents and mantissas. In terms of bits one sample can be up to 40bits long (only theoretically) or up to 24bits (normal). It provides huge dynamic range (but, as said by great Einstein all good things in this word are relative :-). This means that quiet sound with low level when played on 16- bit sound card will be not audible at all or will have very low absolute level (=> high distortions). To solve this problem it is dynamic range comression. Main idea is to raise level when sound is quiet (and vice versa when loud) before converting to 16-bit form. There are special markers in ac3 stream for current level change. This markers are set by producer at a mastering stage, so it guarantees high quality. DRC level indicates this level. With Use DRC chekbox you can enabe/disable using DRC. (of course this is only rough problem description).

DRC Power control adjusts how much DRC level changes sound level. When DRC Power is increased all quiet sounds will be more stressed and loud sound will be more shaded. When DRC Power is decreasd dynamic range compression will have less influence at output. Zero DRC Power level means that dynamic range compression applied at normal.

Last edited by lovingHDTV; 01-13-2005 at 09:09 AM.
Reply With Quote
  #3  
Old 01-13-2005, 10:31 AM
broderp's Avatar
broderp broderp is offline
Sage Expert
 
Join Date: Apr 2004
Posts: 510
Quote:
Originally Posted by Cayars
I know you posted this in the Cayars thread and I actually started to implement it and then said to myself "Why am I doing this, since it will autoskip the commercials for me?" so I stopped.

The above is for programs that have been processed by comskip. If you can skip the commercials, why bother with lowering the sound?

No hooks available at the STV level to do this at present. Jeff/Frey, would have to add additional core logic and inline processing to do this and I don't think the CPU tradeoff is in anyway worth it.

I'm adding this to 17B of my STV and anyone else developing STVs or Frey themselves are welcome to use the code to accomplish this. It's not very add at all to do. In my STV it will be configurable.

Carlo

TRUE, but does everyone watch live TV with comskip? I watch a lot of primetime shows and I don't com skip them as I watch them, as I am usually also doing something else. How can comskip skip a commercial that hasn't happened yet? Com skip is great if you go back and watch shows after they are recorded, and then I agree with you 100%. But watching a first run show like CSI and even having com skip enabled will not benifit you while the show is actually airing.

In my example, I would be watching a first run show like CSI:NY during the time slot it is being aired. The only delay is the 10-12 sec delay due to the PVR recording. I am watching with comm skip enabled. The show comes to the comercial. Comm skip will NOT skip to very end of the commercial, it can't since it has not recorded it yet, but it is MARKING IT as comercial. This is when I would thing a voulme control would be perfect. Not everyone watches thier favorite 9PM show at 10, after its recorded.

Thanks for listing to my reasoning, like it or not, it's your call.
__________________
Raymond
RIP: P4 3.0Ghz, ASUS MB, 2G MEM, ATI 1300X AGP VIDEO, PVR-150MCE & PVR-500MCE, 1 TB HD

NEW: DELL OPTIPLEX 755, 4GB MEM, ATI DVIX (DUAL) VIDEO, PVR-1250MCE & PVR-500MCE, 1.3TB HDD's
Reply With Quote
  #4  
Old 01-13-2005, 10:40 AM
ToxMox's Avatar
ToxMox ToxMox is offline
Sage Icon
 
Join Date: Oct 2003
Location: NJ
Posts: 1,980
I understand what broderp is saying but unfortunately I don't think comskip works like that on live shows. Comskip won't report something as a commercial until it thinks it has found the beginning and end of a commercial break so using comskip at all for this method of volume management just won't work on live tv. I think what lovinghdtv mentioned is probably the only way to accomplish this.
Reply With Quote
  #5  
Old 01-13-2005, 10:45 AM
broderp's Avatar
broderp broderp is offline
Sage Expert
 
Join Date: Apr 2004
Posts: 510
Quote:
Originally Posted by lovingHDTV
Is the volume control your asking for also called Dynamic Range Compression? This is supported by some audio filter, like ac3filter. You can enable it in the filter and it will control volume changes within the audio stream.

I have used this before on my reciever for watching movies with loud explosions when I don't want to distrub others in the house. Not sure why it would not work for commercials also.

Would be worth a shot.

Edit:
Here is the blurb on the ac3filter homepage about this:
* Dynamic range compression.
By its nature ac3 is a logarithmic format. Samples are stored in form of exponents and mantissas. In terms of bits one sample can be up to 40bits long (only theoretically) or up to 24bits (normal). It provides huge dynamic range (but, as said by great Einstein all good things in this word are relative :-). This means that quiet sound with low level when played on 16- bit sound card will be not audible at all or will have very low absolute level (=> high distortions). To solve this problem it is dynamic range comression. Main idea is to raise level when sound is quiet (and vice versa when loud) before converting to 16-bit form. There are special markers in ac3 stream for current level change. This markers are set by producer at a mastering stage, so it guarantees high quality. DRC level indicates this level. With Use DRC chekbox you can enabe/disable using DRC. (of course this is only rough problem description).

DRC Power control adjusts how much DRC level changes sound level. When DRC Power is increased all quiet sounds will be more stressed and loud sound will be more shaded. When DRC Power is decreasd dynamic range compression will have less influence at output. Zero DRC Power level means that dynamic range compression applied at normal.
Good info, I suppose that may very well work. In college I played with designing x-overs for stereos and such and I made a small circuit that would take the input signal and amplitude from a low level signal (sine wave in this case at about 1Khz) and when you increase the drive to low level sine wave, the circuit would attenuate it to match what it was told it should be via an adjustable feedback circuit. This signal was then fed to a class A amp so we could hear the function. We then input a radio signal and it worked the same way. (we really should have patenented it!) It was all done on breadboards and such.

Manipulating the signal digitally makes more sence today, and even using software too do it seems to be a viable way as well as long as the overhead required to do it is not a burden on CPU and other functions.

Maybe someone better equiped and knowledgeable about filters and AC3 could figure it out for us.
__________________
Raymond
RIP: P4 3.0Ghz, ASUS MB, 2G MEM, ATI 1300X AGP VIDEO, PVR-150MCE & PVR-500MCE, 1 TB HD

NEW: DELL OPTIPLEX 755, 4GB MEM, ATI DVIX (DUAL) VIDEO, PVR-1250MCE & PVR-500MCE, 1.3TB HDD's
Reply With Quote
  #6  
Old 01-13-2005, 10:55 AM
broderp's Avatar
broderp broderp is offline
Sage Expert
 
Join Date: Apr 2004
Posts: 510
Quote:
Originally Posted by ToxMox
I understand what broderp is saying but unfortunately I don't think comskip works like that on live shows. Comskip won't report something as a commercial until it thinks it has found the beginning and end of a commercial break so using comskip at all for this method of volume management just won't work on live tv. I think what lovinghdtv mentioned is probably the only way to accomplish this.

I understand what your saying, but comm skip in this scenario still has to ID the BEGINNING of what it thinks is comercial. Then it "tags" the END of it.

WHy couldn't the fact it ID's the beginng turn ON the volume control, and when it finds the end, use that singal, hook, catch..whatever to turn OFF volume control. Who cares about everything else in the middle.

I do like the AC3 dynamic compression idae better though, if it's feasable.
__________________
Raymond
RIP: P4 3.0Ghz, ASUS MB, 2G MEM, ATI 1300X AGP VIDEO, PVR-150MCE & PVR-500MCE, 1 TB HD

NEW: DELL OPTIPLEX 755, 4GB MEM, ATI DVIX (DUAL) VIDEO, PVR-1250MCE & PVR-500MCE, 1.3TB HDD's
Reply With Quote
  #7  
Old 01-13-2005, 10:57 AM
lovingHDTV's Avatar
lovingHDTV lovingHDTV is offline
Sage Icon
 
Join Date: Jul 2003
Posts: 1,019
I've use used the ac3filter and not noticed any additional cpu overhead. However, I've not used the DRC funtionality except to play around with it. My wife prefers no volume changes when watching movies and such so I tend to use my receiver instead as it is easier for me to turn off and for her to turn on
Reply With Quote
  #8  
Old 01-13-2005, 11:00 AM
ToxMox's Avatar
ToxMox ToxMox is offline
Sage Icon
 
Join Date: Oct 2003
Location: NJ
Posts: 1,980
Quote:
Originally Posted by broderp
I understand what your saying, but comm skip in this scenario still has to ID the BEGINNING of what it thinks is comercial. Then it "tags" the END of it.

WHy couldn't the fact it ID's the beginng turn ON the volume control, and when it finds the end, use that singal, hook, catch..whatever to turn OFF volume control. Who cares about everything else in the middle.

I do like the AC3 dynamic compression idae better though, if it's feasable.
I know what you are thinking but it just isn't how the comskip application works. Before Jere_Jones made comskip able to do live detection it used to study the whole mpeg then based on a bunch of things an algorithm basically outputs what it thinks are commercials. It still pretty much works like that and for live detection you need to be watching timeshifted backwards for a little bit for it to report what it thinks may be commercial breaks on stuff it has already recorded. It is not some magical trigger that happens as soon as the first commercial comes on. Comskip needs to analyze a number of factors from before and after the section the commercials are located in before it can make an assumption of where commercials are.
Reply With Quote
  #9  
Old 01-13-2005, 11:47 AM
Cayars Cayars is offline
Sage Icon
 
Join Date: Nov 2003
Posts: 2,029
Not to bust anyone's bubble on this but we don't record AC3 sound but instead record to MPEG Layer 2 sound format so the filter won't work for recordings but could/will work on DVDs which use AC3. Of course you don't have the commercials on DVDs so it's a mute point.
Reply With Quote
  #10  
Old 01-13-2005, 11:50 AM
ToxMox's Avatar
ToxMox ToxMox is offline
Sage Icon
 
Join Date: Oct 2003
Location: NJ
Posts: 1,980
lovinghdtv was giving ac3filter as an example of a filter that does this. broder would need to find a filter that can do this. Personally I just lower the volume during livetv if I have to.
Reply With Quote
  #11  
Old 01-13-2005, 12:36 PM
lovingHDTV's Avatar
lovingHDTV lovingHDTV is offline
Sage Icon
 
Join Date: Jul 2003
Posts: 1,019
Cayars that it true, but there are others out there. For example, relcock does this for all pcm audio streams.

Also if you use SPDIF this approach does not work.
Reply With Quote
Reply


Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -6. The time now is 01:16 PM.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2023, vBulletin Solutions Inc.
Copyright 2003-2005 SageTV, LLC. All rights reserved.