Liunx音频

一.  echo -e "\a"

echo 通过向控制台喇叭设备发送字符来发声:

   echo -e "\a"

(这里的 -e 选项允许解释反斜杠转义的字符,而 \a 是一个响铃(bell)字符)

二. beep

下载对应的包

yum -y install beep

发声命令

beep

 扩展:

beep 是一个简单的命令行工具,它可以通过电脑的蜂鸣器(内置扬声器)产生声音。不同于常规的音频播放工具,beep 命令专为在没有声音卡或需要使用系统蜂鸣器的情况下设计,例如在硬件测试或作为脚本执行结束的提示音。

beep 的基本用法非常直接:

beep [选项]

此命令将使PC蜂鸣器发出一声标准的蜂鸣声。

beep 拥有多个选项,允许用户自定义这个蜂鸣声的行为。这里是一些常用的选项:

  • -f:设置蜂鸣的频率,单位为赫兹(Hz)。例如,beep -f 440 会以440 Hz的频率发声,这是音乐中的A音(拉音)。
  • -l:设置蜂鸣的持续时间,单位为毫秒(ms)。例如,beep -l 500 会发出持续时间为500毫秒的蜂鸣声。
  • -d:设置两个蜂鸣声之间的延迟时间,单位也是毫秒。
  • -r:设置重复蜂鸣声的次数。
  • -n:用于在同一条命令中指定多个蜂鸣声序列。

例如,要创建一个简短的蜂鸣声音序列,可以使用以下命令:

beep -f 440 -l 100 -n -f 880 -l 100 -n -f 440 -l 100

上面的命令会发出3个蜂鸣声,第一个和最后一个频率是440 Hz,持续时间100ms,中间的频率是880 Hz,也持续100ms。

注意:beep 可能在某些系统上默认没有安装。此外,现代的许多PC和笔记本电脑不再配备可以发出传统蜂鸣声的蜂鸣器。在这些系统上,beep 命令可能不起作用。此外,系统还需启用蜂鸣器设备,并且在某些系统上可能需要超级用户权限(使用 sudo)才能运行 beep 命令。

三. speaker-test

下载对应的包 

yum -y install alsa-utils

调整音量

alsamixer

按键说明:左右来切换,上下箭头来调节大小,F1显示帮助信息。

                  MM代表经营,oo代表取消静音,通过m来切换,调整音量后,按 Esc 退出 

适当调节声音如图所示,然后再使用下述命令发声测试。

发声测试

speaker-test -t sine -f 1000
#个命令会使用 speaker-test 工具发出一个1000Hz的正弦波声音来测试扬声器。你可以按Ctrl+C来停止测试。

 扩展:

speaker-test 命令是一个用于测试声音系统配置的工具,它是 ALSA(Advanced Linux Sound Architecture)软件包的一部分。通过该命令,用户可以播放简单的声音测试来检查扬声器或耳机是否正确工作。该命令的使用非常灵活,支持多种参数来定制测试类型和声音。

核心语法:

speaker-test [选项]

常用选项:

  • -c 或 --channels:指定测试声道的数量。例如,-c 2 用于立体声扬声器测试。
  • -t 或 --test:选择测试声音的类型。常见的值包括 sine(正弦波测试音),wav(播放指定的 WAV 文件),和 pink(使用粉红噪音测试)。
  • -f 或 --frequency:当使用正弦波测试时,这个选项用来指定测试音的频率(以 Hertz 为单位)。例如,-f 440 会产生频率为 440 Hz 的音音。
  • -l 或 --nloops:指定测试循环的次数。-l 0 会使测试无限循环,直到用户手动停止。
  • -r 或 --rate:设置音频采样率(单位为 Hz)。常用采样率包括 44100(CD 质量)和 48000。

示例:

1.执行简单的双声道正弦波测试

speaker-test -t sine -f 1000 -c 2

这条命令用来检查立体声配置,会在每个声道上轮流播放频率为 1000 Hz 的正弦波声音。

