James,
I have found the way to make it less painful to you... I have done it! It's working!
How?
Simple. I created a new Resampler version that instead of resampling the sound just copies the input to the output.
With this version, when I set my soundcard's clock to 46080Hz, I get perfect pitch without any resampling (PAL movies). If we use reclock in Kernel Streaming mode we also bypass kmixer, so with this resampler.dll version it's possible to get perfect audio synchronized with video.
I have learned from the RME technical support that we can set the clock frequency through the API, but I think that has to be made inside reclock's code. If reclock would be able to set the soundcard's clok frequency automatically, the dream will come true... video smoothness, exact frame rate, exact pitch and bit perfect audio, all at the same time! But for this I will need your help. I think it would be just a couple of lines, nothing too complicated nor time consuming.
Just let me know if you are interested in adding this feature to reclock.
I can live with my little workaround, so no pressure.
Edit: James was kind enough to add two registry keys to avoid the use of the resampler.dll file modded by me that does not resample, and to make it a little more user friendly. You can read more about it here.
This way, the resampling could be by-passed, and reclock could try to set the clock frequency that we need, in case our soundcard's drivers allow it. You will need Reclock 1.8.4.4 or higher, and you should not use the resampler.dll that I linked previously, because you will not need it anymore.
If anyone is willing to try this, here are the instructions:
For reclock to work flawlessly you have to set your display refresh rate to an exact multiple of 24.0 (48.0Hz, 72.0Hz) and your soundcard's clock frequency to the frequency indicated in reclock's dialog: 46080Hz for any video with 25fps (PAL movies) and 48048Hz for any video with 23.976fps (Blu-ray movies and NTSC movies after inverse telecine). For this, you will have to use a soundcard that supports these clock frequencies (I know that both RME Fireface and RME HDSP series support it).
I have created 3 files that will set those 2 registry keys for three possible scenarios:
Reclock_Default.reg: reclock's default.
Reclock_PAL.reg: reclock will bypass resampling and set the soundcard's clock to 46080Hz.
Reclock_Blu-ray.reg: reclock will bypass resampling and set the soundcard's clock to 48048Hz.
Here is a pack with the 3 files:View attachment reg_files.zip
(If you open the files with a file editor, you'll notice that the clock frequency are set in hexadecimal. If you want to create your own reg files for other frequencies, don't forget to convert the frequency you want to hexadecimal.)
If your soundcard's drivers allow the change, you only need to run the registry file accordingly with your needs, if your soundcard's drivers do not allow the change, you have to set the clock manually, but still run the registry file to bypass the reclock's internal resampler.
This solution of 3 registry files is great because you could switch from one mode to another just by clicking in the respective file. I kept them on my desktop.
Note for RME users:
You have to set the "Clock Mode" in the drivers dialog to "Master".
If you want reclock to automatically set the clock frequency, just disable DDS in the drivers DDS tab.
If you prefer to set the clock yourself manually, you should enable DDS and select the desired clock frequency in the DDS tab.
Here is a picture with reclock's dialog and cpu usage dialog when using reclock with the software resampler:
And here is a picture with reclock's dialog and cpu usage dialog when bypassing the software resampler and changing the soundcard's clock:
I have found the way to make it less painful to you... I have done it! It's working!
How?
Simple. I created a new Resampler version that instead of resampling the sound just copies the input to the output.
With this version, when I set my soundcard's clock to 46080Hz, I get perfect pitch without any resampling (PAL movies). If we use reclock in Kernel Streaming mode we also bypass kmixer, so with this resampler.dll version it's possible to get perfect audio synchronized with video.
I have learned from the RME technical support that we can set the clock frequency through the API, but I think that has to be made inside reclock's code. If reclock would be able to set the soundcard's clok frequency automatically, the dream will come true... video smoothness, exact frame rate, exact pitch and bit perfect audio, all at the same time! But for this I will need your help. I think it would be just a couple of lines, nothing too complicated nor time consuming.
Just let me know if you are interested in adding this feature to reclock.
I can live with my little workaround, so no pressure.
Edit: James was kind enough to add two registry keys to avoid the use of the resampler.dll file modded by me that does not resample, and to make it a little more user friendly. You can read more about it here.
This way, the resampling could be by-passed, and reclock could try to set the clock frequency that we need, in case our soundcard's drivers allow it. You will need Reclock 1.8.4.4 or higher, and you should not use the resampler.dll that I linked previously, because you will not need it anymore.
If anyone is willing to try this, here are the instructions:
For reclock to work flawlessly you have to set your display refresh rate to an exact multiple of 24.0 (48.0Hz, 72.0Hz) and your soundcard's clock frequency to the frequency indicated in reclock's dialog: 46080Hz for any video with 25fps (PAL movies) and 48048Hz for any video with 23.976fps (Blu-ray movies and NTSC movies after inverse telecine). For this, you will have to use a soundcard that supports these clock frequencies (I know that both RME Fireface and RME HDSP series support it).
I have created 3 files that will set those 2 registry keys for three possible scenarios:
Reclock_Default.reg: reclock's default.
Reclock_PAL.reg: reclock will bypass resampling and set the soundcard's clock to 46080Hz.
Reclock_Blu-ray.reg: reclock will bypass resampling and set the soundcard's clock to 48048Hz.
Here is a pack with the 3 files:View attachment reg_files.zip
(If you open the files with a file editor, you'll notice that the clock frequency are set in hexadecimal. If you want to create your own reg files for other frequencies, don't forget to convert the frequency you want to hexadecimal.)
If your soundcard's drivers allow the change, you only need to run the registry file accordingly with your needs, if your soundcard's drivers do not allow the change, you have to set the clock manually, but still run the registry file to bypass the reclock's internal resampler.
This solution of 3 registry files is great because you could switch from one mode to another just by clicking in the respective file. I kept them on my desktop.
Note for RME users:
You have to set the "Clock Mode" in the drivers dialog to "Master".
If you want reclock to automatically set the clock frequency, just disable DDS in the drivers DDS tab.
If you prefer to set the clock yourself manually, you should enable DDS and select the desired clock frequency in the DDS tab.
Here is a picture with reclock's dialog and cpu usage dialog when using reclock with the software resampler:
And here is a picture with reclock's dialog and cpu usage dialog when bypassing the software resampler and changing the soundcard's clock:
Last edited: