EIP 2012 Projet Livepad. Documentation technique 1.5



Documents pareils
remotebox Application pour la commande à distance du XDJ-R1 Mode d emploi

LES TABLETTES : GÉNÉRALITÉS

Dossier. Développer en Java sur téléphone mobile. Benjamin Damécourt UFR SITEC Master 2 EESC 11 janvier 2012

Guide d installation

PREMIERS PAS AVEC DJ CONTROL AIR ET DJUCED. Plus d'informations (forum, tutoriels, vidéos,...) sur

BUREAU VIRTUEL. Utilisation de l application sur ipad. Guide utilisateur. Sciences Po Utilisation du bureau virtuel sur ipad 1 / 6

Création d un diaporama photo sur fond musical avec iphoto et itunes dans un contexte scolaire

domovea Portier tebis

ANICOTTE Guillaume GUFFROY Matthieu LIMA Juliette SALLOUH Chamsseddine CAHIER DES CHARGES SI 28

Mini_guide_Isis_v6.doc le 10/02/2005 Page 1/15

Projet tablettes numériques Document de référence

Didier Pietquin. Timbre et fréquence : fondamentale et harmoniques

Mini_guide_Isis.pdf le 23/09/2001 Page 1/14

LECTEUR DE COMPACT DISC CDJ-400

Point sur les solutions de développement d apps pour les périphériques mobiles

Réinventer la sensation de lire

[NF28 - RAPPORT FINAL] Rapport du projet LeapBand

Table des matières. Ce manuel a été traduit par Cantalien, membre du forum VirtualDJ.

1 Démarrer L écran Isis La boite à outils Mode principal Mode gadget Mode graphique...

LES DIFFÉRENTS FORMATS AUDIO NUMÉRIQUES

DJM-707 Table de mixage Hip Hop DJM-909 Table de Mixage avec Effets

Chapitre 18 : Transmettre et stocker de l information

Optimiser pour les appareils mobiles

Créer une application de livre interactif pour tablette avec Indesign CS6 et Adobe Digital Publishing Suite

DA MOTA Anthony - Comparaison de technologies : PhoneGap VS Cordova

Installer Office sur Ordinateur / Tablette / Smartphone

Comment obtenir des ebooks sur le Reader

Ceci est un Chromebook, ton ordinateur!

Avant-propos Certificats et provisioning profiles

Edutab. gestion centralisée de tablettes Android

Rapport projet MMI. Luis Domingues, I3 Naomi Favre, I3 Tiago De Deus, I3. Luis Domingues, Tiago De Deus, Naomi Favre SP Interfaces Multimodales

Tune Sweeper Manuel de l'utilisateur

Enseignement, Handicap et tablette tactile

SANKORÉ. Le manuel qui manquait. Traite de la version du logiciel Sankoré

TABLE DES MATIÈRES 1. DÉMARRER ISIS 2 2. SAISIE D UN SCHÉMA 3 & ' " ( ) '*+ ", ##) # " -. /0 " 1 2 " 3. SIMULATION 7 " - 4.

3D Lab. NANO TRANSPORT & NANO PLAYER. Lecteurs réseaux AUDIOPHILE - PROFESSIONNEL. PCM & DSD natif. UPnP DNLA - Bit Perfect media device

pcon.planner 6 Préparer et présenter une implantation en toute simplicité

UTILISATION DU LIVRE NUMÉRIQUE

Pierre Couprie. «Analyser la musique électroacoustique avec le logiciel ianalyse» EMS08

Emmanuel CROMBEZ 30 mai 2015

GUIDE de prise en main. let s play

White Paper - Livre Blanc

2 Grad Info Soir Langage C++ Juin Projet BANQUE

Manipulation 4 : Application de «Change».

Microsoft Application Center Test

AwoX StriimLIGHT WiFi Color

