Vous êtes sur la page 1sur 15

cPlay User Guide & Forum -----------------------http://www.audioasylum.com/forums/pcaudio/messages/3/31286.html SPECIFICATIONS -------------Media Format.........................

Stereo only WAV (16, 24, 32 PCM; 32 float) FLAC (16, 24, 32 PCM) DSP Design...........................128 bit processing (SIMD & streaming used) Multi-threaded (event driven architecture) Multi-core (semaphores at hardware level) Upsampler/Resampler..................Bandlimited Interpolation via . "libsamplerate-0.1.5 (SRC)" [*1] or (145db/121db SNR selectable) . (154db/120db rejection) ........Multi-Stage Interpolation via "SoX-14.2.0" (VHQ/HQ selectable) (175db/125db rejection) (clipping, if needed, done after attenuation) Attenuation..........................[-100.0,0.0] in 0.5db steps (53 bit resolution) Balance Control......................[-6.0,+6.0] in 0.1db steps Left(-ve), Right(+ve) (53 bit resolution) Polarity.............................Phase 0/180 selectable "in flight" VST Support..........................VST 2.4.2 Single low-latency plugin design (2-in/max 8-out, 32 float, clipped) Audio Output.........................32 bit ASIO 2.2 (and backward compatible) (KS, DS, WASAPI not supported) Operating System.....................XP, Vista or Windows 7 (known to work on 64 bit systems) Minimum Processor...................."Pentium 4" type (SSE2) (core iX 32nm recommended) Instruction Set......................SSE2 (SSE4 recommended) Minimum available RAM required.......160MB Maximum available RAM used...........1GB Maximum tracks in cue sheet..........160 (including track splits) Note *1 Notice in terms of GNU GPL license for libsamplerate-0.1.5 is given in respect of code modified (section 5) as follows: As of cPlay 2.0b16, SSE2 changes have been done to SRC's "stereo output". This lowers CPU load (~2%) and improves RAM read & write efficiency (~50%). Processing efficiency is improved without affecting SRC's superb quality. RELEASE 2.X ----------The new 2.x series of cPlay represents a step change in processing performance. DSP changes results in much less RAM requirements, lower

CPU load and lower RAM reads & writes. These are all important factors for high quality audio playback. Use of DLLs has been elliminated (libsamplerate-0.1.5 and SoX-14.2.0 resampling is native to cPlay). cPlay no longer RAM loads the entire cue sheet. Instead, individual tracks are RAM loaded just before each track is played. That is, only RAM for the largest track is required thus allowing for RAM playback on systems with low available RAM. Cue sheets provide track information enabling track RAM loads. Content files can also be played directly. Large files or tracks are split to accomodate lower available RAM. With cue sheet playback, cPlay now starts much sooner. After each track start, the HDD is accessed in the background to RAM load the next track. This enables gapless playback across tracks. Tracks can be varied by rate or resolution, i.e. cue sheets can contain multiple content files of 16/44.1, 24/96... (wav, flac or both). SSE4 ---cPlay is available in four flavours: SSE2, SSE3, SSSE3 and SSE4. SSE2 or SSE3 requires a Pentium 4 type processor. Latest Intel CPUs (Core Duo, etc.) support SSSE3 or SSE4.1. Use CPU-Z to determine CPU instruction set supported (SSE2, SSE3, SSSE3 or SSE4.1). USING THE WRONG VERSION WILL CAUSE cPlay TO EXIT IMMEDIATELY! CHANGE LOG: cicsPlay 2.0b39 --------------November 2010 1. Fix for balance control when used repeatedly 2. Provide keyboard support for balance control: keys 'k' & 'l' changes balance 3. Reverse change 5 done in 2.0b37: ASIO interface for general hardware assumed. This should provide interesting comparisons with 2.0b38. cicsPlay 2.0b38 --------------September 2010 1. Minor UI refinement to indicate balance control is engaged (affected balance button icon is changed) 2. DSP & ASIO refinements cicsPlay 2.0b37 --------------September 2010 1. Clipping added when phase 180 and no upsampling is used. Recordings using max negative scale causes clipping error when inverted (e.g. at 16 bit scale -32768 is used instead of -32767). Loud recordings

