欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

linux混音軟件命令行,linux 音頻編輯

linux必學(xué)的60個(gè)命令

Linux常用的命令可以分為以下幾類:安裝和登錄命令、文件處理命令、系統(tǒng)管理相關(guān)命令、網(wǎng)絡(luò)操作命令、系統(tǒng)安全相關(guān)命令、其它命令。

創(chuàng)新互聯(lián)建站專業(yè)為企業(yè)提供景泰網(wǎng)站建設(shè)、景泰做網(wǎng)站、景泰網(wǎng)站設(shè)計(jì)、景泰網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁(yè)設(shè)計(jì)與制作、景泰企業(yè)網(wǎng)站模板建站服務(wù),10余年景泰做網(wǎng)站經(jīng)驗(yàn),不只是建網(wǎng)站,更提供有價(jià)值的思路和整體網(wǎng)絡(luò)服務(wù)。

安裝和登錄命令:login、shutdown、halt、reboot、install、mount、umount、chsh、exit、last。

文件處理命令:file、mkdir、grep、dd、find、mv、ls、diff、cat、ln。

系統(tǒng)管理相關(guān)命令:df、top、free、quota、at、lp、adduser、groupadd、kill、crontab。

網(wǎng)絡(luò)操作命令:ifconfig、ip、ping、netstat、telnet、ftp、route、rlogin、rcp、finger、mail、 nslookup。

系統(tǒng)安全相關(guān)命令:passwd、su、umask、chgrp、chmod、chown、chattr、sudo ps、who。

其它命令:tar、unzip、gunzip、unarj、mtools、man、unendcode、uudecode。

Linux簡(jiǎn)介

Linux,全稱GNU/Linux,是一套免費(fèi)使用和自由傳播的類Unix操作系統(tǒng),是一個(gè)基于POSIX的多用戶、多任務(wù)、支持多線程和多CPU的操作系統(tǒng)。伴隨著互聯(lián)網(wǎng)的發(fā)展,Linux得到了來(lái)自全世界軟件愛(ài)好者、組織、公司的支持。

它除了在服務(wù)器方面保持著強(qiáng)勁的發(fā)展勢(shì)頭以外,在個(gè)人電腦、嵌入式系統(tǒng)上都有著長(zhǎng)足的進(jìn)步。使用者不僅可以直觀地獲取該操作系統(tǒng)的實(shí)現(xiàn)機(jī)制,而且可以根據(jù)自身的需要來(lái)修改完善Linux,使其最大化地適應(yīng)用戶的需要。

Linux不僅系統(tǒng)性能穩(wěn)定,而且是開(kāi)源軟件。其核心防火墻組件性能高效、配置簡(jiǎn)單,保證了系統(tǒng)的安全。在很多企業(yè)網(wǎng)絡(luò)中,為了追求速度和安全,Linux不僅僅是被網(wǎng)絡(luò)運(yùn)維人員當(dāng)作服務(wù)器使用,甚至當(dāng)作網(wǎng)絡(luò)防火墻,這是Linux的一大亮點(diǎn)。

linux常用安裝軟件的命令

安裝軟件---這個(gè)操作在WINDOWS的世界里很簡(jiǎn)單,下載軟件雙擊exe文件即可,還有自動(dòng)運(yùn)行方式的,復(fù)雜點(diǎn)的執(zhí)行bat之類的可執(zhí)行程序即可。但Linux不然,因Linux版本過(guò)多,導(dǎo)致軟件的安裝方法五花八門。本文只是將Linux的軟件安裝方式進(jìn)行匯總和整理,沒(méi)有過(guò)多的技術(shù)難度,僅供參考。

Linux下主要有兩種方式,主要分在線安裝和線下安裝。(以下介紹的方式基本涵蓋所有Linux系統(tǒng)的軟件安裝方式)

一、在線安裝

1、軟件管理中心安裝。(ubuntu)1)更新源sudo apt-get update2)打開(kāi)軟件中心,搜索你要安裝的軟件,雙擊安裝即可。例如安裝apache,如下圖

2、命令行安裝方式

1)更新,命令:apt-get update

2)查找你要安裝的軟件,apt-cache search “軟件名”

3)apt-get install 軟件名

以上在線的兩種方式都提到了apt-get 方式,那么它的工作原理簡(jiǎn)單說(shuō)明一下,apt-get相關(guān)的有兩個(gè)重要文件:1、是/etc/sources.list,2、是/var/lib/apt/lists/目錄.

當(dāng)我們執(zhí)行apt-get update程序分析sources.list看這個(gè)文件里是否有對(duì)應(yīng)的Packages/Sources/Release列表文件,如果有更新則下載之,存入/var/lib/apt/lists/目錄(其實(shí)就是保持與當(dāng)前系統(tǒng)版本軟件源表最新);apt-get install 安裝相應(yīng)的包 ,下載并安裝。

這種方式的好處在于:如果你想要加載的應(yīng)用需要依賴另一個(gè)應(yīng)用程序才能正常工作,apt-get會(huì)幫你找到并加載所需的程序庫(kù)或應(yīng)用代碼,這種方式是比較常用的的。比如我們執(zhí)行apt-get install mysql-server,可以看到相關(guān)的依賴包(如圖)

二、線下安裝

之所以叫線下的安裝方式,也就是說(shuō)你要把軟件下載到本地去安裝。一般我們下載的文件后綴名都是zip、tar.gz等壓縮包,解壓后會(huì)看到rpm、bin、deb、run之類擴(kuò)展名文件。很多軟件都會(huì)提供不同LINUX版本的安裝格式,你可以根據(jù)自己的系統(tǒng)下載不同擴(kuò)展名的軟件。

1、rpm安裝包:這時(shí)一款老牌的安裝格式,是紅帽創(chuàng)建的安裝格式,現(xiàn)在已成為一種標(biāo)準(zhǔn),常用在opensuse/turbo/redhat版本),安裝方法rpm -ivh 軟件名.rpm (如果只是安裝一個(gè)i參數(shù)就夠了,如果還要看安裝進(jìn)度和軟件信息就加個(gè)vh)

2、deb安裝包:DEB是Debian軟件包格式的文件擴(kuò)展名,常用在centos/ubuntu,在蘋果系統(tǒng)里也常見(jiàn)此安裝方式。安裝方法:dpkg -i 軟件名.deb

3、run安裝包:以QT(一種編程工具)的安裝文件為例,

1)授權(quán): chmod x qt-unified-linux-x64-2.0.2-2-online.run

2)執(zhí)行:./qt-unified-linux-x64-2.0.2-2-online.run即可安裝。

4、bin安裝包:bin包是一個(gè)自解壓格式的安裝包,要想執(zhí)行它,需要先賦予它可執(zhí)行的權(quán)限。

(以安裝jdk為例)# chmod x jdk-6u21-linux-i586.bin# ./jdk-6u21-linux-i586.bin

5、編譯后安裝方式:

舉例安裝nagios插件(nagios是一種開(kāi)源的監(jiān)控軟件,需要多種插件支持監(jiān)控模塊)

1)cd /tmp/nagios-plugins-* //先進(jìn)入目錄

2)./configure --with-nagios-user=nagios --with-nagios-group=nagios // 配置,即安裝的用戶安裝的路徑都可在此設(shè)置,這一步一般用來(lái)生成 Makefile,為下一步的編譯做準(zhǔn)備

3)make //編譯過(guò)程如果 在 make 過(guò)程中出現(xiàn) error ,你就要記下錯(cuò)誤代碼,缺少什么包就按照什么包。

4) make install //如果make無(wú)問(wèn)題就可以直接安裝了。

這種安裝方法的好處是你可以自定義安裝路徑、安裝賬號(hào)等參數(shù),常見(jiàn)開(kāi)源平臺(tái)下載的源碼安裝方式。

6、其它,還有一些軟件解壓后生成的文件夾內(nèi)包含很多文件,一般文件夾內(nèi)有install.sh、setup.py等安裝文件方式,此種方式類似windows的exe安裝方式,你需要先授權(quán)該文件的可執(zhí)行權(quán)限,在執(zhí)行安裝。以上基本上囊括了所有的Linux環(huán)境下的軟件安裝方式,供各位參考。

如何在linux命令行中執(zhí)行應(yīng)用程序

具體步驟如下:

1、首先我們?cè)诿钚羞\(yùn)行程序需要借助jdk的環(huán)境依賴,打開(kāi)jdk包。

2、接下來(lái)我們需要打開(kāi)運(yùn)行窗口,然后在運(yùn)行窗口中輸入cmd命令,如下圖所示

3、在CMD命令行界面中我們輸入cd命令進(jìn)入到程序文件所在的目錄,如下圖所示

4、接下來(lái)執(zhí)行命令對(duì)程序文件進(jìn)行編譯,如下圖所示

5、編譯完畢以后我們會(huì)在文件夾下面看到一個(gè)class文件,這個(gè)就是虛擬機(jī)編譯完產(chǎn)生的文件,如下圖所示

6、完成上述步驟后,即可在linux命令行中執(zhí)行應(yīng)用程序。

linux自行安裝軟件命令

Linux提供了大量的命令,利用它可以有效地完成大量的工作,如磁盤操作、文件存取、目

錄操作、進(jìn)程管理、文件權(quán)限設(shè)定等。所以,在Linux系統(tǒng)上工作離不開(kāi)使用系統(tǒng)提供的命

令。要想真正理解Linux系統(tǒng),就必須從Linux命令學(xué)起,通過(guò)基礎(chǔ)的命令學(xué)習(xí)可以進(jìn)一步理

解Linux系統(tǒng)。

不同Linux發(fā)行版的命令數(shù)量不一樣,但Linux發(fā)行版本最少的命令也有200多個(gè)。這里筆者

把比較重要和使用頻率最多的命令,按照它們?cè)谙到y(tǒng)中的作用分成下面六個(gè)部分一一介紹。

◆ 安裝和登錄命令:login、shutdown、halt、reboot、install、mount、umount、chsh、

exit、last;

◆ 文件處理命令:file、mkdir、grep、dd、find、mv、ls、diff、cat、ln;

◆ 系統(tǒng)管理相關(guān)命令:df、top、free、quota、at、lp、adduser、groupadd、kill、

crontab;

◆ 網(wǎng)絡(luò)操作命令:ifconfig、ip、ping、netstat、telnet、ftp、route、rlogin、rcp、

finger、mail、 nslookup;

◆ 系統(tǒng)安全相關(guān)命令:passwd、su、umask、chgrp、chmod、chown、chattr、sudo ps、

who;

◆ 其它命令:tar、unzip、gunzip、unarj、mtools、man、unendcode、uudecode。

本文以Mandrake Linux 9.1(Kenrel 2.4.21)為例,介紹Linux下的安裝和登錄命令。

login

1.作用

login的作用是登錄系統(tǒng),它的使用權(quán)限是所有用戶。

2.格式

login [name][-p ][-h(huán) 主機(jī)名稱]

3.主要參數(shù)

-p:通知login保持現(xiàn)在的環(huán)境參數(shù)。

-h(huán):用來(lái)向遠(yuǎn)程登錄的之間傳輸用戶名。

如果選擇用命令行模式登錄Linux的話,那么看到的第一個(gè)Linux命令就是login:。

一般界面是這樣的:

Manddrake Linux release 9.1(Bamboo) for i586

kennel 2.4.21-0.13mdk on i686 / tty1

localhost login:root

password:

上面代碼中,第一行是Linux發(fā)行版本號(hào),第二行是內(nèi)核版本號(hào)和登錄的虛擬控制臺(tái),我們

在第三行輸入登錄名,按“Enter”鍵在Password后輸入賬戶密碼,即可登錄系統(tǒng)。出于安

全考慮,輸入賬戶密碼時(shí)字符不會(huì)在屏幕上回顯,光標(biāo)也不移動(dòng)。

登錄后會(huì)看到下面這個(gè)界面(以超級(jí)用戶為例):

[root@localhost root]#

last login:Tue ,Nov 18 10:00:55 on vc/1

上面顯示的是登錄星期、月、日、時(shí)間和使用的虛擬控制臺(tái)。

4.應(yīng)用技巧

Linux是一個(gè)真正的多用戶操作系統(tǒng),可以同時(shí)接受多個(gè)用戶登錄,還允許一個(gè)用戶進(jìn)行多

次登錄。這是因?yàn)長(zhǎng)inux和許多版本的Unix一樣,提供了虛擬控制臺(tái)的訪問(wèn)方式,允許用戶

在同一時(shí)間從控制臺(tái)(系統(tǒng)的控制臺(tái)是與系統(tǒng)直接相連的監(jiān)視器和鍵盤)進(jìn)行多次登錄。每

個(gè)虛擬控制臺(tái)可以看作是一個(gè)獨(dú)立的工作站,工作臺(tái)之間可以切換。虛擬控制臺(tái)的切換可以

通過(guò)按下Alt鍵和一個(gè)功能鍵來(lái)實(shí)現(xiàn),通常使用F1-F6 。

例如,用戶登錄后,按一下“Alt F2”鍵,用戶就可以看到上面出現(xiàn)的“l(fā)ogin:”提示符,

說(shuō)明用戶看到了第二個(gè)虛擬控制臺(tái)。然后只需按“Alt F1”鍵,就可以回到第一個(gè)虛擬控

制臺(tái)。一個(gè)新安裝的Linux系統(tǒng)允許用戶使用“Alt F1”到“Alt F6”鍵來(lái)訪問(wèn)前六個(gè)虛擬

控制臺(tái)。虛擬控制臺(tái)最有用的是,當(dāng)一個(gè)程序出錯(cuò)造成系統(tǒng)死鎖時(shí),可以切換到其它虛擬控

制臺(tái)工作,關(guān)閉這個(gè)程序。

shutdown

1.作用

shutdown命令的作用是關(guān)閉計(jì)算機(jī),它的使用權(quán)限是超級(jí)用戶。

2.格式

shutdown [-h(huán)][-i][-k][-m][-t]

3.重要參數(shù)

-t:在改變到其它運(yùn)行級(jí)別之前,告訴init程序多久以后關(guān)機(jī)。

-k:并不真正關(guān)機(jī),只是送警告信號(hào)給每位登錄者。

-h(huán):關(guān)機(jī)后關(guān)閉電源。

-c:cancel current process取消目前正在執(zhí)行的關(guān)機(jī)程序。所以這個(gè)選項(xiàng)當(dāng)然沒(méi)有時(shí)間

參數(shù),但是可以輸入一個(gè)用來(lái)解釋的訊息,而這信息將會(huì)送到每位使用者。

-F:在重啟計(jì)算機(jī)時(shí)強(qiáng)迫f(wàn)sck。

-time:設(shè)定關(guān)機(jī)前的時(shí)間。

-m: 將系統(tǒng)改為單用戶模式。

-i:關(guān)機(jī)時(shí)顯示系統(tǒng)信息。

4.命令說(shuō)明

shutdown命令可以安全地將系統(tǒng)關(guān)機(jī)。有些用戶會(huì)使用直接斷掉電源的方式來(lái)關(guān)閉Linux系

統(tǒng),這是十分危險(xiǎn)的。因?yàn)長(zhǎng)inux與Windows不同,其后臺(tái)運(yùn)行著許多進(jìn)程,所以強(qiáng)制關(guān)機(jī)可

能會(huì)導(dǎo)致進(jìn)程的數(shù)據(jù)丟失,使系統(tǒng)處于不穩(wěn)定的狀態(tài),甚至在有的系統(tǒng)中會(huì)損壞硬件設(shè)備(

硬盤)。在系統(tǒng)關(guān)機(jī)前使用 shutdown命令,系統(tǒng)管理員會(huì)通知所有登錄的用戶系統(tǒng)將要關(guān)

閉,并且login指令會(huì)被凍結(jié),即新的用戶不能再登錄。

5.舉例

shutdown -h 3:40

說(shuō)明 3:40開(kāi)始關(guān)機(jī)。

halt

1.作用

halt命令的作用是關(guān)閉系統(tǒng),它的使用權(quán)限是超級(jí)用戶。

2.格式

halt [-n] [-w] [-d] [-f] [-i] [-p]

3.主要參數(shù)說(shuō)明

-n:防止sync系統(tǒng)調(diào)用,它用在用fsck修補(bǔ)根分區(qū)之后,以阻止內(nèi)核用老版本的超級(jí)塊覆

蓋修補(bǔ)過(guò)的超級(jí)塊。

-w:并不是真正的重啟或關(guān)機(jī),只是寫wtmp(/var/log/wtmp)紀(jì)錄。

-f:沒(méi)有調(diào)用shutdown,而強(qiáng)制關(guān)機(jī)或重啟。

-i:關(guān)機(jī)(或重啟)前,關(guān)掉所有的網(wǎng)絡(luò)接口。

-f:強(qiáng)迫關(guān)機(jī),不呼叫shutdown這個(gè)指令。

-p: 當(dāng)關(guān)機(jī)的時(shí)候順便做關(guān)閉電源的動(dòng)作。

