音频处理工具SOX详解

2023-11-17

这里写自定义目录标题

前言

SoX(即 Sound eXchange)是一个跨平台(Windows,Linux,MacOS 等)的命令行实用程序,可以将各种格式的音频文件转换为需要的其他格式。
SoX 还可以对输入的音频文件应用各种效果,也支持在大多数平台上播放和录制音频文件。

一、简介

SoX 可以读取和写入常见格式的音频文件,并在此过程中选择性的加入一些声音效果。
它可以组合多个输入源及合成音效,在许多系统上也可以作为音频播放器或多轨录音机使用。
SoX 工具在大部分 Linux 系统上都可以直接通过软件包管理器安装(如 sudo apt-get install sox),Mac 系统上则可以使用 brew install sox 命令。
SoX 处理音频的基本流程如下:
Input(s) -> Combiner -> Effects -> Output(s)
SoX 工具的所有功能都可以通过一个简单的 sox 命令及相应的选项实现。但它同时提供了 play 命令用于播放音频文件,rec 命令用于录制音频,以及 soxi 命令用于获取音频的文件头中包含的信息。
上述几个命令的基本格式如下:

SYNOPSIS
       sox [global-options] [format-options] infile1
            [[format-options] infile2] ... [format-options] outfile
            [effect [effect-options]] ...

       play [global-options] [format-options] infile1
            [[format-options] infile2] ... [format-options]
            [effect [effect-options]] ...

       rec [global-options] [format-options] outfile
            [effect [effect-options]] ...
       
       soxi [-V[level]] [-T] [-t|-r|-c|-s|-d|-D|-b|-B|-p|-e|-a] infile1 ...

二、基本使用

  1. 获取音频文件的元数据
    soxi 或 sox --i 命令可以通过分析音频文件的文件头,获取其元数据(如通道数、采样率、编码等)。
$ soxi Faded.wav
Input File     : 'Faded.wav'
Channels       : 2
Sample Rate    : 44100
Precision      : 16-bit
Duration       : 00:03:32.63 = 9376836 samples = 15947 CDDA sectors
File Size      : 37.5M
Bit Rate       : 1.41M
Sample Encoding: 16-bit Signed Integer PCM

soxi 命令跟上某个特定的选项可以只获取该选项对应的信息,如只显示某音频文件 Faded.wav 的比特率(Bit Rate):

$ soxi -B Faded.wav
1.41M

soxi 命令支持的所有选项及其含义如下:

$ soxi
Usage: soxi [-V[level]] [-T] [-t|-r|-c|-s|-d|-D|-b|-B|-p|-e|-a] infile1 ...

-t  Show detected file-type
-r  Show sample-rate
-c  Show number of channels
-s  Show number of samples (0 if unavailable)
-d  Show duration in hours, minutes and seconds (0 if unavailable)
-D  Show duration in seconds (0 if unavailable)
-b  Show number of bits per sample (0 if not applicable)
-B  Show the bitrate averaged over the whole file (0 if unavailable)
-p  Show estimated sample precision in bits
-e  Show the name of the audio encoding
-a  Show file comments (annotations) if available

With no options, as much information as is available is shown for
each given file.
  1. 获取音频的统计信息
    可以使用 sox -n stat 命令获取某音频文件的统计信息。示例如下:
$  sox Faded.wav -n stat
Samples read:          18753672
Length (seconds):    212.626667
Scaled by:         2147483647.0
Maximum amplitude:     0.977417
Minimum amplitude:    -0.977478
Midline amplitude:    -0.000031
Mean    norm:          0.229415
Mean    amplitude:    -0.000006
RMS     amplitude:     0.302594
Maximum delta:         1.765564
Minimum delta:         0.000000
Mean    delta:         0.202369
RMS     delta:         0.273320
Rough   frequency:         6339
Volume adjustment:        1.023
  1. 播放与录制
    play 和 rec 命令提供了最基本的播放和录制功能。
    播放:$ play existing-file.wav
    录制:$ rec new-file.wav
    上述命令等同于 sox 命令的如下形式:
    $ sox existing-file.wav −d(播放)和 sox −d new-file.wav(录制)
    其中 -d 选项用于指定播放或录制时使用的音频设备,不指定时则表示使用默认设备。
    可以这样理解:

sox existing-file.wav -d 就是从 existing-file.wav 文件中读取其包含的音频数据,再输出到 -d (默认音频设备,扬声器)进行播放;

sox -d new-file.wav 就是从 -d (默认音频设备,麦克风)中读取音频数据,再输出(录制)到 new-file.wav 文件中。

其实都遵循了一个基本的格式,即 sox 。而其中的 和 根据需要既可以为某个具体的音频文件,也可以是某个具体的音频设备。

播放或录制的同时,也可以对音频文件应用指定的编辑操作或效果选项,因此在对音频数据应用某效果前,可以先使用 play 命令进行“预览”。
如 trim 效果可以从音频文件中裁剪提取指定的片段到输出文件。play 命令通过该效果可以直接播放指定片段:
$ play foo.wav trim 10.0 5.0 或 $ play foo.wav trim 10.0 =15.0
播放 foo.wav 文件中 10-15s 之间的音频片段
使用 echo 效果播放 Faded.wav 文件:

$ play Faded.wav echo 0.8 0.88 200.0 0.4

Faded.wav:

 File Size: 37.5M     Bit Rate: 1.41M
  Encoding: Signed PCM
  Channels: 2 @ 16-bit
Samplerate: 44100Hz
Replaygain: off
  Duration: 00:03:32.63

In:12.1% 00:00:25.82 [00:03:06.81] Out:1.14M [-=====|=====-] Hd:2.7 Clip:0
  1. 音频格式转换
    文件格式类型
    对于音频数据格式的描述,主要通过以下 4 种属性:

采样率(sample rate):指声音由模拟信号转换成数字信号的过程中,每秒从连续信号中提取的用于组成离散信号的样本个数。
音频CD所用的采样率为 44100 Hz,数字音频磁带和许多计算机系统使用 48000 Hz,专业级音频系统通常使用 96000 Hz。
采样大小(sample size 或 Precision):音频采样时用于存储每个样本的数据位数(bits)。如今 16 bit 的采样大小已被广泛使用,24 bit 主要用于专业音频领域。
编码格式(data encoding):即每个音频样本的表示(即“编码”)方式。常用的编码类型包括 floating-point、μ-law、ADPCM、singed-integer PCM、MP3 和 FLAC 等。
通道(channel):即文件中包含的音频通道的数量。其中单声道(mono)和双声道(stereo)是最常见的两种,“环绕声”音频(Surround sound)通常包含六个或更多声道。

此外,音频文件还使用比特率(Bit Rate)表示一个单位时间内编码音频信号占用的存储空间大小, 它的数值一般取决于所有的上述四个参数。
MP3 编码的立体声音乐通常具有 128-196kbps 的比特率, FLAC 编码的立体声音乐通常具有 550-760kbps 的比特率。
我个人是这样想的,,,可以将一段音频数据看成很长很长的一排苹果树,从头走到尾,每隔一段距离停下,摘下满满一筐苹果。。。
筐的大小就是采样大小,停下来采摘的次数就是采样频率,比特率就是把一定数量的苹果“榨成汁”(以特定的格式对音频编码)以后的重量,当然有些榨汁方法会造成一定的损失。
格式转换
形式最简单的 sox 命令即使用两个文件名作为参数,如:
$ sox Faded.wav Faded.mp3 :将 Faded.wav 文件的格式由 wav 转为 mp3
上述命令执行时,SoX 会先从 Faded.wav 文件中读取音频数据,再将其输出到 Faded.mp3 文件中。而 SoX 程序会根据参数中文件名的后缀推断出相应的格式,并在复制音频数据的过程中自动进行转码。
SoX 可以处理 self-describing 和 raw 格式的音频文件。
self-describing 格式(如 WAV、FLAC、MP3)的文件包含一个用于描述信号和编码属性的文件头,而 raw 或 headless 格式的音频则不包含这些信息。
所以当 raw 格式的音频作为输入文件时,需要在 sox 命令的格式选项里指定其信号和编码属性。
常用的音频格式选项:

选项
描述

-b, --bits BITS

每个编码样本占用的数据位数

-c, --channels CHANNELS

音频文件包含的通道数

-e, --encoding ENCODING

音频文件的编码类型

-r, --rate RATE

音频文件的采样率
-t, --type FILE-TYPE
音频文件的文件类型
上述选项适用于输入或输出文件,主要用于说明 raw(或 headless)文件作为输入时的格式信息,或格式转换时指定输出文件的具体参数。
$ sox −r 48k −e float −b 32 −c 2 input.raw output.wav
将某个特定的 raw 格式的音频文件转换为 wav 格式
$ sox Faded.wav Faded.raw
将音频文件 Faded.wav 转为 raw 格式
$ play -r 44800 -b 16 -e signed-integer -c 2 Faded.raw
播放 raw 格式的音频文件
$ sox Faded.wav -c 1 Faded-mono.wav
将 Faded.wav 文件转换成单声道(-c 1)后输出

三、音频效果

SoX 工具可以在音频处理的过程中,对输入的音频数据应用众多的效果。
可以使用如下命令查看所有效果的帮助信息:

$ sox --help-effect all | less
sox:      SoX v
Effect usage:
allpass frequency width[h|k|q|o]
band [-n] center [width[h|k|q|o]]
bandpass [-c] frequency width[h|k|q|o]
bandreject frequency width[h|k|q|o]
bass gain [frequency(100) [width[s|h|k|q|o]](0.5s)]
bend [-f frame-rate(25)] [-o over-sample(16)] {start,cents,end}

也可以直接查看具体某个音频效果的使用方法:

$  sox --help-effect echo
sox:      SoX v
Effect usage:
echo gain-in gain-out delay decay [ delay decay ... ]

以下是一些简单的应用场景。

  1. 更改声道数
    sox 命令可以更改音频文件中声道的数目,如将单声道音频转换成双声道:
    $ sox foo.wav foostereo.wav channels 2 或 $ sox foo.wav -c 2 foostereo.wav
    但是上述命令并没有创建一个“真实”的双声道音频,而是将单声道音频复制成完全一致的两个声道再合并到输出文件中。
    可以通过 sox 命令的 -M 选项将左右两个声道的单声道音频合并成一个双声道文件:
    $ sox -M left.wav right.wav stereo.wav
    当然,也可以通过对双声道文件中两个声道的均一化处理,将其输出为单声道音频:
    $ sox original.wav mono.wav channels 1 或 $ sox original.wav -c 1 mono.wav
    remix
    通过 sox 命令的 remix 效果也可以完成对声道数据的提取或融合。
    提取双声道音频文件中单个声道的数据并作为单声道音频输出:
    $ sox stereo.wav left.wav remix 1 (提取左声道音频)
    $ sox stereo.wav right.wav remix 2 (提取右声道音频)
    融合双声道文件中两个声道的音频数据并作为单声道音频输出:
    $ sox stereo.wav mono.wav remix 1,2 或
    $ sox stereo.wav mono.wav remix 1-2
    此外,remix 还可以将输入文件中的多个声道数据分别进行融合。
    如使用 -M 选项将两个双声道音频合并,再通过 remix 将合并得到的四个声道两两融合,生成一个只包含两个声道的输出文件。
    $ sox -M stereo1.wav stereo2.wav output.wav remix 1,3 2,4

  2. 改变音量
    sox 命令的 -v 选项可以用来(成倍地)改变音量的大小:
    $ sox -v 0.5 foo.wav bar.wav
    上述命令将 foo.wav 音频放大 0.5 倍音量后输出至 bar.wav 文件
    可以将音量放大功能与 stat 效果结合。
    以 sox foo.wav -n stat -v 命令返回的数字作为放大倍数,将最大化 foo.wav 的音量而不至于出现削波:
    $ sox foo.wav -n stat -v 2> vc
    $ sox -v cat vc foo.wav foo-maxed.wav
    此外,还有一个选项 --norm 用来归一化音频响度。为了最大化音频的声音强度,可以在处理输入音频时将该选项设置为 -1:
    sox --norm=-1

  3. 提取文件的某个部分

