Skip to main content

Topic: PPHS Resampler plugin (Read 50030 times) previous topic - next topic

0 Members and 1 Guest are viewing this topic.
  • cosmos816
  • [*]
PPHS Resampler plugin
Recent 0.8.2 special installer includes a new PPHS resampler DSP.

What does it do and how does it compare to the SSRC one?

c816

  • Garf
  • [*][*][*][*][*]
  • Developer (Donating)
PPHS Resampler plugin
Reply #1
Pro:

1) It is WAY faster
2) It can handle any sampling rate conversion
3) It does not have quality issues on some extreme conversions (e.g. 6000Hz->44100Hz) where SSRC breaks
4) It's optimized so there are no *audible* quality issues

Con:

1) The absolute quality is lower

I would recommend it's usage for playback. For processing, the SSRC resampler will be better _if_ it correctly supports the resampling you are doing.
  • Last Edit: 20 May, 2004, 05:59:07 AM by Garf

  • cosmos816
  • [*]
PPHS Resampler plugin
Reply #2
Garf,

Splendid!  Thank you for the information and for the plugin!

c816

  • cosmos816
  • [*]
PPHS Resampler plugin
Reply #3
It seems to me that there is a bug lurking somewhere in the Ultra mode.

0.8.2 crashes while trying to play an MP3 file while FLAC playback seems to be ok.

Non-Ultra mode is working fine.

My DSP order: PPHS -> Volume Control -> Crossfeed -> Advanced Limiter.

Here is a bunch of traces: failure.zip

c816

  • Garf
  • [*][*][*][*][*]
  • Developer (Donating)
PPHS Resampler plugin
Reply #4
Your link doesn't work but I can reproduce it.

Edit: It's a bug when diskwriting, I'll fix it, but as I said above, this really shouldn't be used for offline processing. SSRC is better for that.
  • Last Edit: 20 May, 2004, 07:37:37 AM by Garf

  • cosmos816
  • [*]
PPHS Resampler plugin
Reply #5
For me it's a bug when playing with ks/directsound/null output.

Code section of the trace is always the same, here it is:

Illegal operation:
Code: C0000005h, flags: 00000000h, address: 00C01A90h
Access violation, operation: read, address: xxxxxxxxh
Call path:
playback_core_i::g_thread_func=>playback_core_i::thread_func=>dsp::run
This is the first crash logged by this instance.
Code bytes (00C01A90h):
00C01A50h:  3B D8 89 BE 80 00 00 00 DC 6E 78 DD 5E 78 0F 8C
00C01A60h:  B4 FE FF FF 8B F8 8B 44 24 1C 33 D2 85 FF 7E 48
00C01A70h:  8B 4C 24 30 89 4C 24 20 8B 5C 24 18 33 C0 85 DB
00C01A80h:  7E 22 8D 1C FD 00 00 00 00 8B 7E 3C 40 8B 3C 97
00C01A90h:  D9 44 87 FC DD 19 8B 7C 24 18 03 CB 3B C7 7C E9
00C01AA0h:  8B 7C 24 14 8B 4C 24 20 42 83 C1 08 3B D7 89 4C
00C01AB0h:  24 20 7C C4 8B 44 24 1C 3B 44 24 24 0F 8C A5 FD
00C01AC0h:  FF FF 5F 5E 32 C0 5B 8B E5 5D C2 04 00 90 90 90
Stack (0120FD78h):
0120FD58h:  0000040B 00001000 00000000 005A0944
0120FD68h:  00000001 77D45AAC 0000040B 00C71290
0120FD78h:  008CEB88 00C97428 00000000 00000001
0120FD88h:  0000002F 00000002 0040129C 0000002F
0120FD98h:  01210020 0000002F 00CACE50 00000000
0120FDA8h:  01210020 0120FD9C 00437FD7 0120FDE4
0120FDB8h:  00C02426 008CEB88 00E00F68 00000000
0120FDC8h:  00E40994 0040AC79 0120FEFC 00CFF07C
0120FDD8h:  00000000 00000000 00E00F68 0120FE70
0120FDE8h:  0040AAA9 0000003C 0120FEFC 00CFF07C
0120FDF8h:  00000000 0120FE28 00000000 00E40990
0120FE08h:  00420E4E 00000004 0120FE18 00E00F68
0120FE18h:  00000040 00E00F7C 00000001 0120FE44
0120FE28h:  00000000 00000000 0109001F 0000AC44
0120FE38h:  11B13A25 41F6C282 B7CEF0B1 A8EABCEC
0120FE48h:  00420F57 00CACB50 0000002F 00000002
0120FE58h:  00000000 00000000 00000000 00000001
0120FE68h:  0043A03C 0043A028 0120FFA4 0042033D
0120FE78h:  0120FEFC 00CFF07C 00000000 00001000
0120FE88h:  00E40990 00E40990 00439908 0043997C
Registers:
EAX: 00017E01, EBX: 00000010, ECX: 0138E020, EDX: 00000000
ESI: 00C97428, EDI: 00CCD800, EBP: 0120FDB4, ESP: 0120FD78
Crash location: "foo_pphsresample", loaded at 00C00000h - 00C12000h

P.S. The link is working fine here :/

c816

  • kode54
  • [*][*][*][*][*]
  • Administrator
PPHS Resampler plugin
Reply #6
Somehow, I think that link only works if you're logged into that site. Please use the uploads forum in the future.
  • Last Edit: 20 May, 2004, 08:05:13 AM by kode54

  • cosmos816
  • [*]
PPHS Resampler plugin
Reply #7
Thanks, kode54.

