制作一个 DIY 数码点唱机

[ad_1]

你有没有想过如何处理坐在壁橱里收集灰尘的旧电脑? 为什么不创建自己的数字点唱机! 这个自己动手 (DIY) 项目将指导您在以下步骤的帮助下做到这一点 Fedora 和开源软件。 在本文中,我们将:

  • 解释实时处理的概念以及为什么需要实现比特完美播放
  • 提供配置内核以进行实时处理和优化硬件以实现音频优先级的分步教程
  • 向您展示如何安装配置和显示音频设备(即声卡或数字音频转换器 (DAC))所需的基本工具

在开始安装和配置系统之前,我们需要了解一些基本的数字音频理论,以了解点唱机如何实现最佳声音性能。

数字音频 101

内核必须配置为实时处理,并优先考虑任何音频请求以提供清晰的播放。 这样做是为了减少延迟——信号进入系统并通过音频设备输出的时间延迟。

最好通过有趣的实验来体验延迟。 和一个朋友在同一个房间里,打电话给他们的手机并交谈。 注意到手机扬声器的轻微延迟了吗?

这是因为当与您身边的人交谈时,音频是实时传输的——从嘴到耳的直线路径。 如果您使用手机,您的声音(模拟)将首先转换为二进制(数字)。 然后信号将通过塔路由到接收电话。 然后,该电话会将数字信号转换回听众的模拟信号。 处理此音频会导致延迟。 这是延迟。

数字音频也是如此。 音频数据包从源文件传输到音频设备的路径需要时间。 当我们添加层和过滤器时,我们会添加更多处理,从而增加延迟。 这就是为什么对于自动点唱机,我们将使其保持简单并且只使用 ALSA(Audio Linux Sound Architecture)。

通过消除 Pulseaudio 或 Jack-Audio-Connection-Kit (JACK),我们可以将音频数据的处理降至最低。 通过将音频数据直接发送到音频设备而无需额外处理,路径显着缩短,使我们能够实现比特完美的音频。

什么是位完美?

位完美音频是从音频文件(FLAC、MP3、OGG-Vorbis 等)到音频设备的位传输,而不改变位深度、采样率或通道数。 位深度是指每个样本中的位数:16 位、24 位等。 采样率是每秒传输的音频样本数。 例如,音频 CD 的位深度为 16 位,采样率为 44.1 kHz,即每秒 44,100 个样本。 高质量音频文件的位深度为每个样本 24 位,采样率为 96 kHz 或 192 kHz。 声道包括:单声道 (1)、立体声 (2 – 左右) 或环绕声 (5.1)。

换句话说,在限制为 48 kHz 播放 16 位的音频设备上以 96 kHz 播放 24 位音频文件并不是位完美的。 这是因为音频软件必须在播放期间将信息或对信号进行下采样,转换为设备可读的格式。 为了获得最佳音质,最好让音频设备负责重新采样。 这也最大限度地减少了 CPU 处理量,使内核对真正重要的事情保持开放,传输音频信息。

准备点唱机

既然技术问题已经解决了,我们可以启动那台旧计算机并开始配置点唱机。 第一的, 下载 Fedora 服务器 并执行最小安装。 启用用户帐户的管理权限。 如果您需要帮助 安装 Fedora, 咨询 Fedora 项目文档 地点。 安装完成后,更新系统,安装您喜欢的文本编辑器(我们将在示例中使用 nano),然后重新启动。

实时配置

登录后,键入:

sudo nano /etc/security/limits.d/20-audio.conf

这将创建一个文件,该文件指示任何音频请求的优先级。

Enter 文件中的以下内容:

# Gives top priority to all audio requests
@audio - rtprio 99
# Gives favour to any audio requests
@audio - nice -20
# Allows unlimited memory access
@audio - memlock unlimited

Save 文件并退出编辑器。

使用这些设置是安全的,因为这是一个具有单一用途的专用设备。 对于台式机或工作站,上述设置可能会导致系统不稳定。 这就是为什么这些系统的 Pulseaudio 或 JACK 可以发挥作用的原因。

接下来,我们将用户帐户添加到音频组,以便用户运行的任何音频软件都可以利用我们在 20-audio.conf 文件中输入的设置。 为此运行:

sudo usermod -aG audio user

请记住用您的用户名替换用户。

接下来,配置 I/O 调度程序以最小化磁盘延迟。 截止日期调度程序最适合此任务,因为它保证读取请求的优先级更高。 要查看系统正在使用的调度程序,请键入:

cat /sys/block/sda/queue/scheduler
noop [deadline] cfq

方括号显示系统上启用的 I/O 调度程序。 如果最后期限不在这些方括号中,请打开 grub 配置文件:

sudo nano /etc/default/grub

在“GRUB_CMDLINE_LINUX”行的末尾,就在结束引号之前,输入 lift=deadline 并保存文件。

要应用 GRUB 配置,请将用户切换到 root 并键入:

grub2-mkconfig -o /boot/efi/EFI/fedora/grub.cfg

对于 EFI 系统,或:

grub2-mkconfig -o /boot/grub2/grub.cfg

对于旧版 BIOS 系统。

安装音频 Linux 声音架构:

要安装 ALSA,请执行以下操作:

sudo dnf -y install alsa-lib alsa-utils alsa-tools

并重新启动计算机。

查看音频设备 Fedora 在您的系统类型上检测到:

cat /proc/asound/cards

这将列出系统上安装的声卡。

0 [HDMI]: HDA-Intel - HDA Intel HDMI
HDA Intel HDMI at 0xf731c000 irq 49
1 [PCH]: HDA-Intel - HDA Intel PCH
HDA Intel PCH at 0xf7318000 irq 48

如您在此示例中所见,HDMI(数字流)分配给 card0,PCH(模拟流)分配给 card1。 与 Linux 兼容的 USB DAC 将出现在此列表中。

恭喜,最佳音质配置成功。 调入 Fedora 第二部分的杂志,我们将安装和配置 XMMS2,并完成将旧计算机转换为数字点唱机的工作。

[ad_2]

Related Posts