will suffer from this error. 2. Implement balance control. See specifications for details. Buttons (<,>) next to volume display allows for balance adjustments. On balance adjustment, volume of affected channel is displayed in elapsed time window. Settings panel displays status information. 3. Minor UI refinements 4. Minor DSP refinements 5. ASIO interface refinement to improve support for Nehalem based CPUs (Core iX) cicsPlay 2.0b36 --------------June 2010 1. DSP refinements including more efficient resampler performance for both SRC and SoX 2. Minor UI refinements including cosmetics. Window title now shows track number, in & out rates, e.g. "[3 44>192] Vengelis - ...". 3. Fix for cue sheet processing when content file exceeds 99 minutes cicsPlay 2.0b35 --------------March 2010 1. Minor VST refinement 2. VST parameters maintained on ASIO startup error. Previous approach reset parameters to plugin defaults whenever an ASIO error occurred at startup. 3. Remote control via PostMessage function. External programs can start player and perform control actions like Next, Previous or Stop directly. Useful for headless setups requiring programmed interaction with player. UI frontends can also exploit this new feature. See supplied sample program in release notes. 4. Keyboard processing only done when focus is on main window 5. DSP, SRC & ASIO refinements cicsPlay 2.0b34 --------------December 2009 1. Major VST update: 1.1 Fix minor UI error on 64 bit indicator in VST settings 1.2 Add silence when switching tracks to clear plugin buffers

1.3 Enable speaker setup with plugin versions beyond 2300. Such plugins are automatically configured for 2-in/2-out. 1.4 Extensive revision in VST ASIO interface. New buffer design allows for faster ASIO processing. 1.5 VST to ASIO output setup allows for each ASIO channel to be enabled. This removes unnecessary ASIO overheads when using less plugin outputs, e.g. of plugin's 8-outs only 6 are used. 1.6 SSE2 128 bit processing 1.7 Add plugin 'bypass' button in Settings. On stereo output DSP output is passed through. On multi-output, only the first 2 mapped ASIO outputs are used (for left & right). On mono output, DSP output is summed & averaged for selected mono ASIO output channel. 1.8 B9 compiler option removed to ensure plugin compatibility 1.9 Add VST safety option to limit control. VST editor is accessed through a prompt, bypass is not allowed, and autoplay is not done at startup. 1.10 Other minor (& cosmetic) refinements 2. DSP refinements: 2.1 Auto-mute feature delays playback start. Mute is longer (and noticeable) when using a VST plugin (~2 seconds). 2.2 New method implemented for DSP termination improving safety when using a VST plugin 2.3 Other minor refinements (efficiency & ASIO) 3. Performing "ASIO Settings" (via Settings) stops playback and a "restart" message is shown. ASIO drivers behave differently on setting changes resulting in unpredictable behaviour (for some). cicsPlay 2.0b33 --------------December 2009 1. Refinements in DSP and ASIO 2. VST Plugin support in DSP processing. Only stereo plugins (i.e. 2 input channels) can be used with up to 8 output channels. ASIO performance is maintained for 2-in/2-out plugins (stereo output). For multi-channel output, best ASIO performance is achieved when latency is 64 samples or less. DSP processing (including volume control) preceeds plugin. See specifications for more details. Usage: Set VST plugin via Settings > VST panel. Main panel enables VST button if plugin offers an Editor. Plugin settings are saved.

cicsPlay 2.0b32 --------------December 2009 1. Low level improvements in DSP and ASIO cicsPlay 2.0b31 --------------October 2009 1. DSP refinements 1.1 Threads optimisation for use with cMP's "Realtime" Optimise setting. Recommendation of "Critical" setting remains however significant efficiency gains makes "Realtime" a strong option. This allows for complex decoding (i.e. FLAC) to occur without affecting playback in cMP. Depending on soundcard ASIO driver, "Realtime" setting could be better. 1.2 SRC efficiency improvements reducing CPU load and L2/L3 cache footprint 1.3 Minor refinements 2. Added support for "Tiny" DSP Buffer Size. Previous buffer options remains the same with "Auto" using either "Small", "Medium", or "Large", i.e. "Tiny" must be manually selected. "Tiny" buffer option reduces L2/L3 cache footprint enabling lower specification CPUs to be used with resampling. The 2MB L2/L3 cache requirement remains to produce highest quality 192k output. cicsPlay 2.0b30 --------------September 2009 1. DSP refinements 1.1 Optimisation for Intel's Nehalem platform (Core ix CPUs) 1.2 ASIO Settings activated on invalid latency or output 1.3 Other low level refinements (SRC & kernel) cicsPlay 2.0b29 --------------August 2009 1. DSP refinements 1.1 Gapless processing enhancement 1.2 Volume processing efficiency improvement 1.3 DSP buffer optimisation (when using AWE)

1.4 SRC efficiency improvement 1.5 Other minor changes 2. 3. 4. 5. Minor ASIO refinement UI timer processing improvement Fix for Windows Kernel error (in memory management) Increased tracks/splits per cue sheet to 160 (from 120)

cicsPlay 2.0b28 --------------August 2009 1. 2. DSP refinements (reduce low level overheads & enhance threading) ASIO refinement (support for rare soundcard types removed)

cicsPlay 2.0b27 --------------July 2009 1. 2. 3. 4. 5. Minor ASIO refinements DSP refinements (new advanced design implemented) giving efficiency improvements Disable keyboard processing when file browsing Faster 24 bit WAV processing (improving RAM load times) Compiler optimisation done (for FLAC)

cicsPlay 2.0b26 --------------June 2009 1. 2. Increase support for large WAV files to 4GB (from 2GB) SoX 14.2.0 resampler implemented. Settings allow for VHQ (Very High Quality) or HQ (High Quality) converters. Important resampler effects includes phase, bandwidth and (above bandwidth) aliasing. DSP and ASIO refinements Added SSE3 B9 version for CPUs supporting SSE3 but not SSSE3. SoX resampler is not compatible with a compiler optimisation. This impacts SSE2 and can be avoided by using SSE3 or higher versions. UI allows for most settings (excluding ASIO, Output Rate, Buffer & AWE) to have immediate effect. "Apply" button in Settings applies new settings during playback enabling easy comparisons. Improve UI (new icons and enhanced Settings window)

3. 4.

5.

6.

7.

Enhance gapless processing and background loading

cicsPlay 2.0b25 --------------May 2009 1. 2. 3. ASIO output interface refinement Minor DSP refinements Fix for soundcards using latencies of odd samples (rare)

cicsPlay 2.0b24 --------------May 2009 1. 2. 3. ASIO startup refinement ASIO output interface replaced Minor DSP refinement

cicsPlay 2.0b23 --------------May 2009 1. 2. 3. DSP and ASIO (including startup) refinements Compiler optimisation UI refinements: 3.1 Keyboard support for Pause / Play using 'p' or 'P' key 3.2 Option to start without autoplay. Adding line 'NOAUTOPLAY' to ini file causes no playback on startup. Desired track must be manually started cicsPlay 2.0b22 --------------May 2009 1. Compiler optimisation done (aggressive parallel settings in effect)

cicsPlay 2.0b21 --------------April 2009 1. ASIO output refinement: 1.1 Small refinement for SSE4 1.2 SSE2 and SSSE3 versions revised to be closer to SSE4 2. Minor changes (ASIO interface and test output functions)

3. 4.

Minor fix affecting downsampling (error was given) Compiler optimisation done

cicsPlay 2.0b20 --------------March 2009 1. ASIO output refinement: 1.1 Bypass inefficient CPU instruction 1.2 Advanced interface for SSE2 and SSSE3 (SSE4 uses new instruction) for maximum efficiency 2. 3. 4. 5. 6. 7. Added "MINIMISE" option for INI file. When added to INI file, playback occurs with minimised window. Minor fix affecting diagnostics Reinstate function to ensure only one instance for playback Upgrade to latest compiler (additional optimisation done) Added SSE4 B9 build option allowing for maximum performance with latest Intel CPUs. Explicit SSE4.1 instructions are used SSSE3 option removed (advanced versions uses B9 optimisation)

cicsPlay 2.0b19 --------------February 2009 1. DSP refinement: Shift workloads around to enable maximum ASIO output efficiency (improvements in ASIO CPU load and output latency is achieved) New DSP components is used to achieve this complex change 2. Changed "INDEX00_GAPLESS" to "INDEX00_IGNORE". When added to INI file, INDEX00 entries are ignored (pregap is added to previous track)

