• WANTED: Happy members who like to discuss audio and other topics related to our interest. Desire to learn and share knowledge of science required as is 20 years of participation in forums (not all true). Come here to have fun, be ready to be teased and not take online life too seriously. We now measure and review equipment for free! Click here for details.

Announcing beta-test of PKHarmonic VST plugin

pkane

Major Contributor
Forum Donor
Joined
Aug 18, 2017
Messages
2,603
Likes
4,305
Location
North-East
As discussed in a separate thread, this is a beta-test of a VST (Windows) plugin to allow you to dial-in an arbitrary amount of harmonic distortion while playing music with your favorite music player. Now you can enjoy that second harmonic without investing many thousands of $$$ into a tube preamp :)

1609713348919.png


Because this is a plugin, it can run as part of any playback system using a host app that supports VST 2.4 (Foobar, JRiver MC, Equalizer APO, Audacity, Reaper, etc.) Adding the VST plugin differs for each of the host applications. Generally, you'll want to know if the host is 32- or 64-bit, and then pick the correct PKHarmonic version to use with the host. Download the desired version for your host app, and run setup.exe after extracting it from the zip file.

The 32-bit plugin will be installed, by default, in:
  • C:\Program Files (x86)\PKAudio\PKHarmonic32
and the 64-bit plugin in:
  • C:\Program Files\PKAudio\PKHarmonic64

Point your host to PKHarmonic.dll file in the above folder.

Bypass button can be pressed during playback to remove all distortion from PKHarmonic for A/B comparison. You can adjust the amount of distortion during playback, but be careful as clipping and other unwanted effects might creep in if you pick a large enough amount of harmonic distortion. Additional instructions and future versions will be available on the PKHarmonic page: https://distortaudio.org/pkharmonic.html

H2 = second harmonic
H3 = third, H4 = fourth, etc.

The amount of each harmonic that you dial is in the amount relative to 0dBFS fundamental 1KHz signal. Please note that the slider allows setting up to +10dB, which is almost always guaranteed to cause clipping, unless your playback level is set to low. This is based on the same distortion engine as is used in the DISTORT app.

This plugin was tested on Windows 10 and Windows 8. I can't say if it'll work on any other version, but you can certainly try and let me know if it works. Also, let me know if you try different player/host applications.

To help continue the development of PKHarmonic, DeltaWave, Distort, Earful and future free software, I ask you to consider making a small donation through the PKHarmonic page using the PayPal Donate button. Donate as much or as little as you want, but please consider how much money you're saving by not having to buy that tube preamp!!! If you do donate, please let me know which of my apps you enjoy and why.

Please post feedback, results, and suggestions for improvements in this thread.
 

ernestcarl

Major Contributor
Joined
Sep 4, 2019
Messages
1,636
Likes
1,142
Location
Canada
Is there any particular genre or style of music that benefits most with this type of "tubey" distortion?
 
OP
pkane

pkane

Major Contributor
Forum Donor
Joined
Aug 18, 2017
Messages
2,603
Likes
4,305
Location
North-East
Is there any particular genre or style of music that benefits most with this type of "tubey" distortion?

I'm hoping others will chime in, but from what I understand, vocals and string instruments might sound "better". Second and even harmonics usually have a "thickening" effect on audio, making the sound warmer and fuller. Third and odd harmonics are usually implicated in making the sound a bit harsher. This might benefit an otherwise warm-sounding system.
 
Last edited:

ernestcarl

Major Contributor
Joined
Sep 4, 2019
Messages
1,636
Likes
1,142
Location
Canada
I'm hoping others will chime in, but from what I understand, vocals and string instruments might sound "better".

Thanks! I do have newer classical recordings that sound a bit harsh or less warm than older ones from the analog days. Maybe it'll work well with some of those.
 

audafreak

Member
Joined
Jan 1, 2021
Messages
49
Likes
27
Hello, thanks for interesting plugin. But I found 1 problem - link for 32bit version goes to 64bit version, 32 should be in the end.
I am trying 32bit vesion in Foobar and it looks nice.
 

lashto

Addicted to Fun and Learning
Forum Donor
Joined
Mar 8, 2019
Messages
581
Likes
296
look great @pkane, congrats.
But you might have some more work to do:
  • on your webpage both URLs point to the 64bit version. Had to manually change the URL to dload the 32bit.
  • both 32 & 64 bit installers crashed my laptop (latest Win10). The NET installer more precisely, something like NETcorecheck.exe or so (error dialog disappeared fast). Installing NET runtime manually from MS worked fine. Guess this is the price for using latest libs.
  • does not work with foobar. Might just be foobar's antiquated VST support but it crashes, the sliders do not seem to work properly (same setting sounds different), the bypass doesn't always work, etc. Sorry, can't give you a clear/reproducible click-path for any of those, it's very erratic behavior.
And two Qs:
  • why do you need an installer and provide like 20x extra DLLs? Shouldn't this just be a 'simple' DLL file?!
  • what do you use/recommend for testing?
 

