Tôi có thể thiết lập một thiết bị âm thanh loopback không?


15

Nếu tôi có thể gửi âm thanh đến các thiết bị đầu ra, thì tôi có thể ghi lại âm thanh tương tự như sóng. Với các hệ thống tệp, bạn chỉ có thể thiết lập hệ thống tệp loopback và ghi dữ liệu nhị phân trên tệp thay vì thiết bị.

Câu hỏi của tôi là: Tôi có thể gửi tín hiệu âm thanh đến tệp WAV (ví dụ) thay vì các thiết bị âm thanh của mình không? Làm sao?


Video giới thiệu bốn chế độ loopback card âm thanh. youtu.be/pqV3P9zRyYc

Câu trả lời:


10

Đúng.

Thật ra có rất nhiều cách. Bạn có thể thiết lập một thiết bị card âm thanh giả mà bạn có thể tách dữ liệu ra khỏi thiết bị ... tuy nhiên đây không phải là một định dạng rất hữu ích.

Hữu ích hơn cho bạn là một cái gì đó giống như arecordtiện ích cho phép bạn nghe lén trên luồng đầu ra alsa và lưu nó vào một số định dạng đã biết. Về cơ bản, bất cứ thứ gì bạn có thể chơi trên hệ thống âm thanh alsa đều có thể được sao chép vào một tệp âm thanh định dạng chuẩn.

Các công cụ tương tự tồn tại cho âm thanh xung .


8

Nếu hệ thống của bạn, hoặc chỉ ứng dụng bạn muốn ghi, đang hướng đầu ra của nó đến một máy chủ âm thanh , hãy xem xét các khả năng ghi âm cho máy chủ âm thanh đó. Ví dụ: trên Ubuntu, máy chủ âm thanh chính thức là PulseAudio , đi kèm với pareclệnh (từ pulseaudio-utilsgói Cài đặt pulseaudio-utils http://bit.ly/software-small ). Bạn có thể cần phải chuyển đổi đầu ra từ parecthành thứ gì đó có thể sử dụng được với SoX (Ubuntu: Cài đặt sox http://bit.ly/software-small ).sox

parec -r --rate=44100 | sox --type raw --rate 44100 - --type ogg recording.ogg

điều đó không hiệu quả với tôi, nhưng biến thể theo chủ đề này đã làm: askubfox.com/questions/60837/ mẹo
ixtmixilix

4

Nó được coi là có thể ghi trực tiếp vào Audacity, nhưng tôi không thể nhận được rằng để làm việc trên hệ thống của tôi (Ubuntu 10.10). Vì vậy, làm theo các hướng dẫn ở đây từ wiki Audacity, tôi sử dụng ALSAthiết bị phát lại để chuyển hướng âm thanh thành tệp.

Điều này sử dụng một .asoundrctập tin (trong thư mục nhà của bạn):

pcm.teeraw {
   type empty
   slave.pcm "tee:default,'/tmp/out.raw',raw"
   # 48000 S16_LE 2ch (aplay -t raw -f dat)
}

Để ghi từ flash (trên firefox), tôi sử dụng

FLASH_ALSA_DEVICE=teeraw firefox

Các tập tin kết quả, /tmp/out.rawở định dạng thô vì vậy chuyển đổi nó cần biết các tham số đúng là gì. Kỳ lạ thay, lamedường như có thể tự làm việc này nhưng soxcần phải biết rõ ràng. Vì vậy, tất cả những điều sau đây dường như hoạt động:

aplay -t raw -f dat -r 44100 /tmp/out.raw # to play
sox -r 44100 -b 16 -e signed -c 2 /tmp/out.raw /tmp/out.wav # to convert to wav
lame /tmp/out.raw # to convert to mp3

Liên kết từ wiki Audacity đã chết.
Suzana

0

Có một trình điều khiển loopback trong cây ALSA, aloop-kernel.c (thông qua đây ); mà bạn phải tự xây dựng (và tìm ra cách sử dụng nó như một thiết bị thông qua các ứng dụng âm thanh như aplay/ arecord) ...

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.