2.播放粉红噪音

speaker-test -t pink -c 2

使用粉红噪音进行立体声测试。粉红噪音对于测试扬声器的频率响应非常有用。

四. mpg123

下载对应的包

yum install mpg123 alsa-utils -y

上传一首音乐或者使用url下载,这里我用url下载一首

curl -o yinyue.mp3 https://eq-sycdn.kuwo.cn/8d0e7b5a4d1786bacbd7f8992d1b36ac/665b5d32/resource/n1/3/34/3096295558.mp3?from=vip

 在图形化的混音器打开声音,调整音量,在第二个方法中有介绍调节方法

alsamixer

播放音频

mpg123 yinyue.mp3

扩展:

mpg123 是一个流行的命令行音频播放器,用于播放MPEG音频(特别是MP3)文件。它非常适用于UNIX-like操作系统(比如Linux和macOS),并且由于其简单的CLI(命令行界面)界面,它经常被用于编写脚本时背景音乐的播放。

以下是如何使用 mpg123 在你的shell脚本中播放MP3音乐的基本命令:

mpg123 [options] <file1> <file2> <file3> ...
  • [options] :可选参数,用来定制 mpg123 的行为(例如 -q 用于安静(不输出信息)模式播放)。
  • <file1> <file2> <file3> ... :一个或多个MP3文件的路径,可以是本地文件或者网络上的URL。

如果想无限循环播放一个文件,可以使用如下命令:

mpg123 --loop -1 yinyue.mp3

在上面的命令中,--loop -1 意味着无限循环播放。您可以将 -1 替换为其他数字来设置循环的次数。

-f选项调整音量,值的范围从0到32768:

mpg123 -f 10000 filename.mp3
 

这个命令设置音量为10000,范围是0到最大值32768。

五. aplay 

下载对应包

yum -y install alsa-utils

开启声音

 

alsamixer

下载上传好wav格式音频播放

aplay music.wav

扩展:

aplay 是一个简单的命令行音频播放器,它是ALSA(Advanced Linux Sound Architecture)声音系统的一部分。ALSA 提供了音频和MIDI(Musical Instrument Digital Interface)功能,它是Linux系统上的标准音频管理库。

以下是关于 aplay 和其使用的一些基本信息:

特点:

  • 支持多种音频格式,包括WAV、AU、AIFF等。
  • 仅针对支持ALSA的系统。
  • 允许用户配置音频输出的各种参数(比如采样率、通道数、格式等)。

 

基本使用方法:

要播放音频文件,基本的命令格式为:

aplay [选项] 文件

 

示例命令:

播放一个WAV文件,你可以直接调用 aplay 后跟文件名:

aplay /path/to/audiofile.wav

这里的 “/path/to/audiofile.wav” 是你想播放的WAV文件的路径。

 

常用选项:

  • -l 或 --list-devices :列出所有可用的声音设备和数字音频接口。
  • -Dhw:X,Y :指定具体的硬件设备(X是卡号,Y是设备号)。
  • -f :指定样本格式(例如:-f cd 表示CD质量)。
  • -r :设置采样率(单位:Hz)。
  • -c :设置声道数。

示例设置采样率和声道:

aplay -c 2 -r 44100 /path/to/audiofile.wav

这将播放名为 “/path/to/audiofile.wav” 的文件,采样率为44100Hz,两个声道(立体声)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/672198.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Linux shell编程学习笔记55:hostname命令——获取或设置主机名,显示IP地址和DNS、NIS

0 前言 2024年的网络安全检查又开始了&#xff0c;对于使用基于Linux的国产电脑&#xff0c;我们可以编写一个脚本来收集系统的有关信息。其中主机名也是我们要收集的信息之一。 1. hostname命令 的功能、格式和选项说明 我们可以使用命令 hostname --help 来查看hostname命令…

[vue2项目]vue2+supermap[mapboxgl]+天地图之地图的基础操作(画线+自定义打点)