cicsPlay 2.0b18 --------------February 2009 1. DSP refinements: 1.1 Reduce low level Windows overheads 1.2 Max cue tracks supported increased to 120 (from 80) 1.3 Compiler optimisation done 1.4 Added "INDEX00_GAPLESS" option for cicsPlay.ini file. When

added to INI file, INDEX00 is processed without gaps (i.e. previous track ends at INDEX00 and next track starts here). 1.5 Other minor changes cicsPlay 2.0b17 --------------January 2009 1. UI Refinements: 1.1 Keyboard skip actions: '-' for backwards & '=' for forwards 1.2 Cosmetics 2. DSP refinements: 2.1 Max ASIO drivers supported reduced to 3 (from 8) 2.2 Further improvements in ASIO output efficiency! 2.3 Other minor changes (clipping, prefetcher & streaming) cicsPlay 2.0b16 --------------January 2009 1. UI Refinements: 1.1 Only actual tracks displayed with splits shown in "()" 1.2 Skip Forward and Backward spans multiple tracks instead of track wrap around 2. DSP refinements: 2.1 Reduce minimum RAM requirement to 160MB (allows playback in systems using only 256MB RAM which is most optimal when input media is largely 44.1k) 2.2 Upgrade to libsamplerate-0.1.5 (SRC). A step reduction in CPU load is achieved allowing for lower CPU frequency. 2.3 SSE2 changes done to SRC's "stereo output" further lowering CPU load and improving RAM read & write efficiency. 2.4 Faster FLAC decoding 2.5 Other minor changes (prefetcher & streaming) cicsPlay 2.0b15 --------------January 2009 1. 2. Startup: implement ASIO trace log UI refinements:

2.1 More status messages and cosmetics 2.2 "Timer" Settings option added to allow for elapsed timer to be shown or bypassed. When "No" (bypassed), message displays "tr 00:00" during playback ("tr" indicates current track). Bypassed timer gives most optimal playback as UI inteference is removed (no UI timer processing & video traffic). 3. DSP refinements: 3.1 "INDEX 00" processsed correctly in cue sheet. Diagnostics provide track information making it easier to fix cue sheet errors. After track INDEXes, a new "EOC" directive (End Of Content) can be used to stop processing content beyond time indicated, e.g. "EOC 16:08:20". This feature enables cue sheets to fully represent playlists as extraction of a single track from a multi-track content file is now possible. cPlay limits the number of tracks per cue sheet to 80. 3.2 Faster RAM loading (both WAV and FLAC) 3.3 Improved prefetcher performance 3.4 More efficient ASIO output achieved 3.5 Other minor improvements cicsPlay 2.0b14 --------------December 2008 1. Minor UI refinement: "no media" message and display information (ellapsed time and volume) in default colour. "Flicker" problem fixed DSP refinement: SRC upsampling redesigned giving reduced RAM writes (~30% less) and much smaller L2 cache footprint

2.

cicsPlay 2.0b13 --------------December 2008 1. 2. 3. 4. UI refinement: remove Windows overheads (MFC replaced with WTL) DSP refinement: improve RAM load process (done via DSP threads) Compiler optimisation done Fix audio glitch that occurs after play is restarted from 'stop'

cicsPlay 2.0b12 --------------November 2008

1. 2.

Minor refinements Compiler optimisation done

cicsPlay 2.0b11 --------------November 2008 1. UI refinement: reduce runtime footprint

cicsPlay 2.0b10 --------------November 2008 1. DSP refinement: 128 bit DSP processing All critical areas changed to use advanced 128 bit processing capabilities (i.e. vectorisation & streaming) of SSE2, SSE3... processors. SRC upsampling is excluded (which only benefits from compiler optimisations). CPU load reduces and RAM I/O efficiency improves. 2. UI Refinements: Phase icon indicates 0 or 180 (previous '^' indicator is removed). Settings provides diagnostics information (available RAM, volume and phase).

cicsPlay 2.0b9 -------------November 2008 1. 2. DSP refinement: new math routines removing need for precision (and slow) library processing Compiler optimisation done

cicsPlay 2.0b8 -------------November 2008 1. Minimum processor supported is SSE2 (Pentium 4) which replaces the normal cPlay version (SSE). Processors not supporting SSE2 are not suitable for high quality audio DSP refinement Compiler optimisation done

2. 3.

