使用什么 ffmpeg 命令将无符号整数列表转换为音频文件?

2024-01-31

我有一个文件,其中包含大约四万个整数的列表,这些整数以空格分隔,每个整数的值都在 0 到 255 之间。这里是这个文件:

https://github.com/johnlai2004/sound-project/blob/master/integers.txt https://github.com/johnlai2004/sound-project/blob/master/integers.txt

如果您将扬声器连接到 ESP32 分线板,然后通过数模转换器以 24kHz 的频率运行此整数列表,您将听到这句话:“这不是您错过的帖子。”

我想知道的是如何使用 FFMPEG 将这个整数列表转换为其他计算机可以播放以听到相同短语的声音文件?我尝试了这个命令:

ffmpeg -f u8 -ac 1 -ar 24000 -i integers.txt -y audio.wav

But my audio.wav听起来就像白噪音。我尝试了一些其他值-f并为-ar,但我听到的只是不同频率的白噪声,也许还有一些额外的嗡嗡声。

是否可以使用 ffmpeg 将我的整数列表转换为音频文件以供其他计算机播放?如果是这样,执行此操作的正确 ffmpeg 命令是什么?

其他注意事项

如果有帮助的话,如果我想听音频,这是我上传到 ESP32 的草图文件:

https://github.com/johnlai2004/sound-project/blob/master/play-audio.ino https://github.com/johnlai2004/sound-project/blob/master/play-audio.ino

简而言之,该文件如下所示:

#define speakerPin 25                          //The pins to output audio on. (9,10 on UNO,Nano)
#define bufferTotal 1347
#define buffSize 32

byte buffer[bufferTotal][buffSize];
int buffItemN = 0;
int bufferN = 0;

hw_timer_t * timer = NULL;
portMUX_TYPE timerMux = portMUX_INITIALIZER_UNLOCKED;

void IRAM_ATTR onTimer() {
  portENTER_CRITICAL_ISR(&timerMux);


  byte v = buffer[bufferN][buffItemN];
  dacWrite(speakerPin,v);

  buffItemN++;

  if(buffItemN >= buffSize){                                      //If the buffer is empty, do the following
    buffItemN = 0;                                              //Reset the sample count
    bufferN++;
    if(bufferN >= bufferTotal)
      bufferN = 0;
  }

  portEXIT_CRITICAL_ISR(&timerMux);

}

void setup() {      

/* buffer records */
buffer[0][0]=88;  // I split the long list of integers and load it into a 2D array
buffer[0][1]=88;
buffer[0][2]=86;
buffer[0][3]=85;
//etc....
buffer[1346][28]=94;
buffer[1346][29]=92;
buffer[1346][30]=92;
buffer[1346][31]=95;


/* end buffer records */

  timer = timerBegin(0, 80, true);
  timerAttachInterrupt(timer, &onTimer, true);
  timerAlarmWrite(timer, 41, true);
  timerAlarmEnable(timer);

}

void loop() {

}

The buffer...是在中找到的整数列表integers.txt file.


正如 @Gyan 在评论中建议的那样,在运行 ffmpeg 命令之前,我必须先将整数列表转换为二进制文件。所以我创建了一个名为的golang脚本main.go有了这个:

package main

import (
  "io/ioutil"
  "strings"
  "strconv"
  "os"
)
func main() {

  input:="./integers.txt"
  output:="./binary.raw"

  // Load the list of integers into memory
  contentbyte, _ := ioutil.ReadFile(input)
  content := strings.Split(string(contentbyte)," ");

  // Prepare to output a new binary file
  f, err := os.OpenFile(output, os.O_APPEND|os.O_WRONLY|os.O_CREATE, 0600)
  if err != nil {
      panic(err)
  }
  defer f.Close()

  for _,val := range content {
    // Convert each integer to a binary value and write to output file
    i,_ := strconv.Atoi(val)
    if _, err = f.Write([]byte{byte(i)}); err != nil {
        panic(err)
    }
  }

}

我运行go run main.go给我binary.raw文件。然后我运行了我的问题中发布的 ffmpeg 命令,如下所示ffmpeg -f u8 -ar 24000 -ac 1 -i binary.raw -y audio.wav.