audafreak

Member
Joined
Jan 1, 2021
Messages
49
Likes
27
I will add that also on my pc 1st instalation crashed and rebooted pc. 2nd try was ok.
 

kkeretic

Active Member
Joined
Jan 29, 2020
Messages
208
Likes
157
Location
Croatia
I will add that also on my pc 1st instalation crashed and rebooted pc. 2nd try was ok.

Exactly the same happened to me during the installation. I am using Foobar2000 + VST 2.4 adapter by Yegor Petrov. The plugin works for some time but eventually freezes if I leave its gui opened. But I think the problem lies in VST adapter.
 
OP
pkane

pkane

Major Contributor
Forum Donor
Joined
Aug 18, 2017
Messages
2,603
Likes
4,305
Location
North-East
look great @pkane, congrats.
But you might have some more work to do:
  • on your webpage both URLs point to the 64bit version. Had to manually change the URL to dload the 32bit.
  • both 32 & 64 bit installers crashed my laptop (latest Win10). The NET installer more precisely, something like NETcorecheck.exe or so (error dialog disappeared fast). Installing NET runtime manually from MS worked fine. Guess this is the price for using latest libs.
  • does not work with foobar. Might just be foobar's antiquated VST support but it crashes, the sliders do not seem to work properly (same setting sounds different), the bypass doesn't always work, etc. Sorry, can't give you a clear/reproducible click-path for any of those, it's very erratic behavior.
And two Qs:
  • why do you need an installer and provide like 20x extra DLLs? Shouldn't this just be a 'simple' DLL file?!
  • what do you use/recommend for testing?

Hmm, I've tested this with a clean Windows 10 install and everything worked. The setup is Microsoft's own, so I'm surprised it doesn't work for you. Worked on Windows 8 for me, as well.

I've also tested with Foobar on both Windows 8 and 10, so perhaps you still are missing some dependencies since the installation didn't complete. Try re-running Setup.exe but right click on it, and select "As Administrator" to see if this will help.
 
OP
pkane

pkane

Major Contributor
Forum Donor
Joined
Aug 18, 2017
Messages
2,603
Likes
4,305
Location
North-East
Exactly the same happened to me during the installation. I am using Foobar2000 + VST 2.4 adapter by Yegor Petrov. The plugin works for some time but eventually freezes if I leave its gui opened. But I think the problem lies in VST adapter.

Yes, I think you can't leave the GUI open for a long time in Foobar, just select the desired level of harmonics and then close it.
 
OP
pkane

pkane

Major Contributor
Forum Donor
Joined
Aug 18, 2017
Messages
2,603
Likes
4,305
Location
North-East
look great @pkane, congrats.
And two Qs:
  • why do you need an installer and provide like 20x extra DLLs? Shouldn't this just be a 'simple' DLL file?!
  • what do you use/recommend for testing?

All of these DLLs are packaged by Microsoft's setup project. No idea why it thinks these are needed, but the package doesn't work when they are missing, so I assume there's a reason for it. As I said in another thread, dependencies were not working correctly for some reason, so there's probably something else that's not added as a prerequisite requiring these extra DLLs to be included. I'll continue looking into it.

I used Foobar, JRiver MC, Equalizer APO, Reaper and Audacity for testing. All worked although EQU APO had a bug that I had to work around to make it load properly. Others worked fine.

Oh, and the 32-bit package link should now be fixed on the website, thanks for reporting!
 

Newk Yuler

Active Member
Joined
Mar 5, 2019
Messages
155
Likes
235
I was one of the people who said I would use this when you introduced Distort. Luckily I happened across your announcement in the What's New. I'm using PKHarmonic with Foobar 1.6.2. in a Windows 10 x64 i7 laptop serving a high fidelity sound system (Topping D90/A90 and Purifi amps). I realize there are probably some ASR purists who are wincing at the thought of using PKHarmonic which I have to admit is kind of fun in a slightly sadistic way. Which I kind of expect includes you because of some resistance I seem to remember you giving to the idea of using Distort just for this sort of thing back when you introduced it. All of this said with a well meaning grin.

The first time I tried to load it my computer bolted into a reboot while preparing to load the runtime libraries and it took several reboots for everything to settle back to a normal boot. I can't tell you how great it is to be able to depend on Windows 10 to usually work through problems it encounters that previous OSes just crapped the bed. The rest of PKHarmonic didn't load. Normally that sort of thing will halt me dead in my tracks because a couple of years ago I had a failed installation ruin the OS and force me into a complete backup and re-installation. If that's not something one is use to frequently doing it's more than enough incentive to avoid any software that isn't 100% trustworthy on a first installation. Someone above stated PKHarmonic installed on a second attempt so I tried again based on that confidence and it worked the second time. I will however thank you (not, naught) for the mild heart attack.