INTRODUCTION A L ELECTRONIQUE NUMERIQUE ECHANTILLONNAGE ET QUANTIFICATION I. ARCHITECTURE DE L ELECRONIQUE NUMERIQUE

LE MICRO ORDINATEUR. Introduction Architecture Les supports amovibles Les composants Le système d exploitation Les portables

Le livre numérique. Découverte des nouveaux supports de lecture. Image Elliot Lepers - CC-BY-SA-NC

DJ NETWORK prépare au titre officiel de «DJ Producteur Musiques actuelles»

Mode d. Version 1.7.4

Page : N 1. Guide utilisateur Ma Banque

Présentation du Framework BootstrapTwitter

LES TABLETTES TACTILES

Chaine de transmission

Régler les paramètres de mesure en choisissant un intervalle de mesure 10µs et 200 mesures.

Chap17 - CORRECTİON DES EXERCİCES

Les pages suivantes présenteront : I. Le téléchargement et l installation du navigateur. II. L utilisation de Pep s à l aide de ce navigateur.

Iphone vs. Android. Mardi 17 Novembre 2009 Paris, la Défense. Xavier PARADON, Directeur Technique Valtech Training

OMGL 6 Cahier des charges

Outils permettant la diffusion de l information. Un point sur le droit numérique

Table des matières. Module tablette

TS 35 Numériser. Activité introductive - Exercice et démarche expérimentale en fin d activité Notions et contenus du programme de Terminale S

Auteur LARDOUX Guillaume Contact Année 2014 DEVELOPPEMENT MOBILE AVEC CORDOVA

Introduction à Eclipse

Compte rendu sur la communication et la téléphonie

Synchroniser ses photos

MVi USER GUIDE DIGITAL AUDIO INTERFACE

Mise en route de votre collier GPS Pet Tracker

TRACcess ekey. Référence rapide

Manuel de l'utilisateur d'intego VirusBarrier Express et VirusBarrier Plus

SOMMAIRE. 3 Matériel et configuration requis. 4 Installation initiale du matériel EZCast Pro. 7 Fonctionnalités de l'application

Sage Customer View (ios) Guide d installation et d utilisation

Etudier l influence de différents paramètres sur un phénomène physique Communiquer et argumenter en utilisant un vocabulaire scientifique adapté

UE 503 L3 MIAGE. Initiation Réseau et Programmation Web La couche physique. A. Belaïd

Comment télécharger et

WACOM MULTI-TOUCH : UTILISATION TACTILE DES PRODUITS WACOM

GUIDE D UTILISATION. Informations importantes Toshiba FOLIO 100 Conseils pour une première utilisation, configuration et principaux usages

Développez vos applications pour. iphone, ipod Touch, ipad

ibridge la clé USB pour appareils ios.

Transmetteur Wifi Heden NOTICE D UTILISATION

Cyberclasse L'interface web pas à pas

Qlik Sense Desktop. Qlik Sense Copyright QlikTech International AB. Tous droits réservés.

Modifier les paramètres

Installation 4D. Configuration requise Installation et activation

geek Soyez le de l été! PHP :HIKONB=^UZ^Z]:?k@b@g@p@a"; Découvrez Chrome, Firefox, IE, Safari Enquête écoles Diplômes : quel prix

Etude sur les usages de la lecture de bande dessinée Numérique / izneo - Labo BnF

Guide d utilisation de Seagate Central

Utilisation d une tablette numérique 01 Initiation à l utilisation de l ipad

GeniusTim_Labo Version 1.0

Vous pourrez ainsi : Accéder rapidement à la boutique Kindle d'amazon pour ajouter des livres (gratuits ou payants).

Formulaire d inscription

Tester Windows 8 sans l'installer avec Virtualbox

Les tablettes. Présentation tablettes Descriptif Fournisseurs Caractéristiques Comparatifs Conseils Perspectives Démonstration

À Libre Ouvert : «Faites de la Musique» Conférence du 9 juin 2012 à la Médiathèque Jacques-Ellul de Pessac. par Philippe Bousquet <darken33@free.

