论坛风格切换切换到宽版
  • 1946阅读
  • 1回复

紫丁香1用的coedc2,打字在电脑上输出数字音频。 [复制链接]

上一主题 下一主题
离线BG9AGZ
 
发帖
285
只看楼主 倒序阅读 0楼 发表于: 2019-04-02
也没见论坛讨论这个,发来玩玩,codec2最早用于网络电话的。
https://github.com/drowe67/codec2/blob/master/README.md
命令行看起来很复杂,其实也很方便,我用的是树莓派1代,PC用ubuntu更好。
来源于源代码的说明书。
cd  codec2/build_linux/src
搜索源程序路径
pwd
/home/pi/codec2/build_linux/src
下面步骤加到电台发射或者接收就是数字接收或者发射,程序改音频流处理,就可以持续编码或者解码,2400是比特流(bps bit rat)参数,src源码还有其他的命令,说明里可以看到。
发射:
树莓加个麦,生成raw文件
/home/pi/codec2/build_linux/src/c2enc 2400   /home/pi/codec2/raw/hts1a.raw     hongbo1.bit     编码到coedc2

接收:
/home/pi/codec2/build_linux/src/c2dec 2400   /home/pi/codec2/raw/hongbo1.bit     hongbo2.raw   解码coedc2

play -t raw -r 8000 -e signed-integer -b 16     hongbo2.raw    扬声器输出。






[ 此帖被BG9AGZ在2019-04-02 10:41重新编辑 ]
离线BG9AGZ
发帖
285
只看该作者 1楼 发表于: 2019-04-02
这个是树莓麦克风采样直接管道操作发送到手机termux linux终端的。700KB/s 音质不错,但是太占带宽了.,
而无线电接收的电视棒rtlsdr linux也有命令行,python也可以调用它的c函数,也可以调用coedc2的函数,这样一起处理,但另外这些命令行管道操作其实也方便,直接。老早直接用python写了个多普勒控制的rtlsdr代码,多普勒倒是跟上了,好像是树莓不给力,听 cas-4B cw信标都像AO-7下行那样变调。
------------------------------------------------------------------------------------------------------------------------------------------------
上面的例子是端口发送,我想起我这个主题是调制数字音频,说明文档如下,待有空再测试。
https://github.com/drowe67/codec2/blob/master/README_fdmdv.txt
---------------------------------------------------------------------------------------------------------
看了作者博客说明,其实就一句命令,非常简单,刚测了下,可以用,虽然有点卡。
http://www.rowetel.com/?page_id=2458



cd /home/pi/codec2/build_linux/src&&./c2enc 1400  /home/pi/codec2/raw/hts1a.raw   - | ./fdmdv_mod - - |./fdmdv_demod - - | ./c2dec 1400 - - | play -t raw -r 8000 -e signed-integer -b 16 -
切换目录, c2enc 1400编码声音文件,fdmdv_mod 调制成音频(可以到电台麦),,(可以从电台解调出声音到电脑麦)fdmdv_demod解调,c2dec 1400解码声音文件,play 输出到扬声器播放。
在调制声音后就可以接到电台发射,
电台接收到声音,就可以进入电脑linux 用后面命令解调。
简单吧,我想紫丁香的GNURADIO,大概也是这个路,不过多了优化和数据分离,频谱显示的GRC程序。

[ 此帖被BG9AGZ在2019-04-02 15:07重新编辑 ]