<?xml version="1.0" ?>
<PsychoPy2experiment encoding="utf-8" version="3.0.1">
  <Settings>
    <Param name="Completed URL" updates="None" val="" valType="str"/>
    <Param name="Data filename" updates="None" val="u'data/%s_%s_%s' % (expInfo['participant'], expName, expInfo['date'])" valType="code"/>
    <Param name="Enable Escape" updates="None" val="True" valType="bool"/>
    <Param name="Experiment info" updates="None" val="{'participant':'', 'session':'001'}" valType="code"/>
    <Param name="Force stereo" updates="None" val="True" valType="bool"/>
    <Param name="Full-screen window" updates="None" val="True" valType="bool"/>
    <Param name="HTML path" updates="None" val="html" valType="str"/>
    <Param name="Incomplete URL" updates="None" val="" valType="str"/>
    <Param name="JS libs" updates="None" val="packaged" valType="str"/>
    <Param name="Monitor" updates="None" val="testMonitor" valType="str"/>
    <Param name="Save csv file" updates="None" val="False" valType="bool"/>
    <Param name="Save excel file" updates="None" val="False" valType="bool"/>
    <Param name="Save log file" updates="None" val="True" valType="bool"/>
    <Param name="Save psydat file" updates="None" val="True" valType="bool"/>
    <Param name="Save wide csv file" updates="None" val="True" valType="bool"/>
    <Param name="Screen" updates="None" val="1" valType="num"/>
    <Param name="Show info dlg" updates="None" val="True" valType="bool"/>
    <Param name="Show mouse" updates="None" val="False" valType="bool"/>
    <Param name="Units" updates="None" val="use prefs" valType="str"/>
    <Param name="Use version" updates="None" val="" valType="str"/>
    <Param name="Window size (pixels)" updates="None" val="(1024, 768)" valType="code"/>
    <Param name="blendMode" updates="None" val="avg" valType="str"/>
    <Param name="color" updates="None" val="$[0,0,0]" valType="str"/>
    <Param name="colorSpace" updates="None" val="rgb" valType="str"/>
    <Param name="expName" updates="None" val="EnvelopeGratingExample" valType="str"/>
    <Param name="exportHTML" updates="None" val="on Sync" valType="str"/>
    <Param name="logging level" updates="None" val="exp" valType="code"/>
  </Settings>
  <Routines>
    <Routine name="trial">
      <NoiseStimComponent name="noise">
        <Param name="blendmode" updates="constant" val="avg" valType="str"/>
        <Param name="color" updates="constant" val="$[1,1,1]" valType="str"/>
        <Param name="colorSpace" updates="constant" val="rgb" valType="str"/>
        <Param name="contrast" updates="constant" val="1.0" valType="code"/>
        <Param name="durationEstim" updates="None" val="" valType="code"/>
        <Param name="interpolate" updates="constant" val="nearest" valType="str"/>
        <Param name="mask" updates="constant" val="raisedCos" valType="str"/>
        <Param name="name" updates="None" val="noise" valType="code"/>
        <Param name="noiseBW" updates="constant" val="1" valType="code"/>
        <Param name="noiseBWO" updates="constant" val="1" valType="code"/>
        <Param name="noiseBaseSf" updates="constant" val="4.0" valType="code"/>
        <Param name="noiseClip" updates="constant" val="3.0" valType="code"/>
        <Param name="noiseElementSize" updates="constant" val="0.0625" valType="code"/>
        <Param name="noiseFilterLower" updates="constant" val="1.0" valType="code"/>
        <Param name="noiseFilterOrder" updates="constant" val="0.0" valType="code"/>
        <Param name="noiseFilterUpper" updates="constant" val="8.0" valType="code"/>
        <Param name="noiseFractalPower" updates="constant" val="0.0" valType="code"/>
        <Param name="noiseImage" updates="constant" val="None" valType="str"/>
        <Param name="noiseNewSample" updates="constant" val="None" valType="str"/>
        <Param name="noiseNewSampleWhen" updates="constant" val="1" valType="str"/>
        <Param name="noiseType" updates="constant" val="Isotropic" valType="str"/>
        <Param name="opacity" updates="constant" val="0.5" valType="code"/>
        <Param name="ori" updates="constant" val="0" valType="code"/>
        <Param name="phase" updates="constant" val="0.0" valType="code"/>
        <Param name="pos" updates="constant" val="(5, -5)" valType="code"/>
        <Param name="sf" updates="constant" val="1/10" valType="code"/>
        <Param name="size" updates="constant" val="(10, 10)" valType="code"/>
        <Param name="startEstim" updates="None" val="" valType="code"/>
        <Param name="startType" updates="None" val="time (s)" valType="str"/>
        <Param name="startVal" updates="None" val="0.0" valType="code"/>
        <Param name="stopType" updates="None" val="duration (s)" valType="str"/>
        <Param name="stopVal" updates="constant" val="10" valType="code"/>
        <Param name="texture resolution" updates="constant" val="512" valType="code"/>
        <Param name="units" updates="None" val="deg" valType="str"/>
      </NoiseStimComponent>
      <EnvGratingComponent name="ModNoise">
        <Param name="beat" updates="constant" val="False" valType="str"/>
        <Param name="blendmode" updates="constant" val="add" valType="str"/>
        <Param name="carrier" updates="set every repeat" val="$noise.tex" valType="str"/>
        <Param name="color" updates="constant" val="$[1,1,1]" valType="str"/>
        <Param name="colorSpace" updates="constant" val="rgb" valType="str"/>
        <Param name="contrast" updates="constant" val="0.2" valType="code"/>
        <Param name="durationEstim" updates="None" val="" valType="code"/>
        <Param name="envelope" updates="constant" val="sin" valType="str"/>
        <Param name="envori" updates="constant" val="0.0" valType="code"/>
        <Param name="envphase" updates="set every frame" val="sin(t)" valType="code"/>
        <Param name="envsf" updates="constant" val="1.0" valType="code"/>
        <Param name="interpolate" updates="constant" val="linear" valType="str"/>
        <Param name="mask" updates="constant" val="raisedCos" valType="str"/>
        <Param name="moddepth" updates="constant" val="1" valType="code"/>
        <Param name="name" updates="None" val="ModNoise" valType="code"/>
        <Param name="opacity" updates="constant" val="1" valType="code"/>
        <Param name="ori" updates="constant" val="0" valType="code"/>
        <Param name="phase" updates="constant" val="0.0" valType="code"/>
        <Param name="pos" updates="constant" val="(-5, 5)" valType="code"/>
        <Param name="sf" updates="constant" val="1/10" valType="code"/>
        <Param name="size" updates="constant" val="(10, 10)" valType="code"/>
        <Param name="startEstim" updates="None" val="" valType="code"/>
        <Param name="startType" updates="None" val="time (s)" valType="str"/>
        <Param name="startVal" updates="None" val="0.0" valType="code"/>
        <Param name="stopType" updates="None" val="duration (s)" valType="str"/>
        <Param name="stopVal" updates="constant" val="10.0" valType="code"/>
        <Param name="texture resolution" updates="constant" val="512" valType="code"/>
        <Param name="units" updates="None" val="deg" valType="str"/>
      </EnvGratingComponent>
      <EnvGratingComponent name="ModSin">
        <Param name="beat" updates="constant" val="False" valType="str"/>
        <Param name="blendmode" updates="constant" val="add" valType="str"/>
        <Param name="carrier" updates="constant" val="sin" valType="str"/>
        <Param name="color" updates="constant" val="$[1,1,1]" valType="str"/>
        <Param name="colorSpace" updates="constant" val="rgb" valType="str"/>
        <Param name="contrast" updates="constant" val="0.5" valType="code"/>
        <Param name="durationEstim" updates="None" val="" valType="code"/>
        <Param name="envelope" updates="constant" val="sin" valType="str"/>
        <Param name="envori" updates="set every frame" val="-t*5" valType="code"/>
        <Param name="envphase" updates="constant" val="0.0" valType="code"/>
        <Param name="envsf" updates="constant" val="1.0" valType="code"/>
        <Param name="interpolate" updates="constant" val="linear" valType="str"/>
        <Param name="mask" updates="constant" val="raisedCos" valType="str"/>
        <Param name="moddepth" updates="constant" val="1.0" valType="code"/>
        <Param name="name" updates="None" val="ModSin" valType="code"/>
        <Param name="opacity" updates="constant" val="1" valType="code"/>
        <Param name="ori" updates="set every frame" val="t*5" valType="code"/>
        <Param name="phase" updates="constant" val="0.0" valType="code"/>
        <Param name="pos" updates="constant" val="(5, 5)" valType="code"/>
        <Param name="sf" updates="constant" val="8.0" valType="code"/>
        <Param name="size" updates="constant" val="(10, 10)" valType="code"/>
        <Param name="startEstim" updates="None" val="" valType="code"/>
        <Param name="startType" updates="None" val="time (s)" valType="str"/>
        <Param name="startVal" updates="None" val="0.0" valType="code"/>
        <Param name="stopType" updates="None" val="duration (s)" valType="str"/>
        <Param name="stopVal" updates="constant" val="10.0" valType="code"/>
        <Param name="texture resolution" updates="constant" val="512" valType="code"/>
        <Param name="units" updates="None" val="deg" valType="str"/>
      </EnvGratingComponent>
      <EnvGratingComponent name="Beat">
        <Param name="beat" updates="constant" val="True" valType="str"/>
        <Param name="blendmode" updates="constant" val="add" valType="str"/>
        <Param name="carrier" updates="constant" val="sin" valType="str"/>
        <Param name="color" updates="constant" val="$[1,1,1]" valType="str"/>
        <Param name="colorSpace" updates="constant" val="rgb" valType="str"/>
        <Param name="contrast" updates="constant" val="1" valType="code"/>
        <Param name="durationEstim" updates="None" val="" valType="code"/>
        <Param name="envelope" updates="constant" val="sin" valType="str"/>
        <Param name="envori" updates="constant" val="0.0" valType="code"/>
        <Param name="envphase" updates="constant" val="0" valType="code"/>
        <Param name="envsf" updates="constant" val="1.0" valType="code"/>
        <Param name="interpolate" updates="constant" val="linear" valType="str"/>
        <Param name="mask" updates="constant" val="raisedCos" valType="str"/>
        <Param name="moddepth" updates="constant" val="1.0" valType="code"/>
        <Param name="name" updates="None" val="Beat" valType="code"/>
        <Param name="opacity" updates="constant" val="1" valType="code"/>
        <Param name="ori" updates="constant" val="90" valType="code"/>
        <Param name="phase" updates="constant" val="0.0" valType="code"/>
        <Param name="pos" updates="constant" val="(-5, -5)" valType="code"/>
        <Param name="sf" updates="constant" val="8" valType="code"/>
        <Param name="size" updates="constant" val="(10, 10)" valType="code"/>
        <Param name="startEstim" updates="None" val="" valType="code"/>
        <Param name="startType" updates="None" val="time (s)" valType="str"/>
        <Param name="startVal" updates="None" val="0.0" valType="code"/>
        <Param name="stopType" updates="None" val="duration (s)" valType="str"/>
        <Param name="stopVal" updates="constant" val="10.0" valType="code"/>
        <Param name="texture resolution" updates="constant" val="512" valType="code"/>
        <Param name="units" updates="None" val="deg" valType="str"/>
      </EnvGratingComponent>
      <EnvGratingComponent name="NoiseAddBeat">
        <Param name="beat" updates="constant" val="True" valType="str"/>
        <Param name="blendmode" updates="constant" val="add" valType="str"/>
        <Param name="carrier" updates="set every repeat" val="$noise.tex" valType="str"/>
        <Param name="color" updates="constant" val="$[1,1,1]" valType="str"/>
        <Param name="colorSpace" updates="constant" val="rgb" valType="str"/>
        <Param name="contrast" updates="constant" val="0.5" valType="code"/>
        <Param name="durationEstim" updates="None" val="" valType="code"/>
        <Param name="envelope" updates="constant" val="sin" valType="str"/>
        <Param name="envori" updates="constant" val="0.0" valType="code"/>
        <Param name="envphase" updates="constant" val="0.0" valType="code"/>
        <Param name="envsf" updates="constant" val="1.0" valType="code"/>
        <Param name="interpolate" updates="constant" val="linear" valType="str"/>
        <Param name="mask" updates="constant" val="raisedCos" valType="str"/>
        <Param name="moddepth" updates="constant" val="1.0" valType="code"/>
        <Param name="name" updates="None" val="NoiseAddBeat" valType="code"/>
        <Param name="opacity" updates="constant" val="1" valType="code"/>
        <Param name="ori" updates="constant" val="0" valType="code"/>
        <Param name="phase" updates="constant" val="0.0" valType="code"/>
        <Param name="pos" updates="constant" val="(5, -5)" valType="code"/>
        <Param name="sf" updates="constant" val="1.0/10" valType="code"/>
        <Param name="size" updates="constant" val="(10, 10)" valType="code"/>
        <Param name="startEstim" updates="None" val="" valType="code"/>
        <Param name="startType" updates="None" val="time (s)" valType="str"/>
        <Param name="startVal" updates="None" val="0.0" valType="code"/>
        <Param name="stopType" updates="None" val="duration (s)" valType="str"/>
        <Param name="stopVal" updates="constant" val="10" valType="code"/>
        <Param name="texture resolution" updates="constant" val="128" valType="code"/>
        <Param name="units" updates="None" val="deg" valType="str"/>
      </EnvGratingComponent>
      <TextComponent name="ModNoiseText">
        <Param name="color" updates="constant" val="white" valType="str"/>
        <Param name="colorSpace" updates="constant" val="rgb" valType="str"/>
        <Param name="durationEstim" updates="None" val="" valType="code"/>
        <Param name="flip" updates="constant" val="" valType="str"/>
        <Param name="font" updates="constant" val="Arial" valType="str"/>
        <Param name="languageStyle" updates="None" val="LTR" valType="str"/>
        <Param name="letterHeight" updates="constant" val="0.5" valType="code"/>
        <Param name="name" updates="None" val="ModNoiseText" valType="code"/>
        <Param name="opacity" updates="constant" val="1" valType="code"/>
        <Param name="ori" updates="constant" val="0" valType="code"/>
        <Param name="pos" updates="constant" val="(-5, 10)" valType="code"/>
        <Param name="startEstim" updates="None" val="" valType="code"/>
        <Param name="startType" updates="None" val="time (s)" valType="str"/>
        <Param name="startVal" updates="None" val="0.0" valType="code"/>
        <Param name="stopType" updates="None" val="duration (s)" valType="str"/>
        <Param name="stopVal" updates="constant" val="10" valType="code"/>
        <Param name="text" updates="constant" val="Contrast modulated noise" valType="str"/>
        <Param name="units" updates="None" val="deg" valType="str"/>
        <Param name="wrapWidth" updates="constant" val="" valType="code"/>
      </TextComponent>
      <TextComponent name="MosSinText">
        <Param name="color" updates="constant" val="white" valType="str"/>
        <Param name="colorSpace" updates="constant" val="rgb" valType="str"/>
        <Param name="durationEstim" updates="None" val="" valType="code"/>
        <Param name="flip" updates="constant" val="" valType="str"/>
        <Param name="font" updates="constant" val="Arial" valType="str"/>
        <Param name="languageStyle" updates="None" val="LTR" valType="str"/>
        <Param name="letterHeight" updates="constant" val="0.5" valType="code"/>
        <Param name="name" updates="None" val="MosSinText" valType="code"/>
        <Param name="opacity" updates="constant" val="1" valType="code"/>
        <Param name="ori" updates="constant" val="0" valType="code"/>
        <Param name="pos" updates="constant" val="(5, 10)" valType="code"/>
        <Param name="startEstim" updates="None" val="" valType="code"/>
        <Param name="startType" updates="None" val="time (s)" valType="str"/>
        <Param name="startVal" updates="None" val="0.0" valType="code"/>
        <Param name="stopType" updates="None" val="duration (s)" valType="str"/>
        <Param name="stopVal" updates="constant" val="10" valType="code"/>
        <Param name="text" updates="constant" val="Contrast modulated sinewave" valType="str"/>
        <Param name="units" updates="None" val="deg" valType="str"/>
        <Param name="wrapWidth" updates="constant" val="" valType="code"/>
      </TextComponent>
      <TextComponent name="BeatText">
        <Param name="color" updates="constant" val="white" valType="str"/>
        <Param name="colorSpace" updates="constant" val="rgb" valType="str"/>
        <Param name="durationEstim" updates="None" val="" valType="code"/>
        <Param name="flip" updates="constant" val="" valType="str"/>
        <Param name="font" updates="constant" val="Arial" valType="str"/>
        <Param name="languageStyle" updates="None" val="LTR" valType="str"/>
        <Param name="letterHeight" updates="constant" val="0.5" valType="code"/>
        <Param name="name" updates="None" val="BeatText" valType="code"/>
        <Param name="opacity" updates="constant" val="1" valType="code"/>
        <Param name="ori" updates="constant" val="0" valType="code"/>
        <Param name="pos" updates="constant" val="(-5, -10)" valType="code"/>
        <Param name="startEstim" updates="None" val="" valType="code"/>
        <Param name="startType" updates="None" val="time (s)" valType="str"/>
        <Param name="startVal" updates="None" val="0.0" valType="code"/>
        <Param name="stopType" updates="None" val="duration (s)" valType="str"/>
        <Param name="stopVal" updates="constant" val="10" valType="code"/>
        <Param name="text" updates="constant" val="Sine wave beat" valType="str"/>
        <Param name="units" updates="None" val="deg" valType="str"/>
        <Param name="wrapWidth" updates="constant" val="" valType="code"/>
      </TextComponent>
      <TextComponent name="BeatNoiseText">
        <Param name="color" updates="constant" val="white" valType="str"/>
        <Param name="colorSpace" updates="constant" val="rgb" valType="str"/>
        <Param name="durationEstim" updates="None" val="" valType="code"/>
        <Param name="flip" updates="constant" val="" valType="str"/>
        <Param name="font" updates="constant" val="Arial" valType="str"/>
        <Param name="languageStyle" updates="None" val="LTR" valType="str"/>
        <Param name="letterHeight" updates="constant" val="0.5" valType="code"/>
        <Param name="name" updates="None" val="BeatNoiseText" valType="code"/>
        <Param name="opacity" updates="constant" val="1" valType="code"/>
        <Param name="ori" updates="constant" val="0" valType="code"/>
        <Param name="pos" updates="constant" val="(5, -10)" valType="code"/>
        <Param name="startEstim" updates="None" val="" valType="code"/>
        <Param name="startType" updates="None" val="time (s)" valType="str"/>
        <Param name="startVal" updates="None" val="0.0" valType="code"/>
        <Param name="stopType" updates="None" val="duration (s)" valType="str"/>
        <Param name="stopVal" updates="constant" val="10" valType="code"/>
        <Param name="text" updates="constant" val="Beat of noise added to same noise to make contrast modulated noise" valType="str"/>
        <Param name="units" updates="None" val="deg" valType="str"/>
        <Param name="wrapWidth" updates="constant" val="10" valType="code"/>
      </TextComponent>
    </Routine>
    <Routine name="Intro_text">
      <TextComponent name="text">
        <Param name="color" updates="constant" val="white" valType="str"/>
        <Param name="colorSpace" updates="constant" val="rgb" valType="str"/>
        <Param name="durationEstim" updates="None" val="" valType="code"/>
        <Param name="flip" updates="constant" val="" valType="str"/>
        <Param name="font" updates="constant" val="Arial" valType="str"/>
        <Param name="languageStyle" updates="None" val="LTR" valType="str"/>
        <Param name="letterHeight" updates="constant" val="0.5" valType="code"/>
        <Param name="name" updates="None" val="text" valType="code"/>
        <Param name="opacity" updates="constant" val="1" valType="code"/>
        <Param name="ori" updates="constant" val="0" valType="code"/>
        <Param name="pos" updates="constant" val="(0, 0)" valType="code"/>
        <Param name="startEstim" updates="None" val="" valType="code"/>
        <Param name="startType" updates="None" val="time (s)" valType="str"/>
        <Param name="startVal" updates="None" val="0.0" valType="code"/>
        <Param name="stopType" updates="None" val="duration (s)" valType="str"/>
        <Param name="stopVal" updates="constant" val="10" valType="code"/>
        <Param name="text" updates="constant" val="This demo makes various types of contrast modulated stimulus. Including examples of contrast modulates sine waves, sine wave beat stimuli, contrast modulated noise using a noise stimulus component as the carrier texture and adding a beat based on a noise carrier back to the noise sample to create contrast modulated noise." valType="str"/>
        <Param name="units" updates="None" val="deg" valType="str"/>
        <Param name="wrapWidth" updates="constant" val="10" valType="code"/>
      </TextComponent>
    </Routine>
  </Routines>
  <Flow>
    <Routine name="Intro_text"/>
    <Routine name="trial"/>
  </Flow>
</PsychoPy2experiment>
