Pages

Saturday 22 June 2013

Rip CD with Exact Audio Copy

Source is also quite important for good audio quality. So in order to rip our CD collection properly with quality assured, software like Exact Audio Copy (EAC) come in handy. The best part is this software is totally free. So, I will show the steps to setup this software to rip CD with quality assured.

Installation & Setup
 1) First, download EAC from http://www.exactaudiocopy.de/en/index.php/resources/download/
 2) Install the software. When you are prompt to choose what to install, CHECK all except "GD3 Metadata Plugin".

 3) After finish install, open EAC.
 4) Choose "Cancel" for the setup wizard.

 5) Press "F12" to go into Metadata options.
 6) Go to "freedb" tab, key in any email address (does not need to be valid) & CHECK "On a connection error, retry query using a different server from the server list".
 7) Click "Get active freedb server list" to ensure that you can connect to the database.

 8) Click "OK" to save all settings.
* For more detailed information on the EAC options, you can go http://wiki.hydrogenaudio.org/index.php?title=EAC_Options
 9) Press "F9" to go into EAC options.
10) At the "Extraction" tab, CHECK "Fill up missing offset samples with silence" & "Synchronize between tracks".
11) UNCHECK "Delete leading and trailing silent blocks".
12) Choose "High" for Error recovery quality.

* CHECK "Skip track extraction on read or sync errors" & "Skip track extraction after duration longer than 4 times realtime" if you don't want to have imperfect rip. But if want to rip those track no matter what and can tolerate imperfect rip, then UNCHECK them.
13) Go to "General" tab, CHECK "On unknowns CDs," and choose "automatically access online metadata database".

14) Go to "Tools" tab, CHECK "Automatically write status report after extraction" & "Append checksum to status report".
15) UNCHECK "Activate beginner mode, disable all advanced features".

16) Go to "Normalize" tab and make sure UNCHECK everything.

17) Go to "Directories" tab, choose a default location. Preferable at C: as windows have a maximum limit for file name length.

18) Go to "Audio Plugins" tab and make sure "CUETools DB Plugin" is CHECK.

19) Click "OK" to save all settings.
20) Insert an audio CD into your CD-ROM, if the following window did not pop up, try insert another 1 until it pop up.
21) Click "Configure". You may need to repeat this steps for another 2 more times.

21) Press "F10" to go into "Drive options".
22) At "Extraction Method" tab, click "Detect Read Features".

23) After the analyze finish, click "Apply".

24) Then, UNCHECK "Drive is capable of retrieving C2 error information".

25) Go to "Drive" tab, click "Autodetect read command now".

* To check whether your drive is able to overread, go to "Offset/Speed" tab, UNCHECK "Use AccurateRip with this drive". Then, click "Detect read samples offset correction".

If the result is "None" for the overread, then every last tracks of the CD that you rip may hav 2-3 seconds missing. But normally these 2-3 seconds are silent.

CHECK back "Use AccurateRip with this drive".

26) Go to "Gap Detection" tab, selection "Detection method A" & "Secure".

27) Click "OK" to save all settings.
28) Press "F4" to Detect Gaps.

* If EAC freeze or taking very long to detect gap, press "F10" and go to "Gap Detection" tab, change to "Detection method B".

* Repeat this step and change to "Detection method C" if the problem still exist.
29) Press "F11" to go into "Compression options".
30) CHECK "Use external program for compression".
31) Choose "User Defined Encoder" for Parameter passing scheme.
32) Type ".flac" for Use file extension.
33) Browse and select "flac.exe" in the EAC installation folder.
34) Copy and paste the following command into Additional command-line options:
-T "artist=%artist%" -T "title=%title%" -T "album=%albumtitle%" -T "date=%year%" -T "tracknumber=%tracknr%" -T "genre=%genre%" -5 %source%
* 5 is the level of compression for the Flac. 8 is the highest level but will take very long time.
35) CHECK "Delete WAV after compression", "Use CRC Check" & "Check for external programs return code".

