播放文件音频
Play file audio
我有一个录音的原始数据文件,每个样本存储为 16 位短片。我想通过 Redhawk 播放这个文件。
我有一个 file_source_s 像这样连接到 AudioSink:
我希望在启动这些组件时能听到扬声器的声音。但是当我启动两个组件时,我听不到任何声音。
以下是 file_source_s 属性值:
- 文件名:名称
- 项目大小:2
- 重复:正确
- 求:真
- seek_point: 0
- 来源:SEEK_SET
我知道:
- 不是 AudioSink 的问题。我已经用信号发生器 (SigGen) 测试了 AudioSink,我可以通过我的扬声器听到声音。
- file_source_s 正在查找文件。当我输入一个不存在的文件名时,file_source_s 给出了 "No such file or directory" 错误。当我绘制 short_out 端口时,我也可以看到文件的前 1024 个字节,但绘图不会更新。
AudioSink 组件使用来自接收到的 SRI(信号相关信息)的信息来确定音频的采样率。这是从 AudioSink 组件的第 156 行看到的:
int sample_rate = static_cast<int>(rint(1.0/current_sri.xdelta));
它从下游组件接收 SRI,在本例中为 file_source_s。
组件 file_source_s 是 gnuhawk 组件包的一部分。 GNUHAWK 库提供了可以将 GNU Radio 模块集成到 REDHAWK 软件框架中的软件。由于 SRI 是一个 REDHAWK 构造并且不存在于 GNURADIO 中,因此它似乎没有 file_source_s 块通过属性收集足够的信息来表示音频文件的正确 xdelta / 采样率。
我建议使用像 DataReader 这样的纯 REDHAWK 组件,它接受 属性 采样率。
我有一个录音的原始数据文件,每个样本存储为 16 位短片。我想通过 Redhawk 播放这个文件。
我有一个 file_source_s 像这样连接到 AudioSink:
我希望在启动这些组件时能听到扬声器的声音。但是当我启动两个组件时,我听不到任何声音。
以下是 file_source_s 属性值:
- 文件名:名称
- 项目大小:2
- 重复:正确
- 求:真
- seek_point: 0
- 来源:SEEK_SET
我知道:
- 不是 AudioSink 的问题。我已经用信号发生器 (SigGen) 测试了 AudioSink,我可以通过我的扬声器听到声音。
- file_source_s 正在查找文件。当我输入一个不存在的文件名时,file_source_s 给出了 "No such file or directory" 错误。当我绘制 short_out 端口时,我也可以看到文件的前 1024 个字节,但绘图不会更新。
AudioSink 组件使用来自接收到的 SRI(信号相关信息)的信息来确定音频的采样率。这是从 AudioSink 组件的第 156 行看到的:
int sample_rate = static_cast<int>(rint(1.0/current_sri.xdelta));
它从下游组件接收 SRI,在本例中为 file_source_s。
组件 file_source_s 是 gnuhawk 组件包的一部分。 GNUHAWK 库提供了可以将 GNU Radio 模块集成到 REDHAWK 软件框架中的软件。由于 SRI 是一个 REDHAWK 构造并且不存在于 GNURADIO 中,因此它似乎没有 file_source_s 块通过属性收集足够的信息来表示音频文件的正确 xdelta / 采样率。
我建议使用像 DataReader 这样的纯 REDHAWK 组件,它接受 属性 采样率。