zoukankan      html  css  js  c++  java
  • Alsa aplay S8 U8 S16_LE S16_BE U16_LE U16_BE格式

    举个例子

    aplay -r 16000 -f S16_LE -D hw:0,0 -c 2 -d 3 ~/Private/Private_Tools/02_ALSA_Learning/left_1k_right_400hz.wav 

    S是有符号   U是无符号
    BE是大端(低地址存高位)

    LE是小端(低地址存低位)


    这都是PCM的一种表示范围的方法,所以表示方法中最小值等价,最大值等价,中间的数据级别就是对应的进度了,可以都映射到-1~1范围。
    S8:     signed   8 bits,有符号字符 = char,          表示范围 -128~127
    U8:     unsigned 8 bits,无符号字符 = unsigned char,表示范围 0~255
    S16_LE: little endian signed 16 bits,小端有符号字 = short,表示范围 -32768~32767
    S16_BE: big endian signed 16 bits,大端有符号字 = short倒序(PPC),表示范围 -32768~32767
    U16_LE: little endian unsigned 16 bits,小端无符号字 = unsigned short,表示范围 0~65535
    U16_BE: big endian unsigned signed 16 bits,大端无符号字 = unsigned short倒序(PPC),表示范围 0~65535

    还有S24_LE,S32_LE等,都可以表示数字的方法,PCM都可以用这些表示。
    上面这些值中,所有最小值-128, 0, -32768, -32768, 0, 0对应PCM描叙来说都是一个值,表示最小值,可以量化到浮点-1。所有最大值也是一个值,可以量化到浮点1,其他值可以等比例转换。

    PCMU应该是指无符号PCM:可以包括U8,U16_LE,U16_BE,...
    PCMA应该是指有符号PCM:可以包括S8,S16_LE,S16_BE,... 

  • 相关阅读:
    第三周学习进度条
    软件工程个人作业02
    构建之法阅读笔记02
    学习进度条
    构建之法阅读笔记01
    软件工程个人作业01
    构建之法粗读
    第一次作业
    动手动脑接口与继承
    大道至简第七章第八章
  • 原文地址:https://www.cnblogs.com/jlmgary/p/6743590.html
Copyright © 2011-2022 走看看