IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

OpenAL Discussion :

OpenAl Vitesse de lecture sous linux


Sujet :

OpenAL

  1. #1
    yan
    yan est déconnecté
    Rédacteur
    Avatar de yan
    Homme Profil pro
    Ingénieur expert
    Inscrit en
    Mars 2004
    Messages
    10 033
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur expert
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2004
    Messages : 10 033
    Points : 13 968
    Points
    13 968
    Par défaut OpenAl Vitesse de lecture sous linux
    Bonjour.
    Y as t'il un bug sur la vitesse de lecture des samples sous linux?
    Par exemple , un buffer à 44000 samples par second, sera t'il bien lue à cette vitesse ou sera juste approximé?


    merci

  2. #2
    Rédacteur
    Avatar de Laurent Gomila
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    10 651
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Points : 15 920
    Points
    15 920
    Par défaut
    Aucune raison pour que ce ne soit pas le cas. Pourquoi poses-tu cette question ?

    A part ça, ce n'est pas une vitesse de lecture mais un taux d'échantillonnage. Ca aura un impact sur la qualité, pas sur la vitesse de lecture.

  3. #3
    Rédacteur
    Avatar de bafman
    Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    2 574
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2003
    Messages : 2 574
    Points : 5 323
    Points
    5 323
    Par défaut
    et 44000 sample par seconde, c'est bizarre comme taux d'échantillonnage, généralement c'est plutôt 44100
    * Il est infiniment plus simple de faire rapidement un code qui marche que de faire un code rapide qui marche
    * pour faciliter les recherches, n'oubliez pas de voter pour les réponses pertinentes
    Mes articles

  4. #4
    yan
    yan est déconnecté
    Rédacteur
    Avatar de yan
    Homme Profil pro
    Ingénieur expert
    Inscrit en
    Mars 2004
    Messages
    10 033
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur expert
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2004
    Messages : 10 033
    Points : 13 968
    Points
    13 968
    Par défaut
    Citation Envoyé par Laurent Gomila Voir le message
    Aucune raison pour que ce ne soit pas le cas. Pourquoi poses-tu cette question ?

    A part ça, ce n'est pas une vitesse de lecture mais un taux d'échantillonnage. Ca aura un impact sur la qualité, pas sur la vitesse de lecture.
    Problème entre windows et linux pour des flux en streaming pour du "live".
    Sous windows pas de problème, mais sous linux, il semble lire trop vite les échantillons et comme j'utilise OpenAl en streaming, la lecture semble s'arrête de temps en temps et créé des blanc régulièrement .
    Faut que je trace un peu mieux tout cela.


    Citation Envoyé par bafman
    et 44000 sample par seconde, c'est bizarre comme taux d'échantillonnage, généralement c'est plutôt 44100
    c'était un exemple

  5. #5
    Rédacteur
    Avatar de Laurent Gomila
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    10 651
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Points : 15 920
    Points
    15 920
    Par défaut
    Sous Linux en streaming tu auras un "tic" à chaque remplissage de tampon. Quoique tu fasses. Même si tu utilises OpenAL-Soft.

    J'ai pas encore trouvé la cause ni la solution, ça vient sûrement de plus bas genre ALSA.

  6. #6
    yan
    yan est déconnecté
    Rédacteur
    Avatar de yan
    Homme Profil pro
    Ingénieur expert
    Inscrit en
    Mars 2004
    Messages
    10 033
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur expert
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2004
    Messages : 10 033
    Points : 13 968
    Points
    13 968
    Par défaut
    Citation Envoyé par Laurent Gomila Voir le message
    Sous Linux en streaming tu auras un "tic" à chaque remplissage de tampon. Quoique tu fasses. Même si tu utilises OpenAL-Soft.

    J'ai pas encore trouvé la cause ni la solution, ça vient sûrement de plus bas genre ALSA.
    ha.....

    As tu essayer la version sous svn?
    La j'utilise les rpm du site

  7. #7
    Rédacteur
    Avatar de Laurent Gomila
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    10 651
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Points : 15 920
    Points
    15 920
    Par défaut
    Non. Je n'ai pas essayé non plus d'utiliser un autre device (genre OSS). Par contre j'ai essayé OpenAL-Soft, sans succès (enfin, ça règle tout de même les autres problèmes).

    Si tu trouves quelque chose ça m'intéresse

  8. #8
    yan
    yan est déconnecté
    Rédacteur
    Avatar de yan
    Homme Profil pro
    Ingénieur expert
    Inscrit en
    Mars 2004
    Messages
    10 033
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur expert
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2004
    Messages : 10 033
    Points : 13 968
    Points
    13 968
    Par défaut
    Citation Envoyé par Laurent Gomila Voir le message
    Non. Je n'ai pas essayé non plus d'utiliser un autre device (genre OSS). Par contre j'ai essayé OpenAL-Soft, sans succès (enfin, ça règle tout de même les autres problèmes).

    Si tu trouves quelque chose ça m'intéresse
    Juste pour info.
    Mon problème est un bien un manque de buffer. Ce qui arrête la lecture avant de redémarré... Ca va être dure de trouver le problème

    Par contre pour l'histoire des tic tic tic, sur une machine j'en ai pas et sur une autre oui...
    Y as surement un moyen de faire fonctionner tout cela...

    Es ce qu'avec OpenAL SOft on peut connaitre la position de lecture dans les sample? et es ce que le pitch fonctionne?

  9. #9
    Rédacteur
    Avatar de Laurent Gomila
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    10 651
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Points : 15 920
    Points
    15 920
    Par défaut
    Hormis les tic tic sous Linux, tout fonctionne avec OpenAL Soft.

  10. #10
    Membre régulier
    Profil pro
    Inscrit en
    Février 2006
    Messages
    156
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 156
    Points : 95
    Points
    95
    Par défaut
    Sous Linux en streaming tu auras un "tic" à chaque remplissage de tampon. Quoique tu fasses. Même si tu utilises OpenAL-Soft.

    J'ai pas encore trouvé la cause ni la solution, ça vient sûrement de plus bas genre ALSA.
    Bonjour peut-etre que c'est une histoire de bloque alignement ?

    Il y a un moment j'avais fait un petit test sur windows pour jouer des sons ogg en stream avec openal.

    Je me rappelle que j'avais un son de mauvaise qualité (des tics tics), si le bloque aligmenent n'était pas respecté...

  11. #11
    Rédacteur
    Avatar de Laurent Gomila
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    10 651
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Points : 15 920
    Points
    15 920
    Par défaut
    C'est quoi le "bloque alignement" ?

    Sous Windows il n'y a aucun problème de toute façon

  12. #12
    Membre régulier
    Profil pro
    Inscrit en
    Février 2006
    Messages
    156
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 156
    Points : 95
    Points
    95
    Par défaut
    Ok.
    Cependant je ne souviens plus si c'était du au fait que j'empilais et désempilais les tampons remplis avec des tailles différentes ou si c'était parceque ces tailles ne respectaient pas le block alignement que j'avais un son de mauvaise qualité ou les deux.

    Pour le block alignement:
    http://ccrma.stanford.edu/courses/422/projects/WaveFormat/

    Un peu plus bas il y a un petite définition du block alignement.
    Et voila un bout de code pour calculer le block alignement avec une taille de tampon de 1/4 de seconde trouvé depuis OgreAL.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
     
          	void Sound::calculateFormatInfo()
    	{
    		switch(mChannels)
    		{
    		case 1:
    			if(mBPS == 8)
    			{
    				mFormat = AL_FORMAT_MONO8;
    				// Set BufferSize to 250ms (Frequency divided by 4 (quarter of a second))
    				mBufferSize = mFreq / 4;
    			}
    			else
    			{
    				mFormat = AL_FORMAT_MONO16;
    				// Set BufferSize to 250ms (Frequency * 2 (16bit) divided by 4 (quarter of a second))
    				mBufferSize = mFreq >> 1;
    				// IMPORTANT : The Buffer Size must be an exact multiple of the BlockAlignment ...
    				mBufferSize -= (mBufferSize % 2);
    			}
    			break;
    		case 2:
    			if(mBPS == 8)
    			{
    				mFormat = AL_FORMAT_STEREO16;
    				// Set BufferSize to 250ms (Frequency * 2 (8bit stereo) divided by 4 (quarter of a second))
    				mBufferSize = mFreq >> 1;
    				// IMPORTANT : The Buffer Size must be an exact multiple of the BlockAlignment ...
    				mBufferSize -= (mBufferSize % 2);
    			}
    			else
    			{
    				mFormat = AL_FORMAT_STEREO16;
    				// Set BufferSize to 250ms (Frequency * 4 (16bit stereo) divided by 4 (quarter of a second))
    				mBufferSize = mFreq;
    				// IMPORTANT : The Buffer Size must be an exact multiple of the BlockAlignment ...
    				mBufferSize -= (mBufferSize % 4);
    			}
    			break;
    		case 4:
    			mFormat = alGetEnumValue("AL_FORMAT_QUAD16");
    			// Set BufferSize to 250ms (Frequency * 8 (16bit 4-channel) divided by 4 (quarter of a second))
    			mBufferSize = mFreq * 2;
    			// IMPORTANT : The Buffer Size must be an exact multiple of the BlockAlignment ...
    			mBufferSize -= (mBufferSize % 8);
    			break;
    		case 6:
    			mFormat = alGetEnumValue("AL_FORMAT_51CHN16");
    			// Set BufferSize to 250ms (Frequency * 12 (16bit 6-channel) divided by 4 (quarter of a second))
    			mBufferSize = mFreq * 3;
    			// IMPORTANT : The Buffer Size must be an exact multiple of the BlockAlignment ...
    			mBufferSize -= (mBufferSize % 12);
    			break;
    		case 7:
    			mFormat = alGetEnumValue("AL_FORMAT_61CHN16");
    			// Set BufferSize to 250ms (Frequency * 16 (16bit 7-channel) divided by 4 (quarter of a second))
    			mBufferSize = mFreq * 4;
    			// IMPORTANT : The Buffer Size must be an exact multiple of the BlockAlignment ...
    			mBufferSize -= (mBufferSize % 16);
    			break;
    		case 8:
    			mFormat = alGetEnumValue("AL_FORMAT_71CHN16");
    			// Set BufferSize to 250ms (Frequency * 20 (16bit 8-channel) divided by 4 (quarter of a second))
    			mBufferSize = mFreq * 5;
    			// IMPORTANT : The Buffer Size must be an exact multiple of the BlockAlignment ...
    			mBufferSize -= (mBufferSize % 20);
    			break;
    		default:
    			// Couldn't determine buffer format so log the error and default to mono
    			Ogre::LogManager::getSingleton().logMessage("!!WARNING!! Could not determine buffer format!  Defaulting to MONO");
     
    			mFormat = AL_FORMAT_MONO16;
    			// Set BufferSize to 250ms (Frequency * 2 (16bit) divided by 4 (quarter of a second))
    			mBufferSize = mFreq >> 1;
    			// IMPORTANT : The Buffer Size must be an exact multiple of the BlockAlignment ...
    			mBufferSize -= (mBufferSize % 2);
    			break;
    		}
    	}
    Vla ^^

  13. #13
    Rédacteur
    Avatar de Laurent Gomila
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    10 651
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Points : 15 920
    Points
    15 920
    Par défaut
    Et le fait de respecter l'alignement de bloc a complétement supprimé les "tic" dans ton cas ?

  14. #14
    yan
    yan est déconnecté
    Rédacteur
    Avatar de yan
    Homme Profil pro
    Ingénieur expert
    Inscrit en
    Mars 2004
    Messages
    10 033
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur expert
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2004
    Messages : 10 033
    Points : 13 968
    Points
    13 968
    Par défaut
    Faudra que je teste.

    Sinon j'ai regardé un morceau code de mplayer.
    Il utilise des buffer de 512 et créé une source par haut parleur...
    Es ce que quelqu'un as déjà essayé quelque chose comme ca?

  15. #15
    Membre régulier
    Profil pro
    Inscrit en
    Février 2006
    Messages
    156
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 156
    Points : 95
    Points
    95
    Par défaut
    Hum,
    Honnêtement je m'en souviens plus, respecter l'alignement de bloc c'était pas la seule manipe que j'avais faite pour supprimer le tic tac.
    Rien ne t'empêche d'essayer en espérant que ça t'aide un peu

  16. #16
    Rédacteur
    Avatar de Laurent Gomila
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    10 651
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Points : 15 920
    Points
    15 920
    Par défaut
    Non ça ne change rien, en fait j'ai déjà une taille de buffer alignée.

    respecter l'alignement de bloc c'était pas la seule manipe que j'avais faite pour supprimer le tic tac
    Tu te souviens d'autre chose ?

  17. #17
    yan
    yan est déconnecté
    Rédacteur
    Avatar de yan
    Homme Profil pro
    Ingénieur expert
    Inscrit en
    Mars 2004
    Messages
    10 033
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur expert
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2004
    Messages : 10 033
    Points : 13 968
    Points
    13 968
    Par défaut
    Ici,
    il y as un tips pour utiliser alsa au lieu de oss en le spécifiant dans un fichier opanlrc
    http://ggo.sourceforge.net/manual/ar01s09.html

    Es ce que tu te rappel avoir fait un truc comme ca?

  18. #18
    yan
    yan est déconnecté
    Rédacteur
    Avatar de yan
    Homme Profil pro
    Ingénieur expert
    Inscrit en
    Mars 2004
    Messages
    10 033
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur expert
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2004
    Messages : 10 033
    Points : 13 968
    Points
    13 968
    Par défaut
    Bonjour.
    J'ai essayé OpenAl Soft.
    Marche nikel
    sauf qu'il y as un bug
    Quand je joue en streaming une vidéo, j'ai la musique mais pas les voix !!!!
    En touchant un peut au volume du speaker droit indépendamment de l'autre, les voix reviennes ou redisparaisse...
    Quelqu'un aurait une idée?

  19. #19
    yan
    yan est déconnecté
    Rédacteur
    Avatar de yan
    Homme Profil pro
    Ingénieur expert
    Inscrit en
    Mars 2004
    Messages
    10 033
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur expert
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2004
    Messages : 10 033
    Points : 13 968
    Points
    13 968
    Par défaut
    Un précision :
    j'ai compilé avec cmake la lib puis fait une libstatic avec les .o "à la main".
    Es ce que ca peut jouer?

  20. #20
    yan
    yan est déconnecté
    Rédacteur
    Avatar de yan
    Homme Profil pro
    Ingénieur expert
    Inscrit en
    Mars 2004
    Messages
    10 033
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur expert
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2004
    Messages : 10 033
    Points : 13 968
    Points
    13 968
    Par défaut
    J'ai configuré alsoft pour qu'il soit en mono16. Ca marche plustôt pas mal, mais c'est du MONO Personne aurai une idée de mon problème de voix qui disparait? peut être alsa à reconfigurer??

    Pour configuré j'utilise la fichier ~/.alsoftrc :
    [general]
    format = AL_FORMAT_MONO16

Discussions similaires

  1. Utilisation d'un ipod sous linux : fichiers en lecture seule
    Par Invité dans le forum Applications et environnements graphiques
    Réponses: 8
    Dernier message: 30/04/2009, 15h05
  2. [Excel] Lecture d'un fichier excel sous linux par php
    Par marcandre dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 13/07/2008, 17h45
  3. probleme de lecture de fichier sous Linux
    Par hbellahc dans le forum Entrée/Sortie
    Réponses: 2
    Dernier message: 04/07/2008, 16h08
  4. Lecture sur port série sous Linux
    Par DangerousBowlOfJelly dans le forum C
    Réponses: 6
    Dernier message: 28/03/2008, 18h00
  5. [FSOUND] Problème de lecture (sous Linux)
    Par theprogrammeur dans le forum C++
    Réponses: 0
    Dernier message: 01/12/2007, 18h52

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo