aplay - คู่มืออ้างอิง ตัวเลือก ตัวอย่างคำสั่ง


ชื่อ

aplay arecord, aplay - เครื่องบันทึกเสียงบรรทัดคำสั่งและเครื่องเล่นสำหรับไดรเวอร์การ์ดเสียง ALSA

เรื่องย่อ

arecord [flags] [filename]
aplay [flags] [filename [filename]] ...

คำอธิบาย

arecord เป็นเครื่องบันทึกไฟล์เสียงแบบบรรทัดคำสั่งสำหรับไดรเวอร์การ์ดเสียง ALSA รองรับไฟล์หลายรูปแบบและการ์ดเสียงหลายตัวพร้อมอุปกรณ์หลายเครื่อง หากบันทึกด้วยโหมดแทรกสลับ ไฟล์จะถูกแบ่งโดยอัตโนมัติก่อนขนาดไฟล์ 2GB

aplay เหมือนกันมาก เพียงแต่เล่นแทนการบันทึก สำหรับรูปแบบไฟล์เสียงที่รองรับ อัตราการสุ่มตัวอย่าง ความลึกของบิต และอื่นๆ สามารถกำหนดได้โดยอัตโนมัติจากส่วนหัวของไฟล์เสียง

หากไม่ได้ระบุชื่อไฟล์ จะใช้เอาต์พุตหรืออินพุตมาตรฐาน ยูทิลิตี aplay ยอมรับชื่อไฟล์หลายชื่อ

ตัวเลือก

-h, --help

ช่วย: แสดงไวยากรณ์

--version

พิมพ์เวอร์ชันปัจจุบัน

-l, --list-devices

แสดงรายการการ์ดเสียงและอุปกรณ์เสียงดิจิทัลทั้งหมด

-L, --list-pcms

แสดงรายการ PCM ทั้งหมดที่กำหนดไว้

-D, --device=NAME

เลือก PCM ตามชื่อ

-q --quiet

โหมดเงียบ ระงับข้อความ (ไม่มีเสียง :))

-t, --file-type TYPE

ประเภทไฟล์ (voc, wav, raw หรือ au) หากไม่ระบุพารามิเตอร์นี้ ระบบจะใช้รูปแบบ WAVE

-c, --channels=#

จำนวนช่อง ค่าเริ่มต้นคือหนึ่งช่อง ค่าที่ถูกต้องคือ 1 ถึง 32

-f --format=FORMAT

รูปแบบตัวอย่าง
รูปแบบตัวอย่างที่รู้จักคือ: S8 U8 S16_LE S16_BE U16_LE U16_BE S24_LE S24_BE U24_LE U24_BE S32_LE S32_BE U32_LE U32_BE FLOAT_LE FLOAT_BE FLOAT64_LE FLOAT64_BE IEC958_SUBFRAME_LE IEC958_SUBFRAME_BE MU_LAW A_LAW IMA_ADPCM MPEG GSM พิเศษ S24_3LE S24_3BE U24_3LE U24_3BE S20_3LE S20_3BE U20_3LE U20_3BE S18_3LE S18_3BE U18_3LE
บางส่วนอาจไม่มีในฮาร์ดแวร์ที่เลือก
ทางลัดรูปแบบที่ใช้ได้คือ:

-f cd (16 bit little endian, 44100, stereo) [-f S16_LE -c2 -r44100]
-f cdr (16 bit big endian, 44100, stereo) [-f S16_BE -c2 -r44100]
-f dat (16 bit little endian, 48000, stereo) [-f S16_LE -c2 -r48000]

หากไม่ได้กำหนดรูปแบบไว้ จะใช้ U8

-r, --rate=#<Hz>

อัตราการสุ่มตัวอย่างเป็นเฮิรตซ์ อัตราเริ่มต้นคือ 8,000 เฮิรตซ์ หากค่าที่ระบุน้อยกว่า 300 จะถือเป็นอัตราในหน่วยกิโลเฮิรตซ์ ค่าที่ถูกต้องคือ 2,000 ถึง 192,000 เฮิรตซ์

