## synaesthesia synaesthesia — Creates video visualizations of audio input, using stereo and pitch information |

## Synopsis

    struct              GstSynaesthesia;

## Description

Synaesthesia is an audio visualisation element. It creates glitter and pulsating fog based on the incomming audio signal.

### Example launch line

    1
    2
    gst-launch -v audiotestsrc ! audioconvert ! synaesthesia ! ximagesink
    gst-launch -v audiotestsrc ! audioconvert ! synaesthesia ! ffmpegcolorspace ! xvimagesink

## Synopsis

### Element Information

plugin | synaesthesia
author | Richard Boulton <richard@tartarus.org>
class | Visualization

### Element Pads

name | sink
direction | sink
presence | always
details | audio/x-raw-int, rate=(int)[ 1, 2147483647 ], channels=(int)2, endianness=(int)1234, width=(int)16, depth=(int)16, signed=(boolean)true

name | src
direction | source
presence | always
details | video/x-raw-rgb, bpp=(int)32, depth=(int)24, endianness=(int)4321, red_mask=(int)65280, green_mask=(int)16711680, blue_mask=(int)-16777216, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]

## Details

### struct GstSynaesthesia

    struct GstSynaesthesia {
      GstElement element;

      /* pads */
      GstPad *sinkpad, *srcpad;
      GstAdapter *adapter;

      guint64 next_ts;              /* the timestamp of the next frame */
      guint64 frame_duration;
      guint bps;                    /* bytes per sample        */
      guint spf;                    /* samples per video frame */

      gint16 datain[2][FFT_BUFFER_SIZE];

      /* video state */
      gint fps_n, fps_d;
      gint width;
      gint height;
      guint outsize;
      GstBufferPool *pool;

      /* Audio state */
      gint sample_rate;
      gint rate;
      gint channels;

      /* Synaesthesia instance */
      syn_instance *si;
    };

## See Also

goom