-d:關(guān)閉系統(tǒng),但不留下紀(jì)錄。

4.命令說(shuō)明

halt就是調(diào)用shutdown -h(huán)。halt執(zhí)行時(shí),殺死應(yīng)用進(jìn)程,執(zhí)行sync(將存于buffer中的資

料強(qiáng)制寫入硬盤中)系統(tǒng)調(diào)用,文件系統(tǒng)寫操作完成后就會(huì)停止內(nèi)核。若系統(tǒng)的運(yùn)行級(jí)別為

0或6,則關(guān)閉系統(tǒng);否則以shutdown指令(加上-h(huán)參數(shù))來(lái)取代。

reboot

1.作用

reboot命令的作用是重新啟動(dòng)計(jì)算機(jī),它的使用權(quán)限是系統(tǒng)管理者。

2.格式

reboot [-n] [-w] [-d] [-f] [-i]

3.主要參數(shù)

-n: 在重開(kāi)機(jī)前不做將記憶體資料寫回硬盤的動(dòng)作。

-w: 并不會(huì)真的重開(kāi)機(jī),只是把記錄寫到/var/log/wtmp文件里。

-d: 不把記錄寫到/var/log/wtmp文件里(-n這個(gè)參數(shù)包含了-d)。

-i: 在重開(kāi)機(jī)之前先把所有與網(wǎng)絡(luò)相關(guān)的裝置停止。

install

1.作用

install命令的作用是安裝或升級(jí)軟件或備份數(shù)據(jù),它的使用權(quán)限是所有用戶。

2.格式

(1)install [選項(xiàng)]... 來(lái)源 目的地

(2)install [選項(xiàng)]... 來(lái)源... 目錄

(3)install -d [選項(xiàng)]... 目錄...

在前兩種格式中,會(huì)將

請(qǐng)教Linux下ALSA聲道切換

解各參數(shù)含義及些基本概念

本度(sample):本記錄音頻數(shù)據(jù)基本單位見(jiàn)8位16位

通道數(shù)(channel):該參數(shù)1表示單聲道2則立體聲

楨(frame):楨記錄聲音單元其度本度與通道數(shù)乘積

采率(rate):每秒鐘采數(shù)該數(shù)針楨言

周期(period):音頻設(shè)備處理所需要楨數(shù)于音頻設(shè)備數(shù)據(jù)訪問(wèn)及音頻數(shù)據(jù)存儲(chǔ)都單位

交錯(cuò)模式(interleaved):種音頻數(shù)據(jù)記錄式交錯(cuò)模式數(shù)據(jù)連續(xù)楨形式存放即首先記錄完楨1左聲道本右聲道本(假設(shè)立體聲格式)再始楨2記錄非交錯(cuò)模式首先記錄周期內(nèi)所楨左聲道本再記錄右聲道本數(shù)據(jù)連續(xù)通道式存儲(chǔ)數(shù)情況我需要使用交錯(cuò)模式

period(周期):硬件斷間間隔間表示輸入延

聲卡接口指針指示聲卡硬件緩存區(qū)前讀寫位置要接口運(yùn)行指針循環(huán)指向緩存區(qū)某位置

frame size = sizeof(one sample) * nChannels

alsa配置緩存(buffer)周期(size)runtime幀(frames)形式存儲(chǔ)

period_bytes = frames_to_bytes(runtime, runtime-period_size);

bytes_to_frames()

The period and buffer sizes are not dependent on the sample format because they are measured in frames; you do not need to change them.

ALSA聲音編程介紹

ALSA表示高級(jí)Linux聲音體系結(jié)構(gòu)(Advanced Linux Sound Architecture)由系列內(nèi)核驅(qū)應(yīng)用程序編譯接口(API)及支持Linux聲音實(shí)用程序組篇文章我簡(jiǎn)單介紹ALSA項(xiàng)目基本框架及軟件組主要集介紹PCM接口編程包括您自實(shí)踐程序示例

您使用ALSA原能新并唯用聲音API您想完低級(jí)聲音操作便能夠化控制聲音并化提高性能或者您使用其聲音API沒(méi)特性ALSA選擇您已經(jīng)寫音頻程序能想要ALSA聲卡驅(qū)添加本支持您音頻興趣想播放音頻文件高級(jí)API更選擇比SDL,OpenAL及些桌面環(huán)境提供工具集另外您能ALSA支持Linux環(huán)境使用ALSA

ALSA歷史

ALSA項(xiàng)目發(fā)起起Linux聲卡驅(qū)(OSS/Free drivers)沒(méi)積極維護(hù)并且落于新聲卡技術(shù)Jaroslav Kysela早先寫聲卡驅(qū)并由始ALSA項(xiàng)目隨便更發(fā)者加入發(fā)隊(duì)伍更聲卡支持API結(jié)構(gòu)重組

Linux內(nèi)核2.5發(fā)程ALSA合并官源碼樹(shù)發(fā)布內(nèi)核2.6ALSA已經(jīng)內(nèi)建穩(wěn)定內(nèi)核版本并廣泛使用

數(shù)字音頻基礎(chǔ)

聲音由變化氣壓組麥克風(fēng)轉(zhuǎn)換器轉(zhuǎn)換電形式模/數(shù)(ADC)轉(zhuǎn)換器模擬電壓轉(zhuǎn)換離散本值聲音固定間間隔采采速率稱采率本輸數(shù)/模(DAC)轉(zhuǎn)換器比擴(kuò)音器轉(zhuǎn)換原模擬信號(hào)

本位表示本影響聲音轉(zhuǎn)換數(shù)字信號(hào)精確程度素另主要素采率奈奎斯特(Nyquist)理論要離散系統(tǒng)奈奎斯特頻率高于采信號(hào)高頻率或帶寬避免混疊現(xiàn)象