-d, --duration=#

ขัดจังหวะหลังจาก # วินาที ค่าศูนย์หมายถึงอนันต์ ค่าเริ่มต้นคือศูนย์ ดังนั้นหากละเว้นตัวเลือกนี้ กระบวนการบันทึก/เล่นจะทำงานจนกว่าจะถูกฆ่า ตัวเลือก '-d' หรือ '-s' สามารถใช้ได้โดยเฉพาะ

-s, --samples=#

ขัดจังหวะหลังจากส่งเฟรม # PCM ค่าศูนย์หมายถึงอนันต์ ค่าเริ่มต้นคือศูนย์ ดังนั้นหากละเว้นตัวเลือกนี้ กระบวนการบันทึก/เล่นจะทำงานจนกว่าจะถูกฆ่า ตัวเลือก '-d' หรือ '-s' สามารถใช้ได้โดยเฉพาะ

-M, --mmap

ใช้โหมด I/O ที่แมปหน่วยความจำ (mmap) สำหรับสตรีมเสียง หากไม่ได้ตั้งค่าตัวเลือกนี้ โหมดอ่าน/เขียน I/O จะถูกใช้

-N, --nonblock

เปิดอุปกรณ์เสียงในโหมดไม่ปิดกั้น หากเครื่องไม่ว่าง โปรแกรมจะออกทันที หากไม่ได้ตั้งค่าตัวเลือกนี้ โปรแกรมจะบล็อกจนกว่าอุปกรณ์เสียงจะพร้อมใช้งานอีกครั้ง

-F, --period-time=#

ระยะห่างระหว่างการขัดจังหวะคือ # ไมโครวินาที หากไม่มีการกำหนดช่วงเวลาและขนาดรอบระยะเวลา ดังนั้นหนึ่งในสี่ของเวลาบัฟเฟอร์จะถูกตั้งค่า

-B, --buffer-time=#

ระยะเวลาบัฟเฟอร์คือ # ไมโครวินาที หากไม่มีการกำหนดเวลาบัฟเฟอร์และไม่มีขนาดบัฟเฟอร์ เวลาบัฟเฟอร์สูงสุดที่อนุญาตแต่ไม่เกิน 500 มิลลิวินาทีจะถูกตั้งค่าไว้

--period-size=#

ระยะห่างระหว่างอินเตอร์รัปต์คือ # เฟรม หากไม่มีการกำหนดขนาดช่วงเวลาและไม่ได้ระบุช่วงเวลา ระบบจะตั้งค่าหนึ่งในสี่ของขนาดบัฟเฟอร์

--buffer-size=#

ระยะเวลาบัฟเฟอร์คือ # เฟรม ถ้าไม่มีเวลาบัฟเฟอร์และไม่มีขนาดบัฟเฟอร์ เวลาบัฟเฟอร์สูงสุดที่อนุญาตแต่ไม่เกิน 500ms จะถูกตั้งค่าไว้

-A, --avail-min=#

พื้นที่ว่างขั้นต่ำสำหรับการปลุกคือ # ไมโครวินาที

-R, --start-delay=#

การหน่วงเวลาสำหรับการเริ่ม PCM อัตโนมัติคือ # ไมโครวินาที (เทียบกับขนาดบัฟเฟอร์ถ้า <= 0)

-T, --stop-delay=#

การหน่วงเวลาสำหรับการหยุด PCM อัตโนมัติคือ # ไมโครวินาทีจาก xrun

-v, --verbose

แสดงโครงสร้างและการตั้งค่า PCM ตัวเลือกนี้เป็นแบบสะสม VU meter จะแสดงขึ้นเมื่อได้รับค่านี้สองครั้งหรือสามครั้ง

