diff --git a/Vivid/UGens/Analysis.hs b/Vivid/UGens/Analysis.hs
--- a/Vivid/UGens/Analysis.hs
+++ b/Vivid/UGens/Analysis.hs
@@ -11,7 +11,7 @@
      ampComp
 ---   , ampCompA
    , amplitude
----   , detectSilence
+   , detectSilence
 ---   , loudness
 ---   , peak
 ---   , peakFollower
@@ -70,8 +70,11 @@
    (Vs::Vs '["in", "attackSecs", "releaseSecs"])
    (attackSecs_ (0.01::Float), releaseSecs_ (0.01::Float))
 
---- detectSilence ::
---- detectSilence =
+detectSilence :: Args '["in"] '["amp", "time", "doneAction"] a => a -> SDBody a Signal
+detectSilence = makeUGen
+   "DetectSilence" AR
+   (Vs::Vs '["in", "amp", "time", "doneAction"])
+   (amp_ (0.0001::Float), time_ (0.1::Float), doneAction_ (0::Float))
 
 
 --- loudness ::
diff --git a/Vivid/UGens/Args.hs b/Vivid/UGens/Args.hs
--- a/Vivid/UGens/Args.hs
+++ b/Vivid/UGens/Args.hs
@@ -54,6 +54,9 @@
 add_ :: ToSig s as => s -> UA "add" as
 add_ = UA . toSig
 
+amp_ :: ToSig s as => s -> UA "amp" as
+amp_ = UA . toSig
+
 ampThreshold_ :: ToSig s as => s -> UA "ampThreshold" as
 ampThreshold_ = UA . toSig
 
@@ -608,6 +611,9 @@
 -- | Alias for "threshold_"
 thresh_ :: ToSig s as => s -> UA "threshold" as
 thresh_ = threshold_
+
+time_ :: ToSig s as => s -> UA "time" as
+time_ = UA . toSig
 
 timeDispersion_ :: ToSig s as => s -> UA "timeDispersion" as
 timeDispersion_ = UA . toSig
diff --git a/vivid.cabal b/vivid.cabal
--- a/vivid.cabal
+++ b/vivid.cabal
@@ -1,5 +1,5 @@
 name:                vivid
-version:             0.5.0.2
+version:             0.5.1.0
 synopsis:            Sound synthesis with SuperCollider
 description:         
   Music and sound synthesis with SuperCollider.
