summaryrefslogtreecommitdiff
path: root/scripts/audio_tuning/conf2ini2.py
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/audio_tuning/conf2ini2.py')
-rwxr-xr-xscripts/audio_tuning/conf2ini2.py166
1 files changed, 0 insertions, 166 deletions
diff --git a/scripts/audio_tuning/conf2ini2.py b/scripts/audio_tuning/conf2ini2.py
deleted file mode 100755
index 476ffd56..00000000
--- a/scripts/audio_tuning/conf2ini2.py
+++ /dev/null
@@ -1,166 +0,0 @@
-#!/usr/bin/python
-#
-# Copyright (c) 2014 The Chromium OS Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-#
-# convert audio.conf from the audio tuning UI to dsp.ini which can be
-# accepted by cras eq/drc plugin.
-
-import json
-import sys
-import fnmatch
-
-biquad_type_name = [
- "none",
- "lowpass",
- "highpass",
- "bandpass",
- "lowshelf",
- "highshelf",
- "peaking",
- "notch",
- "allpass"
- ]
-
-header = """\
-[output_source]
-library=builtin
-label=source
-purpose=playback
-disable=(not (equal? dsp_name "speaker_eq"))
-output_0={src:0}
-output_1={src:1}
-
-[output_sink]
-library=builtin
-label=sink
-purpose=playback
-input_0={dst:0}
-input_1={dst:1}"""
-
-drc_header = """\
-[drc]
-library=builtin
-label=drc
-input_0={%s:0}
-input_1={%s:1}
-output_2={%s:0}
-output_3={%s:1}
-input_4=%-7d ; emphasis_disabled"""
-
-drc_param = """\
-input_%d=%-7g ; f
-input_%d=%-7g ; enable
-input_%d=%-7g ; threshold
-input_%d=%-7g ; knee
-input_%d=%-7g ; ratio
-input_%d=%-7g ; attack
-input_%d=%-7g ; release
-input_%d=%-7g ; boost"""
-
-eq_header = """\
-[eq2]
-library=builtin
-label=eq2
-input_0={%s:0}
-input_1={%s:1}
-output_2={%s:0}
-output_3={%s:1}"""
-
-eq_param = """\
-input_%d=%-7d ; %s
-input_%d=%-7g ; freq
-input_%d=%-7g ; Q
-input_%d=%-7g ; gain"""
-
-def is_true(d, pattern):
- for k in d:
- if fnmatch.fnmatch(k, pattern) and d[k]:
- return True
- return False
-
-def intermediate_name(index):
- return 'intermediate' + ('' if index == 1 else str(index))
-
-def main():
- f = open(sys.argv[1])
- d = json.loads(f.read())
- print header
-
- has_drc = is_true(d, 'global.enable_drc') and is_true(d, 'drc.*.enable')
- has_eq = is_true(d, 'global.enable_eq') and is_true(d, 'eq.*.*.enable')
-
- stages = []
- if has_drc:
- stages.append(print_drc)
- if has_eq:
- stages.append(print_eq)
-
- if is_true(d, 'global.enable_swap') and len(stages) >= 2:
- stages[0], stages[1] = stages[1], stages[0]
-
- for i in range(len(stages)):
- print
- src = 'src' if i == 0 else intermediate_name(i)
- dst = 'dst' if i == len(stages) - 1 else intermediate_name(i + 1)
- stages[i](d, src, dst)
-
-def print_drc(d, src, dst):
- print drc_header % (src, src, dst, dst, int(d['drc.emphasis_disabled']))
- n = 5
- for i in range(3):
- prefix = 'drc.%d.' % i
- f = d[prefix + 'f']
- enable = int(d[prefix + 'enable'])
- threshold = d[prefix + 'threshold']
- knee = d[prefix + 'knee']
- ratio = d[prefix + 'ratio']
- attack = d[prefix + 'attack']
- release = d[prefix + 'release']
- boost = d[prefix + 'boost']
-
- print drc_param % (n, f,
- n+1, enable,
- n+2, threshold,
- n+3, knee,
- n+4, ratio,
- n+5, attack,
- n+6, release,
- n+7, boost)
- n += 8
-
-# Returns two sorted lists, each one contains the enabled eq index for a channel
-def enabled_eq(d):
- eeq = [[], []]
- for k in d:
- s = k.split('.')
- if s[0] == 'eq' and s[3] == 'enable' and d[k]:
- ch_index = int(s[1])
- eq_num = int(s[2])
- eeq[ch_index].append(eq_num)
- return sorted(eeq[0]), sorted(eeq[1])
-
-def print_eq(d, src, dst):
- print eq_header % (src, src, dst, dst)
- eeq = enabled_eq(d)
- eeqn = max(len(eeq[0]), len(eeq[1]))
- n = 4 # the first input index
- for i in range(0, eeqn):
- for ch in (0, 1):
- if i < len(eeq[ch]):
- prefix = 'eq.%d.%d.' % (ch, eeq[ch][i])
- type_name = d[prefix + 'type']
- type_index = biquad_type_name.index(type_name)
- f = d[prefix + 'freq']
- q = d[prefix + 'q']
- g = d[prefix + 'gain']
- else:
- type_name = 'none';
- type_index = 0;
- f = q = g = 0
- print eq_param % (n, type_index, type_name,
- n+1, f, n+2, q, n+3, g)
- n += 4
-
-main()