Utiliser Freemind à l'école

Transcription:

EIP 2012 Projet Livepad 1.5 Marc Mathieu Benjamin Netter David Ngo Pierre Pasteau Denis Togbe 12-01-2012

Informations sur le projet Groupe Nom du projet Type de document Marc Mathieu Benjamin Netter David Ngo Pierre Pasteau DenisTogbe Livepad Version 1.5 Référence Statut du document LIVEPAD-TD-1.5 À valider Rédaction et modification Historique des révisions du document Version Date Nom Description 1.0 10/03/2011 Groupe Livepad Initialisation du document 1.1 05/05/2011 Groupe Livepad Refonte de la mise en page 1.2 20/05/2011 Groupe Livepad Correction orthographe 1.3 22/07/2011 Denis Togbe Mise à jour des architectures 1.4 16/12/2011 Denis Togbe Ajout de schéma 1.5 12/01/2012 Denis Togbe Finalisation du document EIP 2012 2

Résumé L'application Livepad pour ipad permet de jouer et de mixer de la musique à l'aide des instruments suivants : Platines et table de mixage. Boite à rythmes. Synthétiseur. Afin de contribuer au projet il est nécessaire de possèder les outils suivant : Un ordinateur Apple équipé de Mac OS X Lion 10.7 ou supérieur. Une tablette Apple ipad. Xcode 4. ios SDK 5. Ainsi que des connaissances en langage Objective-C, bibliothèque OpenGL, UIKit et Cocoa Touch. L'application s'architecture autour de la structure MVC (Modèle Vue Contrôleur). À chaque vue est associé un contrôleur (selon la nomenclature «nom de la vue» + «Controller») afin de récupérer les événements (interaction avec l'écran) et effectuer différentes actions en fonction du type d'événement. Des éléments graphiques personnalisés ont du être créés à l'aide d'uikit et OpenGL. Le traitement du son se fait avec la librairie FMOD. EIP 2012 3

Table des matières 1.Le projet... 5 2.Environnement de travail... 6 2.1.Matériel... 6 2.2.Logiciels... 6 3.Technologies utilisées... 7 3.1.Langages... 7 3.2.Librairies... 7 4.Structure du projet...8 4.1.Architecture MVC...8 4.2.Structure des différents composants... 9 4.3.Éléments graphiques basiques... 10 4.3.1.LPKnob...10 4.3.2.LPJog... 10 4.3.3.LPCrossfader...10 4.3.4.LPSlider... 11 4.4.Éléments graphiques évolués...11 4.4.1.Visualisation du spectre sonore...11 4.5.Traitement audio... 12 4.5.1.Sélection d'une chanson... 12 4.5.2.Lecture d'une chanson... 12 4.5.3.Représentation du son... 12 5.Jeux de tests... 14 5.1.Tests fonctionnel... 14 5.2.Test de robustesse...14 6.Glossaire... 15 EIP 2012 4

1. Le projet L'application Livepad pour ipad permet de jouer et de mixer de la musique à la manière des plus grands DJs. Plusieurs instruments sont proposés : Les platines, avec lesquels il est possible de lancer de la musique depuis sa propre librairie musicale, et la table de mixage, qui permet d'appliquer différents effets sonores sur les musiques en cours de lecture. La boite à rythme, permettant de jouer des samples en direct à la manière des plus grands beatmakers. Le synthétiseur, véritable piano virtuel. Il est possible en plus de régler différentes options propre à l'application. EIP 2012 5

2. Environnement de travail 2.1. Matériel Le matériel nécessaire au développement de l'application est au minimum : Un ordinateur Apple équipé de Mac OS X Lion 10.7 ou supérieur. Une tablette Apple ipad. 2.2. Logiciels Afin de participer au développement de la version ipad de l'application Livepad il est nécessaire de s'équiper d'une licence de développement Apple (permettant de compiler et exécuter le projet sur la tablette) et du SDK ios. Toutes les étapes permettant de créer un compte et récupérer le SDK sont décrites sur le ios Dev Center. Une fois le SDK récupéré il est nécessaire de l'installer. Celui-ci devrait mettre à disposition du développeur l'ide Xcode accompagné d'interface Builder pour la réalisation d'interface. À partir de là il ne reste plus qu'à lancer le projet depuis le finder. Les versions utilisées pour le développement ont été : Xcode 4 ios SDK 5 EIP 2012 6

3. Technologies utilisées 3.1. Langages Les langages utilisés sont : Objective-C Différentes ressources sont disponibles sur internet pour se mettre à niveau sur ces langages. 3.2. Librairies Les librairies utilisées spécifiquement au développement de l'application sur ipad sont celles fournies par Apple, à savoir UIKit, Cocoa Touch et tous les outils contenus dans le SDK ios. Afin de traiter certains aspects graphiques nous utilisons la librairie OpenGL. Parmis les différentes utilisations nous pouvons citer entre autre le rendu d'animations et d'éléments graphiques trop complexes pour être développé avec UIKit. Afin de traiter le son digitalement nous utilisons la librairie FMOD. EIP 2012 7

4. Structure du projet 4.1. Architecture MVC L'application, comme la plupart des applications ios, utilise le modèle MVC (Modèle Vue Contrôleur) pour structurer l'application. Les vues sont ici représentées par les différents écrans avec lesquels l'utilisateur peut interagir : Une vue globale globale va gérer la transition entre les différents écrans. C'est la LivepadView. Une vue est dédiée à chaque instrument : TurntablesView (platines et table de mixage), DrumMachineView (boite à rythme) et SynthesizerView (synthétiseur). Une vue est utilisée pour afficher les réglages de l'application : SettingsView. À chaque vue est associé un contrôleur (selon la nomenclature «nom de la vue» + «Controller») afin de récupérer les événements (interaction avec l'écran) et effectuer différentes actions en fonction du type d'événement. Par exemple lorsque l'utilisateur va appuyer sur le bouton «play» de la platine de droite, la vue TurntablesView va notifier au contrôleur TurntablesViewController que l'utilisateur à appuyer sur le bouton, et le contrôleur va donc agir en conséquence (ici jouer la chanson). Les vues et les éléments qu'elles contiennent sont dessinées à l'aide d'interface Builder, à quelques exception près, afin de faciliter le travail en cas de modification. EIP 2012 8