Otherwise it appears to be working. I seem to remember some discussion about Distort being heavy on the CPU. Is that to be expected with PKHarmonic? I assume it should be as resource heavy as Distort but I never tried Distort.
 

lashto

Addicted to Fun and Learning
Forum Donor
Joined
Mar 8, 2019
Messages
581
Likes
296
Exactly the same happened to me during the installation. I am using Foobar2000 + VST 2.4 adapter by Yegor Petrov. The plugin works for some time but eventually freezes if I leave its gui opened. But I think the problem lies in VST adapter.
same setup and the same "eventually freezes" issue here. That VST adapter is quite old and not particularly stable, other VST plugins have similar behavior. However, the PKH seems particularly prone to crashing.
This one seems better, at least it does not crash: http://www.yohng.com/software/foobarvst. But still not sure that the H sliders work properly: e.g. a maxed out H7 should sound quite "broken", it sometimes does, sometimes does not.

@pkane
Did the reinstall as admin, no changes. And you should definitely check those dependencies:
  • pk32 install folder contains 37 extra DLLs and PK64 only 18. Something is prolly not right there.
  • in theory, your code should be just one DLL (eventually with an extra settings file) and everything else linked from the .NET installation.
.. hope it helps. In spite of all those "complaints", I am a big fan :)
 
Last edited:
OP
pkane

pkane

Major Contributor
Forum Donor
Joined
Aug 18, 2017
Messages
2,603
Likes
4,305
Location
North-East
I was one of the people who said I would use this when you introduced Distort. Luckily I happened across your announcement in the What's New. I'm using PKHarmonic with Foobar 1.6.2. in a Windows 10 x64 i7 laptop serving a high fidelity sound system (Topping D90/A90 and Purifi amps). I realize there are probably some ASR purists who are wincing at the thought of using PKHarmonic which I have to admit is kind of fun in a slightly sadistic way. Which I kind of expect includes you because of some resistance I seem to remember you giving to the idea of using Distort just for this sort of thing back when you introduced it. All of this said with a well meaning grin.

The first time I tried to load it my computer bolted into a reboot while preparing to load the runtime libraries and it took several reboots for everything to settle back to a normal boot. I can't tell you how great it is to be able to depend on Windows 10 to usually work through problems it encounters that previous OSes just crapped the bed. The rest of PKHarmonic didn't load. Normally that sort of thing will halt me dead in my tracks because a couple of years ago I had a failed installation ruin the OS and force me into a complete backup and re-installation. If that's not something one is use to frequently doing it's more than enough incentive to avoid any software that isn't 100% trustworthy on a first installation. Someone above stated PKHarmonic installed on a second attempt so I tried again based on that confidence and it worked the second time. I will however thank you (not, naught) for the mild heart attack.

Otherwise it appears to be working. I seem to remember some discussion about Distort being heavy on the CPU. Is that to be expected with PKHarmonic? I assume it should be as resource heavy as Distort but I never tried Distort.

I’ll troubleshoot installer some more, obviously there are some issues.

As far as CPU/resource utilization, it should be much, much lighter than full DISTORT. PKHarmonic is not doing 1/10th of the processing that DISTORT did. I’ll do some measurements later to see what it’s using.
 
OP
pkane

pkane

Major Contributor
Forum Donor
Joined
Aug 18, 2017
Messages
2,603
Likes
4,305
Location
North-East
same setup and the same "eventually freezes" issue here. That VST adapter is quite old and not particularly stable, other VST plugins have similar behavior. However, the PKH seems particularly prone to crashing.
This one seems better, at least it does not crash: http://www.yohng.com/software/foobarvst. And still not sure that the H sliders work properly: e.g. a maxed out H7 should sound quite "broken", it sometimes does, sometimes does not.

@pkane
Did the reinstall as admin, no changes. And you should definitely check those dependencies:
  • pk32 install folder contains 37 extra DLLs and PK64 only 18. Something is prolly not right there.
  • in theory, your code should be just one DLL (eventually with an extra settings file) and everything else linked from the .NET installation.
.. hope it helps. In spite of all those "complaints", I am a big fan :)

There are a few DLLs that absolutely must be in that folder, there's no way around it. The framework I'm using requires them, and they can't be anywhere else. But, you are absolutely right that there are too many system DLLs there that shouldn't be. I'll work on it.
 
OP
pkane

pkane

Major Contributor
Forum Donor
Joined
Aug 18, 2017
Messages
2,603
Likes
4,305
Location
North-East
CPU Performance on Windows 10 with FooBar playing 24/96 file with PKHarmonic VST plugin enabled and processing (8% of the CPU):

1609854600089.png



Performance with FooBar doing the same, but with PKHarmonic disabled -- 7% -- negligible overhead when using PKHarmonic:

1609854667130.png


All the computation occurs when the plugin is started or a setting on the plugin is changed. At that point, you'll see a spike in CPU utilization. After the new settings are recomputed, the overhead is minimal during playback.
 
Top Bottom