ALSA基礎(chǔ)

ALSA由許聲卡聲卡驅(qū)程序組同提供稱libasoundAPI庫(kù)應(yīng)用程序發(fā)者應(yīng)該使用libasound內(nèi)核ALSA接口libasound提供高級(jí)并且編程便編程接口并且提供設(shè)備邏輯命名功能發(fā)者甚至需要知道類似設(shè)備文件低層接口相反OSS/Free驅(qū)內(nèi)核系統(tǒng)調(diào)用級(jí)編程要求發(fā)者提供設(shè)備文件名并且利用ioctrl實(shí)現(xiàn)相應(yīng)功能向兼容ALSA提供內(nèi)核模塊模擬OSS前許OSS基礎(chǔ)發(fā)應(yīng)用程序需要任何改ALSA運(yùn)行另外libaoss庫(kù)模擬OSS需要內(nèi)核模塊

ALSA包含插件功能使用插件擴(kuò)展新聲卡驅(qū)包括完全用軟件實(shí)現(xiàn)虛擬聲卡ALSA提供系列基于命令行工具集比混音器(mixer)音頻文件播放器(aplay)及控制特定聲卡特定屬性工具

ALSA體系結(jié)構(gòu)

ALSA API解幾主要接口:

1 控制接口:提供管理聲卡注冊(cè)請(qǐng)求用設(shè)備通用功能

2 PCM接口:管理數(shù)字音頻放(playback)錄音(capture)接口本文續(xù)總結(jié)重點(diǎn)放接口發(fā)數(shù)字音頻程序用接口

3 Raw MIDI接口:支持MIDI(Musical Instrument Digital Interface),標(biāo)準(zhǔn)電樂(lè)器些API提供聲卡MIDI總線訪問(wèn)原始接口基于MIDI事件工作由程序員負(fù)責(zé)管理協(xié)議及間處理

4 定器(Timer)接口:同步音頻事件提供聲卡間處理硬件訪問(wèn)

5 序器(Sequencer)接口

6 混音器(Mixer)接口

設(shè)備命名

API庫(kù)使用邏輯設(shè)備名設(shè)備文件設(shè)備名字真實(shí)硬件名字插件名字硬件名字使用hw:i,j格式其i卡號(hào)j塊聲卡設(shè)備號(hào)第聲音設(shè)備hw:0,0.別名默認(rèn)引用第塊聲音設(shè)備并且本文示例真用插件使用另外唯名字比plughw:,表示插件插件提供硬件設(shè)備訪問(wèn)提供像采率轉(zhuǎn)換軟件特性硬件本身并支持特性

聲音緩存數(shù)據(jù)傳輸

每聲卡都硬件緩存區(qū)保存記錄本緩存區(qū)足夠滿聲卡產(chǎn)斷內(nèi)核聲卡驅(qū)使用直接內(nèi)存(DMA)訪問(wèn)通道本傳送內(nèi)存應(yīng)用程序緩存區(qū)類似于放任何應(yīng)用程序使用DMA自緩存區(qū)數(shù)據(jù)傳送聲卡硬件緩存區(qū)

硬件緩存區(qū)環(huán)緩存說(shuō)數(shù)據(jù)達(dá)緩存區(qū)末尾重新緩存區(qū)起始位置ALSA維護(hù)指針指向硬件緩存及應(yīng)用程序緩存區(qū)數(shù)據(jù)操作前位置內(nèi)核外部看我應(yīng)用程序緩存區(qū)興趣所本文討論應(yīng)用程序緩存區(qū)

應(yīng)用程序緩存區(qū)通ALSA庫(kù)函數(shù)調(diào)用控制緩存區(qū)傳輸操作能導(dǎo)致接受延遲我稱延(latency)解決問(wèn)題ALSA緩存區(qū)拆系列周期(period)(OSS/Free叫片斷fragments).ALSAperiod單元傳送數(shù)據(jù)

周期(period)存儲(chǔ)些幀(frames)每幀包含間點(diǎn)所抓取本于立體聲設(shè)備幀包含兩信道本圖1展示解程:緩存區(qū)解周期幀本圖包含些假定數(shù)值圖左右信道信息交替存儲(chǔ)幀內(nèi)稱交錯(cuò)(interleaved)模式非交錯(cuò)模式信道所本數(shù)據(jù)存儲(chǔ)另外信道數(shù)據(jù)

Over and Under Run

聲卡數(shù)據(jù)總連續(xù)硬件緩存區(qū)應(yīng)用程序緩存區(qū)間傳輸例外錄音例應(yīng)用程序讀取數(shù)據(jù)夠快循環(huán)緩存區(qū)新數(shù)據(jù)覆蓋種數(shù)據(jù)丟失稱overrun.放例應(yīng)用程序?qū)懭霐?shù)據(jù)緩存區(qū)速度夠快緩存區(qū)"餓死"錯(cuò)誤稱"underrun"ALSA文檔兩種情形統(tǒng)稱"XRUN"適設(shè)計(jì)應(yīng)用程序化XRUN并且恢復(fù)

典型聲音程序

使用PCM程序通類似面?zhèn)未a:

打放或錄音接口

設(shè)置硬件參數(shù)(訪問(wèn)模式數(shù)據(jù)格式信道數(shù)采率等等)

while 數(shù)據(jù)要處理:

讀PCM數(shù)據(jù)(錄音)

或 寫PCM數(shù)據(jù)(放)

關(guān)閉接口

我文看些工作代碼我建議您Linux系統(tǒng)測(cè)試運(yùn)行些代碼查看輸并嘗試修改推薦代碼本文相關(guān)所實(shí)例清單FTP獲取:

Listing 1. Display Some PCM Types and Formats

#include asoundlib.h

int main() {

int val;

printf("ALSA library version: %s/n",

SND_LIB_VERSION_STR);

printf("/nPCM stream types:/n");

for (val = 0; val = SND_PCM_STREAM_LAST; val++)

printf(" %s/n",

snd_pcm_stream_name((snd_pcm_stream_t)val));

printf("/nPCM access types:/n");

for (val = 0; val = SND_PCM_ACCESS_LAST; val++)

printf(" %s/n",

snd_pcm_access_name((snd_pcm_access_t)val));

printf("/nPCM formats:/n");

for (val = 0; val = SND_PCM_FORMAT_LAST; val++)

if (snd_pcm_format_name((snd_pcm_format_t)val)

!= NULL)

printf(" %s (%s)/n",

snd_pcm_format_name((snd_pcm_format_t)val),

snd_pcm_format_description(

(snd_pcm_format_t)val));

printf("/nPCM subformats:/n");

for (val = 0; val = SND_PCM_SUBFORMAT_LAST;

val++)

printf(" %s (%s)/n",

snd_pcm_subformat_name((

snd_pcm_subformat_t)val),

snd_pcm_subformat_description((

snd_pcm_subformat_t)val));

printf("/nPCM states:/n");

for (val = 0; val = SND_PCM_STATE_LAST; val++)

printf(" %s/n",

snd_pcm_state_name((snd_pcm_state_t)val));

return 0;

}

清單顯示些ALSA使用PCM數(shù)據(jù)類型參數(shù)首先需要做包括文件些文件包含所庫(kù)函數(shù)聲明其顯示ALSA庫(kù)版本

程序剩部迭代些PCM數(shù)據(jù)類型流類型始ALSA每迭代值提供符號(hào)量名并且提供功能函數(shù)顯示某特定值描述字符串看ALSA支持許格式我1.0.15版本支持達(dá)36種格式

程序必須鏈接alsalib庫(kù)通編譯需要加-lasound選項(xiàng)些alsa庫(kù)函數(shù)使用dlopen函數(shù)及浮點(diǎn)操作所您能需要加-ldl,-lm選項(xiàng)

面該程序Makefile:

CC=gcc

TARGET=test

SRC=$(wildcard *.c)

OBJECT= ${SRC:.c=.o}

INCLUDES=-I/usr/include/alsa

LDFLAGS=-lasound

all:$(TARGET)

$(OBJECT):$(SRC)

$(CC) -c $(INCLUDES) $

$(TARGET):$(OBJECT)

$(CC) -o $@ $ $(LDFLAGS)

.PHONY:clean

clean:

@rm -rf $(OBJECT) $(TARGET) *~

Listing 2. Opening PCM Device and Setting Parameters

/*

This example opens the default PCM device, sets

some parameters, and then displays the value

of most of the hardware parameters. It does not

perform any sound playback or recording.

*/

/* Use the newer ALSA API */

#define ALSA_PCM_NEW_HW_PARAMS_API

/* All of the ALSA library API is defined

* in this header */

#include asoundlib.h

int main() {

int rc;

snd_pcm_t *handle;

snd_pcm_hw_params_t *params;

unsigned int val, val2;

int dir;

snd_pcm_uframes_t frames;

/* Open PCM device for playback. */

rc = snd_pcm_open(handle, "default",

SND_PCM_STREAM_PLAYBACK, 0);

if (rc 0) {

fprintf(stderr,

"unable to open pcm device: %s/n",

snd_strerror(rc));

exit(1);

}

/* Allocate a hardware parameters object. */

snd_pcm_hw_params_alloca(?ms);

/* Fill it in with default values. */

snd_pcm_hw_params_any(handle, params);

/* Set the desired hardware parameters. */

/* Interleaved mode */

snd_pcm_hw_params_set_access(handle, params,

SND_PCM_ACCESS_RW_INTERLEAVED);

/* Signed 16-bit little-endian format */

snd_pcm_hw_params_set_format(handle, params,

SND_PCM_FORMAT_S16_LE);

/* Two channels (stereo) */

snd_pcm_hw_params_set_channels(handle, params, 2);

/* 44100 bits/second sampling rate (CD quality) */

val = 44100;

snd_pcm_hw_params_set_rate_near(handle,

params, val, dir);

/* Write the parameters to the driver */

rc = snd_pcm_hw_params(handle, params);

if (rc 0) {

fprintf(stderr,

"unable to set hw parameters: %s/n",

snd_strerror(rc));

exit(1);

}

/* Display information about the PCM interface */

printf("PCM handle name = '%s'/n",

snd_pcm_name(handle));

printf("PCM state = %s/n",

snd_pcm_state_name(snd_pcm_state(handle)));

snd_pcm_hw_params_get_access(params,

(snd_pcm_access_t *) val);

printf("access type = %s/n",

snd_pcm_access_name((snd_pcm_access_t)val));

snd_pcm_hw_params_get_format(params, val);

printf("format = '%s' (%s)/n",

snd_pcm_format_name((snd_pcm_format_t)val),

snd_pcm_format_description(

(snd_pcm_format_t)val));

snd_pcm_hw_params_get_subformat(params,

(snd_pcm_subformat_t *)val);

printf("subformat = '%s' (%s)/n",

snd_pcm_subformat_name((snd_pcm_subformat_t)val),

snd_pcm_subformat_description(

(snd_pcm_subformat_t)val));

snd_pcm_hw_params_get_channels(params, val);

printf("channels = %d/n", val);

snd_pcm_hw_params_get_rate(params, val, dir);

printf("rate = %d bps/n", val);

snd_pcm_hw_params_get_period_time(params,

val, dir);

printf("period time = %d us/n", val);

snd_pcm_hw_params_get_period_size(params,

frames, dir);

printf("period size = %d frames/n", (int)frames);

snd_pcm_hw_params_get_buffer_time(params,

val, dir);

printf("buffer time = %d us/n", val);

snd_pcm_hw_params_get_buffer_size(params,

(snd_pcm_uframes_t *) val);

printf("buffer size = %d frames/n", val);

snd_pcm_hw_params_get_periods(params, val, dir);

printf("periods per buffer = %d frames/n", val);

snd_pcm_hw_params_get_rate_numden(params,

val, val2);

printf("exact rate = %d/%d bps/n", val, val2);

val = snd_pcm_hw_params_get_sbits(params);

printf("significant bits = %d/n", val);

snd_pcm_hw_params_get_tick_time(params,

val, dir);

printf("tick time = %d us/n", val);

val = snd_pcm_hw_params_is_batch(params);

printf("is batch = %d/n", val);

val = snd_pcm_hw_params_is_block_transfer(params);

printf("is block transfer = %d/n", val);

val = snd_pcm_hw_params_is_double(params);

printf("is double = %d/n", val);

val = snd_pcm_hw_params_is_half_duplex(params);

printf("is half duplex = %d/n", val);

val = snd_pcm_hw_params_is_joint_duplex(params);

printf("is joint duplex = %d/n", val);

val = snd_pcm_hw_params_can_overrange(params);

printf("can overrange = %d/n", val);

val = snd_pcm_hw_params_can_mmap_sample_resolution(params);

printf("can mmap = %d/n", val);

val = snd_pcm_hw_params_can_pause(params);

printf("can pause = %d/n", val);

val = snd_pcm_hw_params_can_resume(params);

printf("can resume = %d/n", val);

val = snd_pcm_hw_params_can_sync_start(params);

printf("can sync start = %d/n", val);

snd_pcm_close(handle);

return 0;

}