二、地图的基础操作 1、画线 案例(1) this.map.on("load", () => {let geometryLine = {type: "Feature",geometry: {// 定义类型type: "LineString",coordinates: [[113.39793764, 34.05675322],[113.35187554, 32.4392251],[112.476851…

电子电器架构 --- 什么是域控制器?

我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 屏蔽力是信息过载时代一个人的特殊竞争力,任何消耗你的人和事,多看一眼都是你的不对。非必要不费力证明自己,无利益不试图说服别人,是精神上的节…

JAVA流程控制do...while循环

1.对于while语句而言&#xff0c;如果不满足条件&#xff0c;则不能进入循环。但有时候我们需要即使不满足条件&#xff0c;也至少执行一次 2.do...while循环和while循环相似&#xff0c;不同的是&#xff0c;do...whlie循环至少会执行一次 do{ //代码语句 }while&#xff08;…

961题库 北航计算机 操作系统 附答案 简答题形式

有题目和答案&#xff0c;没有解析&#xff0c;不懂的题问大模型即可&#xff0c;无偿分享。 第1组 习题 某计算机系统中的磁盘有 300 个柱面&#xff0c;每个柱面有 10 个磁道&#xff0c;每个磁道有 200个扇区&#xff0c;扇区大小为 512B。文件系统的每个簇&#xff08;或…

王源演唱会火爆开枪

王源演唱会火爆开抢&#xff01;当夜幕降临&#xff0c;繁星点点&#xff0c;无数粉丝的心随着一个名字而狂跳——王源&#xff01;就在昨晚&#xff0c;王源的演唱会门票正式开抢&#xff0c;然而&#xff0c;就在这个激动人心的时刻&#xff0c;猫眼突然停止&#xff0c;让无…

Java集合:数据存储与操作的瑞士军刀

Java集合概述 集合是用来存储多个元素的容器。文章从四个方面来概述下集合&#xff0c;让读者对集合有一个大致的了解。 一、 多样化的容器 Java 集合大致包含 2 大体系 Collection体系 List&#xff1a;存储有序、重复的元素 Set&#xff1a;存储无序、不可重复的元素…

MySQL数据表的设计

实际工程中, 对于数据表的设计和创建, 我们遵循以下步骤: 首先确定实体, 找到关键名词, 提取关键信息, 设计表有哪些列, 每一列是什么. (有几个实体, 一般就创建几个表, 一般一个表对应一个实体) 实体之间的关系: 1. 一对一关系 例如: 一个学生, 只能有一个账号; 一个账号只…

simulink中调用C语言:S-Function

S函数的简单介绍 S函数&#xff1a;S-Function 可以使用 MATLAB&#xff0c; C&#xff0c; C&#xff0c; Ada&#xff0c;或 Fortran 语言来编写。使用 MEX 实用工具&#xff0c;将 C&#xff0c; C&#xff0c; Ada&#xff0c;和 Fortran 语言的 S-Function 编译成 MEX-文…

外泌体相关基因肝癌临床模型预测——2-3分纯生信文章复现——03.差异表达基因筛选之热图绘制(4)

内容如下: 1.外泌体和肝癌TCGA数据下载 2.数据格式整理 3.差异表达基因筛选 4.预后相关外泌体基因确定 5.拷贝数变异及突变图谱 6.外泌体基因功能注释 7.LASSO回归筛选外泌体预后模型 8.预后模型验证 9.预后模型鲁棒性分析 10.独立预后因素分析及与临床的相关性分析…

【C语言】文件操作(中卷)

前言 在文件操作&#xff08;上卷&#xff09;中&#xff0c;讲到的主要都是正式文件操作开始之前的前置知识&#xff0c;而这一卷中&#xff0c;我们将开始正式地操作文件。 在上卷中我们已经说到&#xff0c;stdin stdout stderr是三个C语言程序启动时默认打开的流。这三个流…

猫头虎分享已解决Bug || **Eslint插件安装问题Unable to resolve eslint-plugin-猫头虎

猫头虎分享已解决Bug || **Eslint插件安装问题Unable to resolve eslint-plugin-猫头虎 博主猫头虎的技术世界 &#x1f31f; 欢迎来到猫头虎的博客 — 探索技术的无限可能&#xff01; 专栏链接&#xff1a; &#x1f517; 精选专栏&#xff1a; 《面试题大全》 — 面试准备的…

cmake的基础使用

根据源程序文件生成可执行文件: 生成可执行文件&#xff1a; set设置变量&#xff1a; 指定输出路径&#xff1a; 搜索一个目录下的所有源文件&#xff1a; 制作静态库&#xff1a; 指定生成库的路径&#xff1a; 包含库文件&#xff1a; cmake中使用if语句&#xff1a; 使用me…

猫头虎分享已解决Bug || SyntaxError: Unexpected token < in JSON at position 0

博主猫头虎的技术世界 &#x1f31f; 欢迎来到猫头虎的博客 — 探索技术的无限可能&#xff01; 专栏链接&#xff1a; &#x1f517; 精选专栏&#xff1a; 《面试题大全》 — 面试准备的宝典&#xff01;《IDEA开发秘籍》 — 提升你的IDEA技能&#xff01;《100天精通鸿蒙》 …

Python爬虫之简单学习BeautifulSoup库,学习获取的对象常用方法,实战豆瓣Top250

BeautifulSoup是一个非常流行的Python库&#xff0c;广泛应用于网络爬虫开发中&#xff0c;用于解析HTML和XML文档&#xff0c;以便于从中提取所需数据。它是进行网页内容抓取和数据挖掘的强大工具。 功能特性 易于使用: 提供简洁的API&#xff0c;使得即使是对网页结构不熟悉…

有损线、上升边退化与材料特性(七)

有损线的不良影响 当信号沿着实际有损线传输时&#xff0c;高频分量的幅度减小&#xff0c;而低频分量的幅度保持不变。由于这个种选择性的衰减&#xff0c;信号的带宽降低&#xff0c;信号的上升边会增长。如果上升边的退化与单位间隔比很小&#xff0c;同位模式将比较稳定与…

Redis学习笔记【实战篇--短信登录】

开篇导读 实战篇有什么样的内容 短信登录 这一块我们会使用redis共享session来实现 商户查询缓存 通过本章节&#xff0c;我们会理解缓存击穿&#xff0c;缓存穿透&#xff0c;缓存雪崩等问题&#xff0c;让小伙伴的对于这些概念的理解不仅仅是停留在概念上&#xff0c;更…

【多模态】34、LLaVA-v1.5 | 微软开源,用极简框架来实现高效的多模态 LMM 模型

文章目录 一、背景二、方法2.1 提升点2.2 训练样本 三、效果3.1 整体效果对比3.2 模型对于 zero-shot 形式的指令的结果生成能力3.3 模型对于 zero-shot 多语言的能力3.4 限制 四、训练4.1 数据4.2 超参 五、代码 论文&#xff1a;Improved Baselines with Visual Instruction …

什么是ACP?

前言 ACP指的是应用程序控制平面&#xff0c;是微服务架构中的一个关键组成部分。它负责管理微服务架构中的各个微服务&#xff0c;包括服务发现和注册、负载均衡、服务路由、熔断和降级、配置管理等方面的功能。 A&#xff1a;可用性 所有请求都有响应。C&#xff1a;强一致…

五种最新算法求解柔性作业车间调度问题(Flexible Job Shop Scheduling Problem,FJSP),提供MATLAB代码

一、WSA求解FJSP FJSP&#xff1a;波搜索算法(Wave Search Algorithm, WSA)求解柔性作业车间调度问题&#xff08;FJSP&#xff09;&#xff0c;提供MATLAB代码-CSDN博客 二、SBOA求解FJSP FJSP&#xff1a;蛇鹫优化算法&#xff08;Secretary bird optimization algorithm&a…