36) Click "OK" to save all settings.
37) Press "Shift+F2" to Save Profile.

Rip CD
1) Make sure CHECK "Append Gaps To Previous Track".

2) Press "F4" to Detect Gaps.

3) Click "Action" > "Create CUE Sheet" > "Multiple WAV Files With Gaps ... (Noncompliant)".

4) Press "F6" to rip to WAV.
     Or press "Shift+F6" to rip to FLAC.




Monday 17 June 2013

Media Player Setup For PC

If you feel like CCCP is not giving you the best audio and video quality while K-Lite installed too many unnecessary stuffs then you can try this setup. This is my personal prefer setup by mostly referring to http://www.homecinema-hd.com/us/tutorials/windows/htpc/tutorial-htpc-1.html.

PC System:
A) For PC that have i3 processor or better & a Nvidia Geforce midrange graphic card install everything below except 4.
B) For PC that have i3 processor or better that use either Ati Radeon or Intel integrated graphic install everything below except 5 & 6.
C) For PC that has processor older than i3 but has a 128mb dedicated ram Nvidia Geforce or Ati Radeon graphic card install everything except 5 & 6.
D) For PC that does not meet anything above install everything except 3, 5 & 7.

Download & Install
Software that you need to download for this setup: (every software just download and install the 32bit version is enough, just ignore those 64bit version)
1) Media Player Classic Home Cinema http://nightly.mpc-hc.org/
2) LAV Filter https://code.google.com/p/lavfilters/downloads/list
3) madVR http://forum.doom9.org/showthread.php?t=146228
4) ffdshow http://sourceforge.net/projects/ffdshow-tryout/files/SVN%20builds%20by%20clsid/generic%20builds/
* UNCHECK everything in ffdshow during installation process

5) ffdshow with AviSynth (ffdshow) (AviSynth) (AviSynth Patch)
Install ffdshow as default & tick AviSynth when prompt as below:

Install AviSynth. Unzip AviSynth Patch & replace the file "avisynth.dll" in:
  • 32bit Windows: "C:\Windows\System32"
  • 64bit Windows: "C:\Windows\SysWOW64"
After that copy the directory "plugins" and replace the directory "plugins" in:
  • 32bit Windows: "C:\Program Files\AviSynth 2.5"
  • 64bit Windows: "C:\Program Files (x86)\AviSynth 2.5"
6) xy-VSFilter https://code.google.com/p/xy-vsfilter/wiki/Downloads?tm=2
* xy-VSFilter has some compatibility problem with DXVA gpu acceleration.

7) ReClock http://www.videohelp.com/tools/ReClock-Directshow-Filter
8) ArcSoft TotalMedia Theatre http://www.arcsoft.com/totalmedia-theatre/

Media Player Classic Home Cinema (MPC-HC)
1) After everything installed, open MPC-HC.
2) Press "o", go to "Playback" "Output". For "Audio Renderer", choose "ReClock Audio Renderer".
3) For "DirectShow Video", choose "madVR" or choose "Enhanced Video Renderer (custom presenter)" for PC System D.

4) Then, go to "Internal Filters", right click and choose "Disable all filters" for "Source Filters" and "Transform Filters".

For PC System B, C & D
5) Then, go to "External Filters", click "Add Filter" and add according to this order from top to bottom: "LAV Splitter", "LAV Audio Decoder", "LAV Video Decoder", "ffdshow Audio Decoder".
6) After adding to this order, make sure to repeat and set each filter to "Prefer".

For PC System A
5) Then, go to "External Filters", click "Add Filter" and add according to this order from top to bottom: "LAV Splitter", "ffdshow Video Decoder", "LAV Audio Decoder", "LAV Video Decoder", "ffdshow Audio Decoder".
6) After adding to this order, make sure to repeat and set each filter to "Prefer".

7) Then, go to "Audio Switcher" and make sure everything is UNCHECK.

8) Click "Apply" to save all the settings.

LAV Filter
1) Go to "External Filters" and double click on "LAV Video Decoder".

