Forum Linux.pl
Sprzęt => Karty muzyczne => Wątek zaczęty przez: shiny w 2005-05-17, 22:52:25
-
Witam,
Jak w bash\\'u wykonać jakąś operację nad wieloma plikami? Próbowałem używać pętli for, np. for i in *, ale pojawia się problem jesli pliki zawieraja spacje. Calą sytuację obrazuje poniższy przykład:
ljubomir@Fidel:/windows/d/music/Demether/[...The Day Has Come...- Demo]$ ls
01-...The Day Has Come.mp3 02-Last Night.mp3 03-Her Silence.mp3
ljubomir@Fidel:/windows/d/music/Demether/[...The Day Has Come...- Demo]$ for i in *;do lame -b 96 $i;done
lame: excess arg Has
LAME version 3.96.1 (http://lame.sourceforge.net/)
usage: lame [options] [outfile]
and/or can be \\"-\\", which means stdin/stdout.
Try:
\\"lame --help\\" for general usage information
or:
\\"lame --preset help\\" for information on suggested predefined settings
or:
\\"lame --longhelp\\"
or \\"lame -?\\" for a complete options list
Could not find \\"02-Last\\".
Could not find \\"03-Her\\".
ljubomir@Fidel:/windows/d/music/Demether/[...The Day Has Come...- Demo]$
Probowalem zastapic polecenie:
do lame -b 96 $i
poleceniem:
do lame -b 96 \\"$i\\"
lecz nie pomogło.
-
2005-05-17 22:52:25 shiny napisał:
> Witam,
> Jak w bash\\'u wykonać jakąś operację nad wieloma plikami? Próbowałem używać pętli for, np. for i
> in *, ale pojawia się problem jesli pliki zawieraja spacje. Calą sytuację obrazuje poniższy
> przykład:
>
> ljubomir@Fidel:/windows/d/music/Demether/[...The Day Has Come...- Demo]$ ls
> 01-...The Day Has Come.mp3 02-Last Night.mp3 03-Her Silence.mp3
> ljubomir@Fidel:/windows/d/music/Demether/[...The Day Has Come...- Demo]$ for i in *;do lame -b
> 96 $i;done
> lame: excess arg Has
> LAME version 3.96.1 (http://lame.sourceforge.net/)
>
> usage: lame [options] [outfile]
>
> and/or can be \\"-\\", which means stdin/stdout.
>
> Try:
> \\"lame --help\\" for general usage information
> or:
> \\"lame --preset help\\" for information on suggested predefined settings
> or:
> \\"lame --longhelp\\"
> or \\"lame -?\\" for a complete options list
>
> Could not find \\"02-Last\\".
> Could not find \\"03-Her\\".
> ljubomir@Fidel:/windows/d/music/Demether/[...The Day Has Come...- Demo]$
>
> Probowalem zastapic polecenie:
> do lame -b 96 $i
> poleceniem:
> do lame -b 96 \\"$i\\"
> lecz nie pomogło.
Jesli chcesz w petli wykonac lame, to otaczasz $i przez zwykly cudzyslow (bez backslasha). Backslash jest potrzebny do \\"umieszczenia cudzyslowu wewnacz cudzyslowu\\".Czyli
for i in *.mp3; do lame -b 96 \\"$aa\\"; done
Uwaga, zamiast for, do operacji na wielu plikach w roznych katalogach uzyteczne jest find. Jesli mimo wszystko nie dziala, czasami warto jest dodac echo po \\"do\\" i sprawdzic co for wyprodukowalo. Do naprawde skomplikowanych operacji na wielu plikach warto jest napisac skrypt.
-
> Jesli chcesz w petli wykonac lame, to otaczasz $i przez zwykly cudzyslow (bez backslasha).
> Backslash jest potrzebny do \\"umieszczenia cudzyslowu wewnacz cudzyslowu\\".Czyli
>
> for i in *.mp3; do lame -b 96 \\"$aa\\"; done
No tak, ja tu udawalem madrego :)
> Uwaga, zamiast for, do operacji na wielu plikach w roznych katalogach uzyteczne jest find.
> Jesli mimo wszystko nie dziala, czasami warto jest dodac echo po \\"do\\" i sprawdzic co
> for wyprodukowalo. Do naprawde skomplikowanych operacji na wielu plikach warto jest napisac
> skrypt.
No i to mial byc skrypt, ale bez takiej podstawy niska jego przydatnosc. :) Wielkie dzieki! Wszystko dziala jak sobie zaplanowalem. Pozdrawiam.
-
Witam,
posiadam SB Live 24 bit i jak wiadomo Alsa jeszcze nie obsługuje np: wejścia mikrofonu dla tej karty. Mam jeszcze zintegrowany dzwięk na płycie głównej AC 97 - płyta to ecs k7s5a. Wymyśliłem sobie coby mikrofonu używać przez kartę zintegrowaną, a słuchać przez SB. Czy taki mariaż jest możliwy, a jeśli tak to czy wymaga jakichś szczególnych zabiegów czy jedynie instalacji obydwu kart w systemie?
Pozdrawiam,
Bergo
-
Oczywiscie, ze jest to mozliwe,
AFAIK ALSA obsluguje
nawet do 16 kart na raz.
Jedyna rzecza o jakiej musisz
pamietac to ustawianie odpowiedniego
urzadzenia w programie, ktorym nagrywasz.
pozdrawiam
-
> pamietac to ustawianie odpowiedniego
> urzadzenia w programie, ktorym nagrywasz.
Ok, tylko jak mu (pingwinowi) powiedzieć, że nagrywam z tej a nie innej karty? Już było dobrze - skompilowałem ALSE z obsługą obu kart (moduły dla SiS'a i SB Live) i po wykonaniu alsaconfig i skonfigurowaniu SiS'a w słuchawkach był dzwiek (podłączone do zintegrowanej) i mikrofon reagował - no bo było słychać w słuchawkach szuny jak się go tykało palcem. Czar prysł po ponownym uruchomieniu kompa - w systemie jest teraz jedna karta, SB Live, a po konfiguracji alsaconf SiS'a alsamixer się nie uruchamia wychodząc z błędem.
Czekam na jakiekolwiek sugestie.
Pozdrawiam,
Bergo.
Mój modprobe.conf:
#alias snd-card-0 snd-intel8x0
#install snd-intel8x0 /sbin/modprobe --ignore-install snd-intel8x0 && /usr/sbin/alsactl restore >/dev/null 2>&1 || :
#remove snd-intel8x0 { /usr/sbin/alsactl store >/dev/null 2>&1 || : ; }; /sbin/modprobe -r --ignore-remove snd-intel8x0
alias usb-controller ohci-hcd
# --- BEGIN: Generated by ALSACONF, do not edit. ---
# --- ALSACONF verion 1.0.8 ---
alias snd-card-0 snd-intel8x0
alias sound-slot-0 snd-intel8x0
# --- END: Generated by ALSACONF, do not edit. ---
-
2005-05-17 22:57:37 bergo napisał:
> Ok, tylko jak mu (pingwinowi) powiedzieć, że nagrywam z tej a nie innej karty? Już było dobrze
W alsamixer masz mozliwosc ustawienia co jest zrodlem dzwieku (capture). Jednak niektore programy maja mozliwosc ustawienia dzwieku wprost (nazwa device'a).
> - skompilowałem ALSE z obsługą obu kart (moduły dla SiS'a i SB Live) i po wykonaniu alsaconfig
> i skonfigurowaniu SiS'a w słuchawkach był dzwiek (podłączone do zintegrowanej) i mikrofon
> reagował - no bo było słychać w słuchawkach szuny jak się go tykało palcem. Czar prysł po
> ponownym uruchomieniu kompa - w systemie jest teraz jedna karta, SB Live, a po konfiguracji
> alsaconf SiS'a alsamixer się nie uruchamia wychodząc z błędem.
> Mój modprobe.conf:
>
> #alias snd-card-0 snd-intel8x0
> #install snd-intel8x0 /sbin/modprobe --ignore-install snd-intel8x0 && /usr/sbin/alsactl
> restore >/dev/null 2>&1 || :
> #remove snd-intel8x0 { /usr/sbin/alsactl store >/dev/null 2>&1 || : ; };
> /sbin/modprobe -r --ignore-remove snd-intel8x0
> alias usb-controller ohci-hcd
>
> # --- BEGIN: Generated by ALSACONF, do not edit. ---
> # --- ALSACONF verion 1.0.8 ---
> alias snd-card-0 snd-intel8x0
> alias sound-slot-0 snd-intel8x0
> # --- END: Generated by ALSACONF, do not edit. ---
>
Ja w tym configu nie widze nic nt. drugiej karty. W dokumentacji alsy jest bardzo szczegolowo opisana konfiguracja dwoch kart, jesli nie idzie z automatu, napisz konfiguracje recznie.
-
Proponuje poprostu zaladowac
recznie moduly do pierwszej i drugiej karty.
modprobe modul1 modul2
-
> Ja w tym configu nie widze nic nt. drugiej karty. W dokumentacji alsy jest bardzo szczegolowo
> opisana konfiguracja dwoch kart, jesli nie idzie z automatu, napisz konfiguracje recznie.
Istotonie - ten config jest dla jednej karty.