Edit in JSFiddle

<svg xmlns="http://www.w3.org/2000/svg" version="1.1" class="svg-filters">
  <defs>
    <filter id="filter">
      <feTurbulence type="fractalNoise" baseFrequency="0.000001" numOctaves="1" result="warp"></feTurbulence>
      <feDisplacementMap xChannelSelector="R" yChannelSelector="G" scale="60" in="SourceGraphic" in2="warp"></feDisplacementMap>
    </filter>
  </defs>
</svg>
<textarea>SVG filters are awesome!</textarea>
var turb = document.querySelectorAll('#filter feTurbulence')[0];
var dm = document.querySelectorAll('#filter feDisplacementMap')[0];
var params = {
	baseFrequencyX: 0.0001,
	baseFrequencyY: 0.0001,
  scale: 30
}
var gui = new dat.GUI();
gui.add(params, 'baseFrequencyX').min(0.0001).max(0.2).step(0.001).onChange(update);
gui.add(params, 'baseFrequencyY').min(0.0001).max(0.2).step(0.001).onChange(update);
gui.add(params, 'scale').min(0).max(100).step(1).onChange(update);

function update() {
	turb.setAttribute('baseFrequency', params.baseFrequencyX + ' ' + params.baseFrequencyY);
  dm.setAttribute('scale', params.scale);
}
.svg-filters {
  position: absolute;
  visibility: hidden;
  width: 1px;
  height: 1px;
}

textarea {
  -webkit-filter: url("#filter");
  filter: url("/#filter");
  width: 200px;
  height: 100px;
  border: 2px solid black;
  box-shadow: 0 0 0 10px transparent;
}