For PC System B, C & D
2) For "Hardware Decoder to use":
     Choose "NVIDIA CUVID" for Nvidia Geforce graphic card
     Choose "Intel QuickSync" for Intel HD integrated graphic
     Choose "DXVA2" for ATI Radeon graphic card
     Or just leave it at "None"
* Make sure the settings that you choose have an "Available" shown beside it.
** For PC that have i3 processor or better but have lower Graphic Card (normally laptop), choose "None" when you experience lagging in playing HD files.

For PC System A
2) For "Hardware Decoder to use":
     Choose "NVIDIA CUVID" for Nvidia Geforce graphic card
     CHECK "Enable Adaptive HW Deinterlacing" & "High-Quality Processing".
     Choose "25p/30p (Film)" for Output Mode.

3) Go to "Formats" tab, UNCHECK "vc1", "wmv3" & "wmv12". This is because LAV seem to have random crash when playing wmv video file.

4) Click "OK" to save all the settings.
5) For "LAV Audio Decoder", the setting should be ok at defaults. But you can check the screenshots below for confirmation.



madVR
1) Open a video file with MPC-HC.
2) Right click and choose "Filters" > "madVR".

3) Choose "Edit Settings".

4) Under "devices", choose the device type. Should be "Digital Monitor/TV" unless you are using CRT.

For PC System B, C & D
5) Under "processing" > "deinterlacing", you can either UNCHECK everything or if you happen to have a lot of DVD iso movies, CHECK "automatically activate deinterlacing when needed" with "if in doubt, deactivate deinterlacing" & "only look at pixels in the frame center".

For PC System A
5) Under "processing" > "deinterlacing", you can either UNCHECK everything.

6) Under "rendering" > "general settings", you can either UNCHECK everything or CHECK "enable automatic fullscreen exclusive mode" that ignored all the interruption from your PC when you are in fullscreen mode.

7) Then for "smooth motion", you either UNCHECK it or CHECK it with "only if there would be motion judder without it".
* Personally, I don't like smooth motion.

8) Then for "trade quality for performance", UNCHECK everything.

9) Now to set the "scaling algorithms" for madVR. First download GPU-Z from http://www.techpowerup.com/downloads/SysInfo/GPU-Z/ and run it.
10) Then test the following settings from top to bottom and see at which setting that your GPU load is not too high (less than 80%):

   chroma upscaling                  image upscaling                    image downscaling
     Jinc, 8 taps, AR                     Jinc, 8 taps, AR                    Catmull-Rom, AR, LL
     Jinc, 3 taps, AR                     Jinc, 3 taps, AR                       Catmull-Rom, AR
     Bicubic, 75, AR                 Lanczos, 3 taps, AR                    Catmull-Rom, AR
         Bicubic, 75                        Lanczos, 3 taps                           Catmull-Rom
            Bilinear                                  Bilinear                                      Bilinear

*AR = activate anti-ringing filter
*LL = scale in linear light

11) Click "OK" to save all settings.

ffdshow
1) Press "Start" > "All Programs" > "ffdshow" > "Audio decoder configuration".

2) Under "Codecs", choose "all supported" for "Uncompressed".

3) Under "DirectShow control", choose "only one - check all previous filters" for "Multiple ffdshow instances".

4) Under "Profiles/Preset settings" > "Decoder options", CHECK "Enable jitter correction".

5) For "Processing", CHECK everything.

6) Then go to "Mixer", for 2.0 speaker user, just CHECK "Mixer" and select "2/0/0 - stereo" for "Output speaker configuration".

For 2.1 speaker user, CHECK "Mixer" and "LFE" and select "2/0/0 - stereo" for "Output speaker configuration".

7) For "Output", CHECK "16-bit integer", "24-bit integer", "32-bit integer" & "32-bit floating point".

8) Click "OK" to save all settings.

ffdshow with AviSynth
1) DO everything as shown in ffdshow above.
2) Press "Start" > "All Programs" > "ffdshow" > "Video decoder configuration".

