Cross Time DSP

IIR processing for audio files
Download

Cross Time DSP Ranking & Summary

Advertisement

  • Rating:
  • License:
  • GPL
  • Publisher Name:
  • twest820
  • Operating Systems:
  • Windows All
  • File Size:
  • 21 KB

Cross Time DSP Tags


Cross Time DSP Description

Cross Time DSP is an audio tool designed to implement conventional forward time IIR processing of music files and time reversed IIR. This allows linear phase via inverse allpass or other inverse filters in addition to standard equalization. Unlike other time reversed IIR implementations, it's free and doesn't require a PC in the audio playback chain. Cross Time DSP targets a rip -> filter -> burn workflow for manipulating music files, with Cross Time DSP performing some or all of the filtering operations. This is similar to performing mixing or mastering operations in a DAW or VST host and essentially the same as including DSP in the rip and burn pipeline of a media player. What differentiates Cross Time DSP from the other numerous implementations in this space is its support for stream based time reversed IIR filtering. As the name implies, time reversed filtering is a method where samples are passed through a filter backwards. Other time reversed implementations are VST based and, therefore, are necessarily constrained to block based DSP. Each block is reversed, filtered, and then returned back to the VST host in its normal order. The purpose of doing this is the phase shifts induced by reverse time filtering are opposite those of forward time filtering so, by properly pairing reverse and forward time filters, the phase changes can be made to cancel. This approach produces a linear phase response without the synthesis complexity or computational cost of FIR filters but the range of adjustment is limited by the size of the block. Given sufficiently low frequencies, time reversed IIR implementations based on block DSP break down and emit discontinuities at the edges between blocks. This can be mitigated in a variety of ways, such as increasing the block length, windowing together multiple overlapping blocks, or downsampling. But practical implementations typically exhibit THD increases starting at a couple hundred Hz and struggle to be effective near audio's nominal low frequency limit of 20Hz. So it's advantageous to change from a quasi-realtime block DSP approach in favor of an offline, stream based approach. Cross Time DSP suits this purpose. Inserting time reverse processing between ripping and burning means the entire audio track can be reversed and processed from finish to start all in one go. As there's no need to stitch blocks together and there's freedom to increase the track length by a few hundred milliseconds, phase adjustments become effectively unlimited. The downside is the resulting track is now specific to a particular playback configuration and the rip and burn cycle has to be repeated if something changes. Fortunately, processing power and digital storage are cheap and changes in the playback setup uncommon. So reprocessing a music library and copying the updated files to a flash drive or SD card isn't really a big deal. Instead, the main challenge Cross Time DSP is knowing what equalization needs to be applied. For example, if you want to preprocess tracks so they play back as linear phase on your speakers you need to know details of the speakers' crossovers and low bass response. This likely means you built the speakers yourself or have the necessary test and measurement equipment to determine how the speakers are implemented. Given this data the XML in Cross Time DSP's app.config file can be edited to specify the appropriate filters. Main features: Forward and reverse time processing Full Bristow-Johnson biquad implementation Allpass first order filters Gain control for avoiding clipping from reversed time crest factor Read and write 16 and 24 bit .wav files Write FLAC files via flac.exe Sync between input and output music libraries Read FLAC files via flac.exe and metaflac.exe


Cross Time DSP Related Software