Complete crash traces uploaded.

failure.zip

c816

  • Garf
  • [*][*][*][*][*]
  • Developer (Donating)
PPHS Resampler plugin
Reply #8
  • Last Edit: 20 May, 2004, 01:10:47 PM by Garf

  • cosmos816
  • [*]
PPHS Resampler plugin
Reply #9
Everything is working fine now!

P.S. On my P4 computer CPU usage even in Ultra mode is about half of the SSRC's fast mode, according to Sysinternals Process Explorer info.

Thank you!

c816

  • jkml
  • [*][*]
PPHS Resampler plugin
Reply #10
How does the quality of the PPHS resampler compare with libsamplerate?

http://www.mega-nerd.com/SRC/

  • kode54
  • [*][*][*][*][*]
  • Administrator
PPHS Resampler plugin
Reply #11
That is irrelevant, because the author has said that his interpretation of the GPL does not allow even dynamic linking with a closed source application, or maybe it's the linking with the BSD SDK. Whatever. Either way, it would be illegal according to its author, unless someone would like to negotiate ($$$) a more flexible license.

Other GPL components get away with it because the respective libraries' authors are more flexible. Whether their interpetation of the GPL is wrong, or whether the GPL does or does not grant them the freedom to allow third parties to use their software as they see fit without negotiating the exact terms of use is beyond meDamn legalese crap.

PPHS may be slightly lower quality than SSRC, depending on the settings. SRC claims to be high quality, and is superior to SSRC in that it supports conversion between arbitrary rates.

Eh, whatever.

  • Garf
  • [*][*][*][*][*]
  • Developer (Donating)
PPHS Resampler plugin
Reply #12
Quote
How does the quality of the PPHS resampler compare with libsamplerate?

http://www.mega-nerd.com/SRC/

The same as with SSRC:

1) PPHS is WAAAAY faster
2) There is no audible difference on music
3) The absolute quality is lower

  • jkml
  • [*][*]
PPHS Resampler plugin
Reply #13
May I know where I can find more information about PPHS? Is it an open source project?

  • askoff
  • [*][*][*][*]
PPHS Resampler plugin
Reply #14
Has PPHS something to do with polyphase?
Isn't polyphase better than SSRC resampling?

  • Garf
  • [*][*][*][*][*]
  • Developer (Donating)
PPHS Resampler plugin
Reply #15
Quote
May I know where I can find more information about PPHS? Is it an open source project?

What do you want to know?

It is not open source.

  • Garf
  • [*][*][*][*][*]
  • Developer (Donating)
PPHS Resampler plugin
Reply #16
Quote
Has PPHS something to do with polyphase?


You are clever

Quote
Isn't polyphase better than SSRC resampling?


No (what does SSRC do anyway?).

  • Smiff
  • [*][*][*]
PPHS Resampler plugin
Reply #17
uh, i have a Q. where are these recent special installers that have this plugin. i used garf's link above (thanks garf) but am curious where you're all getting 0.8.2 from..

edit: thanks below
  • Last Edit: 21 May, 2004, 03:04:07 PM by Smiff

  • Chun-Yu
  • [*][*][*][*]
  • Developer
PPHS Resampler plugin
Reply #18

  • jkml
  • [*][*]
PPHS Resampler plugin
Reply #19
Quote
Quote
May I know where I can find more information about PPHS? Is it an open source project?

What do you want to know?

It is not open source.

I'm just interested in knowing more about how it differs from SSRC and other resamplers, besides being faster and less CPU-intensive...

  • askoff
  • [*][*][*][*]
PPHS Resampler plugin
Reply #20
Quote
I'm just interested in knowing more about how it differs from SSRC and other resamplers, besides being faster and less CPU-intensive...

Sox has polyphase resampling. Perhaps you could find more info from there.

EDIT: More info about polyphase
  • Last Edit: 22 May, 2004, 05:46:21 PM by askoff

  • Smiff
  • [*][*][*]
PPHS Resampler plugin
Reply #21
i think i've found a bug. PPHS resampler 0.5, foobar 0.8.2, from Case's site. only other DSPs in use are Volume and Adv. Limiter. Unicode version.
seeking rapidly (multiple short seeks in quick succession, i use a shortcut key) in a song causes a crash. does not seem to happen with all songs, but happens always with some. would you like a log?

edit: here's a sample:
Code: [Select]
Illegal operation:
Code: C0000005h, flags: 00000000h, address: 01201CD6h
Access violation, operation: read, address: 01751000h
Call path:
playback_core_i::g_thread_func=>playback_core_i::thread_func=>dsp::run

Crash location: "foo_pphsresample", loaded at 01200000h - 01210000h

i'm scared of posting the whole thing 'cos i got into trouble for that once..
  • Last Edit: 22 May, 2004, 08:31:21 PM by Smiff

  • Scrith
  • [*][*]
PPHS Resampler plugin
Reply #22
sorry
  • Last Edit: 24 May, 2004, 03:22:17 AM by Scrith

  • dev0
  • [*][*][*][*][*]
  • Developer
PPHS Resampler plugin
Reply #23
Why are you upsampling at all?
How about trying to ABX the upsampled Version against the non-upsampled one?
  • Last Edit: 23 May, 2004, 06:40:32 AM by dev0
"To understand me, you'll have to swallow a world." Or maybe your words.

  • Garf
  • [*][*][*][*][*]
  • Developer (Donating)
PPHS Resampler plugin
Reply #24
Quote
i think i've found a bug. PPHS resampler 0.5,

The latest is 0.6, 0.5 indeed had the bug you describe.