3) Under "Codecs", choose "wmv9" for "VC-1""libavcodec" for "MPEG2" & CHECK "DVD Decoding",

4) Choose "all supported" for "Raw video".

5) Under "DirectShow control", choose "only one - check all filters in graph" for "Multiple ffdshow instances".

6) Under "Profile/Preset settings", click "New" and then "Rename". Create 4 profiles with the name "FHD", "HD", "DivX" & "Other". CHECK "Automatic Preset Loading".

7) Select "FHD" and click "Preset autoload conditions".
8) Select "On all conditions match (AND)", then CHECK "on movie dimension match".
9) Type "1920" in the top 2 boxes. Choose "or". Type "721" & "1080" in the bottom 2 boxes.

10) Select "HD" and click "Preset autoload conditions".
11) Select "On all conditions match (AND)", then CHECK "on movie dimension match".
12) Type "1280" & "1919" in the top 2 boxes. Choose "or". Type "720" in the bottom 2 boxes.

13) Select "DivX" and click "Preset autoload conditions".
14) Select "On all conditions match (AND)", then CHECK "on movie dimension match".
15) Type "16" & "1279" in the top 2 boxes. Choose "and". Type "16" & "719" in the bottom 2 boxes.
16) CHECK "on FOURCC from previous filter match" and paste:
3IV1;3IV2;3IVD;3VID;DIV3;DIV4;DIVX;DX50;MP4V;M4CC;FVFW;MPG4;MP42;MP43;M4S2;NDIG;PVMM;SEDG;RMP4;XVID

17) Select "Other" and click "Preset autoload conditions".
18) Select "On all conditions match (AND)", then CHECK "on movie dimension match".
19) Type "16" & "1279" in the top 2 boxes. Choose "and". Type "16" & "719" in the bottom 2 boxes.

20) Under "Show/hide filters", select "AviSynth", "Deband" & "Deinterlacing" for "FHD" profile.

21) For "HD" profile, select "AviSynth", "Deband" & "Deinterlacing".

22) For "DivX" profile, select "AviSynth", "Blur & NR", "Deband""Deinterlacing" & "Postprocessing".

23) For "Other" profile, select "AviSynth", "Blur & NR""Deband" & "Deinterlacing".

24) Under "Decoder options", choose EVERY profile and set the "Number of decoding threads" according to your processor number of cores. Processor with Hyper Threading can double up the amount of physical cores available.

25) Under "Deinterlacing", choose EVERY profile and CHECK "Process whole image" & "Deinterlacing". Choose "Yet Another DeInterlacing Filter (yadif)" for "Method".

26) Choose "DivX" profile, CHECK "Postprocessing" & "fast SPP deblocking". Select "30%" for "Processing strength".

27) Under "Deband", CHECK "Deband" for EVERY profile.
28) Set "Threshold" to "1.02" for FHD, "1.05" for HD & "1.2" for DivX & Other.

29) For "DivX" & "Other" profiles, CHECK "Blur & NR".
30) Under "Blur & NR" for both profiles, CHECK only "denoise3d" & "HQ". Set "luma:1.00, chroma:2.00, time:5.00".

31) Under "AviSynth", select EVERY profile and CHECK "Avisynth". UNCHECK "Add ffdshow video source". CHECK only "YV12" for Input color space. CHECK "Buffer back/ahead" and type "0 / 6". Then paste the following coding into the box according to your screen resolution.

For FHD monitor or TV (1920 X 1080 resolution)
* The coding "SetMTMode(3,0)"; the "0" mean "auto" for number of processing threads. You can change it to your corresponding number of threads.
32) For FHD profile,
SetMemoryMax(512)
SetMTMode(3,0)
ffdshow_source()
SetMTMode(2)
LSFMod(defaults="slow",ss_x=1.0,ss_y=1.0,strength=40)
SetMTMode(1)
GetMTMode(false) > 0 ? distributor() : last