sox 命令的 trim 效果可以将输入音频的某一段裁剪出来并提取到输出文件中。
trim 接收两个参数,一个作为裁剪片段的起始位置,另一个作为该片段持续的时间。
可以使用整数+s格式的参数以样本个数作为计量单位,也可以直接使用 ((hh:)mm:)ss(.fs) 形式的时间参数。当参数为纯整数时,单位为秒。
$ sox Input.wav Half1.wav trim 0 30:00 截取输入文件中前 30 分钟的音频
$ sox Input.wav Half2.wav trim 30:00 30:00 截取输入文件中从第 30 分钟开始到第 60 分钟的音频

  1. 拼接文件
    与前面裁剪提取的操作相反,sox 命令还可以实现对两个或多个音频文件的拼接。
    $ sox Half1.wav Half2.wav Full.wav
    将 Half1.wav 和 Half2.wav 合并至 Full.wav 文件。注意合并前的音频文件需保持一致的类型和采样率等。
  2. 合成音频
    sox 命令可以通过 synth 效果合成许多标准波形和噪声类型。
    $ sox -n sine.wav synth 1.0 sine 1000.0
    合成频率为 1000 Hz 长度为 1 秒的正弦波,保存至 sine.wav 文件中。
    synth 支持合成的声音类型包括 sine、square、triangle、sawtooth、trapetz (trapezoidal)、exp (exponential)、whitenoise、pinknoise 和 brownnoise。
  3. 静音效果
    sox 命令可以创建静音状态的音频片段,使用 -n 选项表示没有输入,通过 trim 效果指定需要静音的片段。
    $ sox -n -r 48000 silence.wav trim 0.0 0.250
    在 slience.wav 文件中创建一段长度为 250ms 采样率为 48000Hz 的静音片段。
  4. 混合音频
    sox 命令的 -m 选项可以将两个音频文件混合以后生成输出文件。
    $ sox -m sine100.wav sine250.wav sine100-250.wav
    将 sine100.wav 和 sine250.wav 两个音频文件融合以后作为 sine100-250.wav 文件的音频数据。
    $ sox -m -v0.5 music.mp3 -v2 speech.wav presentation.wav
    将背景音乐(music.mp3)音量降低一半后与放大 2 倍音量的人声数据(speech.wav)融合。
    如果不确定融合效果,可以先通过 play 命令使用相同的参数对结果进行“预览”:
    $ play -m -v0.5 music.mp3 -v2 speech.wav
    PS:
    与前面的 -M 选项不同,-m 选项倾向于对声道数据的混合,即两个单声道文件通过 -m 混合以后输出仍是单声道数据。输出文件中的单个声道包含了输入的两个声道的特征。
    而 -M 选项更倾向于对音频文件的合并,默认不对声道数据进行混合。所以两个单声道文件通过 -M 合并以后默认输出双声道音频。输出文件中的两个声道分别对应于输入的两个声道(数据没有混合)。除非通过 -c 选项手动指定输出文件的声道数量。
  5. 改变播放速度
    可以通过 stretch 效果改变音频文件的播放速度,同时不会导致音高的变化。
    如以 2x 倍速播放 Faded.wav 文件:
    $ play Faded.wav stretch 0.5
    也可以通过 speed 效果调节播放速度(相应地音高也会发生变化):
    $ play Faded.wav speed 2
    此外,可以使用 pitch 效果调节音频片段的音高,以音分(cents)为单位。
    $ play Faded.wav pitch 200
    将 Faded.wav 文件中的音频提高 200 音分,即提高 2 个半音的音程(每一个半音的音程等于 100 音分)。
    参考资料
    SoX
    Using Sox
    How to process audio files from the command line with SoX
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

