Logo Hardware.com.br
Mike Pacasi
Mike Pacasi Geek Registrado
2.4K Mensagens 94 Curtidas
#48 Por Mike Pacasi
21/10/2007 - 22:20
Daekdroom disse:
EDIT: Mudei a norma para PAL-M e tenho a cor....
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:

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.
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:

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:1351frown.png_snd_pcm_hw_open) Invalid value for card
sox stio: Failed reading `hw:2,0': cannot open audio device
[/code]
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:

Opção 1 (arecord - não recomendável devido a problemas de sincronismo):
[code=rich]$ sudo arecord -D hw:2,0 -r 32000 -c 2 -f S16_LE | aplay -[/code]Veja aqui os significados dos parâmetros.

Opção 2 (recomendada, usa o programa sox, veja como instalar tbm aí em baixo):
[code=rich]
$ sudo apt-get install sox
$ sudo sox -t alsa hw:2,0 -t alsa hw:0,0
[/code]Veja que neste exemplo estes comandos dependem dos parâmetros hw:2,0 e hw:0,0 etc.. Um representa a sua placa de TV, o outro representa a sua placa de som. Para verificar como está aí na sua máquina:
[code=rich]
$ arecord -l
**** List of CAPTURE Hardware Devices ****
card 0: IXP [ATI IXP], device 0: ATI IXP AC97 [ATI IXP AC97]
Subdevices: 1/1
Subdevice #0: subdevice #0
[/code]Veja aí em cima que no meu lap-top só tenho uma placa de som (não tenho TV) então o enderêço dela é hw:0,0 (card 0, device 0)

Edit: Conforme aqui, tem mais duas opções para iniciar o tvtime com som:

Opção 1 (sem usar o sox, mais simples):
[code=rich]
$ sudo tvtime | arecord -D hw:1,0 -r 32000 -c 2 -f S16_LE | aplay - [/code]Opção 2 (ativando o sox através de um script):

tv-tuner-som.sh
[code=rich]
#!/bin/sh
(sleep 5; amixer -q -c 0 sset PCM 80%,80% unmute; exec sox -q -c 2 -s -w -r 32000 -t ossdsp /dev/dsp2 -t ossdsp -w -r 32000 /dev/dsp) &
tvtime --mixer=/dev/mixerstick_out_tongue.pngcm
kill `ps | awk '/sox/ && !/awk/ {print $1}'`
amixer -q -c 0 sset PCM 80%,80% unmute
[/code]Confira aí se suas placas de TV e de som estão em /dev/dsp2 e /dev/dsp e se seu mixer é o /dev/mixer (ou /dev/mixer0)

Não se esqueça: Quando tudo estiver funcionando, vc tem que configurar os respectivos arquivos para que tudo já suba funfando após o boot da máquina. (veja próximo post)

Flw!
Daekdroom
Daekdroom Membro Junior Registrado
59 Mensagens 1 Curtida
#51 Por Daekdroom
22/10/2007 - 13:09
Testei o script da página que você passou e tenho dois problemas agora. O primeiro é a mensagem no terminal:


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..
Mike Pacasi
Mike Pacasi Geek Registrado
2.4K Mensagens 94 Curtidas
#52 Por Mike Pacasi
22/10/2007 - 13:58
Daekdroom disse:
Testei o script da página que você passou e tenho dois problemas agora. O primeiro é a mensagem no terminal:


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.

1- Primeiro, uma vez que o tvtime estava funcionando e em cores, faltava só colocar o som para funfar: conseguiu isso? Você em princípio não precisa mais usar o script de detecção. Só tem que colocar nos arquivos de inicialização uma seqüencia de comandos que automatize no Boot aquilo que vc já conseguiu fazer manualmente.

2- Então, caso o som tenha ficado OK, e se tiver usado o sox, teria que configurar os arquivos para que o sistema iniciasse tudo funfando após o boot:

Acho que seria: Se for o caso, colocar o comando do sox numa linha do aquivo /etc/rc.local:

$ sudo gedit /etc/rc.local
Coloque o comando que ativa o "sox..." na última linha antes do "exit 0"

Não sei exatamente como o tvtime funfou após o reset (reboot) que vc fez (como vc conseguiu levantar o saa7134 com as opções card e tuner corretas), mas uma idéia seria apagar o que está em /etc/modprobe.d/* e colocar o carregamento do módulo saa7134 também no /etc/rc.local assim:

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.

Flw!
Mike Pacasi
Mike Pacasi Geek Registrado
2.4K Mensagens 94 Curtidas
#54 Por Mike Pacasi
22/10/2007 - 20:05
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...
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:
$ ps aux | grep sox
E veja se o sox aparece na saída do comando.

Flw!
mstr
mstr Super Participante Registrado
420 Mensagens 10 Curtidas
#55 Por mstr
24/10/2007 - 02:45
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 ...

para ativar o sox, retirado da pagina
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/sh
# 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
e de permissões de execução no arquivo digite num terminal como root
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)
Mike Pacasi
Mike Pacasi Geek Registrado
2.4K Mensagens 94 Curtidas
#57 Por Mike Pacasi
24/10/2007 - 18:26
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.
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:

$ 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.

Veja que no script assistir-tv, o comando sox tenta usar os dispositivos /dev/dsp1 (placa de tv) e /dev/dsp (placa de som), mas, se o módulo saa7134_alsa estiver ocupando o /dev/dsp, por exemplo, isto pode dar conflito...

Quanto ao dispositivo /dev/mixer.pcm veja se este é mesmo o seu dispositivo que suporta o som da sua placa de som (on-board):

$ ls /dev/mix*
/dev/mixer
Veja que na minha máquina o som on-board C-Media usa o /dev/mixer (sem .pcm)

Flw!
mstr
mstr Super Participante Registrado
420 Mensagens 10 Curtidas
#58 Por mstr
25/10/2007 - 01:16
$ sudo modprobe saa7134 card=53 tuner=54 oss=1 dsp_nr=1 mixer_nr=1 video_nr=0
o 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

o que entendi a respeito do sox, o som é o /dev/dsp1 do som e da captura e o /dev/dsp é um link para /dev/dsp1
e o sox cria um pipe de /dev/dsp1 para /dev/dsp basicamente um link alternativo apenas isso

por falar em o /dev/dsp1 é o som da placa de som e da captura, vc ligou aquele fiozinho da placa de captura para a placa de som

verifica se o som de sua captura ta carregado com
cat /proc/asound/cards

olha o meu
$ cat /proc/asound/cards
0 [V8235 ]: VIA8233 - VIA 8235 VIA 8235 with AD1980 at 0xe000, irq 20
1 [SAA7134 ]: SAA7134 - SAA7134 saa7133[0] at 0xee000000 irq 19

a ultima linha do dmesg | grep saa
[ 21.816000] saa7133[0]/alsa: saa7133[0] at 0xee000000 irq 19 registered as card -2
Daekdroom
Daekdroom Membro Junior Registrado
59 Mensagens 1 Curtida
#59 Por Daekdroom
25/10/2007 - 13:15
Não, eu não liguei liguei a placa de captura para a placa de som.


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


Ainda assim usando aquele comando modprobe eu recebo a mesma mensagem de erro.
© 1999-2024 Hardware.com.br. Todos os direitos reservados.
Imagem do Modal