<phyphox version="1.14" locale="en">
  <title>Tone ramp</title>
  <category>Acoustics</category>
  <icon>↗</icon>
  <description>
        Generates a tone with ramping frequency.
    </description>
  <translations>
    <translation locale="de">
      <title>Frequenzrampe</title>
      <category>Akustik</category>
      <description>
        Generiert einen Ton mit ansteigender Frequenz.
      </description>
      <string original="Start Frequency">Start-Frequenz</string>
      <string original="End Frequency">End-Frequenz</string>
      <string original="Current frequency">Aktuelle Frequenz</string>
      <string original="Duration">Dauer</string>
      <string original="While phyphox allows setting arbitrary frequencies, you may experience bad results below 100Hz or above 8000Hz due to hardware limitations.">Obwohl phyphox beliebige Frequenzen erlaubt, können die Ergebnisse aufgrund von Hardware-Einschränkungen unter 100Hz oder über 8000Hz deutlich schlechter werden.</string>
    </translation>
  </translations>
  <data-containers>
    <container size="1" init="0">f</container>
    <container size="1">f1</container>
    <container size="1">f2</container>
    <container size="1" init="-1">t0</container>
    <container size="1">t</container>
    <container size="1">d</container>
  </data-containers>
  <output>
    <audio loop="true">
      <tone>
        <input parameter="frequency">f</input>
        <input parameter="amplitude" type="value">1</input>
      </tone>
    </audio>
  </output>
  <views>
    <view label="Ramp">
      <edit label="Start Frequency" unit="[[unit_short_hertz]]" default="0" signed="false" min="0" max="24000">
        <output>f1</output>
      </edit>
      <edit label="End Frequency" unit="[[unit_short_hertz]]" default="1000" signed="false" min="0" max="24000">
        <output>f2</output>
      </edit>
      <edit label="Duration" unit="[[unit_short_second]]" default="10" signed="false" min="0">
        <output>d</output>
      </edit>
      <button label="Start">
        <input>t</input>
        <output>t0</output>
      </button>
      <button label="Stop">
        <input type="value">-1</input>
        <output>t0</output>
      </button>
      <separator height="1"/>
      <info label="While phyphox allows setting arbitrary frequencies, you may experience bad results below 100Hz or above 8000Hz due to hardware limitations."/>
      <separator height="1"/>
      <value label="Current frequency" unit="[[unit_short_hertz]]">
        <input>f</input>
        <map max="0">Off</map>
      </value>
    </view>
  </views>
  <analysis>
    <timer>
      <output>t</output>
    </timer>
    <if equal="true">
      <input clear="false">t0</input>
      <input type="value">0</input>
      <input clear="false">t</input>
      <output>t0</output>
    </if>
    <formula formula="heaviside([1])*heaviside([1]+[2]-[3])*([4]+([3]-[1])/[2]*([5]-[4]))">
      <input clear="false">t0</input>
      <input clear="false">d</input>
      <input clear="false">t</input>
      <input clear="false">f1</input>
      <input clear="false">f2</input>
      <output>f</output>
    </formula>
  </analysis>
</phyphox>
