Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 07/10/2010, à 17:58

amwus

ALSA : PCM Interleaved vs Not interleaved

Salut à tous !

Je suis en train de découvrir (ou plutôt, de décortiquer vu l'absence de documentation complète !) la librairie ALSA.

Le but est d'obtenir le signal brut d'un son (les échantillons bruts) afin de pouvoir faire un traitement sur ce signal (typiquement, une DFT).

Mais j'ai un problème. J'ai du mal à comprendre la différence en interleaved et pas. Dans le premier cas, il y a à chaque fois un échantillon pour le canal de droite suivi d'un échantillon pour le canal de gauche. Mais qu'en est il du second mode ?

De plus, je m'interroge sur l'intérêt de l'interleaved. Par exemple, si je veux enregistrer quelqu'un qui chante, ai-je besoin de deux canaux ? Un canal unique (mono) ne suffirait-il pas ? J'avoue ne pas très bien comprendre....

Si quelqu'un pouvais éclairer ma lanterne...

Merci d'avance ;-)


Black holes are where god divided by zero...

Hors ligne

#2 Le 07/10/2010, à 20:22

chopinhauer

Re : ALSA : PCM Interleaved vs Not interleaved

amwus a écrit :

De plus, je m'interroge sur l'intérêt de l'interleaved. Par exemple, si je veux enregistrer quelqu'un qui chante, ai-je besoin de deux canaux ? Un canal unique (mono) ne suffirait-il pas ? J'avoue ne pas très bien comprendre....

Si ton micro est mono il n'y aura aucune différence entre interleaved et non interleaved, sinon les fonctions readi et writei mettent dans le buffer alternativement un échantillon gauche et droit. Tandis que readn et writen mettent les échantillons gauche dans un buffer et droit dans un autre.

PS: Elle est pas si mal la documentation. Sinon tu peux utiliser une librairie qui marche avec plusieurs systèmes son comme libao.


Pensez à donner un bon titre à vos sujets : cela permettra d'aider d'autres utilisateurs dans votre même situation. Ce n'est pas qu'en donnant des solutions qu'on aide, mais aussi en posant des bonnes questions et… facilement trouvables.

Hors ligne

#3 Le 08/10/2010, à 21:32

amwus

Re : ALSA : PCM Interleaved vs Not interleaved

D'accord. Donc dans mon cas, s'il s'agit d'un simple canal mono, ça ne changera rien. Mais alors, si je laisse en interleaved, il va me mettre la même chose dans les samples de gauche et de droite ?

Auquel cas j'aurais 2 valeurs identiques qui se suivent ?


Black holes are where god divided by zero...

Hors ligne

#4 Le 08/10/2010, à 22:07

chopinhauer

Re : ALSA : PCM Interleaved vs Not interleaved

amwus a écrit :

Auquel cas j'aurais 2 valeurs identiques qui se suivent ?

Si t'as configuré deux canaux, c'est probable. Si t'en as configuré un seul t'aura juste une valeur. Tout dépend de ce que tu donne avec:

snd_pcm_hw_params_set_channels()


Pensez à donner un bon titre à vos sujets : cela permettra d'aider d'autres utilisateurs dans votre même situation. Ce n'est pas qu'en donnant des solutions qu'on aide, mais aussi en posant des bonnes questions et… facilement trouvables.

Hors ligne

#5 Le 08/10/2010, à 23:30

amwus

Re : ALSA : PCM Interleaved vs Not interleaved

D'accord. Donc si je met un seul canal, je n'aurai qu'une seule série de valeurs. C'est le comportement attendu, je me posais justement la question.

Donc que l'on soit en interleaved ou pas, si on définit un seul canal, il n'y aura qu'une seule valeur par frame.

Merci !


Black holes are where god divided by zero...

Hors ligne