I am using a 4-input, 8-output codec (AD1938) in an application
similar to a live sound mixing
board, where a combination of the input signals get mixed for each
output. I can mix four
inputs to four outputs with a command like:
arecord --file-type raw --channels=4 --format=S32_LE --rate=16000 \
| crosspoint \
| aplay --file-type raw --channels=4 --format=S32_LE --rate=16000
where crosspoint is a simple program that reads from stdin, does some
mixing, and outputs
to stdout.
My next step is to play and record wave files from the various
channels, while the crosspoint
is running. For example, I might need to play message1.wav to
channel 2 and message2.wav
to channel 3 while recording channel 1 to message3.wav. I am looking
for advice about the
best way to accomplish that.
It seems like it should be possible using a combination of dmix,
snoop, and dshare, as follows:
- Use dsnoop to split the 4-channel input to the crosspoint and
another virtual sound input, call it "A".
- Use dshare to split "A" into four mono sources. Then can use
arecord normally to capture wave files.
- Use dmix and possibly dshare to similarly let the crosspoint
continue to use the multi-channel
output while also providing a mono sound device for each channel
that I can use with aplay.
Am I on the right track, or would I be better off adding
functionality to the crosspoint application
to read and write wave files? Thanks for any suggestions.
Steve
---
Steve Strobel
Link Communications, Inc.
1035 Cerise Rd
Billings, MT 59101-7378
(406) 245-5002 ext 102
(406) 245-4889 (fax)
WWW: http://www.link-comm.com
MailTo:[EMAIL PROTECTED]
-------------------------------------------------------------------------
SF.Net email is sponsored by:
Check out the new SourceForge.net Marketplace.
It's the best place to buy or sell services
for just about anything Open Source.
http://ad.doubleclick.net/clk;164216239;13503038;w?http://sf.net/marketplace
_______________________________________________
Alsa-user mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/alsa-user