diff --git a/docs/changes.rst b/docs/changes.rst
index 920d6fc..34e354e 100644
--- a/docs/changes.rst
+++ b/docs/changes.rst
@@ -8,4 +8,19 @@ v0.1
 
 v1.1.8
 ~~~~~~
-- Move specification of input/output file arguments from __init__ to .build()
\ No newline at end of file
+- Move specification of input/output file arguments from __init__ to .build()
+
+v1.3.0
+~~~~~~
+- patched core sox call to work on Windows
+- added remix
+- added gain to mcompand
+- fixed scientific notation format bug
+- allow null output filepaths in `build`
+- added ability to capture `build` outputs to stdout and stderr
+- added `power_spectrum`
+- added `stat`
+- added `clear` method
+- added `noiseprof` and `noisered` effects
+- added `vol` effect
+- fixed `Combiner.preview()`
\ No newline at end of file
diff --git a/sox/combine.py b/sox/combine.py
index 1a50272..2103bb7 100644
--- a/sox/combine.py
+++ b/sox/combine.py
@@ -15,6 +15,7 @@ from .core import ENCODING_VALS
 from .core import enquote_filepath
 from .core import is_number
 from .core import sox
+from .core import play
 from .core import SoxError
 from .core import SoxiError
 from .core import VALID_FORMATS
@@ -110,6 +111,45 @@ class Combiner(Transformer):
                 logging.info("[SoX] {}".format(out))
             return True
 
+    def preview(self, input_filepath_list, combine_type, input_volumes=None):
+        '''Play a preview of the output with the current set of effects
+
+        Parameters
+        ----------
+        input_filepath_list : list of str
+            List of paths to input audio files.
+        combine_type : str
+            Input file combining method. One of the following values:
+                * concatenate : combine input files by concatenating in the
+                    order given.
+                * merge : combine input files by stacking each input file into
+                    a new channel of the output file.
+                * mix : combine input files by summing samples in corresponding
+                    channels.
+                * mix-power : combine input files with volume adjustments such
+                    that the output volume is roughly equivlent to one of the
+                    input signals.
+                * multiply : combine input files by multiplying samples in
+                    corresponding samples.
+        input_volumes : list of float, default=None
+            List of volumes to be applied upon combining input files. Volumes
+            are applied to the input files in order.
+            If None, input files will be combined at their original volumes.
+
+        '''
+        args = ["play", "--no-show-progress"]
+        args.extend(self.globals)
+        args.extend(['--combine', combine_type])
+
+        input_format_list = _build_input_format_list(
+            input_filepath_list, input_volumes, self.input_format
+        )
+        input_args = _build_input_args(input_filepath_list, input_format_list)
+        args.extend(input_args)
+        args.extend(self.effects)
+
+        play(args)
+
     def set_input_format(self, file_type=None, rate=None, bits=None,
                          channels=None, encoding=None, ignore_length=None):
         '''Sets input file format arguments. This is primarily useful when
diff --git a/sox/file_info.py b/sox/file_info.py
index bcf368c..a66d9aa 100644
--- a/sox/file_info.py
+++ b/sox/file_info.py
@@ -258,8 +258,7 @@ def validate_output_file(output_filepath):
     '''
 
     nowrite_conditions = [
-        bool(os.path.dirname(output_filepath)) or\
-            not os.access(os.getcwd(), os.W_OK),
+        bool(os.path.dirname(output_filepath)),
         not os.access(os.path.dirname(output_filepath), os.W_OK)]
 
     if all(nowrite_conditions):
diff --git a/sox/transform.py b/sox/transform.py
index 74be29a..c694fee 100644
--- a/sox/transform.py
+++ b/sox/transform.py
@@ -458,6 +458,12 @@ class Transformer(object):
 
     def preview(self, input_filepath):
         '''Play a preview of the output with the current set of effects
+
+        Parameters
+        ----------
+        input_filepath : str
+            Path to input audio file.
+
         '''
         args = ["play", "--no-show-progress"]
         args.extend(self.globals)