4.2. Structure des différents composants Le projet s'architecture autour de 4 composants clés. Les contrôleurs TurntablesController, DumMachineController et SynthesizerController récupèrent les évènements utilisateurs, les convertissent et font appel aux différentes méthodes. Un composant SoundSystem s'occupe de faciliter la manipulation du son. Il est en lien direct avec les contrôleurs TurntablesController, DumMachineController et SynthesizerController. Un contrôleur PageSlider permet d'altèrner entre les 3 vues. Un contrôleur principal "MainController" gère la cohésion entre tous ces contrôleur. EIP 2012 9

4.3. Éléments graphiques basiques Certains éléments basiques non implémentés par défaut ont dû être créé pour l'occasion. Ils se basent sur les éléments et classes de bases fournis par le framework UIKit et étendent les fonctionnalités afin de convenir à nos besoin. 4.3.1. LPKnob LPKnob est une classe désignant les boutons rotatifs. En faisant tourner le bouton sur lui même on influe sur une valeur. Cette valeur peut donc être récupérée et utilisée pour différents traitements : changement des aigus, médiums et graves, augmentation du pitch etc. 4.3.2. LPJog LPJog est utilisé pour simuler une platine. Son comportement est similaire à celui de LPKnob sauf qu'il n'est pas limité par une quelconque valeur. On peut donc le faire tourner à 360 indéfiniment. Il est utilisé principalement pour avancer et reculer dans la chanson. 4.3.3. LPCrossfader EIP 2012 10

