标签 音频 下的文章

Octave 是一个 Linux 上类似于 Matlab 的软件,它拥有数量众多的函数和命令,支持声音采集、记录、回放以及音频信号的数字化处理,用于娱乐应用、研究、医学以及其它科学领域。在本教程中,我们会在 Ubuntu 上使用 Octave 的 4.0.0 版本读取音频文件,然后通过生成信号并且播放来模仿在各种情况下对音频信号的使用。

本教程中关注的不是安装和学习使用安装好的音频处理软件,而是从设计和音频工程的角度理解它是如何工作的。

环境准备

首先是安装 octave,在 Ubuntu 终端运行下面的命令添加 Octave PPA,然后安装 Octave 。

sudo apt-add-repository ppa:octave/stable
sudo apt-get update
sudo apt-get install octave

步骤1:打开 Octave

在这一步中我们单击软件图标打开 Octave,可以通过单击下拉式按钮选择工作路径。

步骤2:音频信息

使用audioinfo命令查看要处理的音频文件的相关信息。

>> info = audioinfo ('testing.ogg')

步骤3:读取音频文件

在本教程中我会使用 ogg 文件来读取这种文件的属性,比如采样、音频类型(stereo 和 mono)、信道数量等。必须声明的一点是教程中使用的所有的命令都是在 Octave 终端窗口中执行的。首先,我们必须要把这个 ogg 文件赋给一个变量。注意:文件必须在 Octave 的工作路径中。

>> file='yourfile.ogg'
>> [M, fs] = audioread(file)

这里的 M 是一个一列或两列的矩阵,取决于信道的数量,fs 是采样率。

下面的操作都可以读取音频文件:

>> [y, fs] = audioread (filename, samples)

>> [y, fs] = audioread (filename, datatype)

>> [y, fs] = audioread (filename, samples, datatype)

samples 指定开始帧和结束帧,datatype 指定返回的数据类型。可以为所有变量设置值:

>> samples = [1, fs)

>> [y, fs] = audioread (filename, samples)

数据类型:

>> [y,Fs] = audioread(filename,'native')

如果值是“native”,那么它的数据类型就依数据在音频文件中的存储情况而定。

步骤4:音频文件的写操作

新建一个 ogg 文件:

我们会从一个余弦值创建一个 ogg 文件。采样率是每秒 44100 次,这个文件最少进行 10 秒的采样。余弦信号的频率是 440 Hz。

>> filename='cosine.ogg';
>> fs=44100;
>> t=0:1/fs:10;
>> w=2*pi*440*t;
>> signal=cos(w);
>> audiowrite(filename, signal, fs);

这就在工作路径中创建了一个 'cosine.ogg' 文件,这个文件中包含余弦信号。

播放这个 'cosine.ogg' 文件就会产生一个 440Hz 的 音调,这个音调正好是乐理中的 'A' 调。如果需要查看保存在文件中的值就必须使用 'audioread' 函数读取文件。在后续的教程中,我们会看到怎样在两个信道中读取一个音频文件。

步骤5:播放音频文件

Octave 有一个默认的音频播放器,可以用这个音频播放器进行测试。使用下面的函数:

>> [y,fs]=audioread('yourfile.ogg');
>> player=audioplayer(y, fs, 8)

  scalar structure containing the fields:

    BitsPerSample =  8
    CurrentSample = 0
    DeviceID = -1
    NumberOfChannels =  1
    Running = off
    SampleRate =  44100
    TotalSamples =  236473
    Tag =
    Type = audioplayer
    UserData = [](0x0)
>> play(player);

在这个教程的续篇,我们会进入音频处理的高级特性部分,可能会接触到一些科学和商业应用中的实例。


via: https://www.howtoforge.com/tutorial/how-to-read-and-write-audio-files-with-octave-4-in-ubuntu/

作者:David Duarte 译者:vim-kakali 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

CD音频抓取器设计用来从光盘中提取(“RIP”)原始数字音频(通常被称为 CDDA 格式)并把它保存成文件或以其他形式输出。这类软件使用户能把数字音频编码成各种格式,并可以从在线光盘数据库 freedb 中下载或上传光盘信息。

复制CD合法吗?在美国版权法中,把一个原始CD转换成数字文件用于个人使用等同于‘合理使用’。然而,美国版权法并没有明确的允许或禁止拷贝私人音频CD,而且判例法还没有确立出在具体的哪种情况下可以视为合理使用。而在英国,其版权的定位则更清晰一些。从2014年开始,英国公民制造CD,MP3,DVD,蓝光和电子书的行为成为合法行为。当然,这仅适用于这个人拥有被采集的媒体的实体,并且复制品仅用于他们个人使用。对于欧盟的其他国家,成员国也允许私人复制这种特例。

如果你不确定在你生活的国家里这种版权是如何界定的,在你使用这篇文章中所列举的软件前请查询本地的版权法以确定你处在合法的一边。

在某种程度上,提取CD音轨看起来有点多余。如Spotify和Google Play Music这类流媒体服务提供了一个巨大的以通用格式的音乐的库,无需采集你的CD集。但是,如果你已将收藏了一个数量巨大的CD集。能把你的CD转换成可以在便携设备如智能手机、平板和便携式MP3播放器上播放的格式仍然是个诱人的选择。

这篇文章推荐了我最喜欢的音频CD抓取器。我挑了四个最好的图形界面的音频抓取器。所有这些应用程序都是在开源许可下发行的。

fre:ac

fre:ac是个开源的音频转换器和CD提取器,支持很多种流行格式和编码器。目前这个应用可以在MA3、MP4/M4A、WMA、Ogg Vorbis、FLAC、AAC、WAV和Bonk格式间转换。这来源于几种不同形式的LAME编码器。

