Eu estou usando o Windows agora e só vou logar no Linux amanhã.
E uma pergunta:
eu tenho que usar o comando "arecord" antes do sox?
Daekdroom
Membro Junior
Registrado
59 Mensagens
1 Curtida
Daekdroom disse:Eu estou usando o Windows agora e só vou logar no Linux amanhã.
E uma pergunta:
eu tenho que usar o comando "arecord" antes do sox?
Ufa..! card=53, tuner=54 (61?), cores=OK--->PAL-M! Uma coisa de cada vez....Agora o som...Se você tem placa de som, já tentou conectar a saída da placa de TV (Line-Out) à entrada da Placa de som da Placa Mãe (line-In)? Prá isso iria precisar de um cabo com um "plug" tipo conector de auto-falantes em cada extremidade (verde na placa de TV e eepSkyBlue">azul claro na placa de som, veja os manuais se possível). Pode ser que eu me engane, mas acho que você só vai ter que "rotear" o som via software caso isso não seja possível via hardware...Eu pelo menos tentaria resolver isso se possível via hardware pois a qualidade será melhor.Daekdroom disse:EDIT: Mudei a norma para PAL-M e tenho a cor....
Pelo que testei aqui, você tem que fechar a janela do tvtime para o script continuar. Para que ele pudesse seguir de forma contínua, faltaria um "sleep" adicional e um comando para fechar o tvtime a cada passagem do loop "for". Mas não importa, acho que você já tem os Nº do card e do tuner.Daekdroom disse:
Não sei se o padrão do script é deixar o tvtime aberto até que eu feche. Acho que o script não está funcionando como era para estar.
Não testei aqui, mas talvez tenha que executar o comando sox como root ou sudo. Além de verificar os links que já lhe foram sugeridos aqui no tópico (não posso checar todos..), Veja o seguinte: O tal do "pipe" ou "rotear" o som via software (sox) implica nos seguintes:Daekdroom disse:
EDIT 2: Preciso de parâmetros exatos para o funcionamento do sox, ao tentar pelo comando sox -t alsa hw:2,0 -t alsa hw:0,0 retorna:
[code=rich]
ALSA lib pcm_hw.c:1351_snd_pcm_hw_open) Invalid value for card
sox stio: Failed reading `hw:2,0': cannot open audio device
[/code]
Nuss...Bom hein...! Já tá sabendo mais que nós (quer dizer, eu.....rsrsrs). Obrigado! Já editei lá em cima.Daekdroom disse:Não, o tuner é o 61. O 54 corresponde ao som NTSC e o 61 ao vídeo e som PAL-M.
sox stio: Can't open output file '/dev/dsp': Device or resource busy
E o outro é que o tvtime fica em preto. Eu criei um arquivo em "/etc/modprobe.d" contendo "options saa7134 card=53 tuner=61" (como está no post do mstr na primeira página"). Talvez os problemas sejam apenas parâmetros mal colocados..
Não entendi direito a seqüência das ações.Daekdroom disse:Testei o script da página que você passou e tenho dois problemas agora. O primeiro é a mensagem no terminal:
E o outro é que o tvtime fica em preto. Eu criei um arquivo em "/etc/modprobe.d" contendo "options saa7134 card=53 tuner=61" (como está no post do mstr na primeira página"). Talvez os problemas sejam apenas parâmetros mal colocados..
sox stio: Can't open output file '/dev/dsp': Device or resource busy
$ sudo gedit /etc/rc.local
Coloque o comando que ativa o "sox..." na última linha antes do "exit 0"
rmmod saa7134_alsa
rmmod saa7134
modprobe saa7134 card=53 tuner=61
modprobe saa7134_alsa
sleep 2
sox -t alsa hw:2,0 -t alsa hw:0,0 #ou um script para ativar o sox ou o arecord
exit 0
Verifique os números corretos dos parâmetros hw:x,y aí em cima. O tvtime você deve iniciar pelo lançador de aplicações do Gnome ou pelo menu de multimídia ou por um ícone no desktop. Tudo que está no /etc/rc.local vai ser executado no boot (no Debian é assim), desde que o rc.local esteja no diretório /etc/rc2.d/, veja:
$ ls /etc/rc2.d/
......
.....
S99rc.local
.....
S99gdm
Reiniciar a máquina.Mike Pacasi disse:Não entendi direito a seqüência das ações.
1- Primeiro, uma vez que o tvtime estava funcionando e em cores, faltava só colocar o som para funfar: conseguiu isso?
Em princípio, se vc não mudou manualmnete qquer permissão, este script não cria nem deleta nada no teu sistema, apenas tenta executar o sox sobre alguns dispositivos de mídia (/dev/dsp, /dev/mixer, etc) , ou seja, depois que o script executa, caso haja alguma inconformidade de parãmetros (usar som oss em vez de alsa..) os dispositivos podem ficar ocupados e bloqueando os dev's ou os módulos saa7134 ou saa7134_alsa. Então vc precisa checar se não existe nenhum script ou comando em /etc/modprobe.d/* ou /etc/rc.local. E reinicia a máquina para parar qualquer instãncia do sox executando. Ao voltar o sistema, repita os procedimento que usou ao carregar os parãmetros corretos de card e tuner e inicia o tvtime. Se não funfar, poderia deletar os dispositivos /dev/dsp[x], /dev/video[x], /dev/mixer[x] e reiniciar a máquina para que o udev os recrie de novo ao detectar suas placas de TV e som. E depois repetir os comandos quando vc conseguiu rodar os tvtime. Se quiser ver agora se o sox está rodando, digite:Daekdroom disse:Primeiro: O TVtime agora não funciona. Fica só uma tela preta. E o Script que eu citei foi um do mstr que inicia o tvtime e o sox juntos...
$ ps aux | grep sox
E veja se o sox aparece na saída do comando.E o outro é que o tvtime fica em preto. Eu criei um arquivo em "/etc/modprobe.d" contendo "options saa7134 card=53 tuner=61" (como está no post do mstr na primeira página"). Talvez os problemas sejam apenas parâmetros mal colocados..conforme tinhamos conversado apague esse arquivo ele não é necessario, alem do tuner estar errado o tuner é 54. e reinicie ...
Ativar o som via sox (dica do Tota)
Se por algum motivo o modulo alsa não conseguir ativar o mixer
podemos criar um pipe da placa de captura para a placa de som, através do sox
instalar o sox: verifique no synaptic se está instalado ou execute no terminal 'apt-get install sox'
crie um script na sua home $HOME/assistir-tv com o seguinte conteúdo:
#!/bin/she de permissões de execução no arquivo digite num terminal como root
# arquivo para configurar o sistema PAL-M no Brasil
# escrito por tota (GLP)
# adaptado por (seu nome)
#
# Ligar o som
# tvtime | arecord -D hw:1,0 -r 48000 -c 2 -f S16_LE | aplay -
sox -c 2 -s -w -r 44100 -t ossdsp /dev/dsp1 -t ossdsp -w -r 48000 /dev/dsp &
tvtime --mixer=/dev/mixer. pcm <- (junte o ponto ao pcm)
wait tvtime
t=`pidof sox`;
kill $t;
amixer -c 0 sset PCM 80%,80% unmute
# sair
exit
chmod 755 $HOME/assistir-tv
crie um atalho na sua área de trabalho e chame o tvtime por aqui para assistir TV
Se você recebe uma mensagem de erro tipo não encontrei o dispositivo /dev/dsp1
verifique os /dev/dspX que existem com o comando 'ls /dev/dsp*' num terminal
e altere paras /dev/dspX existente, se existirem vários teste os outros
Os números 44100 e 48000 também conhecido como audiorate, a qualidade do CD é 44100
valores muito baixos podem deixar um som de "pato"
funcionam tanto no sox como na dupla arecord/aplay
o ideal e usar o sox, por não apresentar delay
não esqueça de chamar o tvtime usando este script
verifique no dmesg | grep saa, se o vídeo estiver registrado como video1 então faça uma alteração no script para que seja setado em /dev/video1, na linha:
tvtime --mixer=/dev/mixer. pcm <- (junte o ponto ao pcm)
altere-a para:
tvtime -d /dev/video1 --mixer=/dev/mixer. pcm <- (junte o ponto ao pcm)
sox stio: Can't open output file '/dev/dsp': Device or resource busy
mixer: Can't open device /dev/mixer.pcm, mixer volume and mute unavailable.
Você está com o módulo saa7134_alsa carregado na memória, e o script que inicia o tvtime usa o sistema de som oss (e não alsa). Portando seria possível (não testei isso...) que vc só precisaria carregar apenas o módulo saa7134, talvez com a opção de oss:Daekdroom disse:O "ls /dev/dsp*" retornou dois dispositivos: /dev/dsp e /dev/dsp1 , eu testei os dois mas nos dois não consegui som e obtive a mesma mensagem de erro.
sox stio: Can't open output file '/dev/dsp': Device or resource busy
mixer: Can't open device /dev/mixer.pcm, mixer volume and mute unavailable.
$ sudo rmmod saa7134_alsa
$ sudo rmmod saa7134
$ sudo modprobe saa7134 card=53 tuner=54 oss=1 dsp_nr=1 mixer_nr=1 video_nr=0
--- confira os dispositivos registrados ---
$ sudo dmesg | grep device
---- se tudo ok, rode: ----
$ sh ~/assistir-tv
Veja que a forma do comando modprobe aí em cima permite você carregar o módulo saa7134 e opcionalmente "mandar" ele usar os dispositivos com os números que você já verificou que existem na sua pasta /dev/*. Aí no exemplo estou instruindo o módulo a usar o /dev/dsp1, /dev/mixer1 e /dev/video0 (adapte conforme os seus dev's). Se não usar nada, o modprobe vai considerar os "defaults" prá todos os dispositivos.
$ ls /dev/mix*
/dev/mixer
Veja que na minha máquina o som on-board C-Media usa o /dev/mixer (sem .pcm)$ sudo modprobe saa7134 card=53 tuner=54 oss=1 dsp_nr=1 mixer_nr=1 video_nr=0o que esta em vermelho vai dar erro ja testei isso, o oss=1 é a opçao normal setada acredito ser desnecessario poderia incluir na linha alsa=0
0 [SB ]: HDA-Intel - HDA ATI SB
HDA ATI SB at 0xff6f4000 irq 16
1 [SAA7134 ]: SAA7134 - SAA7134
saa7133[0] at 0xff5ff800 irq 22
e
[ 52.781409] saa7133[0]/alsa: saa7133[0] at 0xff5ff800 irq 22 registered as card -2