找回密码
 -注册-
楼主: damoncles
打印 上一主题 下一主题

dsd/PCM的误区

[复制链接]
41
 楼主| 发表于 2019-4-28 20:20 来自手机 | 只看该作者 来自 浙江杭州
alex_to 发表于 2019-4-28 20:08
所以说你就没听过没有转码PCM进行后期制作的nativeDSD录音(www.nativedsd.com、索尼音乐商城等等)或者DAC ...

你这个类比不恰当,我的原话是拿16K拍摄后处理形成16k文件,转化为8k和4k之后人眼无法区分,并没有说16k拍摄有什么问题
回复

使用道具 举报

42
发表于 2019-4-28 20:23 | 只看该作者 来自 江苏
damoncles 发表于 2019-4-28 18:11
DSD和PCM两个不同的芯片处理

不同产品,方式不同
回复

使用道具 举报

43
发表于 2019-4-28 20:23 | 只看该作者 来自 广东深圳
damoncles 发表于 2019-4-28 19:51
你没搞清,我是向下转化,不是向上升频

向下转化就是把中间的取样去掉,不需要滤波?这种情况只能在原来高采样文件不含转化后之外带宽的信息的情况下成立。比如88.2转44.1只在源文件频谱从22khz到44khz超高频没有任何能量的情况成立。
那就说明这个88.2就是假的,是44.1转的
否则向下采样还要进行一次反锯齿滤波,直接去掉中间采样的结果是,高频的能量会体现在高频段出现杂音,只要是正常的频率转换算法都会有自己的反锯齿滤波器
这就是早期CD数码味厉害的原因,模拟母带或者DAT设备录的数字音频要转成44.1KHZ,早起数字处理滤波器很差


回复

使用道具 举报

44
 楼主| 发表于 2019-4-28 21:19 来自手机 | 只看该作者 来自 浙江杭州
colin19872003 发表于 2019-4-28 20:23
向下转化就是把中间的取样去掉,不需要滤波?这种情况只能在原来高采样文件不含转化后之外带宽的信息的情 ...

整数倍往下转化,只需要去掉中间值或者取平均就可以了。我甚至可以直接写一份C的代码给你。
回复

使用道具 举报

45
 楼主| 发表于 2019-4-28 21:25 来自手机 | 只看该作者 来自 浙江杭州
colin19872003 发表于 2019-4-28 20:23
向下转化就是把中间的取样去掉,不需要滤波?这种情况只能在原来高采样文件不含转化后之外带宽的信息的情 ...

C语言实现,352转176
#define OLD_FILE_PATH "file.pcm"
#define DOWN_FILE_PATH "downsample.pcm"

void pcm_downsample(void)
{
    short sRead = 0;
    short tempSum = 0;
    int size = 0;
    int flag = 0;

    FILE *fp = fopen(OLD_FILE_PATH, "rb+");
    FILE *fp_down = fopen(DOWN_FILE_PATH, "wb+");

    while(!feof(fp))
    {        
        size = fread(&sRead, 3, 2, 1, fp); // 一次读三个字节,24bit
        if(size>0)
        {
            tempSum = tempSum + sRead; // 求和
            flag++;
            if(flag == 2)              // 如果取了两个点
            {
                flag = 0;
                tempSum = tempSum/2;   // 求平均值,你可以根据自己需要去修改,不一定要求平均值,可以直接取一个点
                fwrite(&tempSum, 3, 2, 1, fp_down);   
                tempSum = 0;
            }
        }
    }

    fclose(fp);
    fclose(fp_down);
}
回复

使用道具 举报

46
 楼主| 发表于 2019-4-28 21:28 来自手机 | 只看该作者 来自 浙江杭州
colin19872003 发表于 2019-4-28 20:23
向下转化就是把中间的取样去掉,不需要滤波?这种情况只能在原来高采样文件不含转化后之外带宽的信息的情 ...

你说的这些是数/模转化才需要,数字转数字很简单,整数倍就更简单了
回复

使用道具 举报

47
 楼主| 发表于 2019-4-28 21:36 来自手机 | 只看该作者 来自 浙江杭州
XLR 发表于 2019-4-28 20:15
波形不顺滑不要紧,超采样再滤个波就行了,都是这么干的。播放dsd文件其实就是把sdm dac的活抢来给先干了。

是这样,但这其实也是营销手段,重采样时的升频算法其实是插值法,感觉意义不大。
回复

使用道具 举报

48
 楼主| 发表于 2019-4-28 21:38 来自手机 | 只看该作者 来自 浙江杭州
XLR 发表于 2019-4-28 18:29
dsd看起来采样率高其实超高频也没有多少有用的信息,全被噪音盖住了

是的,DSD都是把噪音放到高频去。所以我才说人耳无法区分,要是能区分,那dsd高频那些噪音谁受得了
回复

使用道具 举报

49
发表于 2019-4-28 21:38 | 只看该作者 来自 广东深圳
本帖最后由 colin19872003 于 2019-4-28 21:46 编辑
damoncles 发表于 2019-4-28 21:28
你说的这些是数/模转化才需要,数字转数字很简单,整数倍就更简单了


https://zh.wikipedia.org/wiki/%E9%99%8D%E9%87%87%E6%A0%B7

降采样整数M倍的过程可以被分解成两个部分:
  • 利用数位低通滤波器去除讯号中的高频成分防止混叠。
  • 对过滤高频后的讯号降采样M倍,换言之,保留原讯号中间隔为M的取样点
若仅少了第一个步骤,讯号的高频成分会在降低采样速率的过程中被混入低频讯号中,这样的失真效应我们称为混叠,因此第一个步骤是为了降低混叠影响至可以接受的程度,降采样中的滤波器称为反混叠滤波器,下面讨论如何设计反混叠滤波器。
若用无限脉冲响应的方法设计反混叠滤波器,则滤波的过程需要在降低采样速率前从输出端回传资讯到输入端,若用有限脉冲响应的方法设计反混叠滤波器,滤波的过程较为简单因为我们只需要考虑间隔为M的采样点,滤波的过程表示成:

这个数位低通滤波器在降频时尤其重要,比升频的滤波对声音影响还大

回复

使用道具 举报

50
 楼主| 发表于 2019-4-28 21:38 来自手机 | 只看该作者 来自 浙江杭州
ljc788 发表于 2019-4-28 18:38
瞎扯骗经验?

我要经验干嘛
回复

使用道具 举报

51
发表于 2019-4-28 21:39 | 只看该作者 来自 浙江杭州
damoncles 发表于 2019-4-28 21:36
是这样,但这其实也是营销手段,重采样时的升频算法其实是插值法,感觉意义不大。

你这么说有人会不乐意的,hqplayer能卖一千六中国元,很多人用得不亦乐乎。
回复

使用道具 举报

52
 楼主| 发表于 2019-4-28 22:02 来自手机 | 只看该作者 来自 浙江杭州
colin19872003 发表于 2019-4-28 21:38
https://zh.wikipedia.org/wiki/%E9%99%8D%E9%87%87%E6%A0%B7
降采样整数M倍的过程可以被分解成两个部 ...

混叠(英语:Aliasing),在信号频谱上可称作叠频;在影像上可称作叠影,主要来自于对连续时间信号作取样以数字化时,取样频率低于两倍奈奎斯特频率。

首先你在理解混叠现象前必须明白什么是奈奎斯特频率。奈奎斯特频率和信号带宽相关,对于人耳来说信号带宽就是22khz,所以44khz才被定义为CD格式的标准,正好是两倍信号带宽,满足奈奎斯特定律。所以44以下是有失真的,这也是只有CD及其以上音质才可以成为无损的原因。请仔细审题,我这边最低采样率是44,不存在混叠。
回复

使用道具 举报

53
发表于 2019-4-28 22:09 | 只看该作者 来自 广东深圳
本帖最后由 colin19872003 于 2019-4-28 22:17 编辑
damoncles 发表于 2019-4-28 22:02
混叠(英语:Aliasing),在信号频谱上可称作叠频;在影像上可称作叠影,主要来自于对连续时间信号作取样 ...

从更高频率转到低频率出现混叠,是因为原文件的样本存在22khz以上高频信息,你不把22khz以上高频信息通过滤波器滤掉,直接删除采样就会出现混叠。因为降频之后的采样里面包含源文件22khz以上高频信息(没删的样本你没有改他的数值),但是采样数量少了(被删了),数量不足奈奎斯特需要的2倍(去还原这些22khz以上高频信息,因为你没做低通滤波删掉他们),就会在可以听见的高频信号部分出现失真(对,可以听见的部分,22khz以上高频的能量混叠的失真以22khz为轴折叠过来反馈在22khz以下的频谱中)
如果源文件不存在22khz以上高频信息,你就可以直接删样本。源文件就是假的hires文件