cicsPlay 2.0b7 -------------November 2008 1. Minimum processor supported is SSE (Pentium 3). This replaces the normal cPlay version and will work on all processors expect deep legacy models (prior to Pentium 3)

2.

DSP refinements: more efficient DSP & ASIO processing

cicsPlay 2.0b6 -------------October 2008 1. 2. 3. 4. Fix track sequencing when splits occur Reduce chance for track splits when wav or flac file is played directly Replace 'Track 01' with file name when playing wav or flac directly Compiler optimisation

cicsPlay 2.0b5 -------------October 2008 1. Track splits performed when available RAM is low. Minimum available RAM needed is 256MB and maximum supported is 1GB. Lower available RAM translates into potentially more track splits causing background loads to occur well within a track. Ideally, this interference should be avoided. DSP refinements: more efficient background loading and ASIO processing

2.

cicsPlay 2.0b4 -------------October 2008 1. Work-around to a Windows Kernel bug that occurs when using AWE under some conditions (AWE failure is reported in diagnostics) DSP refinements: reduce CPU load to accommodate gapless processing Gapless / seamless playback. At start of eack track, next track is loaded (in background). CPU load could increase to 100% (when upsampling and/or processing flac) UI refinements: remove Phase 0/180 message delay FLAC PCM 32 fix

2. 3.

4. 5.

cicsPlay 2.0b3 -------------October 2008 1. Support for PCM 32 (WAV or FLAC) and 32 bit IEEE754 Float (WAV only)

2. 3.

Fix for clipping (inadvertantly bypassed in 2.0b2) - only has effect when volume set to 0.0db New 'Large' buffer setting used by Auto when output rate is 48k or less. Processors with L2 cache size larger than 2MB, its worth testing Medium and Large setting (for any output rate) - new 2.x DSP has smaller cache footprint allowing for larger buffers RAM allocation refinement when not using AWE Minor DSP refinements

4. 5.

cicsPlay 2.0b2 -------------October 2008 1. Important DSP refinements: reduce CPU load and improve processor cache efficiencies (vectorisation and alignment done) Fix skip forward and backward time displays Minor UI enhancements (track highlighted before loading)

2. 3.

cicsPlay 2.0b1 -------------October 2008 1. 2. New DSP design allowing for less RAM and greater efficiency. See release 2.x notes above. Minor UI change for phase 0/180 setting

cicsPlay 1.4 Final -----------------October 2008 1. 2. 3. 4. Faster FLAC decoding (for both 16 & 24 bit formats) Improved 24 bit DSP processing Finalise compiler optimisations Refine ASIO startup

cicsPlay 1.3 Final -----------------September 2008 1. 2. Reinstate functionality removed from 1.2.1 (ASIO channel remapping) Update SRC to latest version: LibSampleRate-0.1.4 (changes relate to bug fix when using low conversion rates)

3. 4.

Additional compiler optimisations for better floating point precision and efficiency ASIO startup is done after UI

cicsPlay 1.2.1 Final -------------------September 2008 1. Refine ASIO interface for Xonar soundcards and Vista compatibility

cicsPlay 1.2 Final -----------------September 2008 1. Tuning parameters now part of Settings. "DSP Buffer" at Auto (default), Small or Medium is provided. Small sets parameters as per cPlay 1.1, Medium as cPlay 1.0 and Auto selects parameters based on output rate. Guidance: CPUs with 2MB+ L2 cache, use Auto setting. Small is ideal for high output rates (above 96k) whilst Medium is best for 96k or lower. On CPUs offering less than 2MB L2 cache, Small is recommended for all output rates. These buffer sizes work best with low ASIO buffer or latency setting (less than 512 samples). 2. Revise ASIO interface at startup. Some soundcards do NOT appear in list. A known problem with Xonar.

cicsPlay 1.1 Final -----------------September 2008 1. 2. Change tuning parameters Bug fixes: 2.1 Extension in caps was not recognised 2.2 Clipping not done for Phase 180 when not upsampling 2.3 Cue processing error when no title exists for track 2.4 HiRes FLAC decoding error (SSSE3 version only) 3. Minor UI change

cicsPlay 1.0 Final -----------------July 2008 1. Change labels (b19 to final)

2.

Fix for Lynx soundcards

Vous aimerez peut-être aussi