<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
 <class>AudioStats</class>
 <widget class="QDialog" name="AudioStats">
  <property name="geometry">
   <rect>
    <x>0</x>
    <y>0</y>
    <width>598</width>
    <height>548</height>
   </rect>
  </property>
  <property name="windowTitle">
   <string>Audio Statistics</string>
  </property>
  <layout class="QVBoxLayout">
   <item>
    <layout class="QHBoxLayout">
     <item>
      <widget class="QGroupBox" name="qgbInput">
       <property name="title">
        <string>Input Levels</string>
       </property>
       <layout class="QGridLayout">
        <item row="0" column="0">
         <widget class="QLabel" name="qliMicLevel">
          <property name="text">
           <string>Peak microphone level</string>
          </property>
         </widget>
        </item>
        <item row="0" column="1">
         <widget class="QLabel" name="qlMicLevel">
          <property name="toolTip">
           <string>Peak power in last frame</string>
          </property>
          <property name="whatsThis">
           <string>This shows the peak power in the last frame (20 ms), and is the same measurement as you would usually find displayed as &quot;input power&quot;. Please disregard this and look at &lt;b&gt;Microphone power&lt;/b&gt; instead, which is much more steady and disregards outliers.</string>
          </property>
          <property name="text">
           <string/>
          </property>
         </widget>
        </item>
        <item row="1" column="0">
         <widget class="QLabel" name="qliSpeakerLevel">
          <property name="text">
           <string>Peak speaker level</string>
          </property>
         </widget>
        </item>
        <item row="1" column="1">
         <widget class="QLabel" name="qlSpeakerLevel">
          <property name="toolTip">
           <string>Peak power in last frame</string>
          </property>
          <property name="whatsThis">
           <string>This shows the peak power of the speakers in the last frame (20 ms). Unless you are using a multi-channel sampling method (such as ASIO) with speaker channels configured, this will be 0. If you have such a setup configured, and this still shows 0 while you're playing audio from other programs, your setup is not working.</string>
          </property>
          <property name="text">
           <string/>
          </property>
         </widget>
        </item>
        <item row="2" column="0">
         <widget class="QLabel" name="qliSignalLevel">
          <property name="text">
           <string>Peak clean level</string>
          </property>
         </widget>
        </item>
        <item row="2" column="1">
         <widget class="QLabel" name="qlSignalLevel">
          <property name="toolTip">
           <string>Peak power in last frame</string>
          </property>
          <property name="whatsThis">
           <string>This shows the peak power in the last frame (20 ms) after all processing. Ideally, this should be -96 dB when you're not talking. In reality, a sound studio should see -60 dB, and you should hopefully see somewhere around -20 dB. When you are talking, this should rise to somewhere between -5 and -10 dB.&lt;br /&gt;If you are using echo cancellation, and this rises to more than -15 dB when you're not talking, your setup is not working, and you'll annoy other users with echoes.</string>
          </property>
          <property name="text">
           <string/>
          </property>
         </widget>
        </item>
       </layout>
      </widget>
     </item>
     <item>
      <widget class="QGroupBox" name="qgbSignal">
       <property name="title">
        <string>Signal Analysis</string>
       </property>
       <layout class="QGridLayout">
        <item row="0" column="0">
         <widget class="QLabel" name="qliMicVolume">
          <property name="text">
           <string>Microphone power</string>
          </property>
         </widget>
        </item>
        <item row="0" column="1">
         <widget class="QLabel" name="qlMicVolume">
          <property name="toolTip">
           <string>How close the current input level is to ideal</string>
          </property>
          <property name="whatsThis">
           <string>This shows how close your current input volume is to the ideal. To adjust your microphone level, open whatever program you use to adjust the recording volume, and look at the value here while talking.&lt;br /&gt;&lt;b&gt;Talk loud, as you would when you're upset over getting fragged by a noob.&lt;/b&gt;&lt;br /&gt;Adjust the volume until this value is close to 100%, but make sure it doesn't go above. If it does go above, you are likely to get clipping in parts of your speech, which will degrade sound quality.</string>
          </property>
          <property name="text">
           <string/>
          </property>
         </widget>
        </item>
        <item row="1" column="0">
         <widget class="QLabel" name="qliMicSNR">
          <property name="text">
           <string>Signal-To-Noise ratio</string>
          </property>
         </widget>
        </item>
        <item row="1" column="1">
         <widget class="QLabel" name="qlMicSNR">
          <property name="toolTip">
           <string>Signal-To-Noise ratio from the microphone</string>
          </property>
          <property name="whatsThis">
           <string>This is the Signal-To-Noise Ratio (SNR) of the microphone in the last frame (20 ms). It shows how much clearer the voice is compared to the noise.&lt;br /&gt;If this value is below 1.0, there's more noise than voice in the signal, and so quality is reduced.&lt;br /&gt;There is no upper limit to this value, but don't expect to see much above 40-50 without a sound studio.</string>
          </property>
          <property name="text">
           <string/>
          </property>
         </widget>
        </item>
        <item row="2" column="0">
         <widget class="QLabel" name="qliSpeechProb">
          <property name="text">
           <string>Speech Probability</string>
          </property>
         </widget>
        </item>
        <item row="2" column="1">
         <widget class="QLabel" name="qlSpeechProb">
          <property name="toolTip">
           <string>Probability of speech</string>
          </property>
          <property name="whatsThis">
           <string>This is the probability that the last frame (20 ms) was speech and not environment noise.&lt;br /&gt;Voice activity transmission depends on this being right. The trick with this is that the middle of a sentence is always detected as speech; the problem is the pauses between words and the start of speech. It's hard to distinguish a sigh from a word starting with 'h'.&lt;br /&gt;If this is in bold font, it means RetroShare is currently transmitting (if you're connected).</string>
          </property>
          <property name="text">
           <string/>
          </property>
         </widget>
        </item>
       </layout>
      </widget>
     </item>
    </layout>
   </item>
   <item>
    <widget class="QGroupBox" name="qgbConfiguration">
     <property name="title">
      <string>Configuration feedback</string>
     </property>
     <layout class="QGridLayout">
      <item row="0" column="0">
       <widget class="QLabel" name="qliBitrate">
        <property name="text">
         <string>Current audio bitrate</string>
        </property>
       </widget>
      </item>
      <item row="0" column="1">
       <widget class="QLabel" name="qlBitrate">
        <property name="minimumSize">
         <size>
          <width>20</width>
          <height>0</height>
         </size>
        </property>
        <property name="toolTip">
         <string>Bitrate of last frame</string>
        </property>
        <property name="whatsThis">
         <string>This is the audio bitrate of the last compressed frame (20 ms), and as such will jump up and down as the VBR adjusts the quality. The peak bitrate can be adjusted in the Settings dialog.</string>
        </property>
        <property name="text">
         <string/>
        </property>
       </widget>
      </item>
      <item row="0" column="3">
       <widget class="QLabel" name="qliDoublePush">
        <property name="text">
         <string>DoublePush interval</string>
        </property>
       </widget>
      </item>
      <item row="0" column="4">
       <widget class="QLabel" name="qlDoublePush">
        <property name="minimumSize">
         <size>
          <width>20</width>
          <height>0</height>
         </size>
        </property>
        <property name="toolTip">
         <string>Time between last two Push-To-Talk presses</string>
        </property>
        <property name="text">
         <string/>
        </property>
       </widget>
      </item>
      <item row="1" column="0">
       <widget class="QLabel" name="qliSpeech">
        <property name="text">
         <string>Speech Detection</string>
        </property>
       </widget>
      </item>
      <item row="1" column="1" colspan="4">
       <widget class="AudioBar" name="abSpeech" native="true">
        <property name="toolTip">
         <string>Current speech detection chance</string>
        </property>
        <property name="whatsThis">
         <string>&lt;b&gt;This shows the current speech detection settings.&lt;/b&gt;&lt;br /&gt;You can change the settings from the Settings dialog or from the Audio Wizard.</string>
        </property>
       </widget>
      </item>
      <item row="0" column="2">
       <spacer>
        <property name="orientation">
         <enum>Qt::Horizontal</enum>
        </property>
        <property name="sizeHint" stdset="0">
         <size>
          <width>40</width>
          <height>20</height>
         </size>
        </property>
       </spacer>
      </item>
     </layout>
    </widget>
   </item>
   <item>
    <widget class="QGroupBox" name="qgbSpectrum">
     <property name="sizePolicy">
      <sizepolicy hsizetype="Preferred" vsizetype="Expanding">
       <horstretch>0</horstretch>
       <verstretch>0</verstretch>
      </sizepolicy>
     </property>
     <property name="title">
      <string>Signal and noise power spectrum</string>
     </property>
     <layout class="QVBoxLayout">
      <item>
       <widget class="AudioNoiseWidget" name="anwNoise" native="true">
        <property name="toolTip">
         <string>Power spectrum of input signal and noise estimate</string>
        </property>
        <property name="whatsThis">
         <string>This shows the power spectrum of the current input signal (red line) and the current noise estimate (filled blue).&lt;br /&gt;All amplitudes are multiplied by 30 to show the interesting parts (how much more signal than noise is present in each waveband).&lt;br /&gt;This is probably only of interest if you're trying to fine-tune noise conditions on your microphone. Under good conditions, there should be just a tiny flutter of blue at the bottom. If the blue is more than halfway up on the graph, you have a seriously noisy environment.</string>
        </property>
       </widget>
      </item>
     </layout>
    </widget>
   </item>
   <item>
    <widget class="QGroupBox" name="qgbEcho">
     <property name="sizePolicy">
      <sizepolicy hsizetype="Preferred" vsizetype="Expanding">
       <horstretch>0</horstretch>
       <verstretch>0</verstretch>
      </sizepolicy>
     </property>
     <property name="title">
      <string>Echo Analysis</string>
     </property>
     <layout class="QVBoxLayout">
      <item>
       <widget class="AudioEchoWidget" name="aewEcho" native="true">
        <property name="sizePolicy">
         <sizepolicy hsizetype="Preferred" vsizetype="Expanding">
          <horstretch>0</horstretch>
          <verstretch>0</verstretch>
         </sizepolicy>
        </property>
        <property name="toolTip">
         <string>Weights of the echo canceller</string>
        </property>
        <property name="whatsThis">
         <string>This shows the weights of the echo canceller, with time increasing downwards and frequency increasing to the right.&lt;br /&gt;Ideally, this should be black, indicating no echo exists at all. More commonly, you'll have one or more horizontal stripes of bluish color representing time delayed echo. You should be able to see the weights updated in real time.&lt;br /&gt;Please note that as long as you have nothing to echo off, you won't see much useful data here. Play some music and things should stabilize. &lt;br /&gt;You can choose to view the real or imaginary parts of the frequency-domain weights, or alternately the computed modulus and phase. The most useful of these will likely be modulus, which is the amplitude of the echo, and shows you how much of the outgoing signal is being removed at that time step. The other viewing modes are mostly useful to people who want to tune the echo cancellation algorithms.&lt;br /&gt;Please note: If the entire image fluctuates massively while in modulus mode, the echo canceller fails to find any correlation whatsoever between the two input sources (speakers and microphone). Either you have a very long delay on the echo, or one of the input sources is configured wrong.</string>
        </property>
       </widget>
      </item>
     </layout>
    </widget>
   </item>
  </layout>
 </widget>
 <customwidgets>
  <customwidget>
   <class>AudioBar</class>
   <extends>QWidget</extends>
   <header>AudioStats.h</header>
   <container>1</container>
  </customwidget>
  <customwidget>
   <class>AudioNoiseWidget</class>
   <extends>QWidget</extends>
   <header>AudioStats.h</header>
   <container>1</container>
  </customwidget>
  <customwidget>
   <class>AudioEchoWidget</class>
   <extends>QWidget</extends>
   <header>AudioStats.h</header>
   <container>1</container>
  </customwidget>
 </customwidgets>
 <resources/>
 <connections/>
</ui>