你标题直接说你听不出来就得了,为什么还要拿信号处理的理论玩文字游戏去曲解?我们要一切从听感讨论,整个论坛还有什么意义,直接听CD得了


回复

使用道具 举报

54
发表于 2019-4-28 22:19 | 只看该作者 来自 辽宁抚顺
damoncles 发表于 2019-4-28 20:13
我的测试文件用的源文件是DSD256转化,索尼商城里面的DSD高规格文件,包括2L等dsd录音厂牌。如果我没听过 ...

你既没有提供同一厂牌同一录音不同格式,也没有提供解码芯片为原生解码DSD,以及换能设备的频响范围,甚至更没有提供调音(听音)师相关资质就抛出一个结论……

DXD高位元录音数据量接近DSD,但DSD原生解码降低了解码芯片失真及干扰优势明显,这才是打击牛B哄哄用FPGA解码解出朵花来的关键
回复

使用道具 举报

55
 楼主| 发表于 2019-4-28 22:22 来自手机 | 只看该作者 来自 浙江杭州
colin19872003 发表于 2019-4-28 22:09
从更高频率转到低频率出现混叠,是因为原文件的样本存在22khz以上高频信息,你不把22khz以上高频信息通过 ...

22以上的信息本来就放很多噪音,能听出来你能受得了吗?20岁以后听力就下降了,大多数人只能到15,极少数到18。你要能听出来的话。说说看有什么区别,都是开脑放自欺欺人好吧,我说了,高规格文件就是把噪音放到更高频去让人感受不到,这才是他的意义,你非要去还原那些高频吗?
回复

使用道具 举报

56
发表于 2019-4-28 22:29 | 只看该作者 来自 上海
damoncles 发表于 2019-4-28 22:22
22以上的信息本来就放很多噪音,能听出来你能受得了吗?20岁以后听力就下降了,大多数人只能到15,极少数 ...

不低通滤波强行减采样导致的混叠可不是原来的频率,本来听不到的被你这么一搞反倒落到可听阈里了
回复

使用道具 举报

57
 楼主| 发表于 2019-4-28 22:30 来自手机 | 只看该作者 来自 浙江杭州
alex_to 发表于 2019-4-28 22:19
你既没有提供同一厂牌同一录音不同格式,也没有提供解码芯片为原生解码DSD,以及换能设备的频响范围,甚 ...

第一楼截图里面就有,文件我上传到百度云了,厂牌是meister,专辑是我们怀念的布宜诺斯艾利斯,文件时一步之遥,DSD 256,七彩虹U8解码。原生dsd解码,并不是转pcm的,而你是X2hr。当然还有其他文件比如自己lp转录的加州旅馆192,包括你上面发的那张死亡与少女我都比较过,包括在台机上,用HD600都听不出差别。

image.jpg (176.65 KB, 下载次数: 84)

image.jpg

image.jpg (226.48 KB, 下载次数: 65)

image.jpg
回复

使用道具 举报

58
 楼主| 发表于 2019-4-28 22:31 来自手机 | 只看该作者 来自 浙江杭州
alvin051414 发表于 2019-4-28 22:29
不低通滤波强行减采样导致的混叠可不是原来的频率,本来听不到的被你这么一搞反倒落到可听阈里了

不会,只会在22之外,因为我采样率大于44
回复

使用道具 举报

59
发表于 2019-4-28 22:36 | 只看该作者 来自 浙江杭州
pcm的话感觉96000顶天了,再高话筒都录不进来,我看过一些话筒标的频宽,最高也就2万,不知道往上衰减多快
回复

使用道具 举报

60
发表于 2019-4-28 22:39 | 只看该作者 来自 广东深圳
damoncles 发表于 2019-4-28 22:22
22以上的信息本来就放很多噪音,能听出来你能受得了吗?20岁以后听力就下降了,大多数人只能到15,极少数 ...

你自己写的程序直接删样本说没有损失,实际没有软件这么做,直接删样本会出现能听见的高频噪音,你受得了么,还问我受不受得了,真会转移话题

回复

使用道具 举报

您需要登录后才可以回帖 登录 | -注册-

本版积分规则

Archiver|手机版|粤icp备09046054号|耳机网-耳机大家坛

粤公网安备 44030602000598号 耳机大家坛、www.erji.net、网站LOGO图形均为注册商标

GMT+8, 2025-6-22 17:57

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表