_沉思

_沉思

0个粉丝

6

问答

0

专栏

0

资料

_沉思  发布于  2017-08-10 14:48:18
采纳率 0%
6个问答
3650

关于3516与audio的问题

 
本帖最后由 _沉思 于 2017-8-10 14:51 编辑

按照MPP的例程运行,使用的是内置编码器,出来的ADPCM文件全是噪音,请问各位高手是怎么回事呀?


/work/nfs/Hi3516A_SDK_V1.0.5.0/mpp/sample/audio # ./sample_audio


/************************************/
please choose the case which you want to run:
        0:  start AI to AO loop
        1:  send audio frame to AENC channel from AI, save them
        2:  read audio stream from file, decode and send AO
        3:  start AI(AEC/ANR/ALC process), then send to AO
        q:  quit whole audio sample

sample command:1
Ai(0,0) bind to AencChn:0 ok!
open stream file:"audio_chn0.adpcm" for aenc ok
bind adec:0 to ao(0,0) ok

please press twice ENTER to exit this sample

AI信息:
[AI] Version: [Hi3516A_MPP_V1.0.5.0 B030 Release], Build Time: [Oct 29 2015, 20:51:06]

-----AI DEV ATTR---------------------------------------------------------------------------------------------------------
AiDev WorkMod   SampR  BitWid  ChnCnt  ClkSel SoundMod  PoiNum  ExFlag  FrmNum
    0 i2s_mas    8kHZ   16bit       1       1     mono     320       0      30

-----AI DEV STATUS-------------------------------------------------------------------------------------------------------
AiDev      IntCnt     fifoCnt     buffInt FrmTime  MaxFrmTime TranLen IsrTime  MaxIsrTime     CBPhy  CBSize   ROffSet   WOffSet
    0        2682           0           0   40000       40009     640      95         118  88094000    1280         0         0

-----AI DEV EXTEND STATUS------------------------------------------------------------------------------------------------
AiDev enTrack   bMute  Volume
    0       0       0       0

-----AI CHN STATUS-------------------------------------------------------------------------------------------------------
AiDev   AiChn   State    Read   Write      BufFul  UsrQueLost u32Data0 u32Data1
    0       0  enable       0       0           0           0 c01f86db f1c7e001

-----AI CHN RESAMPLE STATUS----------------------------------------------------------------------------------------------
AiDev AiChn   State  bResmp  PoiNum   InSampR  OutSampR
    0     0  enable disable       0    (null)    (null)

-----AI CHN VQE STATUS0---------------------------------------------------------------------------------------------------
AiDev AiChn   State    bVqe workmod    RATE  PoiNum  WrFile
    0     0  enable disable    comm  (null)       0 disable

-----AI CHN VQE STATUS1---------------------------------------------------------------------------------------------------
AiDev AiChn   State    bAnr bUsrmod NrIntensity NoiseDbThr SpProSwi    bHdr bUsrmod MaxGain MinGain MicGainStp MicGain
    0     0  enable disable    auto           0          0        0 disable    auto       0       0          0       0

-----AI CHN VQE STATUS2---------------------------------------------------------------------------------------------------
AiDev AiChn   State    bAgc bUsrmod NoiseSupSwi AdjustSpeed ImproveSNR MaxGain NoiseFloor OutputMode TargetLevel  UseHPF
    0     0  enable disable    auto           0           0          0       0        -50          0         -40       0

-----AI CHN VQE STATUS3---------------------------------------------------------------------------------------------------
AiDev AiChn   State     bEq     100     200     250     350     500     800    1.2k    2.5k      4k      8k
    0     0  enable disable       0       0       0       0       0       0       0       0       0       0

-----AI CHN VQE STATUS4---------------------------------------------------------------------------------------------------
AiDev AiChn   State    bHpf bUsrmod HpfFreq    bRnr bUsrmod MaxNrLevel  NsThresh  NrMode GainVol
    0     0  enable disable    auto       0 disable    auto          0         0       0       0

-----AI CHN VQE STATUS5---------------------------------------------------------------------------------------------------
AiDev AiChn   State    bAec bUsrmod CngMode DTHnlStQTh NrAlPsEngy NrClnSupEngy   AecAo AecFail
    0     0  enable disable    auto   close          0          0            0 (-1,-1)       0

-----AI CHN VQE STATUS6---------------------------------------------------------------------------------------------------
AiDev AiChn   State    bAec bUsrmod VcPrtctFrqL VcPrtctFrqL1 EcoBndLow EcoBndHgh EcoBndLow2 EcoBndHgh2
    0     0  enable disable    auto           0            0         0         0          0          0

-----AI CHN VQE STATUS7---------------------------------------------------------------------------------------------------
AiDev AiChn   State    bAec bUsrmod  ERLBND[0]  ERLBND[1]  ERLBND[2]  ERLBND[3]  ERLBND[4]  ERLBND[5]
    0     0  enable disable    auto          0          0          0          0          0          0

-----AI CHN VQE STATUS8---------------------------------------------------------------------------------------------------
AiDev AiChn   State    bAec bUsrmod  ERL[0]  ERL[1]  ERL[2]  ERL[3]  ERL[4]  ERL[5]  ERL[6]
    0     0  enable disable    auto       0       0       0       0       0       0       0

AENC信息:
[AENC] Version: [Hi3516A_MPP_V1.0.5.0 B030 Release], Build Time[Oct 29 2015, 20:51:06]

-----AENC CHN ATTR--------------------------------------------------------------
ChnId  PlType   ADPCMType  PoiNum BufSize        G726Rate
    0   adpcm        DVI4     320      30            NULL

-----AENC CHN STATUS------------------------------------------------------------
ChnId      RcvFrm   AiQueLost       EncOk      FrmErr     BufFull     GetStrm     RlsStrm      WtFile
    0        5651           0        5651           0           0        5651        5651     disable

输出音频的效果图:
我来回答
回答12个
时间排序
认可量排序

zhuangweiye

8个粉丝

0

问答

0

专栏

0

资料

zhuangweiye 2017-08-10 15:20:25
认可0
建议楼主先看一下文档 《HiMPP IPC V2.0 媒体处理 FAQ》中音频一章

当然有可能名字有所不同, 一般是《HiMPP XXXX 媒体处理 FAQ》

_沉思

0个粉丝

6

问答

0

专栏

0

资料

_沉思 2017-08-10 16:58:42
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=57206&ptid=18429]zhuangweiye 发表于 2017-8-10 15:20[/url]
建议楼主先看一下文档 《HiMPP IPC V2.0 媒体处理 FAQ》中音频一章

当然有可能名字有所不同, 一般是《H ...[/quote]

您好,我写了一个去语音帧头部的可执行程序,都是报错啦。说的是不能操作binary文件,楼主,请问可以把你的去语音帧头的可执行文件源代码发给我吗?我的邮箱是[email]729327449@qq.com[/email]

zhuangweiye

8个粉丝

0

问答

0

专栏

0

资料

zhuangweiye 2017-08-10 17:40:08
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=57221&ptid=18429]_沉思 发表于 2017-8-10 16:58[/url]
您好,我写了一个去语音帧头部的可执行程序,都是报错啦。说的是不能操作binary文件,楼主,请问可以把你 ...[/quote]

这个。。。

方便的话还是把代码和log放上来吧,有时间一起讨论

别人的代码永远是别人的,只有自己写自己调的代码才是自己的

_沉思

0个粉丝

6

问答

0

专栏

0

资料

_沉思 2017-08-10 17:49:03
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=57233&ptid=18429]zhuangweiye 发表于 2017-8-10 17:40[/url]
这个。。。

方便的话还是把代码和log放上来吧,有时间一起讨论
[/quote]

#include
#include
#include
#include
#include
#include


#define FILE_PATH "audio_chn0.adpcm"
#define WRITE_FILE_PATH "write_file"

int HisiVoiceGetRawStream(short *Hisivoicedata, short *outdata, int hisisamplelen)
{
        int len = 0, outlen = 0;
        short *copyHisidata, *copyoutdata;
        int copysamplelen = 0;
        copysamplelen = hisisamplelen;
        copyHisidata = Hisivoicedata;
        copyoutdata = outdata;
        printf("-----------Test3------------\n");
        while(copysamplelen > 2)
        {
                len = copyHisidata[1]&0x00ff;
                copysamplelen -= 2;
                copyHisidata += 2;
        if(copysamplelen < len)
        {       
                printf("-----------Test------------\n");
                break;
        }
        //printf("-----------Test4------------\n");
                memcpy(copyoutdata, copyHisidata, len * sizeof(short));
                copyoutdata += len;
                copyHisidata += len;
                copysamplelen -= len;
                outlen += len;
        }
                return outlen;
                printf("-----------Test5------------\n");
}


int main(int argc,char *agrv[])
{
        int iFd = -1;
        int iSize = -1;
        short *buf;
        short *buf1;
        iFd = open(FILE_PATH,O_RDONLY);
        if(iFd < 0)
        {
                return -1;
        }
        iSize = lseek(iFd,0,SEEK_END);
        lseek(iFd,0,SEEK_SET);
        printf("-----------Test1------------\n");
        buf = (short *)malloc(iSize);
        buf1 = (short *)malloc(iSize);
        if(iSize != read(iFd,buf,iSize))
        {
                printf("read failed!\n");
                return -1;
        }
        close(iFd);
        printf("-----------Test2------------\n");
        HisiVoiceGetRawStream(buf,buf1,iSize);
        printf("-----------Test------------\n");
        iFd = open(WRITE_FILE_PATH,O_WRONLY);
        if(iFd < 0)
        {
                return -1;
        }
        if(iSize != write(iFd,buf1,iSize))
        {
                printf("Write error\n");
                return -1;
        }
        close(iFd);
        free(buf);
        free(buf1);
        return 0;
}