音频处理工具SOX详解 的相关文章

  • MFCC特征值详解

    看了网上的很多MFCC 依然没能够学号MFCC 因此糊了一段时间详细的看了下MFCC的内容 现在也算是对于MFCC有了更深入的理解了 不管是语音识别还是其他的一系列的识别大体都分为三个步骤 1 输入信号的预处理2 特征值提取3 相关算法的识
  • 学习实践-Whisper语音识别模型实战(部署+运行)

    1 Whisper内容简单介绍 OpenAI的语音识别模型Whisper Whisper 是一个自动语音识别 ASR Automatic Speech Recognition 系统 OpenAI 通过从网络上收集了 68 万小时的多语言 9
  • Unity3D集成腾讯语音GVoice SDK

    简述 我们项目中用到了实时语音功能 在最初语音 SDK 技术选型的时候测试过融云 声网和腾讯的 GVoice 融云和声网我都在我们项目中使用过 但是效果都不如王者荣耀游戏中的实时语音效果 这两天好好研究了一下腾讯的 GVoice 终于成功集
  • 调用百度云API实现语音识别

    一 在云平台创建语音技术应用 1 点击百度AI平台短语音识别https ai baidu com tech speech asr 登录百度云账号 2 新用户注册完百度智能云平台后 需要在 语音技术 概览 页面领取语音识别的免费额度 否则后续
  • 语音识别芯片LD3320介绍再续

    语音识别芯片LD3320驱动程序 1 芯片复位 复位就是对LD3320芯片的第47腿 RSTB 发送低电平 然后需要对片选CS做一次拉低 拉 高的操作 以激活内部DSP 按照以下顺序 void LD reset RSTB 1 delay 1
  • 文本转语音的接口(开放免费)

    百度的开放转换接口 http tts baidu com text2audio lan zh ie UTF 8 spd 4 text 你好啊 听起来好憨啊 lan 语言类型 lan en 英文 lan zh 中文 ie 文字编码方式 spd
  • 模型训练——Loss函数 归纳汇总

    上一篇文章 语音降噪模型归纳汇总 很意外地收到了点赞收藏和关注 如此的反馈给了我极大的鼓舞 这里就再梳理了一下loss函数相关的知识 以求方便能作为一份工具性质的文章展现出来 能力一般 水平有限 欢迎大家指正 干货分享 欢迎收藏点赞加关注
  • AI语音合成软件免费的有哪些?常用的语音合成软件

    近年来 短视频作为一种新兴的互联网内容传播形式 逐渐获得各大平台和粉丝的青睐 其时长简短并适合在移动状态和休闲状态下观看的特点 将产品受众面拓展到整体网民的88 3 上至老年人 下至小孩子 都多多少少可以自己创作一些短视频作品以供娱乐 那么
  • 【更好的中文语音识别SpeechBrain Win10/11本地部署,基于Aishell】

    环境 Win11x64 Vscode Python3 7 2x64 Pytorch1 9 CPU or GPU 本文默认Win11 Win10 100 素可以得 默认向下兼容 首先 你得把Vscode弄好 python 插件安装 py环境搭
  • lattice

    lattice 在实际的语音识别系统中 最优路径不一定与实际字序列匹配 我们一般希望能够得到得分最靠前的多条候选路径 即N best 为了紧凑地保存候选路径 我们一般采用lattice 词图 来保存识别的候选序列 lattice本质上是一个
  • Python实现简易语音转文字功能模块

    1 实现功能 WAV格式的音频 gt 文字 2 代码实现 import speech recognition as sr from os import path global content 语音 gt 文字 def voice2Text
  • 华为太长脸了,扔出“3张王炸”!再次颠覆互联网行业

    8月29日 在没有任何预告 任何发布会的情况下 华为扔出一张 王炸 华为新手机Mate60pro开售 9月8日 华为废话不多说 再次扔出 王炸 牌 Mate60 Pro MateX5开启预订 一经开抢 卖到断货 就在刚刚 华为AITO问界新
  • 语音识别之HMM算法及其源码

    基础 1 了解HMM算法 http www cnblogs com pangxiaodong archive 2011 10 17 2214542 html 2 再次加深印象 http blog csdn net likelet artic
  • 实时语音通讯技术的应用场景与挑战

    随着互联网和移动通信技术的快速发展 实时语音通讯技术已经成为人们日常生活和工作中不可或缺的一部分 实时语音通讯技术可以让人们通过网络进行实时语音通话 不受时间和地点的限制 带来了极大的便利和效率提升 本文将探讨实时语音通讯技术的应用场景和挑
  • ICLR 2023

    PaperWeekly 原创 作者 黄融杰 单位 浙江大学 研究方向 语音翻译 语音到语音翻译 S2ST 对于打破语言壁垒与沟通障碍非常有益 传统的 S2ST 系统通常由语音识别 ASR 机器翻译 MT 和语音合成 TTS 三部分组成 与这
  • python中的并行处理(多线程)几种方式(Pool, Parallel, threading)

    1 Pool from multiprocessing import Pool import os def worker arg print begin s str arg if name main po Pool 10 定义进程池 最大进
  • 2023 年最常见的人工智能面试问题

    人工智能面试问题 自从我们意识到人工智能如何对市场产生积极影响以来 几乎每个大型企业都在寻找人工智能专业人士来帮助他们实现愿景 在这个人工智能面试问题博客中 我收集了面试官最常问的问题 人工智能 AI 面试问答 人工智能面试准备 此 Edu
  • (九)kaldi thchs30 三音子模型(line 71-76)

    概览 首先放代码 triphone steps train deltas sh boost silence 1 25 cmd train cmd 2000 10000 data mfcc train data lang exp mono a
  • 求救,在频域分析语音信号谐波成分的方法有哪些

    求救 在频域分析语音信号谐波成分的方法有哪些 有一段语音信号 经过FFT之后变换到频域 目前想在频域分析其谐波成分 并找到谐波能量最大的K次谐波 matlab里可以用仿真powergui生成仿真的信号 然后FFT分析得到各谐波成分及能量 但
  • 音频处理工具SOX详解

    这里写自定义目录标题 前言 一 简介 二 基本使用 三 音频效果 前言 SoX 即 Sound eXchange 是一个跨平台 Windows Linux MacOS 等 的命令行实用程序 可以将各种格式的音频文件转换为需要的其他格式 So