功能包括:

  • 易学易用
  • MP3、MP4/M4A、WMA、Ogg Vorbis、FLAC、AAC、WAV和Bonk格式转换器
  • 集成了CDDB/freedb标题数据库支持的CD提取器
  • 多核优化的编码器加速了现代PC上的转换速度
  • 对于标签和文件名称的全Unicode支持
  • 易学易用,而当你需要时还提供专家级选项
  • 任务列表
  • 可以使用Winamp 2输入插件
  • 多语言用户界面支持41种语言
  • 网址: freac.org
  • 开发人员:Robert Kausch
  • 许可证: GNU GPL v2
  • 版本号: 20141005

Audex

Audex是个简单易用的开源的音频CD提取应用。虽然它还处于早期开发阶段,但这个KDE桌面工具足够稳定、智能和简单易用。

它的助手可以为LAME、OGG Vorbis(oggenc)、FLAC、FAAC(AAC/MP4)和RIFF WAVE等格式创建配置文件。除了这个助手,你也可以定义你自己的配置文件,这意味着,Audex适用于大部分的命令行编码器。

功能包括:

  • 可提取CDDA Paranoia
  • 提取和编码同时进行
  • 文件名采用本地和远程的CDDB/FreeDB数据库
  • 可以提交到CDDB/FreeDB数据库
  • 类似capitalize的元数据纠正工具
  • 多配置文件提取(每个配置文件文件有一个命令行编码器)
  • 从互联网上抓取封面并将他们存在数据库中
  • 在目标目录中创建播放列表、封面和基于模板的信息文件
  • 创建提取和编码协议
  • 将文件传送到FTP服务器
  • 支持国际化
  • 网址: kde.maniatek.com/audex
  • 开发人员: Marco Nelles
  • 许可证: GNU GPL v3
  • 版本号: 0.79

Sound Juicer

Sound Juicer是个使用GTK+和GStreamer开发的轻量级CD提取器。它从CD中提取音频并把它转换成音频文件。Sound Juicer还可以直接播放CD中的音轨,在提取前提供预览。

它支持任何GStreamer插件所支持的音频编码,包括 MP3、Ogg Vorbis、FLAC和未压缩的PCM格式。

它是GNOME桌面环境内建的一部分。

功能包括:

  • 自动通过CDDB给音轨加标签
  • 可编码成ogg/vorbis、FLAC和原始WAV
  • 编码路径的设置很简单
  • 多种风格流派
  • 国际化支持
  • 网址:burtonini.com
  • 开发人员: Ross Burton
  • 许可证:GNU GPL v2
  • 版本号:3.14

ripperX

ripperX是个开源的图形界面的程序,用于提取CD音轨并把他们编码成Ogg、MP2、MP3或FLAC格式。它的目的是容易使用,只需要点几下鼠标就能转换整张专辑。它支持在CDDB寻找专辑和音轨信息。

他使用cdparanoia把CD音轨转换(也就是“提取”)成WAV文件,然后调用Vorbis/Ogg编码器oggenc把WAV文件转换成OGG文件。它还可以调用flac让WAV文件生成无损压缩的FLAC文件。

功能包括:

  • 非常简单易用
  • 可以把CD音轨提取成WAV、MP3、OGG或FLAC文件
  • 支持CDDB查找
  • 支持ID3v2标签
  • 可暂停提取进程
  • 网址:sourceforge.net/projects/ripperx
  • 开发人员:Marc André Tanner
  • 许可证:MIT/X Consortium License
  • 版本号:2.8.0

转自:http://www.linuxlinks.com/article/20150125043738417/AudioGrabbersGraphical.html

作者:Frazer Kline 译者:H-mudcup 校对:wxy

本文由 LCTT 原创翻译,Linux中国 荣誉推出

科学家已经开发出一种使用声波实现自我传播的新型恶意软件,貌似Linux是目前唯一能够抵御该类攻击的操作系统

来自德国的科学家Michael Hanspach和Michael Goetz已经开发出了一种技术能够使得恶意软件只需通过麦克风和扬声器就能够将自己传播感染到其他计算机。

“只需要通过计算机系统中某些意想不到的方式建立通信连接,一些隐秘的渠道就能够绕过系统与网络的安全策略。我们在不同的计算机操作系统间构建了一种隐秘渠道,利用音频编码/解码,以空气为媒介,在计算机系统间进行数据交换。”两位科学家在《通讯学报(Journal of Communication)》上发表了他们的论文

该方法验证了一种非常强大的感染计算机的方法,尤其是因为被感染的计算机甚至都不需要接入网络。该方法所需要的条件仅仅是“近距离”。

另一个问题是,事实上如今的操作系统还没有任何现成的防范手段能抵御这种攻击。好消息是,Linux用户可以通过一些小的修改就能获得所需的防护。

开发者介绍说Linux系统本身是可以任意编程调整的,相对来说,更容易改编适应这种新形式的攻击。

“如果音频输入输出设备无法关闭,音频过滤设置也许是一个替代办法,可以抵御恶意软件触发加入隐秘网络。”

科学家在论文中说道:“基于Linux的操作系统,音频过滤软件可以通过ALSA(Advanced Linux Sound Architecture 高级Linux音频架构)与LADSPA(Linux Audio Developer’s Simple Plugin API Linux音频开发者简易插件API)协同实现上述过滤功能。”

“声传恶意软件”是一种非常新的新鲜事物,无怪乎还没有针对它的防御办法,但是从另一个角度,这也反映出了为什么说Linux是更安全的操作系统。


via: http://news.softpedia.com/news/Linux-Is-the-Only-Way-to-Protect-Against-Possible-Malware-Through-Sound-Attacks-405566.shtml

译者:Mr小眼儿 校对:wxy

本文由 LCTT 原创翻译,Linux中国 荣誉推出