vienin
Messages postés2Date d'inscriptiondimanche 12 septembre 2004StatutMembreDernière intervention13 juillet 2005
-
12 juil. 2005 à 14:29
vienin
Messages postés2Date d'inscriptiondimanche 12 septembre 2004StatutMembreDernière intervention13 juillet 2005
-
13 juil. 2005 à 11:00
Salut a tous,
Voila je suis en train de concevoir une boite a rytmes en java et je
commence donc par le sequenceur. Pour l'instant je veut simplement
jouer un son en repetition à un interval donné, j'ai essayer plusieures
techniques mais aucune n'a l'air vraimment fiable, les sons ne sont pas
en rytmes.
J'ai tout d'abord essayer avec un Thread et une boucle infinie dnas la
quelle j'ai placé un sleep() apres la lecture du son, puis j'ai
utiliser le Timer de swing et celui de Util mais tjrs rien de reelement
fiable alors que c'est une version qui ne joue qu'un seul son.
J'ai penssé optimisé la lecture du son en lancant à chaque interval un
nouveau Thread qui se charge de jouer le son de son coté, et cela va
deja mieu.
En tout cas j'ai pu voir quelques boite a rytmes faite en java ou les
rytmes etait fiables ( mais ou les developpeurs n'ont pas consentit à
ce qu'on comprenne comment il ont fait... ) et je me demandait donc si quelqun connaissait une bonne technique.
Dailleur si quelqun connait la maniere la plus optimale pour jouer un son, cela mintersse.
schizogames
Messages postés18Date d'inscriptiondimanche 9 novembre 2003StatutMembreDernière intervention12 juillet 2005 12 juil. 2005 à 21:58
salut, je m'intéresse aussi à la MAO et je projette de réaliser un séquenseur MIDI en java (plus particulièrement sous Symbian OS série 60....comme la n-gage ou le 6600 de Nokia).......bref. Quoiqu'il en soit tu dois déjà disposer d'une documentation très détaillée sur les bibliothèques de lecture audio (y'a-t-il des temps de latence à la lecture ? est-ce que ça dépend du hardware (carte son, etc...) ? Est-il possible de synchroniser plusieurs lecteur d'échantillons (=est-ce qu'on a un moyen de synchroniser la lecture de plusieurs instances de Player ?).
Sans ces renseignement ce n'est pas la peine de commencer. Pour ce qui est de l'audio, je serais étonné que les API disponibles permettent ces opération (sauf peut-être JMF ? j'ai pas trop regarder, mais je sais qu'y a de nombreux exemples et des tutoriaux....si tu trouve quelquechose ce sera là).
Enfin, les fonctionnalités audio font appels à des drivers et des routines des systèmes d'exploitation....tout ça pour dire qu'avec JAVA on ne voit rien et on est dans le flou (comment ça se passe derrière ?). Avec des langage come le C/C++, on est plus proche de la machine et des mécanismes "réels". On peut par exemple se dire "je vais utiliser le driver directX ou bien ASIO qui ont teles caractéritiques)
En gros, ce genre de logiciel c'est très complexe car ça demande des connaissances très générales en informatique (et en traitement des signaux si tu veux faire un petit mixeur avec de l'égalisation...).
En tout cas ne perd pas de temps et va directement consulter l'API JMF....c'est la seule issue pour faire de l'audio ou du multimédia complexe en java (de manière simple)
vienin
Messages postés2Date d'inscriptiondimanche 12 septembre 2004StatutMembreDernière intervention13 juillet 2005 13 juil. 2005 à 11:00
Ok merci, la JMF a l'air de demonter.
Pour ce qui est de sequenceur j'ai trouver la nouvelle classe Timer de
javax.management qui fonctionne en mode producteur / consomateur et sa
a l'air pa mal du tout mais je ne comprend pas bien comment l'utiliser
sachant que je doit passer un Objet userData qui sera notifier en
repetitition pour quil execute une action (en l'ocurence jouer un son)
mais je ne trouve pas quelle methode il doit implementer pour executer
l'action.