-V, --vumeter=TYPE

ระบุประเภท VU-meter ไม่ว่าจะเป็นสเตอริโอหรือโมโน สเตอริโอ VU-meter ใช้ได้เฉพาะกับตัวอย่างสเตอริโอ 2 แชนเนลที่มีรูปแบบอินเตอร์ลีฟ

-I, --separate-channels

หนึ่งไฟล์สำหรับแต่ละช่อง ตัวเลือกนี้ปิดใช้งาน max-file-time และ use-strftime และละเว้น SIGUSR1 มิเตอร์สเตอริโอ VU ไม่สามารถใช้งานได้กับช่องสัญญาณแยกต่างหาก

-P

การเล่น นี่เป็นค่าเริ่มต้นหากเรียกใช้โปรแกรมโดยพิมพ์ aplay

-C

บันทึก. นี่เป็นค่าเริ่มต้นหากเรียกใช้โปรแกรมโดยพิมพ์ arecord

-i, --interactive

อนุญาตการทำงานแบบโต้ตอบผ่าน stdin ขณะนี้ใช้เฉพาะการหยุดชั่วคราว/เล่นต่อผ่านช่องว่างหรือปุ่ม Enter เท่านั้น

-m, --chmap=ch1,ch2,...

ให้แผนผังช่องเพื่อแทนที่หรือติดตาม ส่งสตริงตำแหน่งช่อง เช่น FL, FR ฯลฯ

หากอุปกรณ์รองรับการแทนที่แผนผังช่อง aplay จะพยายามส่งผ่านแผนผังช่องที่กำหนด หากไม่สนับสนุนการแทนที่แผนผังช่องแต่ยังคงให้ข้อมูลแผนผังช่อง aplay จะพยายามจัดเรียงลำดับช่องใหม่ในบัฟเฟอร์เพื่อให้ตรงกับแผนผังช่องที่ส่งคืนจากอุปกรณ์

--disable-resample

ปิดใช้งานอัตราตัวอย่างอัตโนมัติ

--disable-channels

ปิดใช้งานการแปลงแชนเนลอัตโนมัติ

--disable-format

ปิดใช้งานการแปลงรูปแบบอัตโนมัติ

--disable-softvol

ปิดใช้งานการควบคุมระดับเสียงของซอฟต์แวร์ (softvol)

--test-position

ทดสอบตำแหน่งบัฟเฟอร์ของวงแหวน

--test-coef=<coef>

ค่าสัมประสิทธิ์การทดสอบสำหรับตำแหน่งบัฟเฟอร์วงแหวน ค่าเริ่มต้นคือ 8 นิพจน์สำหรับการตรวจสอบคือ: coef * (buffer_size/2) ค่าต่ำสุดคือ 1

--test-nowait

อย่ารอให้บัฟเฟอร์วงแหวนกิน CPU ทั้งหมด

--max-file-time

ขณะบันทึก เมื่อไฟล์เอาต์พุตมีเสียงสะสมเป็นเวลานาน ให้ปิดไฟล์แล้วเปิดไฟล์เอาต์พุตใหม่ ค่าเริ่มต้นคือขนาดสูงสุดที่รูปแบบไฟล์รองรับ: 2 GiB สำหรับไฟล์ WAV ตัวเลือกนี้ไม่มีผลหากมีการระบุ --separate-channels

--process-id-file <file name>

aplay เขียนรหัสกระบวนการที่นี่ เพื่อให้โปรแกรมอื่นๆ สามารถส่งสัญญาณไปที่มันได้

--use-strftime