The audio.wav文件听起来就像我的 ESP32 + 扬声器的输出,这正是我想要的。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用什么 ffmpeg 命令将无符号整数列表转换为音频文件? 的相关文章

  • 使用 AVAudioEngine 重复播放音频文件

    我正在使用 Swift 和 Xcode 6 开发一个 iOS 应用程序 我想做的是使用 AVAudioEngine 播放音频文件 到目前为止一切正常 但是我怎样才能不停止地播放它 我的意思是 当它结束播放时它会再次开始 这是我的代码 CON
  • 将非规范化数字刷新为零

    我在网上搜索过 但没有结果 Xcode 和 Visual C 有没有办法将非规范化数字视为 0 我本以为 IDE 首选项中有一个选项可以打开此选项 但似乎找不到它 我正在做一些跨平台音频工作 需要停止某些处理器占用资源 Cheers 您正在
  • 我可以从带时间戳的图像创建 VFR 视频吗?

    首先 我对图像制作视频的经验几乎为零 我拥有的是一组带有 BMP 时间戳的图像 我想从中生成视频 由于时间戳的间隔不相等 我不能简单地使用从图像创建恒定帧速率视频的软件 一个可能的解决方案是在固定的时间间隔创建人造图像 但如果我无法制作 V
  • ffprobe/ffmpg 静音检测命令

    我正在研究流静音检测 它正在 ffmpeg 中执行以下命令 ffmpeg i http mystream com stream af silencedetect n 50dB d 0 5 f null 2 gt log txt 我想获得日志
  • MATLAB:让audioplayer()在函数结束后继续播放

    我正在使用使用以下子函数的代码 function playTone duration toneFreq Generate a tone samplesPerSecond 44100 the bit rate of the tone y si
  • 为什么我的音频不倒带?

    我在 Javascript 中倒带音频时遇到了一些问题 我基本上有一个倒计时 当倒计时接近结束时 每秒都会发出蜂鸣声 我尝试使用 var bip new Audio http www soundjay com button beep 7 w
  • 如何使用ijkplayer库

    我要使用 ijkplayergithub链接 https github com bbcallen ijkplayer 我下载了这个 然后通过 文件 gt 导入 gt 常规 gt 现有项目到工作区 将其导入到 eclipse 中 之后我有三个
  • 在 R 中导入 png 文件并转换为动画(.mp4)

    我正在尝试用 R 中的几个 png 文件创建一个简短的动画 我尝试了 packagemagick但只有当我将它们保存为 gif 时它才有效 当我尝试另存为 mp4 时 它将生成一个 mp4 文件 但一旦打开它 只会显示第一张图像 我的代码是
  • 如何在Delphi 7中监听麦克风并检测声音响度

    我需要一个程序来捕获麦克风输入声音超过特定阈值时的事件 那么我可能需要不断地听麦克风 并以某种方式测量声音幅度 Delphi 7 中可以这样做吗 我建议您使用低音音频库 http www un4seen com bass html http
  • Android 中的音频交叉淡入淡出

    我正在开发一个媒体播放器用于我的学习目的 我希望在媒体播放器应用程序中具有交叉淡入淡出功能 但我不知道从哪里开始 我尝试在互联网上搜索但没有运气 我使用的是安卓MediaPlayer所有媒体播放器相关操作的类 任何人都知道任何解决方法可以实
  • 使用 ffmpeg 在纯色背景上叠加延时视频

    我有很多名为的主页屏幕截图homescreen000001 png homescreen000002 png等 我正在尝试使用 ffmpeg 创建这些图像的延时视频 当我运行以下命令时 它通常可以正常工作 ffmpeg f image2 i
  • 通话过程中是否可以拦截语音数据?

    我计划开发 Android 应用程序 对语音数据进行加密 解密 以便各方可以使用安全通道进行通信 那么问题来了 GSM通话时如何拦截语音 音频数据 可能还是不可能 我应该使用 Android NDK 还是其他东西 在 GSM 中 由于信道特
  • TarsosDSP 音高分析傻瓜式教程

    我正在开发一个分析声音文件音调的程序 我遇到了一个非常好的 API 称为 TarsosDSP 它提供了各种音高分析 然而 我在设置它时遇到了很多麻烦 有人可以向我展示一些有关如何使用此 API 特别是 PitchProcessor 类 的快
  • android 录音时可以静音吗

    我想构建一个应用程序 我想在通话中调制声音 我编写了一段代码来记录声音并以不同的音调播放它 现在我想要在通话时使用此功能 我想将通话静音 记录声音然后以不同的音调播放它 如何将通话静音但仍录制音频 此答案可在通话期间使麦克风静音 Boole
  • 将 H264 视频转换为原始 YUV 格式

    是否可以使用 ffmpeg 从 H264 编码视频创建原始 YUV 视频 我想用 matlab 打开视频并逐帧访问 Luma Cb 和 Cr 分量 是的 您可以 您只需指定像素格式即可 要获取格式的完整列表 ffmpeg pix fmts
  • 如何从 URL 流式传输音频而不在设备上下载 mp3 文件

    如何在 Swift 中从 URL 流式传输音频而不在设备上下载 mp3 文件 我需要导入什么 我需要某些库吗 添加任何内容到 info plist 中吗 请评论你的代码 您可以使用 iOS AVPLayer 从 url 传输音频 var p
  • 从编码视频文件中提取运动向量

    我正在尝试从编码的 mp4 文件中提取运动矢量数据 在之前的帖子中我发现 一个答案http www princeton edu jiasic cos435 motion vector c http www princeton edu jia
  • 使用 ffmpeg 提取帧的最快方法?

    您好 我需要使用 ffmpeg 从视频中提取帧 有没有比这更快的方法 ffmpeg i file mpg r 1 1 filename 03d jpg 如果 JPEG 编码步骤对性能要求太高 您可以始终将未压缩的帧存储为 BMP 图像 ff
  • 严格标准:在 wordpress/wp-includes/class-oembed.php 第 116 行中,仅应通过引用传递变量

    我已经查看了很多类似的问题 但关于我的代码 我没有得到它 错误 Strict Standards Only variables should be passed by reference in wordpress wp includes c
  • VLC 和 ffmpeg 如何协同工作?

    我从源代码编译了VLC 它运行良好 当我执行 Vlc 时 vlc 运行 我还从源代码编译了 ffmpeg 它也运行良好 当我执行 ffmpeg i f toto flv mp3 vn acodec copy new toto mp3 时 会

随机推荐