_沉思

0个粉丝

6

问答

0

专栏

0

资料

_沉思 2017-08-10 17:52:37
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=57233&ptid=18429]zhuangweiye 发表于 2017-8-10 17:40[/url]
这个。。。

方便的话还是把代码和log放上来吧,有时间一起讨论
[/quote]

段错误。test4可以打印,出错点在memcpy上...

zhuangweiye

8个粉丝

0

问答

0

专栏

0

资料

zhuangweiye 2017-08-10 18:01:32
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=57241&ptid=18429]_沉思 发表于 2017-8-10 17:52[/url]
段错误。test4可以打印,出错点在memcpy上...[/quote]

感觉有点怪

HisiVoiceGetRawStream(buf,buf1,iSize),这里iSize是byte为单位的

而在该函数内部,看上去是以short为单位的

楼主在HisiVoiceGetRawStream()中while中加个计数,看看段错误时跑了多少

_沉思

0个粉丝

6

问答

0

专栏

0

资料

_沉思 2017-08-10 18:53:15
认可0
本帖最后由 _沉思 于 2017-8-10 18:54 编辑

[quote][url=forum.php?mod=redirect&goto=findpost&pid=57242&ptid=18429]zhuangweiye 发表于 2017-8-10 18:01[/url]
感觉有点怪

HisiVoiceGetRawStream(buf,buf1,iSize),这里iSize是byte为单位的
[/quote]

楼主,您好。这个程序已经可以跑起来了。不过我有发现另一个问题,输出的码流都是不对呀,请问您有什么解决方案?

zhuangweiye

8个粉丝

0

问答

0

专栏

0

资料

zhuangweiye 2017-08-11 07:38:02
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=57246&ptid=18429]_沉思 发表于 2017-8-10 18:53[/url]
楼主,您好。这个程序已经可以跑起来了。不过我有发现另一个问题,输出的码流都是不对呀,请问您有什么 ...[/quote]

不对是什么概念?

_沉思

0个粉丝

6

问答

0

专栏

0

资料

_沉思 2017-08-11 08:51:30
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=57265&ptid=18429]zhuangweiye 发表于 2017-8-11 07:38[/url]
不对是什么概念?[/quote]

就是我用UE打开看他的二进制文件,头部格式不正确呀。。。

zhuangweiye

8个粉丝

0

问答

0

专栏

0

资料

zhuangweiye 2017-08-11 09:21:01
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=57267&ptid=18429]_沉思 发表于 2017-8-11 08:51[/url]
就是我用UE打开看他的二进制文件,头部格式不正确呀。。。[/quote]


建议您先看一下sample,看看码流文件什么格式的

一般来说如果在sample中直接去掉海思音频头,得到的应该是裸码流

_沉思

0个粉丝

6

问答

0

专栏

0

资料

_沉思 2017-08-11 09:41:57
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=57270&ptid=18429]zhuangweiye 发表于 2017-8-11 09:21[/url]
建议您先看一下sample,看看码流文件什么格式的

一般来说如果在sample中直接去掉海思音频头,得到的 ...[/quote]

我把AI采集的写到文件里,也是不正常的。

zhuangweiye

8个粉丝

0

问答

0

专栏

0

资料

zhuangweiye 2017-08-11 09:59:18
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=57279&ptid=18429]_沉思 发表于 2017-8-11 09:41[/url]
我把AI采集的写到文件里,也是不正常的。[/quote]

这个不正常是指原始数据不对?

还是说您写文件有问题?

还是说写出来的文件和期望的不一样?

一个简单的问题沟通了两天,太累了

或将文件直接拖到这里
悬赏:
E币
网盘
* 网盘链接:
* 提取码:
悬赏:
E币

Markdown 语法

  • 加粗**内容**
  • 斜体*内容*
  • 删除线~~内容~~
  • 引用> 引用内容
  • 代码`代码`
  • 代码块```编程语言↵代码```
  • 链接[链接标题](url)
  • 无序列表- 内容
  • 有序列表1. 内容
  • 缩进内容
  • 图片![alt](url)
+ 添加网盘链接/附件

Markdown 语法

  • 加粗**内容**
  • 斜体*内容*
  • 删除线~~内容~~
  • 引用> 引用内容
  • 代码`代码`
  • 代码块```编程语言↵代码```
  • 链接[链接标题](url)
  • 无序列表- 内容
  • 有序列表1. 内容
  • 缩进内容
  • 图片![alt](url)
举报反馈

举报类型

  • 内容涉黄/赌/毒
  • 内容侵权/抄袭
  • 政治相关
  • 涉嫌广告
  • 侮辱谩骂
  • 其他

详细说明

易百纳技术社区