@@ -1875,15 +1881,10 @@ class Transformer(object):
 
         '''
         if os.path.isdir(profile_path):
-            raise ValueError("profile_path {} is a directory, but filename should be specified.")
+            raise ValueError("profile_path {} is a directory, but should be a file")
         
-        if os.path.dirname(profile_path) == '' and profile_path != '':
-            _abs_profile_path = os.path.join(os.getcwd(), profile_path)
-        else:
-            _abs_profile_path = profile_path
-                
-        if not os.access(os.path.dirname(_abs_profile_path), os.W_OK):
-            raise IOError("profile_path {} is not writeable.".format(_abs_profile_path))
+        if not os.access(os.path.dirname(profile_path), os.W_OK):
+            raise IOError("profile_path {} is not writeable.".format(profile_path))
 
         effect_args = ['noiseprof', profile_path]
         self.build(input_filepath, None, extra_args=effect_args)
diff --git a/sox/version.py b/sox/version.py
index 6d16084..83db3e9 100644
--- a/sox/version.py
+++ b/sox/version.py
@@ -2,5 +2,5 @@
 # -*- coding: utf-8 -*-
 """Version info"""
 
-short_version = '1.2'
-version = '1.2.9'
+short_version = '1.3'
+version = '1.3.0'

Combiner.preview() fails
`Combiner` inherits `preview` from `Transformer` but it needs to be overwritten because the base call is different for multiple inputs.
diff --git a/tests/test_combine.py b/tests/test_combine.py
index 36985bf..c0fdea6 100644
--- a/tests/test_combine.py
+++ b/tests/test_combine.py
@@ -379,6 +379,22 @@ class TestBuildInputFormatList(unittest.TestCase):
         self.assertEqual(expected, actual)
 
 
+class TestCombinePreview(unittest.TestCase):
+    def setUp(self):
+        self.cbn = new_combiner()
+        self.cbn.trim(0, 0.1)
+
+    def test_valid(self):
+        expected = None
+        actual = self.cbn.preview([INPUT_WAV, INPUT_WAV], 'mix')
+        self.assertEqual(expected, actual)
+
+    def test_valid_vol(self):
+        expected = None
+        actual = self.cbn.preview([INPUT_WAV, INPUT_WAV], 'mix', [1.0, 0.5])
+        self.assertEqual(expected, actual)
+
+
 class TestBuildInputArgs(unittest.TestCase):
 
     def test_unequal_length(self):
diff --git a/tests/test_transform.py b/tests/test_transform.py
index 1f7795a..3ad7533 100644
--- a/tests/test_transform.py
+++ b/tests/test_transform.py
@@ -2679,14 +2679,6 @@ class TestTransformerNoiseprof(unittest.TestCase):
         with self.assertRaises(IOError):
             tfm.noiseprof(INPUT_FILE, '/usr/noise.prof')
 
-    def test_noise_prof_invalid_cwd(self):
-        tfm = new_transformer()
-        _cwd = os.getcwd()
-        os.chdir('/')
-        with self.assertRaises(IOError):
-            tfm.noiseprof(INPUT_FILE, 'noise.prof')
-        os.chdir(_cwd)
-
 
 class TestTransformerNoisered(unittest.TestCase):
     

pip install -e .[tests]
parse_log_pytest
pytest pytest-cov pytest-pep8
apt-get update apt-get install -y sox
3.9
pytest --no-header -rA --tb=line --color=no -p no:cacheprovider -W ignore::DeprecationWarning
coverage==7.8.0
exceptiongroup==1.2.2
execnet==2.1.1
iniconfig==2.1.0
packaging==24.2
pep8==1.7.1
pluggy==1.5.0
pytest==8.3.5
pytest-cache==1.0
pytest-cov==6.0.0
pytest-pep8==1.0.6
-e git+https://github.com/rabitt/pysox.git@6347273c53907075fa0d2ed5891ac9364d7a2b0e#egg=sox
tomli==2.2.1

name: pysox
channels:
  - defaults
  - https://repo.anaconda.com/pkgs/main
  - https://repo.anaconda.com/pkgs/r
  - conda-forge
dependencies:
  - _libgcc_mutex=0.1=main
  - _openmp_mutex=5.1=1_gnu
  - ca-certificates=2025.2.25=h06a4308_0
  - ld_impl_linux-64=2.40=h12ee557_0
  - libffi=3.4.4=h6a678d5_1
  - libgcc-ng=11.2.0=h1234567_1
  - libgomp=11.2.0=h1234567_1
  - libstdcxx-ng=11.2.0=h1234567_1
  - ncurses=6.4=h6a678d5_0
  - openssl=3.0.16=h5eee18b_0
  - pip=25.0=py39h06a4308_0
  - python=3.9.21=he870216_1
  - readline=8.2=h5eee18b_0
  - setuptools=75.8.0=py39h06a4308_0
  - sqlite=3.45.3=h5eee18b_0
  - tk=8.6.14=h39e8969_0
  - tzdata=2025a=h04d1e81_0
  - wheel=0.45.1=py39h06a4308_0
  - xz=5.6.4=h5eee18b_1
  - zlib=1.2.13=h5eee18b_1
  - pip:
      - coverage==7.8.0
      - exceptiongroup==1.2.2
      - execnet==2.1.1
      - iniconfig==2.1.0
      - packaging==24.2
      - pep8==1.7.1
      - pluggy==1.5.0
      - pytest==8.3.5
      - pytest-cache==1.0
      - pytest-cov==6.0.0
      - pytest-pep8==1.0.6
      - tomli==2.2.1
prefix: /opt/conda/envs/pysox

tests/test_combine.py::TestCombinePreview::test_valid tests/test_combine.py::TestCombinePreview::test_valid_vol
tests/test_transform.py::TestTransformerNoiseprof::test_noise_prof_invalid_write tests/test_transform.py::TestTransformerNoisered::test_noise_prof_invalid
tests/test_combine.py::TestCombineDefault::test_build tests/test_combine.py::TestCombineDefault::test_build_with_vols tests/test_combine.py::TestCombineDefault::test_effects tests/test_combine.py::TestCombineDefault::test_effects_log tests/test_combine.py::TestCombineDefault::test_failed_build tests/test_combine.py::TestCombineDefault::test_globals tests/test_combine.py::TestCombineDefault::test_output_format tests/test_combine.py::TestCombineTypes::test_concatenate tests/test_combine.py::TestCombineTypes::test_merge tests/test_combine.py::TestCombineTypes::test_mix tests/test_combine.py::TestCombineTypes::test_mixpower tests/test_combine.py::TestCombineTypes::test_multiply tests/test_combine.py::TestSetInputFormat::test_bits tests/test_combine.py::TestSetInputFormat::test_build_greater_len tests/test_combine.py::TestSetInputFormat::test_build_greater_len_vol tests/test_combine.py::TestSetInputFormat::test_build_lesser_len tests/test_combine.py::TestSetInputFormat::test_build_lesser_len_vol tests/test_combine.py::TestSetInputFormat::test_build_same_len tests/test_combine.py::TestSetInputFormat::test_build_same_len_vol tests/test_combine.py::TestSetInputFormat::test_channels tests/test_combine.py::TestSetInputFormat::test_encoding tests/test_combine.py::TestSetInputFormat::test_file_type tests/test_combine.py::TestSetInputFormat::test_ignore_length tests/test_combine.py::TestSetInputFormat::test_invalid_bits tests/test_combine.py::TestSetInputFormat::test_invalid_bits_val tests/test_combine.py::TestSetInputFormat::test_invalid_channels tests/test_combine.py::TestSetInputFormat::test_invalid_channels_val tests/test_combine.py::TestSetInputFormat::test_invalid_encoding tests/test_combine.py::TestSetInputFormat::test_invalid_encoding_val tests/test_combine.py::TestSetInputFormat::test_invalid_file_type tests/test_combine.py::TestSetInputFormat::test_invalid_file_type_val tests/test_combine.py::TestSetInputFormat::test_invalid_ignore_length tests/test_combine.py::TestSetInputFormat::test_invalid_ignore_length_val tests/test_combine.py::TestSetInputFormat::test_invalid_rate tests/test_combine.py::TestSetInputFormat::test_invalid_rate_val tests/test_combine.py::TestSetInputFormat::test_multiple_different_len tests/test_combine.py::TestSetInputFormat::test_multiple_same_len tests/test_combine.py::TestSetInputFormat::test_none tests/test_combine.py::TestSetInputFormat::test_rate tests/test_combine.py::TestValidateFileFormats::test_different_num_channels tests/test_combine.py::TestValidateFileFormats::test_different_samplerates tests/test_combine.py::TestValidateSampleRates::test_different_samplerates tests/test_combine.py::TestValidateSampleRates::test_same_samplerates tests/test_combine.py::TestValidateNumChannels::test_different_numchannels tests/test_combine.py::TestValidateNumChannels::test_same_numchannels tests/test_combine.py::TestBuildInputFormatList::test_equal_num_fmt tests/test_combine.py::TestBuildInputFormatList::test_equal_num_vol tests/test_combine.py::TestBuildInputFormatList::test_greater_num_fmt tests/test_combine.py::TestBuildInputFormatList::test_greater_num_vol tests/test_combine.py::TestBuildInputFormatList::test_lesser_num_fmt tests/test_combine.py::TestBuildInputFormatList::test_lesser_num_vol tests/test_combine.py::TestBuildInputFormatList::test_none tests/test_combine.py::TestBuildInputArgs::test_basic tests/test_combine.py::TestBuildInputArgs::test_unequal_length tests/test_combine.py::TestValidateCombineType::test_invalid tests/test_combine.py::TestValidateCombineType::test_valid tests/test_combine.py::TestValidateVolumes::test_invalid_type tests/test_combine.py::TestValidateVolumes::test_invalid_vol tests/test_combine.py::TestValidateVolumes::test_valid_list tests/test_combine.py::TestValidateVolumes::test_valid_none tests/test_transform.py::TestTransformDefault::test_effects tests/test_transform.py::TestTransformDefault::test_effects_log tests/test_transform.py::TestTransformDefault::test_globals tests/test_transform.py::TestTransformDefault::test_input_format tests/test_transform.py::TestTransformDefault::test_output_format tests/test_transform.py::TestTransformSetGlobals::test_defaults tests/test_transform.py::TestTransformSetGlobals::test_dither tests/test_transform.py::TestTransformSetGlobals::test_dither_invalid tests/test_transform.py::TestTransformSetGlobals::test_guard tests/test_transform.py::TestTransformSetGlobals::test_guard_invalid tests/test_transform.py::TestTransformSetGlobals::test_multithread tests/test_transform.py::TestTransformSetGlobals::test_multithread_invalid tests/test_transform.py::TestTransformSetGlobals::test_replay_gain tests/test_transform.py::TestTransformSetGlobals::test_replay_gain_invalid tests/test_transform.py::TestTransformSetGlobals::test_verbosity tests/test_transform.py::TestTransformSetGlobals::test_verbosity_invalid tests/test_transform.py::TestTransformSetInputFormat::test_bits tests/test_transform.py::TestTransformSetInputFormat::test_bits_invalid tests/test_transform.py::TestTransformSetInputFormat::test_bits_invalid2 tests/test_transform.py::TestTransformSetInputFormat::test_channels tests/test_transform.py::TestTransformSetInputFormat::test_channels_invalid tests/test_transform.py::TestTransformSetInputFormat::test_channels_invalid2 tests/test_transform.py::TestTransformSetInputFormat::test_defaults tests/test_transform.py::TestTransformSetInputFormat::test_encoding tests/test_transform.py::TestTransformSetInputFormat::test_encoding_invalid tests/test_transform.py::TestTransformSetInputFormat::test_file_type tests/test_transform.py::TestTransformSetInputFormat::test_file_type_invalid tests/test_transform.py::TestTransformSetInputFormat::test_ignore_length tests/test_transform.py::TestTransformSetInputFormat::test_ignore_length_invalid tests/test_transform.py::TestTransformSetInputFormat::test_rate tests/test_transform.py::TestTransformSetInputFormat::test_rate_invalid tests/test_transform.py::TestTransformSetInputFormat::test_rate_invalid2 tests/test_transform.py::TestTransformSetInputFormat::test_rate_scinotation tests/test_transform.py::TestTransformSetOutputFormat::test_append_comments tests/test_transform.py::TestTransformSetOutputFormat::test_append_comments_invalid tests/test_transform.py::TestTransformSetOutputFormat::test_bits tests/test_transform.py::TestTransformSetOutputFormat::test_bits_invalid tests/test_transform.py::TestTransformSetOutputFormat::test_bits_invalid2 tests/test_transform.py::TestTransformSetOutputFormat::test_channels tests/test_transform.py::TestTransformSetOutputFormat::test_channels_invalid tests/test_transform.py::TestTransformSetOutputFormat::test_channels_invalid2 tests/test_transform.py::TestTransformSetOutputFormat::test_comments tests/test_transform.py::TestTransformSetOutputFormat::test_comments_invalid tests/test_transform.py::TestTransformSetOutputFormat::test_defaults tests/test_transform.py::TestTransformSetOutputFormat::test_encoding tests/test_transform.py::TestTransformSetOutputFormat::test_encoding_invalid tests/test_transform.py::TestTransformSetOutputFormat::test_file_type tests/test_transform.py::TestTransformSetOutputFormat::test_file_type_invalid tests/test_transform.py::TestTransformSetOutputFormat::test_file_type_null_output tests/test_transform.py::TestTransformSetOutputFormat::test_rate tests/test_transform.py::TestTransformSetOutputFormat::test_rate_invalid tests/test_transform.py::TestTransformSetOutputFormat::test_rate_invalid2 tests/test_transform.py::TestTransformSetOutputFormat::test_rate_scinotation tests/test_transform.py::TestTransformerBuild::test_extra_arg tests/test_transform.py::TestTransformerBuild::test_extra_args_invalid tests/test_transform.py::TestTransformerBuild::test_failed_sox tests/test_transform.py::TestTransformerBuild::test_input_output_equal tests/test_transform.py::TestTransformerBuild::test_invalid tests/test_transform.py::TestTransformerBuild::test_null_output tests/test_transform.py::TestTransformerBuild::test_return_outputs tests/test_transform.py::TestTransformerBuild::test_return_outputs_err tests/test_transform.py::TestTransformerBuild::test_valid tests/test_transform.py::TestTransformerBuild::test_valid_spacey tests/test_transform.py::TestTransformerClearEffects::test_clear tests/test_transform.py::TestTransformerPreview::test_valid tests/test_transform.py::TestTransformerAllpass::test_default tests/test_transform.py::TestTransformerAllpass::test_frequency_invalid tests/test_transform.py::TestTransformerAllpass::test_width_q_invalid tests/test_transform.py::TestTransformerBandpass::test_constant_skirt tests/test_transform.py::TestTransformerBandpass::test_constant_skirt_invalid tests/test_transform.py::TestTransformerBandpass::test_default tests/test_transform.py::TestTransformerBandpass::test_frequency_invalid tests/test_transform.py::TestTransformerBandpass::test_width_q_invalid tests/test_transform.py::TestTransformerBandreject::test_default tests/test_transform.py::TestTransformerBandreject::test_frequency_invalid tests/test_transform.py::TestTransformerBandreject::test_width_q_invalid tests/test_transform.py::TestTransformerBass::test_default tests/test_transform.py::TestTransformerBass::test_frequency_invalid tests/test_transform.py::TestTransformerBass::test_gain_db_invalid tests/test_transform.py::TestTransformerBass::test_slope_invalid tests/test_transform.py::TestTransformerBend::test_cents_invalid_len tests/test_transform.py::TestTransformerBend::test_cents_invalid_nonlist tests/test_transform.py::TestTransformerBend::test_cents_invalid_vals tests/test_transform.py::TestTransformerBend::test_default tests/test_transform.py::TestTransformerBend::test_end_times_invalid_len tests/test_transform.py::TestTransformerBend::test_end_times_invalid_nonlist tests/test_transform.py::TestTransformerBend::test_end_times_invalid_order tests/test_transform.py::TestTransformerBend::test_end_times_invalid_vals tests/test_transform.py::TestTransformerBend::test_frame_rate_invalid tests/test_transform.py::TestTransformerBend::test_frame_rate_valid tests/test_transform.py::TestTransformerBend::test_n_bends_invalid tests/test_transform.py::TestTransformerBend::test_overlapping_intervals tests/test_transform.py::TestTransformerBend::test_oversample_rate_invalid tests/test_transform.py::TestTransformerBend::test_oversample_rate_valid tests/test_transform.py::TestTransformerBend::test_start_greater_end tests/test_transform.py::TestTransformerBend::test_start_times_invalid_len tests/test_transform.py::TestTransformerBend::test_start_times_invalid_nonlist tests/test_transform.py::TestTransformerBend::test_start_times_invalid_order tests/test_transform.py::TestTransformerBend::test_start_times_invalid_vals tests/test_transform.py::TestTransformerBiquad::test_a_non_num tests/test_transform.py::TestTransformerBiquad::test_a_nonlist tests/test_transform.py::TestTransformerBiquad::test_a_wrong_len tests/test_transform.py::TestTransformerBiquad::test_b_non_num tests/test_transform.py::TestTransformerBiquad::test_b_nonlist tests/test_transform.py::TestTransformerBiquad::test_b_wrong_len tests/test_transform.py::TestTransformerBiquad::test_default tests/test_transform.py::TestTransformerChannels::test_default tests/test_transform.py::TestTransformerChannels::test_invalid_nchannels tests/test_transform.py::TestTransformerChorus::test_default tests/test_transform.py::TestTransformerChorus::test_explicit_args tests/test_transform.py::TestTransformerChorus::test_invalid_decays tests/test_transform.py::TestTransformerChorus::test_invalid_decays_vals tests/test_transform.py::TestTransformerChorus::test_invalid_decays_wronglen tests/test_transform.py::TestTransformerChorus::test_invalid_delays tests/test_transform.py::TestTransformerChorus::test_invalid_delays_vals tests/test_transform.py::TestTransformerChorus::test_invalid_delays_wronglen tests/test_transform.py::TestTransformerChorus::test_invalid_depths tests/test_transform.py::TestTransformerChorus::test_invalid_depths_vals tests/test_transform.py::TestTransformerChorus::test_invalid_depths_wronglen tests/test_transform.py::TestTransformerChorus::test_invalid_gain_in tests/test_transform.py::TestTransformerChorus::test_invalid_gain_out tests/test_transform.py::TestTransformerChorus::test_invalid_n_voices tests/test_transform.py::TestTransformerChorus::test_invalid_shapes tests/test_transform.py::TestTransformerChorus::test_invalid_shapes_vals tests/test_transform.py::TestTransformerChorus::test_invalid_shapes_wronglen tests/test_transform.py::TestTransformerChorus::test_invalid_speeds tests/test_transform.py::TestTransformerChorus::test_invalid_speeds_vals tests/test_transform.py::TestTransformerChorus::test_invalid_speeds_wronglen tests/test_transform.py::TestTransformerContrast::test_default tests/test_transform.py::TestTransformerContrast::test_invalid_amount_big tests/test_transform.py::TestTransformerContrast::test_invalid_amount_neg tests/test_transform.py::TestTransformerContrast::test_invalid_amount_nonnum tests/test_transform.py::TestTransformerCompand::test_attack_bigger_decay tests/test_transform.py::TestTransformerCompand::test_attack_time_invalid_neg tests/test_transform.py::TestTransformerCompand::test_attack_time_invalid_nonnum tests/test_transform.py::TestTransformerCompand::test_attack_time_valid tests/test_transform.py::TestTransformerCompand::test_decay_time_invalid_neg tests/test_transform.py::TestTransformerCompand::test_decay_time_invalid_nonnum tests/test_transform.py::TestTransformerCompand::test_decay_time_valid tests/test_transform.py::TestTransformerCompand::test_default tests/test_transform.py::TestTransformerCompand::test_soft_knee_invalid tests/test_transform.py::TestTransformerCompand::test_soft_knee_none tests/test_transform.py::TestTransformerCompand::test_soft_knee_valid tests/test_transform.py::TestTransformerCompand::test_tf_points_empty tests/test_transform.py::TestTransformerCompand::test_tf_points_nonlist tests/test_transform.py::TestTransformerCompand::test_tf_points_nontuples tests/test_transform.py::TestTransformerCompand::test_tf_points_tup_dups tests/test_transform.py::TestTransformerCompand::test_tf_points_tup_len tests/test_transform.py::TestTransformerCompand::test_tf_points_tup_nonnum tests/test_transform.py::TestTransformerCompand::test_tf_points_tup_nonnum2 tests/test_transform.py::TestTransformerCompand::test_tf_points_tup_positive tests/test_transform.py::TestTransformerCompand::test_tf_points_valid tests/test_transform.py::TestTransformerConvert::test_bitdepth_invalid tests/test_transform.py::TestTransformerConvert::test_bitdepth_valid tests/test_transform.py::TestTransformerConvert::test_channels_invalid1 tests/test_transform.py::TestTransformerConvert::test_channels_invalid2 tests/test_transform.py::TestTransformerConvert::test_channels_valid tests/test_transform.py::TestTransformerConvert::test_default tests/test_transform.py::TestTransformerConvert::test_samplerate_invalid tests/test_transform.py::TestTransformerConvert::test_samplerate_valid tests/test_transform.py::TestTransformerDcshift::test_default tests/test_transform.py::TestTransformerDcshift::test_invalid_shift_big tests/test_transform.py::TestTransformerDcshift::test_invalid_shift_neg tests/test_transform.py::TestTransformerDcshift::test_invalid_shift_nonnum tests/test_transform.py::TestTransformerDeemph::test_default tests/test_transform.py::TestTransformerDelay::test_default tests/test_transform.py::TestTransformerDelay::test_default_three_channel tests/test_transform.py::TestTransformerDelay::test_invalid_position_type tests/test_transform.py::TestTransformerDelay::test_invalid_position_vals tests/test_transform.py::TestTransformerDownsample::test_default tests/test_transform.py::TestTransformerDownsample::test_invalid_factor_neg tests/test_transform.py::TestTransformerDownsample::test_invalid_factor_nonnum tests/test_transform.py::TestTransformerEarwax::test_default tests/test_transform.py::TestTransformerEcho::test_decays_invalid_len tests/test_transform.py::TestTransformerEcho::test_decays_invalid_type tests/test_transform.py::TestTransformerEcho::test_decays_invalid_vals tests/test_transform.py::TestTransformerEcho::test_decays_valid tests/test_transform.py::TestTransformerEcho::test_default tests/test_transform.py::TestTransformerEcho::test_delays_invalid_len tests/test_transform.py::TestTransformerEcho::test_delays_invalid_type tests/test_transform.py::TestTransformerEcho::test_delays_invalid_vals tests/test_transform.py::TestTransformerEcho::test_delays_valid tests/test_transform.py::TestTransformerEcho::test_gain_in_invalid tests/test_transform.py::TestTransformerEcho::test_gain_in_valid tests/test_transform.py::TestTransformerEcho::test_gain_out_invalid tests/test_transform.py::TestTransformerEcho::test_gain_out_valid tests/test_transform.py::TestTransformerEcho::test_n_echos_invalid tests/test_transform.py::TestTransformerEcho::test_n_echos_valid tests/test_transform.py::TestTransformerEchos::test_decays_invalid_len tests/test_transform.py::TestTransformerEchos::test_decays_invalid_type tests/test_transform.py::TestTransformerEchos::test_decays_invalid_vals tests/test_transform.py::TestTransformerEchos::test_decays_valid tests/test_transform.py::TestTransformerEchos::test_default tests/test_transform.py::TestTransformerEchos::test_delays_invalid_len tests/test_transform.py::TestTransformerEchos::test_delays_invalid_type tests/test_transform.py::TestTransformerEchos::test_delays_invalid_vals tests/test_transform.py::TestTransformerEchos::test_delays_valid tests/test_transform.py::TestTransformerEchos::test_gain_in_invalid tests/test_transform.py::TestTransformerEchos::test_gain_in_valid tests/test_transform.py::TestTransformerEchos::test_gain_out_invalid tests/test_transform.py::TestTransformerEchos::test_gain_out_valid tests/test_transform.py::TestTransformerEchos::test_n_echos_invalid tests/test_transform.py::TestTransformerEchos::test_n_echos_valid tests/test_transform.py::TestTransformerEqualizer::test_default tests/test_transform.py::TestTransformerEqualizer::test_frequency_invalid tests/test_transform.py::TestTransformerEqualizer::test_gain_db_invalid tests/test_transform.py::TestTransformerEqualizer::test_width_q_invalid tests/test_transform.py::TestTransformerFade::test_default tests/test_transform.py::TestTransformerFade::test_fade_in_invalid tests/test_transform.py::TestTransformerFade::test_fade_in_valid tests/test_transform.py::TestTransformerFade::test_fade_out_invalid tests/test_transform.py::TestTransformerFade::test_fade_out_valid tests/test_transform.py::TestTransformerFade::test_fade_shape_invalid tests/test_transform.py::TestTransformerFade::test_fade_shape_valid tests/test_transform.py::TestTransformerFir::test_default tests/test_transform.py::TestTransformerFir::test_invalid_coeffs_nonlist tests/test_transform.py::TestTransformerFir::test_invalid_coeffs_vals tests/test_transform.py::TestTransformerFlanger::test_default tests/test_transform.py::TestTransformerFlanger::test_flanger_delay_invalid tests/test_transform.py::TestTransformerFlanger::test_flanger_delay_valid tests/test_transform.py::TestTransformerFlanger::test_flanger_depth_invalid tests/test_transform.py::TestTransformerFlanger::test_flanger_depth_valid tests/test_transform.py::TestTransformerFlanger::test_flanger_interp_invalid tests/test_transform.py::TestTransformerFlanger::test_flanger_interp_valid tests/test_transform.py::TestTransformerFlanger::test_flanger_phase_invalid tests/test_transform.py::TestTransformerFlanger::test_flanger_phase_valid tests/test_transform.py::TestTransformerFlanger::test_flanger_regen_invalid tests/test_transform.py::TestTransformerFlanger::test_flanger_regen_valid tests/test_transform.py::TestTransformerFlanger::test_flanger_shape_invalid tests/test_transform.py::TestTransformerFlanger::test_flanger_shape_valid tests/test_transform.py::TestTransformerFlanger::test_flanger_speed_invalid tests/test_transform.py::TestTransformerFlanger::test_flanger_speed_valid tests/test_transform.py::TestTransformerFlanger::test_flanger_width_invalid tests/test_transform.py::TestTransformerFlanger::test_flanger_width_valid tests/test_transform.py::TestTransformerGain::test_balance_invalid tests/test_transform.py::TestTransformerGain::test_balance_valid tests/test_transform.py::TestTransformerGain::test_default tests/test_transform.py::TestTransformerGain::test_gain_db_invalid tests/test_transform.py::TestTransformerGain::test_gain_db_valid tests/test_transform.py::TestTransformerGain::test_limiter_invalid tests/test_transform.py::TestTransformerGain::test_limiter_valid tests/test_transform.py::TestTransformerGain::test_normalize_invalid tests/test_transform.py::TestTransformerGain::test_normalize_valid tests/test_transform.py::TestTransformerHighpass::test_default tests/test_transform.py::TestTransformerHighpass::test_frequency_invalid tests/test_transform.py::TestTransformerHighpass::test_n_poles_invalid tests/test_transform.py::TestTransformerHighpass::test_one_pole tests/test_transform.py::TestTransformerHighpass::test_width_q_invalid tests/test_transform.py::TestTransformerHilbert::test_default tests/test_transform.py::TestTransformerHilbert::test_num_taps_invalid tests/test_transform.py::TestTransformerHilbert::test_num_taps_invalid_even tests/test_transform.py::TestTransformerHilbert::test_num_taps_valid tests/test_transform.py::TestTransformerLowpass::test_default tests/test_transform.py::TestTransformerLowpass::test_frequency_invalid tests/test_transform.py::TestTransformerLowpass::test_n_poles_invalid tests/test_transform.py::TestTransformerLowpass::test_one_pole tests/test_transform.py::TestTransformerLowpass::test_width_q_invalid tests/test_transform.py::TestTransformerLoudness::test_default tests/test_transform.py::TestTransformerLoudness::test_gain_db_invalid tests/test_transform.py::TestTransformerLoudness::test_gain_db_valid tests/test_transform.py::TestTransformerLoudness::test_reference_level_invalid tests/test_transform.py::TestTransformerLoudness::test_reference_level_oorange tests/test_transform.py::TestTransformerLoudness::test_reference_level_valid tests/test_transform.py::TestTransformerMcompand::test_attack_time_invalid_len tests/test_transform.py::TestTransformerMcompand::test_attack_time_invalid_neg tests/test_transform.py::TestTransformerMcompand::test_attack_time_invalid_nonnum tests/test_transform.py::TestTransformerMcompand::test_attack_time_invalid_type tests/test_transform.py::TestTransformerMcompand::test_attack_time_valid tests/test_transform.py::TestTransformerMcompand::test_crossover_frequencies_invalid tests/test_transform.py::TestTransformerMcompand::test_crossover_frequencies_invalid_vals tests/test_transform.py::TestTransformerMcompand::test_crossover_frequencies_valid tests/test_transform.py::TestTransformerMcompand::test_decay_time_invalid_len tests/test_transform.py::TestTransformerMcompand::test_decay_time_invalid_neg tests/test_transform.py::TestTransformerMcompand::test_decay_time_invalid_nonnum tests/test_transform.py::TestTransformerMcompand::test_decay_time_invalid_type tests/test_transform.py::TestTransformerMcompand::test_decay_time_valid tests/test_transform.py::TestTransformerMcompand::test_default tests/test_transform.py::TestTransformerMcompand::test_gain_len_invalid tests/test_transform.py::TestTransformerMcompand::test_gain_valid tests/test_transform.py::TestTransformerMcompand::test_gain_values_invalid tests/test_transform.py::TestTransformerMcompand::test_n_bands_invalid tests/test_transform.py::TestTransformerMcompand::test_n_bands_valid tests/test_transform.py::TestTransformerMcompand::test_soft_knee_db_invalid_len tests/test_transform.py::TestTransformerMcompand::test_soft_knee_db_invalid_type tests/test_transform.py::TestTransformerMcompand::test_soft_knee_invalid tests/test_transform.py::TestTransformerMcompand::test_soft_knee_none tests/test_transform.py::TestTransformerMcompand::test_soft_knee_valid tests/test_transform.py::TestTransformerMcompand::test_tf_points_elt_empty tests/test_transform.py::TestTransformerMcompand::test_tf_points_elt_nonlist tests/test_transform.py::TestTransformerMcompand::test_tf_points_elt_nontuples tests/test_transform.py::TestTransformerMcompand::test_tf_points_elt_tup_len tests/test_transform.py::TestTransformerMcompand::test_tf_points_elt_tup_nonnum tests/test_transform.py::TestTransformerMcompand::test_tf_points_tup_dups tests/test_transform.py::TestTransformerMcompand::test_tf_points_tup_nonnum2 tests/test_transform.py::TestTransformerMcompand::test_tf_points_tup_positive tests/test_transform.py::TestTransformerMcompand::test_tf_points_valid tests/test_transform.py::TestTransformerMcompand::test_tf_points_wrong_len tests/test_transform.py::TestTransformerNoiseprof::test_default tests/test_transform.py::TestTransformerNoiseprof::test_noise_prof_invalid_dir tests/test_transform.py::TestTransformerNoisered::test_amount_invalid tests/test_transform.py::TestTransformerNoisered::test_amount_valid tests/test_transform.py::TestTransformerNoisered::test_default tests/test_transform.py::TestTransformerNoisered::test_noise_prof_valid tests/test_transform.py::TestTransformerNorm::test_db_level_invalid tests/test_transform.py::TestTransformerNorm::test_db_level_valid tests/test_transform.py::TestTransformerNorm::test_default tests/test_transform.py::TestTransformerOops::test_default tests/test_transform.py::TestTransformerOverdrive::test_colour_invalid tests/test_transform.py::TestTransformerOverdrive::test_colour_valid tests/test_transform.py::TestTransformerOverdrive::test_default tests/test_transform.py::TestTransformerOverdrive::test_gain_db_invalid tests/test_transform.py::TestTransformerOverdrive::test_gain_db_valid tests/test_transform.py::TestTransformerPad::test_default tests/test_transform.py::TestTransformerPad::test_end_duration_invalid tests/test_transform.py::TestTransformerPad::test_end_duration_valid tests/test_transform.py::TestTransformerPad::test_start_duration_invalid tests/test_transform.py::TestTransformerPad::test_start_duration_valid tests/test_transform.py::TestTransformerPhaser::test_decay_invalid tests/test_transform.py::TestTransformerPhaser::test_decay_valid tests/test_transform.py::TestTransformerPhaser::test_default tests/test_transform.py::TestTransformerPhaser::test_delay_invalid tests/test_transform.py::TestTransformerPhaser::test_delay_valid tests/test_transform.py::TestTransformerPhaser::test_gain_in_invalid tests/test_transform.py::TestTransformerPhaser::test_gain_in_valid tests/test_transform.py::TestTransformerPhaser::test_gain_out_invalid tests/test_transform.py::TestTransformerPhaser::test_gain_out_valid tests/test_transform.py::TestTransformerPhaser::test_modulation_shape_invalid tests/test_transform.py::TestTransformerPhaser::test_modulation_shape_valid tests/test_transform.py::TestTransformerPhaser::test_speed_invalid tests/test_transform.py::TestTransformerPhaser::test_speed_valid tests/test_transform.py::TestTransformerPitch::test_default tests/test_transform.py::TestTransformerPitch::test_n_semitones_invalid tests/test_transform.py::TestTransformerPitch::test_n_semitones_valid tests/test_transform.py::TestTransformerPitch::test_n_semitones_warning tests/test_transform.py::TestTransformerPitch::test_quick_invalid tests/test_transform.py::TestTransformerPitch::test_quick_valid tests/test_transform.py::TestTransformerRate::test_default tests/test_transform.py::TestTransformerRate::test_quality_invalid tests/test_transform.py::TestTransformerRate::test_quality_valid tests/test_transform.py::TestTransformerRate::test_samplerate_invalid tests/test_transform.py::TestTransformerRate::test_samplerate_valid tests/test_transform.py::TestTransformerRemix::test_default tests/test_transform.py::TestTransformerRemix::test_num_channels_valid tests/test_transform.py::TestTransformerRemix::test_num_output_channels_invalid tests/test_transform.py::TestTransformerRemix::test_remix_dict_invalid tests/test_transform.py::TestTransformerRemix::test_remix_dict_invalid2 tests/test_transform.py::TestTransformerRemix::test_remix_dict_invalid3 tests/test_transform.py::TestTransformerRemix::test_remix_dict_invalid4 tests/test_transform.py::TestTransformerRemix::test_remix_dictionary_none tests/test_transform.py::TestTransformerRemix::test_remix_dictionary_valid tests/test_transform.py::TestTransformerRepeat::test_count_invalid tests/test_transform.py::TestTransformerRepeat::test_count_invalid_fmt tests/test_transform.py::TestTransformerRepeat::test_count_valid tests/test_transform.py::TestTransformerRepeat::test_default tests/test_transform.py::TestTransformerReverb::test_default tests/test_transform.py::TestTransformerReverb::test_high_freq_damping_invalid tests/test_transform.py::TestTransformerReverb::test_high_freq_damping_valid tests/test_transform.py::TestTransformerReverb::test_pre_delay_invalid tests/test_transform.py::TestTransformerReverb::test_pre_delay_valid tests/test_transform.py::TestTransformerReverb::test_reverberance_invalid tests/test_transform.py::TestTransformerReverb::test_reverberance_valid tests/test_transform.py::TestTransformerReverb::test_room_scale_invalid tests/test_transform.py::TestTransformerReverb::test_room_scale_valid tests/test_transform.py::TestTransformerReverb::test_stereo_depth_invalid tests/test_transform.py::TestTransformerReverb::test_stereo_depth_valid tests/test_transform.py::TestTransformerReverb::test_wet_gain_invalid tests/test_transform.py::TestTransformerReverb::test_wet_gain_valid tests/test_transform.py::TestTransformerReverb::test_wet_only_invalid tests/test_transform.py::TestTransformerReverb::test_wet_only_valid tests/test_transform.py::TestTransformerReverse::test_default tests/test_transform.py::TestTransformerSilence::test_buffer_around_silence_invalid tests/test_transform.py::TestTransformerSilence::test_buffer_around_silence_valid tests/test_transform.py::TestTransformerSilence::test_default tests/test_transform.py::TestTransformerSilence::test_location_beginning tests/test_transform.py::TestTransformerSilence::test_location_end tests/test_transform.py::TestTransformerSilence::test_location_invalid tests/test_transform.py::TestTransformerSilence::test_min_silence_duration_invalid tests/test_transform.py::TestTransformerSilence::test_min_silence_duration_valid tests/test_transform.py::TestTransformerSilence::test_silence_threshold_invalid tests/test_transform.py::TestTransformerSilence::test_silence_threshold_invalid2 tests/test_transform.py::TestTransformerSilence::test_silence_threshold_valid tests/test_transform.py::TestTransformerSinc::test_cutoff_freq_invalid tests/test_transform.py::TestTransformerSinc::test_cutoff_freq_invalid_high tests/test_transform.py::TestTransformerSinc::test_cutoff_freq_invalid_list tests/test_transform.py::TestTransformerSinc::test_cutoff_freq_invalid_list_len tests/test_transform.py::TestTransformerSinc::test_cutoff_freq_invalid_number tests/test_transform.py::TestTransformerSinc::test_cutoff_freq_invalid_reject tests/test_transform.py::TestTransformerSinc::test_cutoff_freq_valid_float tests/test_transform.py::TestTransformerSinc::test_cutoff_freq_valid_list tests/test_transform.py::TestTransformerSinc::test_cutoff_freq_valid_unordered tests/test_transform.py::TestTransformerSinc::test_default tests/test_transform.py::TestTransformerSinc::test_filter_type_invalid tests/test_transform.py::TestTransformerSinc::test_filter_type_valid_low tests/test_transform.py::TestTransformerSinc::test_filter_type_valid_pass tests/test_transform.py::TestTransformerSinc::test_filter_type_valid_reject tests/test_transform.py::TestTransformerSinc::test_phase_response_invalid tests/test_transform.py::TestTransformerSinc::test_phase_response_invalid_large tests/test_transform.py::TestTransformerSinc::test_phase_response_invalid_small tests/test_transform.py::TestTransformerSinc::test_phase_response_valid_high tests/test_transform.py::TestTransformerSinc::test_phase_response_valid_low tests/test_transform.py::TestTransformerSinc::test_phase_response_valid_mid tests/test_transform.py::TestTransformerSinc::test_stop_band_attenuation_invalid tests/test_transform.py::TestTransformerSinc::test_stop_band_attenuation_valid tests/test_transform.py::TestTransformerSinc::test_transition_bw_invalid tests/test_transform.py::TestTransformerSinc::test_transition_bw_invalid_float tests/test_transform.py::TestTransformerSinc::test_transition_bw_invalid_list_elt tests/test_transform.py::TestTransformerSinc::test_transition_bw_invalid_low tests/test_transform.py::TestTransformerSinc::test_transition_bw_linvalid_list_len tests/test_transform.py::TestTransformerSinc::test_transition_bw_valid_high tests/test_transform.py::TestTransformerSinc::test_transition_bw_valid_low tests/test_transform.py::TestTransformerSinc::test_transition_bw_valid_pass_float tests/test_transform.py::TestTransformerSinc::test_transition_bw_valid_pass_list tests/test_transform.py::TestTransformerSpeed::test_default tests/test_transform.py::TestTransformerSpeed::test_factor_invalid tests/test_transform.py::TestTransformerSpeed::test_factor_valid tests/test_transform.py::TestTransformerSpeed::test_factor_valid_extreme tests/test_transform.py::TestTransformerStat::test_default tests/test_transform.py::TestTransformerStat::test_multichannel tests/test_transform.py::TestTransformerStat::test_rms tests/test_transform.py::TestTransformerStat::test_scale tests/test_transform.py::TestTransformerStat::test_scale_invalid tests/test_transform.py::TestTransformerPowerSpectrum::test_multichannel tests/test_transform.py::TestTransformerPowerSpectrum::test_valid tests/test_transform.py::TestTransformerStats::test_default tests/test_transform.py::TestTransformerStats::test_multichannel tests/test_transform.py::TestTransformerSwap::test_default tests/test_transform.py::TestTransformerStretch::test_default tests/test_transform.py::TestTransformerStretch::test_factor_extreme tests/test_transform.py::TestTransformerStretch::test_factor_invalid tests/test_transform.py::TestTransformerStretch::test_factor_valid tests/test_transform.py::TestTransformerStretch::test_window_invalid tests/test_transform.py::TestTransformerStretch::test_window_valid tests/test_transform.py::TestTransformerTempo::test_audio_type_invalid tests/test_transform.py::TestTransformerTempo::test_audio_type_valid tests/test_transform.py::TestTransformerTempo::test_default tests/test_transform.py::TestTransformerTempo::test_factor_invalid tests/test_transform.py::TestTransformerTempo::test_factor_valid tests/test_transform.py::TestTransformerTempo::test_factor_warning tests/test_transform.py::TestTransformerTempo::test_quick_invalid tests/test_transform.py::TestTransformerTempo::test_quick_valid tests/test_transform.py::TestTransformerTreble::test_default tests/test_transform.py::TestTransformerTreble::test_frequency_invalid tests/test_transform.py::TestTransformerTreble::test_gain_db_invalid tests/test_transform.py::TestTransformerTreble::test_slope_invalid tests/test_transform.py::TestTransformerTremolo::test_default tests/test_transform.py::TestTransformerTremolo::test_depth_invalid tests/test_transform.py::TestTransformerTremolo::test_speed_invalid tests/test_transform.py::TestTransformerTrim::test_default tests/test_transform.py::TestTransformerTrim::test_invalid_end_time tests/test_transform.py::TestTransformerTrim::test_invalid_start_time tests/test_transform.py::TestTransformerTrim::test_invalid_time_pair tests/test_transform.py::TestTransformerUpsample::test_default tests/test_transform.py::TestTransformerUpsample::test_invalid_factor_decimal tests/test_transform.py::TestTransformerUpsample::test_invalid_factor_neg tests/test_transform.py::TestTransformerUpsample::test_invalid_factor_nonnum tests/test_transform.py::TestTransformerVad::test_default tests/test_transform.py::TestTransformerVad::test_end_location tests/test_transform.py::TestTransformerVad::test_invalid_activity_threshold tests/test_transform.py::TestTransformerVad::test_invalid_initial_pad tests/test_transform.py::TestTransformerVad::test_invalid_initial_search_buffer tests/test_transform.py::TestTransformerVad::test_invalid_location tests/test_transform.py::TestTransformerVad::test_invalid_max_gap tests/test_transform.py::TestTransformerVad::test_invalid_min_activity_duration tests/test_transform.py::TestTransformerVad::test_invalid_normalize tests/test_transform.py::TestTransformerVad::test_no_normalize tests/test_transform.py::TestTransformerVol::test_default tests/test_transform.py::TestTransformerVol::test_gain_type_db tests/test_transform.py::TestTransformerVol::test_gain_type_power tests/test_transform.py::TestTransformerVol::test_invalid_gain tests/test_transform.py::TestTransformerVol::test_invalid_gain_power tests/test_transform.py::TestTransformerVol::test_invalid_gain_type tests/test_transform.py::TestTransformerVol::test_invalid_limiter_gain tests/test_transform.py::TestTransformerVol::test_limiter_gain tests/test_transform.py::TestTransformerVol::test_limiter_gain_vol_down tests/test_transform.py::TestTransformerVol::test_limiter_gain_vol_down_db tests/test_transform.py::TestTransformerVol::test_limiter_gain_vol_up_db
sox/combine.py sox/transform.py docs/changes.rst sox/version.py sox/file_info.py
sox/combine.py sox/transform.py docs/changes.rst sox/version.py sox/file_info.py