随机推荐

  • Android选择本地视频和照片上传到服务器

    目录 照片photo 将http 本地存放照片数据库电脑ip 端口号 fileaddress png转image 一 后台发送来的数据转换Bitmap的方法 用法 二 将第一针显示出来方法 用法 视频vedio 使用选择器获取的 conte
  • rpm打包流程步骤

    rpm打包流程步骤 一 RPM简介 1 1 优点 1 2 缺点 二 前期准备 三 文件结构 3 1 各文件作用 四 打包步骤及SPEC文件的编辑 4 1 步骤 4 1 1 前期准备 4 1 2 建立相应的文件 4 1 3 将源码包放入SOU
  • 2.微服务架构组件分析

    2019独角兽企业重金招聘Python工程师标准 gt gt gt 该系列文章来源于 学习 极客时间 从0开始学习微服务 分享之后笔记载录和读后感 作者胡忠想 微博技术专家 从 2012 年加入微博到现在 从 2012 年加入微博到现在 我
  • blender的下载安装和配置中文环境

    引言 在3D建模和动画设计领域 Blender 作为一款强大且免费的开源软件 一直以优秀的性能和对众多技术的支持赢得了大批用户的喜爱 然而 对于刚接触这款软件的用户而言 其安装和配置过程可能会带来一定困扰 尤其是在设置中文环境方面 因此 本
  • Python 爬虫初学者实战

    1 手写第一个 python 爬虫 爬虫 用程序来获取网站上的资源 常用 encoding utf 8 encoding gbk 1 导入 urllib request urlopen from urllib request import
  • Swiper 显示多行多列

    new Swiper popularity container speed 1600 autoHeight true observer true observeParents true spaceBetween 20 slidesPerVi
  • YOLOv1,v2,v3学习笔记

    YOLO学习笔记 首先我们这篇文章只写yolov1 v2 v3 至于v4我会另起一篇博文的 因为v4中用到了很多的trick和介绍了很多trick 所以我想详细介绍一下 照例 先放大佬的链接 https zhuanlan zhihu com
  • 【数字电路基础】三态门

    目录 前言 三态门 经典问题 前言 文主要讲解三态门 三态门 其模型为 其实际电路为 其真值表为 B A C 0 0 Z 0 1 Z 1 0 0 1 1 1 注意 Z是高阻 不代表没有电压 而是电压不确定 受自身 旁边cell的影响 经典问
  • multi-head attention理解加代码

    multi head attention 用于CNN相关理解 饭前小菜 在早期的Machine Translation 机器翻译 中 Attention机制与RNN的结合 机器翻译解决的是输入是一串在某种语言中的一句话 输出是目标语言相对应
  • python通过多进程加快预处理数据集的速度

    问题背景 imageNet数据集有1000个文件夹 每个文件夹是同一类的图片 大概一两千张 需要对每张图片进行预处理 把图片变成224 224像素的 这样可以加速后续程序的IO速度 同时也方便了数据集的移动 因为更小了 但是图片数量很大 全
  • 工具功能加强-对ARL的改造

    这一阵挖了不少的洞 学习到了很多的姿势 对ARL 玩的也明白了些 下面给大家介绍下如何加强你的ARL 首先不熟悉ARL的可以访问ARL的地址 GitHub TophantTechnology ARL ARL Asset Reconnaiss
  • 嘉兴职业技术学校2019分数线计算机,嘉兴职业技术学院

    序号 入围专业 分数线 1 园艺技术 131 43 2 应用电子技术 航空电子方向 130 00 3 无人机应用技术 125 14 4 物流管理 航空物流方向 133 14 5 旅游管理 文化创意与策划方向 129 14 6 酒店管理 休闲
  • Ubuntu apt update 报错APT::Update::

    E Problem executing scripts APT Update Post Invoke Success if usr bin test w var cache app info a e usr bin appstreamcli
  • 2021年开始,Adobe Flash Player 不能用了?

    WeChat 网管小贾 www sysadm cc 我们都知道 Adobe Flash Player 以下简称 Flash 是比较古老的程序了 在80 90后一代的记忆中 Flash 曾经可是火得一塌糊涂 而炙手可热的 Flash 很多人都
  • jmp address windows hook

    以下代码是sysnap早期发表的inlinehook ObReferenceObjectByHandle 的代码 大部分看懂了 但是有些看不懂 google也查了 qq群也问了 哪位高手有时间给科普下哈 可怜下偶们菜鸟吧 declspec
  • 【Spring IoC容器的加载过程】

    加载配置文件 Spring IoC容器的配置通常以XML形式存储 并通过ResourceLoader和XmlBeanDefinitionReader类来加载 ResourceLoader主要负责加载Bean配置文件 而XmlBeanDefi
  • Java字符串分析器

    package StruingTokenizer import java util StringTokenizer public class StringTokenizer public static void main String ar
  • Docker-数据卷(Data Volumes)&dockerfile

    目录 一 宿主机与容器之间的文件拷贝 1 1 容器中怎么上传项目 文件 1 2 从宿主机拷贝文件到容器 1 3 从容器中拷贝文件到宿主机 二 数据卷 三 数据卷容器 四 Dockerfile Dockerfile制作增强版 自定义cento
  • 电商前台项目——完成注册登录功能、路由守卫

    电商前台项目 完成注册登录功能 路由守卫 文章目录 电商前台项目 完成注册登录功能 路由守卫 一 完成注册部分 1 获取验证码 2 完成用户注册 二 登录 1 点击登录发送请求校验 2 保存下发的token 3 拿着token请求用户数据并
  • 音频处理工具SOX详解

    这里写自定义目录标题 前言 一 简介 二 基本使用 三 音频效果 前言 SoX 即 Sound eXchange 是一个跨平台 Windows Linux MacOS 等 的命令行实用程序 可以将各种格式的音频文件转换为需要的其他格式 So