Linux常用命令

常用的命令有好多啊,你剛開(kāi)始學(xué),不用特意的去記,用到什么學(xué)什么就好了。 當(dāng)然非要列舉,下面列舉的100條,是來(lái)自百度經(jīng)驗(yàn)上的。 希望對(duì)你有幫助。

 Linux常用命令大全100條:

1,echo “aa” 》 test.txt 和 echo “bb” 》》 test.txt

//》將原文件清空,并且內(nèi)容寫入到文件中,》》將內(nèi)容放到文件的尾部

2,chmod go+w -R /home/zhangy //給組用戶和其他用戶添加寫的權(quán)限

3,tar -tzvf test.tar.gz //列出歸檔內(nèi)容

4,du -ah //查看文件列表大小

5,du -sh //查看所有文件的大小總和

6,echo ‘1+2’|bc -l //數(shù)學(xué)運(yùn)算

7,uname -a //查看linux內(nèi)核等的一些信息

8,badblocks -s /dev/sda //壞道掃描時(shí)顯示進(jìn)度

9,time command //查看命令的運(yùn)行時(shí)間

10,ls -lrt //按時(shí)間的倒序排序

11,rsync -P //同步時(shí)顯示進(jìn)度

12.history -c //清楚歷史命令

13,cd - //返回上次目錄

14,tree //顯示目錄樹(shù)

15,umount -n /mnt/hda2 //強(qiáng)制卸載

16,echo ~/ //顯示用戶的home目錄

17,echo $[5*5] //算術(shù)運(yùn)算

18,echo $((5*5)) //算術(shù)運(yùn)算

19,eval ls;ps aux|grep httpd //這二個(gè)命令都能執(zhí)行

20,free -m //有MB為單位顯示內(nèi)存

21,uptime

//顯示系統(tǒng)已經(jīng)運(yùn)行了多長(zhǎng)時(shí)間,它依次顯示下列信息:現(xiàn)在時(shí)間、系統(tǒng)已經(jīng)運(yùn)行了多長(zhǎng)時(shí)間、目前有多少登陸用戶、系統(tǒng)在過(guò)去的1分鐘、5分鐘和15分鐘內(nèi)的平均負(fù)載

22,加法運(yùn)算

[root@krlcgcms01 mytest]# let a=34+3;

[root@krlcgcms01 mytest]# echo $a;

23,export //查看所有環(huán)境變量

24,echo $PATH //查看單個(gè)變量

25,cmp file1 file2 //文件內(nèi)容比對(duì)

26,clear //清屏

27,echo 23423 |awk --re-interval ‘/[0-9]{3,}/’ //如果不加re-interval的話,不顯示

28,cal //得到一個(gè)整齊的日歷格式

29,wc -l //統(tǒng)計(jì)行數(shù),wc -w 統(tǒng)計(jì)單詞

30,echo “AaDCbd23” |tr “[A-Z]” “[a-z]” 大寫變小寫,echo “AaDCbdc23” |tr -c b-d =

將b-d之外的字符串替換成=

31,echo “ADSF” | iconv -f UTF8 -t GBK //把字符由utf8轉(zhuǎn)成gbk

-f是from和簡(jiǎn)寫,-t好像terminal的簡(jiǎn)寫

32,cat -n file //內(nèi)容的前面會(huì)顯示行號(hào)

33,chattr +i file //只讀,root用戶也沒(méi)法對(duì)其進(jìn)行修改

34,lsattr file //查看文件屬性

35,cat /etc/passwd |awk -F: ‘{print $1}’ //查看系統(tǒng)中所有用戶

36,cat /etc/group //查看系統(tǒng)中所有的組

37,groups //查前當(dāng)前用戶所在的,所有組

38,usermod -g 組名 用戶 //這種方式是覆蓋的方式,用的時(shí)候要小心,如果用戶A性于mysql usermod -g php

mysql這樣的話只屬于php了

39,usermod -G 組名 用戶 //這種方式是增加的方式,如果用戶A性于mysql usermod -g php

mysql這樣的話,mysql就屬于2個(gè)組了