33) For HD profile,
SetMemoryMax(512)
SetMTMode(3,0)
ffdshow_source()
SetMTMode(2)
dispWidth = 1920
dispHeight = 1080
mWidth = float(last.width)
mHeight = float(last.height)
ratio = (mWidth/mHeight)
newHeight= round((dispWidth/ratio)/2)*2
newHeight > dispHeight ? Eval("""
newHeight=dispHeight
newWidth=round((newHeight*ratio)/2)*2
""") : Eval("""
newWidth=dispWidth
""")
spline64resize(newWidth,newHeight)
LSFMod(defaults="slow",ss_x=1.0,ss_y=1.0,strength=80)
SetMTMode(1)
GetMTMode(false) > 0 ? distributor() : last

34) For DivX & Other profiles,
SetMemoryMax(512)
SetMTMode(3,0)
ffdshow_source()
SetMTMode(2)
LSFMod(defaults="slow",ss_x=2.0,ss_y=2.0,strength=80)
SetMTMode(1)
GetMTMode(false) > 0 ? distributor() : last

For HD monitor or TV (1280 X 720 / 1366 X 768 resolution)
* The coding "SetMTMode(3,0)"; the "0" mean "auto" for number of processing threads. You can change it to your corresponding number of threads.
32) For FHD profile,
SetMemoryMax(512)
SetMTMode(3,0)
ffdshow_source()
SetMTMode(2)
dispWidth = 1280
dispHeight = 720
mWidth = float(last.width)
mHeight = float(last.height)
ratio = (mWidth/mHeight)
newHeight= round((dispWidth/ratio)/2)*2
newHeight > dispHeight ? Eval("""
newHeight=dispHeight
newWidth=round((newHeight*ratio)/2)*2
""") : Eval("""
newWidth=dispWidth
""")
LSFMod(defaults="slow",ss_x=1.0,ss_y=1.0,strength=40)
spline64resize(newWidth,newHeight)
SetMTMode(1)
GetMTMode(false) > 0 ? distributor() : last

33) For HD profile,
SetMemoryMax(512)
SetMTMode(3,0)
ffdshow_source()
SetMTMode(2)
LSFMod(defaults="slow",ss_x=1.0,ss_y=1.0,strength=80)
SetMTMode(1)
GetMTMode(false) > 0 ? distributor() : last

34) For DivX & Other profiles,
SetMemoryMax(512)
SetMTMode(3,0)
ffdshow_source()
SetMTMode(2)
LSFMod(defaults="slow",ss_x=2.0,ss_y=2.0,strength=80)
SetMTMode(1)
GetMTMode(false) > 0 ? distributor() : last

35) Under "Output", choose EVERY profile and select "YV12" for "Primary output color space". CHECK only "YV12" & "Set interlaced flag in output media type". Select "Auto" for Method & Field order.

36) Click "OK" to save all settings.

xy-VSFilter
1) Press "o", go to "Playback", UNCHECK "Auto-load subtitles".

ReClock
For setting of ReClock, go to http://casualnfunentertainment.blogspot.com/2013/06/better-audio-from-videos-by-using.html

ArcSoft TotalMedia Theatre
Copy "dtsdecoderdll.dll" from the "Codecs" directory in the ArcSoft TotalMedia Theatre installation directory and paste it to the same directory as "LAVAudio.ax" located. For more information on this decoder, go to http://casualnfunentertainment.blogspot.com/2013/06/dts-hd-decoder-for-pc.html

Blu-Ray Playing With MPC-HC
This media player basically support every types of format except for Blu-Ray Menu. When playing Blu-Ray with MPC-HC, you can only choose blindly without naming or scene preview. This is done by right clicking in MPC-HC, then choose "Navigate" > "Jump To" > choose the scene you want.

Verdict
Every types of video format including Blu-Ray and DVD iso except for WMV video are decoded by LAV filter. The decoded video stream will then be sent to madVR (the graphic processing quality is quite nice except for high demand on graphic card resources) to further process. The decoded audio stream will then be sent to ffdshow to decode again because ffdshow seem to have better audio decoding to my ear. Then the audio stream will be sent to ReClock for further upscaling.