เมื่อบันทึก ให้ตีความ %-codes ในพารามิเตอร์ชื่อไฟล์โดยใช้สิ่งอำนวยความสะดวก strftime ทุกครั้งที่เปิดไฟล์เอาต์พุต รหัส strftime ที่สำคัญได้แก่: %Y คือปี, %m เดือน, %d วันของเดือน, %H ชั่วโมง, %M นาที และ %S วินาที นอกจากนี้ %v คือหมายเลขไฟล์ โดยเริ่มต้นที่ 1 เมื่อระบุตัวเลือกนี้ ไดเร็กทอรีระดับกลางสำหรับไฟล์เอาต์พุตจะถูกสร้างขึ้นโดยอัตโนมัติ ตัวเลือกนี้ไม่มีผลหากมีการระบุ --separate-channels

--dump-hw-params

ดัมพ์ hw_params ของสถานะที่กำหนดค่าล่วงหน้าของอุปกรณ์เป็น stderr ดัมพ์แสดงรายการความสามารถของอุปกรณ์ที่เลือก เช่น รูปแบบที่รองรับ อัตราการสุ่มตัวอย่าง จำนวนช่องสัญญาณ ระยะเวลาและบัฟเฟอร์ไบต์/ขนาด/เวลา สำหรับอุปกรณ์ดิบ hw:X ตัวเลือกนี้โดยทั่วไปจะแสดงความสามารถของฮาร์ดแวร์ของการ์ดเสียง

--fatal-errors

ปิดใช้งานการพยายามกู้คืนเมื่อพบข้อผิดพลาด (เช่น xrun) กระบวนการเล่นแทนจะยกเลิกทันที

สัญญาณ

เมื่อทำการบันทึก SIGINT, SIGTERM และ SIGABRT จะปิดไฟล์เอาต์พุตและออก SIGUSR1 จะปิดไฟล์เอาต์พุต เปิดไฟล์ใหม่ และบันทึกต่อ อย่างไรก็ตาม SIGUSR1 ไม่ทำงานกับ --separate-channels

ตัวอย่าง

aplay -c 1 -t raw -r 22050 -f mu_law foobar

จะเล่นไฟล์ดิบ "foobar" เป็นไฟล์ 22050-Hz, โมโน, 8 บิต, Mu-Law .au

arecord -d 10 -f cd -t wav -D copy foobar.wav

จะบันทึก foobar.wav เป็นไฟล์เวฟคุณภาพซีดีความยาว 10 วินาที โดยใช้ PCM "คัดลอก" (ซึ่งอาจกำหนดไว้ในไฟล์ .asoundrc ของผู้ใช้เป็น:

pcm.copy {
  type plug
  slave {
    pcm hw
  }
  route_policy copy
}
arecord -t wav --max-file-time 30 mon.wav

บันทึกจากแหล่งเสียงเริ่มต้นในรูปแบบโมโน 8,000 ตัวอย่างต่อวินาที 8 บิตต่อตัวอย่าง เริ่มไฟล์ใหม่ทุกๆ 30 วินาที ชื่อไฟล์คือ mon-nn.wav โดยที่ nn เพิ่มขึ้นจาก 01 ไฟล์ที่อยู่หลัง mon-99.wav คือ mon-100.wav

arecord -f cd -t wav --max-file-time 3600 --use-strftime %Y/%m/%d/listen-%H-%M-%v.wav

บันทึกเป็นสเตอริโอจากแหล่งเสียงเริ่มต้น สร้างไฟล์ใหม่ทุกชั่วโมง ไฟล์จะอยู่ในไดเร็กทอรีตามวันที่เริ่มต้นและมีชื่อซึ่งรวมถึงเวลาเริ่มต้นและหมายเลขไฟล์

ดูสิ่งนี้ด้วย

alsamixer(1), amixer(1)

ข้อบกพร่อง

โปรดทราบว่าขณะนี้ยังไม่รองรับไฟล์ .aiff

ผู้เขียน

arecord และ aplay เป็นของ Jaroslav Kysela perex@perex.cz เอกสารนี้จัดทำโดย Paul Winkler zarmzarm@erols.com อัปเดตสำหรับ Alsa 0.9 โดย James Tappin james@xena.uklinux.net