View difference between Paste ID: DxxmFY0n and EbxQjyfB
SHOW: | | - or go back to the newest paste.
1
# LOG FILES HELP! Leave these fuckers in
2
set("log.file",false)
3
set("log.stdout",true)
4
set("log.level",4)
5
6
# Stick your source stream here
7-
url = "http://fillyradio.com:8000"
7+
url = "http://127.0.0.1:8000"
8
9
# Liquidsoap bitches at fallible sources. Let's pretend this one's infallible
10-
audio = mksafe(input.http(url))
10+
staudio = mksafe(input.http(url))
11
12
# Gate any noisy shit
13
staudio = ladspa.gate(staudio, threshold = -60.0, attack = 0.15, hold = 1.0, decay = 200.0, range = -25.0)
14
 
15
# One big AGC to normalise incoming shit
16
staudio = normalize(target = 0., window = 0.03, gain_min = -16., gain_max = 0., staudio)
17
 
18
# Low ratio compression (smooth that fucker out)
19
staudio = ladspa.sc4(rms_peak=0.3, attack_time = 0.5, release_time = 3., threshold_level = -36.0, ratio=1., makeup_gain = 6., staudio)
20
 
21
# This is the 5-band crossover setup for the block underneath
22
sub = filter.iir.eq.low(frequency = 190.,)
23
 
24
lhi = filter.iir.eq.high(frequency = 190.,)
25
llo = filter.iir.eq.low(frequency = 700.,)
26
 
27
mhi = filter.iir.eq.high(frequency = 700.,)
28
mlo = filter.iir.eq.low(frequency = 2500.,)
29
 
30
hhi = filter.iir.eq.high(frequency = 2500.)
31
hlo = filter.iir.eq.low(frequency = 6500.)
32
 
33
shi = filter.iir.eq.high(frequency = 6500.)
34
slo = filter.iir.eq.low(frequency = 15000.)
35
36
# Basic RMS for use below
37
c = ladspa.sc4(rms_peak = 0.5)
38
# Basic Limiter for use below
39
l = ladspa.tap_limiter(limit_level = -0.5)
40
 
41
# This is basically a bunch of limiters working together to make a 5-Band AGC 
42
staudio = add(normalize=false,
43
  [
44
  l(c(attack_time = 2.25, release_time = 40., threshold_level = -10., ratio=3., makeup_gain = 2., sub(studio))),
45
  l(c(attack_time = 2.25, release_time = 40., threshold_level = -13., ratio=3., makeup_gain = 2., llo(lhi(staudio)))),
46
  l(c(attack_time = 2.25, release_time = 40., threshold_level = -9., ratio=3., makeup_gain = 2., mlo(mhi(staudio)))),
47
  l(c(attack_time = 2.25, release_time = 40., threshold_level = -6., ratio=3., makeup_gain = 1.5, hlo(hhi(staudio)))),
48
  l(c(attack_time = 2.25, release_time = 40., threshold_level = -4., ratio=3., makeup_gain = 1., slo(shi(staudio))))
49
  ])
50
 
51
# If you can limit it, limit the fucker
52
# Blame Final Draft if it breaks
53
finaldraft = l(staudio)
54
55
# Setup your codecs/outputs here (Copy pasta for multiple outputs)
56
output.shoutcast(
57
  %aacplus(channels=2, bitrate=64),
58-
  host="208.67.6.112", port=8004, password="PENGUINS-UP-MY-ARSE",
58+
  host="127.0.0.1", port=8004, password="PENGUINS-UP-MY-ARSE",
59
  finaldraft)
60
# Thanks, Final Draft...