是否可以通过录制声卡的内容来重新构建 WAV 文件?

是否可以通过录制声卡的内容来重新构建 WAV 文件?

我正在尝试准确记录计算机正在播放的数字信号。例如,如果我要使用音频播放器播放 WAV 文件,我希望能够从录音中重建此类文件。

据我了解,它不适用于压缩格式(例如mp3),因为该文件是由读取它的应用程序解压缩的,并且实际发送到声卡的内容(我猜?)是未压缩的原始数据。并且不可能从中找回原始的 mp3。我能拥有的最好的就是嵌入 WAV 或任何无损压缩(例如 FLAC)的 mp3。

到目前为止,我正在使用 Audacity 录制来自计算机的声音。然而,我想知道:这样的录音是否记录进入声卡的原始数字数据,或者它是否捕获从声卡发出的模拟数据并将其转换回数字?

此外,这还需要在脉冲音频音量控制中调整 Db 中的录音电平。当然,根据级别的不同,最终的 WAV 不会相同,所以我不知道如何获得与最初播放的 WAV 相匹配的最终 WAV。

好吧,实际上这种方法对我来说甚至无法正常工作,因为 Audacity 中的录音没有相同的音调。但由于我首先不确定这是否是正确的路径,因此在尝试调试之前我想了解更多信息。

我不知道我想做的事情一开始是否可行。

答案1

在大多数中高端声卡上,可以录制正在播放的现场音频混合物。也就是说,发送到声卡的所有音轨的总和数模转换器。所以这是纯数字的。

为此,声卡驱动程序应提供一个“混合”输入通道,您可以从任何数字音频工作站

从角度来看,此操作可以与屏幕截图或截屏视频进行比较。事实上,如果您显示 JPEG 图片,屏幕截图将为您提供 JPEG 图片的原始表示,可能会出现一些来自显示软件的失真(裁剪、调整大小、别名、颜色配置文件等),以及任何位于(其他窗口)周围和上方(光标、覆盖窗口、另一个窗口的透明阴影)。您无法通过屏幕截图直接获得准确的原始 JPEG 文件。

这与音频相同。播放器应用程序可以改变音量、应用均衡、引入饱和度,甚至在出现延迟问题时出现故障。

但是,如果您遵守某些条件,您可以获得音频数据的精确复制:

  • 无损音频文件
  • 无损音频播放器
  • 没有延迟问题
  • 相同的位深度
  • 相同的采样频率
  • 仅播放一个音频文件

然后您只需手动编辑录音的开头和结尾即可。

答案2

如果您已经在使用 Pulseaudio:每个接收器都有一个“监视器”源,您可以使用它来获取从接收器发出的准确数据。假设 ALSA 驱动程序没有干扰从 Pulseaudio 获得的内容,那么这正是您的扬声器上播放的内容。您可以以任何方式和任何您想要的格式进行记录,例如使用parec.

如果您使用单个应用程序来播放声音,则该应用程序通常还具有输出到文件的选项。

相关内容