Skip to content
Todd West edited this page Dec 22, 2016 · 6 revisions

How it Works

Cross Time DSP is a PowerShell module. Unzip the latest release in a folder listed in $env:PSModulePath so the files are located in a WindowsPowerShell\Modules\CrossTimeDsp folder. From PowerShell, do

Import-Module CrossTimeDsp;
Sync-Files -Config <path to configuration file> -Input <path to music files> -Output <desired location> -Verbose;

For more information see Get-Help Sync-Files, the comments in the ExampleConfig.xml file included with the release, and the user documentation.

Summary

Cross Time DSP equalizes and phase linearizes music files through what is essentially a second rip. Broadly applied, this produces a second library of pre-corrected music which can played like normal on any device without needing to purchase and configure media player plugins, virtual cables, DAWs, VST patch bays, or embedded DSP units. This approach also makes Cross Time DSP useful in providing music to DSP units which cannot sustain the long FIR filters commonly used for phase linearization and room correction at low frequencies, such as MiniDSP's SigmaDSP and SHARC based offerings or Hypex's DLCP. On tablets, ultrabooks, or laptops long FIRs designed in rePhase or similar tools are computationally feasible. But Cross Time DSP's one time processing is still easier on batteries.

Cross Time DSP implements the forward time IIR filters commonly used for crossover and equalization as well as time reversed IIR for phase linearization. Since Cross Time DSP processes entire tracks offline it does not need to reverse short blocks of music to keep playback latency reasonable. This differs from time reversed IIR implementations running in plugins, which necessarily introduce pops where the blocks meet. The lower in frequency the corrections are worse the popping, the higher the introduced THD, and the greater the amount of CPU and latency required to smooth out the pops by computing and merging overlapping blocks. Cross Time DSP also requires about three orders of magnitude less computation than low frequency FIR filters, which typically require around 6000 taps at 44.1kHz sample rates and 13,000 at 96kHz.

Features

  • forward time IIR and time reversed IIR crossover, equalization, and phase linearization
  • 64 bit floating point (double) processing by default with optimizations for stereo tracks
  • reads and writes most common audio encodings
  • syncs between an unaltered music library to corrected libraries
  • 32 bit fixed point with extended precision options for evaluation of filter performance
Clone this wiki locally