LPCrossfader est utilisé afin de simuler un crossfader. Cet élément agit comme un slider horizontal. En le bougeant de droite à gauche on réduit ou augmente l'importance du volume de la chanson concernée. 4.3.4. LPSlider LPSlider est utilisé afin de créer des sliders verticaux plus jolis que ceux proposés de base par UIKit. L'utilisateur peut interagir avec en faisant glisser le petit élément de haut en bas. Ainsi il influence sur une valeur qui peut être utilisée pour diverses raison (tempo, volume etc.). 4.4. Éléments graphiques évolués Certains éléments graphiques nécessitent un gros travail de réalisation. Ces éléments sont conçus à l'aide la bibliothèque OpenGL. 4.4.1. Visualisation du spectre sonore Une zone située au dessus de chaque jog représente le spectre sonore de la EIP 2012 11

chanson en cours de lecture. Celui-ci interagit avec les classes en charge du traitement audio. 4.5. Traitement audio 4.5.1. Sélection d'une chanson L'utilisateur peut séléctionner une chanson présente dans la librairie ipod. Apple ne permet pas d'intéragir (appliquer des effets etc.) avec la chanson obtenu autrement que pour la jouer. Afin de contourner cette limite il faut importer la chanson au sein de la sandbox à partir de laquelle l'application est lancée. Ceci se fait à l'aide de la classe TSLibraryImport. Une fois le fichier importé on peut donc l'ouvrir à l'aide d'openal et intéragir avec. 4.5.2. Lecture d'une chanson Afin d'optimiser la lecture d'une chanson nous utilisons un système de streaming. La chanson n'est en effet pas chargée entièrement au moment de sa séléction. La chanson est plutôt lue morceau par morceau. Ainsi pendant que l'application charge le reste de la chanson, les morceaux de la chansons déjà chargés sont eux mis bout à bout et joués. 4.5.3. Représentation du son Au sein de l'application, le son est décomposé en PCM (Pulse Code Modulation). Pulse Code Modulation est une technique qui consiste à représenter des sons au format analogue sous format digital. Échantillonnage et quantification d'un signal analogique (en rouge) par un PCM 4-bit (source : Wikipédia) «Il s'agit d'une représentation numérique d'un signal analogique où la hauteur du signal est prélevée régulièrement à intervalles uniformes de durée T. Chaque échantillon est quantifié sur une série de symboles dans un code numérique, qui est habituellement un code binaire.» (source : Wikipédia) Les hertz représentent la densité de l échantillonnage. Pour fournir une EIP 2012 12

bonne qualité de son, une fréquence de 44,1khz est utilisée sur tous les sons. L'utilisation de cette représentation numérique du son nous permet de travailler directement dessus et d appliquer tous les effets souhaités dans la mesure où le processeur de la tablette graphique n est pas surchargé. EIP 2012 13

5. Jeux de tests 5.1. Tests fonctionnel Les fonctionnalités disponibles au sein de l'application doivent être conformes à celles décrites au sein du cahier des charges. 5.2. Test de robustesse Lors des tests de l'application d'un point de vue utilisateur il faut prendre en compte certains points sensibles : Stabilité : l'application ne doit en aucun cas quitter inopinément. Fluidité : on ne doit pas constater de latence lors de l'utilisation, notamment lors du chargement d'une chanson, de sa lecture EIP 2012 14

6. Glossaire DJ Disc Jokey. Personne en charge de jouer harmonieusement plusieurs chansons afin d'ambiancer des soirées. EIP Epitech Innovative Project. Projets de fin d'étude réalisés par les étudiants de l'école Epitech en 2 ans à partir de leur 3 ème année. Epitech European Institute of Technology. École d'informatique en 5 ans. ipad Tablette tactile produite par le fabriquant Apple. EIP 2012 15