Como executar o aplicativo dependente do OSS? "/ Dev / dsp"

2

Estou usando o Ubuntu 12.04 LTS - o som funciona bem.

Eu tentei executar o pocketsphinx para alguns testes com reconhecimento de voz, mas isso depende do funcionamento do OSS. Ele falha com a mensagem:

ad_oss.c(103): Failed to open audio device(/dev/dsp): No such file or directory
Googli'n em torno da minha primeira tentativa de correção foi instalar o pacote "oss-compat" - mas a falta de sucesso me levou a descobrir que é apenas um enganador - um pacote falso vazio.

Então eu tentei:

$> padsp pocketsphinx_continuous
...
ioctl(NONBLOCK) failed: Invalid argument

Finalmente, o (morto?) sphynx wiki FAQ afirma:

compile pocketsphinx with ALSA support by installing alsa development headers from a package libasound2 or alsa-devel

O Alsa-devel não existe na minha distro, mas eu instalei libasound2-dev e gstreamer0.10-pocketsphinx - então recompilou o pocketsphynx - sem alterações.

Agora estou sem ideias e os fóruns do fórum parecem estar em baixo. Alguém?

    
por gabriel_agm 23.10.2012 / 22:57

2 respostas

1

Assim como alguns palpites:

  • Nada foi alterado no suporte do ALSA ao pocketsphynx porque, depois de instalar os cabeçalhos do ALSA, você compilou o pocketsphynx com ./configure e não especificou --prefix=/usr como uma opção de linha de comando para configure , portanto instalou-o /usr/local caminho. A versão /usr/bin do pocketsphynx está sendo lançada, então sua versão instalada não está sendo escolhida.

  • O sistema de compilação do Pocketsphynx tem um sinalizador que você precisa especificar para ativar o suporte ALSA explicitamente, e você não definiu esse sinalizador? Tente ./configure --help para ver se você precisa especificar --enable-alsa ou algo assim.

  • Se você ainda não conseguir o suporte do ALSA, tente configurar o sistema para suporte ao OSS Proxy. Você pode começar com as instruções "Como testar" em aqui , mas pule as etapas de 3 a 6. Além disso, você precisará Compile separadamente osspd da origem. A nova casa do osspd está em SourceForge . A finalidade de osspd é emular um dispositivo OSS real no espaço do usuário usando o módulo do kernel Dispositivo de caractere no espaço do usuário (CUSE) e encaminhar o áudio através do kernel para o PulseAudio. É mais compatível com programas porque certas coisas como E / S sem bloqueio e MMAP podem ser emulados com osspd que não podem ser emulados com um hack de pré-carregamento da libc como padsp ou aoss .

por 23.10.2012 / 23:07
1

Eu descobri que a maneira mais fácil de fazer emulação de oss para um programa específico no Ubuntu é instalar alsa-oss , que fornece um comando aoss . Em seguida, execute aoss program para fornecer magicamente a emulação de ossem do programa .

(A outra maneira é instalar os drivers oss4, mas então você tem que usá-los em vez de alsa, eu não acho que haja uma boa maneira de coexistir oss4 e alsa?)

    
por 03.06.2013 / 23:34