40,bc //進(jìn)入數(shù)學(xué)計(jì)算中去

41,umask 003 u權(quán)限是7,g權(quán)限是7,其他用戶是4,也就是774,777-003=774

42,mkfs -t vfat /dev/hda6 //將移動(dòng)硬盤里面的一個(gè)分區(qū)格式化成vfat格式

43,mount /dev/cdrom /media/cdrom //掛載cdrom

44,getent group 532 //通過(guò)組ID,來(lái)查找組信息

45,last //登錄成功用戶記錄

46,lastb //登錄不成功用戶記錄

47,dump -S /dev/sda2 //查看一下要備份/dev/sda2所要的容量

48,dump -0j -f /dev/hda2/sda2_bak.dump.bz2 /dev/sda2 //將sda2進(jìn)行備份并壓縮

49,restore -t -f /dev/hda2/sda2_bak.dump //查看備份信息

50,restore -r -f /dev/hda2/sda2_bak.dump //還原備份

51,fc-list //查看系統(tǒng)中安裝的字體

52,find 。/ -type f -exec grep -q “root” {} ; -exec echo {} ;

//查找目錄下文件所包涵的字符串

53,vmstat 5 //每5顯示一下次系統(tǒng)信息,cpu,memory,i/o等

54,top 后 在shift + P 所占進(jìn)程的排序顯示

55,top 后 在shift + M 所占內(nèi)存的排序顯示

56,iptraf -g //查看各個(gè)接口的流量

57,ostat -d -x /dev/sda2 2 //用iostat查看磁盤/dev/sda2的磁盤i/o情況,每?jī)擅胨⑿乱淮?/p>

58, paste -sd ‘|||n’ test //文件的每4行轉(zhuǎn)換成1行,并用|隔開(kāi)

59,lsof -i :22 //知道22端口現(xiàn)在運(yùn)行什么程序

60,lsof -c abc //顯示abc進(jìn)程現(xiàn)在打開(kāi)的文件

61,lsof -p 12 //看進(jìn)程號(hào)為12的進(jìn)程打開(kāi)了哪些文件

63,route //查看路由信息

64,ifup //開(kāi)啟網(wǎng)卡

65,ifdown //關(guān)閉網(wǎng)卡

66,route del -net 172.168.0.0 netmask 255.255.0.0 dev eth0 //刪除

172.168這個(gè)網(wǎng)段

67,route add -net 172.168.10.0 netmask 255.255.255.0 dev eth0 //增加一個(gè)路由

68,netstat -tunl //列出監(jiān)聽(tīng)的網(wǎng)絡(luò)服務(wù)端口

69,netstat -tun //列出已連接的網(wǎng)絡(luò)服務(wù)端口

70,nmap -sP 172.30.4.0/24 //在這個(gè)網(wǎng)段內(nèi)有多少用戶在我的主機(jī)上操作,一個(gè)不錯(cuò)的安全檢查工具

71,vgdisplay //查看系統(tǒng)中的可用空間

72,lvextend -L+20G /dev/tank/part1 //向part1這個(gè)分區(qū)增加20G的空間

73,lvresize -L-10G /dev/tank/part2 //向part2這個(gè)分區(qū)減少10G的空間

74,pvdisplay //查看磁盤信息

75,mplayer -loop 10 /mnt/song/music/花兒開(kāi)了.mp3 //循環(huán)播放10遍

76,pacman -S firefox -nd //nd去掉依賴

77,wget -c //斷點(diǎn)下載

78,chroot /mnt/ubuntu //改變根目錄到/mnt/ubuntu

79,ctrl+a //命令行下,光標(biāo)稱動(dòng)到開(kāi)頭

80,ctrl+e //命令行下,光標(biāo)移動(dòng)結(jié)尾

81,cut -d: -f 1-4 test //用:分割文件,取分割后的1-4列

82,file /home/zhangy/test.php //用于查看文件的一些基本信息

83,touch test.txt //創(chuàng)建一個(gè)空文件 text.txt

84,htpasswd -cbd /usr/local/nginx/conf/authfile //創(chuàng)建訪問(wèn)控制文件

85,df //查看磁盤空間,和當(dāng)前的磁盤數(shù)

86,fdisk -l //查看所有磁盤數(shù)

87,alsamixer //進(jìn)入后,m鍵可以實(shí)現(xiàn)靜音

88,killall httpd //把所有httpd進(jìn)程殺掉

89,killall -9 mysqld_safe //有些進(jìn)程超級(jí)用戶也停止不了,-9是強(qiáng)制刪除

90,mirror /mysql //下載mysql目錄

91,mirror -R /mysql //上傳mysql目錄

92,rmmod pcspkr //關(guān)掉tab提示音

93,modprobe pcspkr //開(kāi)啟tab提示音

94,gpasswd -a zhangy wheel //將zhangy這個(gè)用戶添加到wheel這個(gè)組

95,dd if=/dev/zero of=/virtual/ubuntu.virt.img bs=1M count=4096

//創(chuàng)建一個(gè)4G的IMG鏡像

96,lspic //顯示pci設(shè)備

97,lsusb //顯示usb設(shè)備

98,history | less //less根more有點(diǎn)像,感覺(jué)less用著更舒服點(diǎn)

99,ln -s //如果忘了-s就變成硬鏈接了

100,tar zxvf test.tar.gz -C /home/zhangy //將內(nèi)容解壓到指定目錄

本文標(biāo)題:linux混音軟件命令行,linux 音頻編輯
文章來(lái)源:http://chinadenli.net/article22/dsioecc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供商城網(wǎng)站定制網(wǎng)站面包屑導(dǎo)航網(wǎng)站內(nèi)鏈自適應(yīng)網(wǎng)站品牌網(wǎng)站設(shè)計(jì)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

商城網(wǎng)站建設(shè)