Att hantera digitala ljudbibliotek. Christoffer Lindmark
|
|
- Ludvig Nyström
- för 9 år sedan
- Visningar:
Transkript
1 Examensarbete, 20 poäng Att hantera digitala ljudbibliotek En studie i samplade trummor c02lcr@cs.umu.se
2
3 Sammanfattning Toontrack Music AB är ett företag som sysslar med att sampla trumljud. Dessa samplingar skall sen datorer kunna spela upp för att simulera ett trumset. Mjukvara behövs som hjälper dem i hanteringen av de ljudfiler de spelat in. Rapporten behandlar hur själva samplingen av ett trumset går till men fokuserar även på hur ljud behandlas i en dator och vad en programmerare kan använda för verktyg för att spela upp digitalt ljud i sitt program. Ljudbehandling i programmeringsspråket Java ägnas ett helt kapitel åt eftersom det var detta som användes i utvecklingen av programmet. Dessutom beskrivs allt från designfasen till slutliga kommentarer om den mer färdiga produkten.
4
5 Abstract Toontrack Music AB is a company that is in the market of sampling drum sounds. Computers will later be able to replay these samples to simulate a drum kit. Software was needed to help in managing of all the sound files that they record. The report will tell about how sampling of a drum kit is done but it will also focus on how sound is managed in a computer and what tools a sound programmer can use to enable digital audio in an application. Programming audio in Java is left a chapter of its own since it was the method used in the development of the program. Furthermore the report covers everything from the design phase to final comments about the more advanced product.
6
7 Innehållsförteckning 1 Inledning Toontrack Music AB Bakgrund och problemmotivering Övergripande syfte Avgränsningar 3 2 Hur ett trumset digitaliseras 4 3 Ljud och datorer Ljud i datorer Programmering och ljud C/C Andra programmeringsspråk 11 4 Ljud och Java Uppbyggd som en ljudmixer Uppspelning av ljud Service Provider Interface Egna kommentarer 15 5 Systemdesign Grafikdesign Tillvägagångssätt 17 6 Analys av programmet Projektmenyn Output Input Positions, Instruments, Tools Monitor Grafmeny Graf över ljuden Kontrollpanel för graf Exportering Minneshantering 24 7 Avslutande kommentarer 25 Källförteckning 26 Bilaga A: Designförslag från Toontrack 29
8
9 1 Inledning 1.1 Toontrack Music AB Toontrack Music AB är ett av världens ledande företag inom samplade mjukvarutrummor. Deras affärsidé är att spela in trumljud från riktiga trummor och sen via en så kallad sampler, eller mjukvarusynth, spela upp realistiska trummor. Deras två kanske mest kända produkter är den lite äldre Drumkit From Hell Superior och deras senaste EZDrummer. I dessa produkter ingår en sampler som kan kopplas in i i stort sett alla moderna musikprogram och ett ljudbibliotek som samplern använder sig av. Användaren kan spela upp trummorna genom att skicka signaler till programmet, antingen från ett instrument, t.ex. ett digitalt trumset, eller från en data-fil. Mycket av musiken som hörs på radio idag innehåller inte riktiga trummor utan använder sig av just samplade sådana. En del av Toontracks motto är att få samplade trummor att låta så likt riktiga trummor som möjligt. En del i att åstadkomma detta är att de spelar in en stor mängd av trumljud som de sedan digitaliserar. När trummorna skall spelas in kan det bli upp emot ljudfiler som sedan behövs ordnas och döpas så att rätt ljud kan spelas upp vid rätt tillfälle. Tidigare har detta jobb gjorts manuellt vilket har varit väldigt tidskrävande. Toontrack såg därför möjligheten med att låta ett program göra mycket av jobbet automatiskt samt snabba upp processen för de delar som behövde göras manuellt. De behövde ett verktyg som kunde visualisera och ge en överblick av alla ljudfiler, samt döpa och ordna dem precis efter användarens önskemål. Programmet skulle även kunna mixa ihop för uppspelning de ljud som senare kommer att spelas upp samtidigt men även ge möjligheten att lyssna på ljuden separat. Lättare ljudredigering skulle också vara möjligt. Utöver detta behövde programmet kunna exportera alla ljudfiler till en bestämd katalogstruktur som samplern sedan kunde använda sig av. 1.2 Bakgrund och problemmotivering Toontracks problem var att tidigare hade allt arbete med att ordna ljudfilerna gjorts manuellt. Detta ledde (förmodligen) till många mänskliga misstag. Många av misstagen berodde troligen på trötthet och slarv, men det fanns säkert också ett behov att bättre visualisering 1
10 av vad som egentligen utförts. Att sitta och lyssna på tusentals trumslag varje dag och försöka ordna dem efter bästa förmåga förstår man är inte helt lätt. Ett förslag på till hur detta problem kunde lösas utarbetades av Erik Phersson på Toontrack. Förslaget var ett grafiskt verktyg där alla sammanhängande ljudfiler (av samma slags trumslag och trumma) synliggjordes som punkter i en graf. Med hjälp av det verktyget skulle det vara möjligt att ordna och redigera ljudfilerna efter behag samt få en mycket bättre överblick på hur just det slaget lät i förhållande till andra slag av samma typ, eller rent av slag på andra trummor. Designförslaget återfinns i bilaga 1. Förslaget var dock inte fullständigt och många funktioner har lagts till och ändrats under arbetets gång, den viktigaste kanske möjligheten att exportera sitt arbete. 1.3 Övergripande syfte Programmets övergripande syfte är att underlätta redigering och namngivning av de ljudfiler som skall användas av samplern. Mycket av jobbet kommer att ske automatiskt och även utan allt för stor hjälp av användaren ska programmet kunna ge ett något så när bra förslag på ordningen av ljudfilerna. Programmet ska vara skrivet i Java för att underlätta förflyttning mellan olika datorer och plattformar. Det programmet lite mer specifikt ska klara av att utföra är: 1. Lägga till olika parametrar för var och hur programmet skall leta efter ljud. 2. Lägga till olika parametrar för var och hur programmet skall exportera ljud. 3. Kunna spara ovanstående parametrar. 4. Tillhandahålla en mixer som möjliggör lyssning på valfritt antal ljud samtidigt via så kallade "solo" och "mute"-knappar 5. Visualisera sammanhängande ljud i en graf där y-axeln representerar hårdheten på slaget. 6. Sortera ljuden automatiskt, och erbjuda möjligheten att manuellt ändra ordningen om användaren så önskar. 7. Ta bort oönskade ljud. 2
11 8. Ge användaren möjligheten att gruppvis ändra volymen för de ljud som kommer att spelas upp samtidigt. 9. Kunna placera likartade ljud i så kallade lager, som döps efter en speciell algoritm vid exportering. 10. Kunna exportera alla ljud efter en bestämd algoritm. Förhoppningen är att verktyget kommer att hjälpa Toontrack en hel del när det gäller att ordna deras ljudbibliotek. Utifrån det designförslag som givits kommer det inte bara att gå snabbare för dem, utan graden av fel kommer säkert också att minska. Det i sin tur kommer att leda till mindre arbete både före och efter en ny produkt är släppt vilket troligtvis kommer att leda till att fler och bättre produkter kommer att kunna släppas i framtiden. 1.4 Avgränsningar Från början var tanken att programmet förutom de punkter som tas upp i kapitel 1.3 även skulle kunna utföra redigering av enskilda ljudfiler. Detta krav ströks dock från originalspecifikationen eftersom det är ett tidsbegränsat projekt. Förhoppningsvis kommer det att ges mer tid till att även implementera detta vid ett senare tillfälle. 3
12 2 Hur ett trumset digitaliseras I detta teoriavsnitt beskrivs hur Toontracks digitalisering av ett trumset går till. När ett analogt trumset spelas in används en uppsättning av mikrofoner. Dessa placeras runt om trumsetet och i rummet och är av olika typ beroende på vad de skall spela in för ljud. Nedan följer en bild på ett trumset. Några vanliga mikrofonplaceringar är utmärkta på bilden. Notera även följande begrepp: Snare drum virveltrumma Tom puka Kick/Bass drum golv/bas-trumma OH Over Head, överhäng Figur 1: Trumset och mikrofonplaceringar [1]. Det som illustreras på figur 1 är namnen på några av de mikrofonplaceringar som kan användas vid inspelning av trummor. Ofta sitter en mikrofon nära just den trumma som den skall spela in. Detta gäller till exempel kick- och hi-hat-mikrofonen. Varje puka kan också ha sin egen mikrofon. Ofta döps mikrofonerna efter vad de spelar in för att de ska bli lättare att hålla reda på. Snare top spelar till exempel in ljudet som kommer från virveltrummans ovansida. Det finns dock andra mickar som inte sitter precis bredvid någon trumma eller cymbal, detta gäller bland annat för OH-mikrofonerna. Dessa mikrofoner sitter ofta en bit ovanför trumsetet och används för att spela in flera olika cymballjud och för att ge trumsetet en mer levande känsla. När trumljud skall spelas in och digitaliseras tas varje slag upp i alla mickar, så även mickar som inte är placerade vid trumman som slogs på registrerar en ljudsignal. Alla ljuden spelas in och sparas i separata 4
13 ljudfiler för respektive kanal (mikrofon). Dessa ljud kan sedan spelas upp tillsammans för att få ett så realistiskt ljud som möjligt. För att klara av att variera ljuden, till exempel genom att byta ut en virveltrumma mot en annan virveltrumma, har Toontrack gjort en positionsindelning av trumsetet. Positionerna representerar en plats i trumsetet och har ofta samma namn som mickarna, men ska inte blandas ihop med dessa. Som exempel finns det oändligt många cymbalpositioner (om man har oändligt antal cymbaler på sitt trumset) men oftast ingen cymbalmick. På en position kan man sätta vilken trumma man vill, givet att ljuden finns inspelade, annars kan en ljudbild som inte överensstämmer med verkligheten uppstå. För varje position finns också ett stort antal artikulationer för själva slaget på trumman. Artikulationen innehåller saker som var på trumman och med vilken hand slaget slogs. Slutligen finns det också ett antal verktyg som kan användas för slaget. Det kan vara vanliga trumpinnar eller kanske en filtklubba. När de sedan bestämt vilka slags kombinationer av artikulationer, verktyg och trummor som skall finnas med till en ny produkt anlitas en eller flera professionella trumslagare till att fysiskt slå alla slagen samtidigt som en dator spelar in allting. 5
14 3 Ljud och datorer 3.1 Ljud i datorer Allt ljud som lagras eller spelas upp av en dator är i digital form. Detta kommer sig av att datorer som bekant bara kan spara ettor och nollor. Ljudet behöver dock inte ha sitt ursprung i digital form utan kan vara vanliga analoga ljud såsom tal eller ett musikstycke. För att datorn ska kunna förstå något som inte är digitalt behövs någon typ av ljudhårdvara, ofta rör det sig om ett ljudkort. Ljudkortet kan via en analog/digital-omvandlare göra om en analog signal, från till exempel en mikrofon, till digital form som datorn förstår sig på. Nedan följer ett exempel på hur det kan gå till. Figur 2 visar en analog signal. Den horisontella axeln representerar tiden och den vertikala axeln representerar ljudtrycket vid den tidpunkten. Figur 2: Ljudvåg. Eftersom tiden är kontinuerlig och därmed kan delas in i ett oändligt antal steg kan den inte representeras exakt i digital form. Detsamma gäller ljudtrycket som också är kontinuerligt. Signalen måste alltså diskretiseras i båda ledderna. Tidsindelningen, eller samplingsfrekvensen, avgör hur stort frekvensområdet kommer att vara på den digitala signalen. Delar man in tiden i till exempel steg på 0.5 sekunder, alltså 2 Hz, kommer den högsta frekvensen som kan representeras vara 1 Hz. Detta fenomen betecknas ofta samplingsteoremet eller Nyquistteoremet. Fenomenet uppstår på grund av att det vid sampling bildas ett periodiskt frekvensspektrum. 6
15 Figur 3: Periodiskt spektrum. AfS = frekvensen 0 Hz, B = högsta frekvensen i signalen, fs = samplingsfrekvensen, fn = Nyquistfrekvensen. De frekvenser som är ovanför den högsta frekvensen i signalen som samplats brukar enkelt kunna tas bort med hjälp av ett lågpassfilter som bevarar endast de lägsta frekvenserna. När en för låg samplingsfrekvens har använts går detta dock inte att göra. De periodiska spektrumen överlappar då varandra och oönskade frekvenser uppstår. Dessa "falska" frekvenser kallas vikningsdistortion. Figur 4: Överlappande spektrum vid för låg samplingsfrekvens, ger upphov till vikningsdistortion.. AfS = frekvensen 0 Hz, B = högsta frekvensen i signalen, fs = samplingsfrekvensen, fn = Nyquistfrekvensen. En människa med väldigt bra hörsel kan höra frekvenser upp till 20 khz. På grund av detta samplas till exempel CD-skivor med 44,1 khz för att ingen hörbar försämring av ljudet skall märkas. I andra fall är det inte lika farligt om de översta frekvenserna skulle försummas, detta gäller bland annat för telefoni. Indelningen av ljudtrycket påverkar också kvaliteten på ljudet. Indelningen brukar kallas för bitdjup på grund av att en dator kan använda olika många bitar för att representera ljudtrycket. Används till exempel två bitar kan ljudtrycket delas in i 2 2 = 4 olika nivåer. Som referensvärde kan nämnas att CD-kvalitet är 16 bitars indelning, vilket ger 2 16 nivåer. 7
16 Om ljudet i figur 2 skulle delas in i diskreta punkter skulle det kunna se ut så här: Figur 5: Diskretisering av en analog ljudvåg. Som synes i figur 5 så passar inte punkterna perfekt in på den analoga kurvan. Detta på grund av att både samplingsfrekvensen och bitdjupet inte räcker till för att representera ljudet. Det är dock dessa punkter som datorn sparar till en ljudfil. Detta betyder så klart att en liten förändring av ljudet sker när det samplas. Därför bör en person som ska använda sig av sampling först tänka efter hur stor förändring (oftast lika med försämring i ljudkvalitet) denne är villig att tillåta. För mobiltelefoni kan den vara ganska stor medan den vid professionella musikinspelningar är väldigt liten. Vad som också bör tänkas på är att ju högre bitdjup och samplingsfrekvens desto större plats tar ljudet upp i lagringsmediet. För att kunna spela upp ljudet på en analog förstärkare används ljudkortets digital/analog-omvandlare som via bland annat interpolering omvandlar tillbaka ljudet till en kontinuerlig analog signal som en högtalare kan spela upp. En ljudfil kan sparas i flera olika format. Några vanliga format är WAV, AU och AIFF. Dessa format är alla helt okomprimerade och storleken på ljudfilen växer ju högre samplingsfrekvensen och bitdjupet är. För att spara på diskutrymme kan filerna även komprimeras. Några vanliga komprimeringsformat är MP3, OGG och WMA. Nackdelen med de komprimerade formaten är dock att den okomprimerade signalen aldrig går att återskapa till fullo. Vid hård komprimering är det inte heller ovanligt att ljudkvaliteten blir markant försämrad. 8
17 3.2 Programmering och ljud Att använda sig av ljud vid programmering är något som skiljer både i svårighetsgrad och i tillvägagångssätt beroende på vilket programmeringsspråk det gäller. Detta avsnitt kommer till största delen att handla om C och C++ eftersom det är de populäraste språken, men också för att de är de språken som klarar av mest. Eftersom Java har använts i utvecklingen av programmet återfinns en mer utförlig studie i ljud för Java i kapitel C/C++ I programmeringsspråken C eller C++ finns det ont om riktiga standarder. Däremot finns det istället massor av lösningar vilket kan ge en programmerare stor valfrihet att välja vilken slags lösning som passar denne bäst. Det som kanske är den avgörande faktorn för vilken lösning för ljud programmeraren väljer torde vara i vilken applikation ljudet skall användas. En spelprogrammerare kan till exempel dra stor fördel av att ha färdiga 3D-funktioner för ljud, medan det för en som programmerar ip-telefoni är bättre med en lägre nivå på funktionerna där varje sample 1 går att komma åt. En annan aspekt som bör tas hänsyn till är att C/C++ är plattformsberoende språk. Detta betyder att program inte kan köras på andra operativsystem än det de är kompilerade för utan att kompileras om. Vissa funktionsanrop med mera behöver inte heller fungera likadant på alla operativsystem. För programmeraren betyder detta ofta mycket extra jobb för att göra programmet tillgängligt på olika plattformar. Många lösningar fungerar därför bara på ett begränsat antal operativsystem. Ett vanligt verktyg för spelutvecklare är OpenAL [3][4]. OpenAL är designat i första hand för att spela upp 3D-ljud. Det består av tre olika objekt: källa, buffert och lyssnare. Ljuden lagras in i buffertarna som buffertarna kan sedan kopplas ihop med en eller flera källor. Källorna representerar positioner i ett lyssningsrum där ljudet är tänkt skall komma från. Det tredje objektet, lyssnaren, representerar den tänkta personen som skall lyssna på ljudet. OpenAL räknar sedan ut hur ljudet skall omvandlas för att personen skall uppleva den önskade 3Deffekten. OpenAL är nära sammankopplat med grafikverktyget 1 Ett sample är det värde som den digitala signalen har under ett samplingsintervall. En CD-skiva som är samplad med Hz har till exempel stycken samples per sekund och kanal. 9
18 OpenGL och stöds på de flesta plattformarna idag [4]. För den som vill skriva program för ljudredigering med stor åtkomst och manipulationsmöjligheter för ljuden kanske dock inte OpenAL är det bästa valet eftersom det har relativt få funktioner och agerar på en högre nivå. Möjlighet till inspelning av ljud finns inte heller. För de som använder Microsoft Windows är den dominerande ljudstandarden idag Direct-X Audio. Detta API är utvecklat av Microsoft och var från början tänkt för spelutveckling i Windowsmiljö, men klarar idag av mycket mer. Det är det just nu mest kompletta ljud-api:t och passar mycket bra till så skilda användningsområden som 3D-ljud, plugin-effekter och strömmande ljud. Nackdelarna med Direct-X Audio är däremot att det är strikt bundet till Windows-plattformen och kommer troligtvis aldrig att bli något annat heller [3]. En annan nackdel är de krångliga funktionsanropen. Till exempel så är det här funktionen för att få ett ljud att sluta spela: HRESULT Stop(IDirectMusicSegment* psegment, IDirectMusicSegmentState* psegmentstate, MUSIC_TIME mttime, DWORD dwflags); Ett betydligt enklare API är PortAudio [5]. Projektet PortAudio är drivet att några frivilligarbetare och är med endast 30 olika funktionsanrop ett väldigt enkelt och lättöverskådligt API [3]. Med enkelheten kommer också att programmeraren får göra det mesta själv. Själva huvudfunktionen är en callback-funktion som användaren själv skriver. Denna funktion anropas av ljudkortet några gånger i sekunden och här specificerar användaren vilka ljud som skall spelas upp för tillfället. Detta ger en stor användarfrihet, men det krävs mycket jobb även för att utföra enkla uppgifter. PortAudio har inte så många andra funktioner än de som just krävs för att vara plattformsoberoende, och därför fungerar PortAudio på de flesta kommersiella plattformarna, däribland Windows, Mac OS (8,9,X), Unix och BeOS. Ett fjärde API är SDL_mixer som ingår i SDL (Simple DirectMedia Layer)-projektet [12]. Projektet bygger på öppen källkod och har i liknande funktionalitet som OpenAL. En fördel med SDL_mixer är dock att det är portat till väldigt många olika språk, bland annat C, C++, Java, Perl, Pascal, Python och Ada. API:t finns också tillgängligt för i stort sett alla kommersiella plattformar som används idag [3][6]. 10
19 3.2.2 Andra programmeringsspråk Förutom C/C++ har de flesta andra programmeringsspråken som används idag har ett ganska standardiserat sätt på hur ljud kan användas. Detta gäller till exempel Visual Basic, Java-Script, Flash och Perl. Att dessa språk har enklare, både i meningen att använda och i funktionalitet, utformning på funktionerna som spelar upp ljud kan bero på att de är optimerade för andra funktioner och/eller för att det skall vara så enkelt som möjligt att spela upp ett ljud. C# och.net har inget standardiserat API för ljud utan beror på samma sätt som C och C++ på utomstående tillverkares lösningar. Nackdelen med.net är att det är bundet till Microsofts programvaror. Vill man ha ett språk där det är enkelt att spela upp ljud, som är någorlunda plattformsoberoende men samtidigt ha stora möjligheter att redigera och påverka ljudet är Matlab [10] ett bra val. Matlab är designat för matematiska funktioner vilket passar alldeles utmärkt till ljudredigering. I Matlab kan användaren i princip göra vad den vill med ljudet. Många funktioner för Digital Signal Processing, DSP, finns också redan inbyggda i Matlab vilket gör det lätt att använda. En nackdel med Matlab kan däremot vara att det inte är designat för att göra snygga GUI:n. Däremot kan Matlab-genererade program med fördel anropas av andra språk. En annan nackdel är att Matlab är licensierat och kostar därför pengar att använda. De genererade programmen går dock i princip att använda fritt så länge användaren har licens för Matlabprogrammet [7]. 11
20 4 Ljud och Java I detta kapitel tar vi upp hur programmeringsspråket Java har implementerat hantering av digitalt ljud. Grundtanken med Java är att det skall vara ett plattformsoberoende programspråk och detta åstadkoms med en så kallad virtuell maskin som är specifik för varje plattform och som ligger som ett slags mellanlager mellan operativsystemet och javakoden. Alla javaprogram är i huvudsak en av två typer, antingen ett fristående program, eller en applet. Appleten är ett program som bara kan köras i en webbläsare och kan därför vara lite mer begränsat. Java har också två olika ljudbibliotek för de olika slags programmen. Det enklare, som bara går att köra på applets, består av bara en publik klass, AudioClip. Ett AudioClip representerar en ljudfil och innehåller bara de tre metoderna start(), stop() och loop(). Som synes så är användaren väldigt begränsad i sitt användande av ljud då varken manipulation av ljudet, val av hårdvara eller inspelning av ljud är möjlig. Det andra biblioteket är betydligt mer invecklat och komplext. Här har meningen varit att ge användaren så stora möjligheter som det bara går med att manipulera ljudet, eller som Sun 2 uttrycker det i sin manual: "Den centrala uppgiften för Java Sound API är att förflytta bytes bestående av formaterad ljuddata in och ut ur systemet" [9]. I princip all slags ljudredigering är möjlig och det enda som sätter gränserna är tidsaspekten. Lyckligtvis verkar det som att den gamla uppfattningen om att Java skulle vara ett långsamt språk håller på att raseras och kanske en dag så kan mycket väl Java bli lika snabbt på att hantera ljud som till exempel C++ [8]. 4.1 Uppbyggd som en ljudmixer Ljudsystemet består i huvudsak av tre viktiga typer: format, mixer och port. Formatet bestämmer vilket format det är på ljudet som hanteras. Allt ljud kommer via någon slags port in i mixern där det hanteras och sedan skickas vidare till någon annan port. Själva lösningen är uppbyggd efter en modell av en fysisk icke-digital mixer. 2 Sun Microsystems skapade Java och står för merparten av utvecklingen av Java. 12
21 Figur 6: En klasisk mixer [9]. Figur 6 föreställer en mixer som skulle kunna användas vid mixning vid till exempel en konsert. De åtta kolumnerna till vänster representerar varsin ljudkanal där ett instrument eller en mikrofon kan kopplas in. Varje ljudkanal har en input och ett antal möjliga effekter. Alla kanaler mixas sedan ihop till ett antal olika outputs, i fallet ovan, två stycken, som vanligtvis är kopplade till något slags högtalarsystem. I Javas ljudbibliotek representerar klassen Mixer den fysiska mixern. För att användning av ljudbiblioteket skall vara möjligt måste användaren välja en mixer. Denna mixer kan antingen vara Javas inbyggda mjukvarumixer som använder sig av datorns standardljudinställningar eller om ljudkortstillverkaren försett sin produkt med ett sånt; ett interface till ljudkortets mixer. En mixer kan synkronisera flera ljud så att de startar och stoppar på samma gång. Den har även funktioner, eller så kallade kontroller, för att lägga på effekter. Dessa effekter kan vara både enkla effekter såsom volym eller panorering och mer avancerade saker som reverb (rumsklang) och chorus (dubblering). 13
22 Både input och output representeras av klassen Port. Port kan sedan delas in i TargetDataLine som representerar en inputport och SourceDataLine och Clip som representerar outputportar. En TargetDataLine kopplas alltid ihop med en inputport på själva ljudkortet, till exempel mikrofoningången. Innan användaren kan börja läsa data från inputporten måste denne specificera vilket format datat skall få. När det är klart kan sedan data läsas till en buffert i minnet specificerad av användaren. Att datat skrivs till en buffert betyder att såväl uppspelning och inspelning av ljudet i realtid är möjligt. 4.2 Uppspelning av ljud Vilken av de två olika klasserna SourceDataLine och Clip som skall användas vid uppspelning av ljud beror på vart ljudet kommer ifrån och hur snabbt det skall spelas upp. Den stora skillnaden är att Clip inte är buffrad medan SourceDataLine är det. Ett Clip laddar in det valda ljudet direkt till datorns internminne innan uppspelning. Detta medför att det kan ta ett tag innan ljudet spelas upp, men samtidigt också att det går väldigt snabbt om ljudet skall spelas upp flera gånger. Clip har funktioner för att loopas, även mellan valfria positioner i ljudet, och kan lätt spolas tillbaka eller starta exakt där användaren så önskar. En begränsning med Clip är dock att det inte stödjer allt för stora data så vill användaren spela upp långa ljud är det nog inte det bästa valet. För strömmande eller längre ljud är SourceDataLine ett mycket bra val. En SourceDataLine fungerar på liknande sätt som en TargetDataLine men med skillnaden att den spelar upp ljud (eg. skickar ljuddata ut till en port på ljudkortet) istället för att läsa in ljud. SourceDataLine använder alltså en buffert där den läser ifrån och som programmet måste förse med ny data hela tiden för att uppspelningen ska ske utan hack eller klick i ljudet. 4.3 Service Provider Interface Javabiblioteket för ljud består av tre delar, Audio, MIDI och SPI. SPI står för Service Provider Interface och är en mycket smart lösning. SPI har inga konkreta klasser utan är bara ett interface där utomstående funktioner kan implementeras. De klasser som går att implementera är läsare av ljudfiler, konverterare mellan olika format, mixers och olika inoch outputs. Poängen med SPI-interfacet är att inga nya okända funktioner behöver anropas för att använda sig av det nya biblioteket. Försöker till exempel användaren läsa in en MP3-fil utan att ha en 14
23 konverterare installerad får denne ett undantag tillbaka när denne försöker läsa in audiodata. Finns däremot en SPI-implemenatation för att läsa in MP3-format installerad på korrekt sätt fungerar inläsningen av MP3-filen utan problem. En annan fördel är att program inte behöver ges ut i en ny version för att stödja ett nytt filformat eller hårdvara. Implementeringen av vissa vanliga filformatsomkodningar behövs inte heller göras om flera gånger. Det enda som behövs göras är att tala om för programmet var de implementerade SPI-klasserna ligger. 4.4 Egna kommentarer Jag tycker att Sun har gjort ett bra jobb med hur de lagt upp ljudbiblioteket för Java. Det mesta faller sig ganska logiskt och många bra funktioner finns. Nackdelen ligger dock i Javas grundidé, att vara plattformsoberoende. Detta betyder nämligen att alla plattformstillverkare själva måste göra uppdateringar den virtuella maskinen som är specifik för varje operativsystem när en ny version av java API:t kommer ut. Detta verkar inte vara den högsta prioriteten hos många av plattformstillverkarna; inte ens Sun själva har implementerat alla funktioner. Till exempel så fungerar inte synkronisering av strömmar på någon plattform och det samma gäller för funktionen getlevel() som skall göra något så enkelt som att undersöka den nuvarande volymen på ljudet som spelas upp. Det finns så klart lösningar på dessa problem. De flesta bygger på att programmeraren har kunskaper i digital signalhantering. Det kan till exempel vara nödvändigt att sample för sample lägga ihop två eller flera ljud för att få dem att spela exakt samtidigt. En väldigt informativ hemsida är [11] där en av författarna är ljudprogrammerare på Sun. Den operativsystemstillverkare som ligger längst efter i utvecklingen av Javas virtuella maskin när det gäller ljud är i min mening Apple. Ända tills förra releasen av Java API:T (JSE 5.0) var till exempel inte inspelning av ljud tillåten på Mac OS X. Detta beror på att Apple själva är ansvariga för all implementering av Java för Mac. Java är tänkt att vara en i högsta grad integrerad del av operativsystemet. All uppdatering skall ske automatiskt och finns inte att ladda hem från Sun s hemsida där alla andra operativsystems uppdateringar finns. Med den senaste uppdateringen går det nu att spela in ljud med Java på en Mac men det finns fortfarande stora begränsningar. En stor sådan är till exempel att det inte går att spela upp ljud som har högre samplingsfrekvens än 44.1 khz och högre bitdjup än 16-bitar. Jag tycker det hela är väldigt konstigt eftersom Apple har stor fokus på media och Java, men tydligen inte på kombinationen av de två. 15
24 5 Systemdesign Detta kapitel kommer att ta upp hur designen av programmet gick till, både grafiskt och implementationsmässigt. 5.1 Grafikdesign Till den grafiska utvecklingen av programmet var ett designförslag från Toontrack till stor hjälp. Eftersom verktyget är i väldigt stor utsträckning ett internt verktyg och Toontrack hade designat layouten precis efter deras egna önskemål kändes ytterligare designförslag och/eller utvärdering av förslaget inte nödvändigt. Layouten i förslaget har en klassisk look med diverse inställningar till höger och ett grafiskt fönster till vänster. Monitorn för att välja vilka kanaler som ska spelas upp befinner sig längst ner till höger. Storlek och placering av de olika komponenterna känns helt naturlig. Det grafiska fönstret där det mesta av arbetet sker tar upp störst plats och ligger direkt i blickfånget. Figur 7: Grafiskt förslag från Toontrack, huvudfönstret. Monitorn som troligtvis kommer att användas minst har fått en lite mer diskret placering. Det slutgiltiga programmet utgick till stor del från 16
25 detta förslag, med enbart mindre grafiska förändringar. För utförligare information om designförslaget, se bilaga Tillvägagångssätt Arbetet påbörjades genom att strukturera upp de datatyper som skulle behövas. Typerna position, instrument, artikulation och verktyg kändes relativt självklara som egna klasser. Det samma gällde för input som innehåller information om en mapp med ljudfiler som skall läsas in av programmet. Programmet ska inte bara kunna läsa in och förstå ljudfilerna den läst, det är ju meningen att det skulle kunna spela upp och ordna ljuden också. För detta behövs ett grafobjekt där användaren kan klicka för uppspelning och dra och släppa för att ordna. Till uppspelningen behövs också ett monitorobjekt för att kontrollera vilka kanaler som ska spelas upp samtidigt. I grafen ska det rymmas olika lager av olika typ av trumslag och instrument. Dessa lager fick också bli egna objekt. I varje lager måste det finnas ett objekt för varje kanal, så att alla ljudfiler som tillhör en specifik kanal kan stängas av när monitorn signalerar det. Slutligen måste varje kanal innehålla ett objekt för varje ljud. Detta objekt innehåller själva ljudinformationen. Om lager önskas användas så är lagerobjektet ett arv från ljudobjektet med den stora skillnaden att det innehåller fler än ett ljud. Efter att ha strukturerat upp denna underliggande struktur övergick arbetet till Grafic User Interface (GUI)-programmering. Eclipses alternativ till Suns swingbibliotek kallat Standard Widget Toolkit (SWT) [2] användes för layouten. Enligt Eclipses hemsida [2] skulle SWT använda sig mer direkt av användargränssnittet för operativsystemet och är open-source vilket det finns många fördelar med. Målet var att efterlikna designen i förslaget från Toontrack men samtidigt göra det så smidigt, snabbt och minnessnålt som möjligt. Under arbetets gång stöttes en hel del hinder på. Det mest var relaterat till att Java beter sig olika på Windows och Mac OS X. Förutom rena grafiska aspekter ställde också bland annat ljuduppspelning och trådhantering till bekymmer. Som nämndes i kapitel 4.4 går det för närvarande inte att spela upp ljud som har högre samplingsfrekvens än Hz via Java på en Mac OS X-maskin. Detta ledde till att omvandling av ljudet är nödvändig före uppspelning vilket både ger sämre kvalitet och en liten fördröjning innan ljudet spelas upp. Trådhanteringen fungerade ibland smärtfritt och ibland inte alls på Mac OS X så några funktioner som använder sig av trådar fick tyvärr strykas. 17
26 6 Analys av programmet I det här kapitlet kommer jag att syna programmet del för del. Jag kommer även att kommentera vad som fattas, skulle kunna byggas på eller förbättras Programmet har utvecklats i stort sett som jag hade förväntat mig även om många nya funktioner som inte var med i orginalspecifikationen har lagts till efter att det tagits i bruk. 6.1 Projektmenyn Till höger i huvudfönstret finns en projektmeny. Här väljer användaren olika undermenyer för att göra inställningar i programmet. Projektmenyn är i princip klar och kommer nog inte att förändras så mycket i framtida versioner. Figur 8: Projektmenyn. 18
27 6.2 Output Här bestämmer användaren var programmet skall exportera de slutliga ljudfilerna. För tillfället går det inte att välja att exportera ljudfilerna i annat format än de skickades in i. I framtiden kommer att det att vara möjligt att göra en omvandling i till exempel bitdjup eller rent av att komprimera ljudet för användning i olika slags applikationer. Användaren får också välja vilka mickar som skall finnas med vid exporteringen. Dessa mickar är de samma som kommer att finnas med på monitorn som kontrollerar vilka ljud som skall spelas upp. Figur 9: Outputdialogen. 6.3 Input En input till programmet är en katalog i filsytemet. Katalogen måste ha en eller flera underkataloger i vilka det ligger ljud. När användaren sätter upp en input väljer denne också vilka inputkataloger som skall korrespondera, routas, till vilka mickar i output:en. Det är vanligt att både input- och outputmickarna har samma namn så en automatisk sortering görs där namnen överensstämmer. Ett projekt kan ha flera inputs om användaren till exempel vill hämta en virveltrumma från något annat ställe i filsytemet. Routingschemat måste alltså innehålla för varje output alla kataloger i alla inputs där den skall 19
28 läsa ljudfiler från. En nackdel med den nuvarande versionen är att om någon outputmickarna tas bort eller läggs till förstör detta hela routingschemat och alla inputs tas bort. Detta är dock bara en temporär lösning och kommer att åtgärdas i framtiden. Figur 10: Inputdialogen. 6.4 Positions, Instruments, Tools Programmet innehåller dialoger för att lägga till positioner, instrument och verktyg. Här har användaren möjlighet att både lägga till, ändra och ta bort befintliga inställningar. Dessa dialoger är troligen så som de kommer se ut i framtiden också. Figur 11: Instrumentdialogen, där användaren lägger till nya instrument. 20
29 6.5 Monitor Monitorn har som uppgift att bestämma vilka kanaler i ett trumslag som skall låta. En kanal är det samma som ljudet från en trummick. Framför varje kanal finns det två knappar. Den ena knappen är märkt "M" vilket står för "mute" vilket tystar ner den aktuella kanalen. Den andra knappen är märkt "S" vilket står för "solo" och gör så att kanalen spelar själv utan att några andra ljud hörs. När en ny grupp av slag, ett ljudlager, laddas in får den samma inställningar på sina kanaler som alla de andra ljudlagren. Ett alternativ vore att varje ljudlager hade sin egen inställning. Figur 12: Monitorn, som bestämmer vilka kanaler som skall låta. 6.6 Grafmeny I grafmenyn väljer användaren vilka grupper av slag som skall laddas in i minnet och visas på grafen. Varje ljudlager har en unik färg så att de kan skiljas åt. Proceduren för att välja ett ljud görs genom dropdownboxar. Först väljer användaren ett instrument, sedan om virvelrasslet under virveltrumman ska vara spänt eller inte, sedan vilken slags artikulation på slaget det skall vara och till sist vilket slags verktyg slaget skall utföras med. När användaren är nöjd trycker denne på den färgade knappen till vänster om dropdown-boxarna och kanalen laddas in i minnet och visas på graffönstret till vänster. Här visas också en mätare på hur mycket minne som ljuden just nu förbrukar. En kanske bättre mätare vore att veta hur mycket minne själva programmet förbrukar. Det finns också två stora knappar märkta "Save" och "Export". Den första knappen används till att spara de inställningar som gjorts i grafen och den andra används till att exportera projektet. 21
30 Figur 13: Grafmenyn, där användaren laddar in ljud. I framtiden kommer det troligtvis att finnas en funktion här där användaren kan rita kurvor i grafen som sedan slagen anpassas i volym efter. 6.7 Graf över ljuden När ett ljudlager har laddats in i minnet visas det med en gång i graffönstret. Y-axeln, som är graderad med en decibelskala, symboliserar hur hårt slaget bedöms vara. Ljuden sorteras också från löst till hårt från vänster till höger. Användaren kan här lyssna på alla ljuden för att se om sorteringen blivit korrekt utförd. Bedöms något ljud vara felplacerat kan användaren dra det till önskad position med hjälp av musen. Om användaren tycker att vissa ljud är väldigt likartade kan denne lägga dessa ljud i ett så kallat lager. Lagret visualiseras genom ett litet +- tecken bredvid märket för slaget. Alla ljud som ingår i lagret kan visualiseras genom ett högerklick på lagret. Vill användaren ta bort ett ljud från lagret håller denne in shift och vänsterklickar på ljudet. Detta kanske inte är den mest logiska lösningen, men den är åtminstone snabb och troligtvis lätt att lära sig. 22
31 Vill användaren ta bort ett ljud markerar denne ljudet och trycker sedan på delete eller backspace på tangentbordet. Ljud som tillhör ett lager går inte att ta bort direkt utan måste först tas bort från lagret, men även detta kommer att åtgärdas i senare versioner. Hela lager går dock bra att ta bort. Figur 14: Graf över de olika trumslagen. 6.8 Kontrollpanel för graf Under grafen finns en liten panel med diverse knappar och en rad som visar programmets status. Går något fel med inladdning eller uppspelning så visas det här. De knappar som ingår i panelen är knappar för att välja om man ska flytta eller spela upp ljud, en knapp för att spela upp alla ljuden i ett ljudlager sekventiellt och en undoknapp. I panelen finns också en lista på alla ljud som är borttagna. Här kan användaren lyssna på de borttagna ljudet och lägga tillbaka det till de andra ljuden om så önskas. Figur 15: Panel för grafen. 23
32 6.9 Exportering När alla ljudlagren är ordnade till användarens belåtenhet kan de exporteras. Alla ljud som sparats exporteras här. Detta för att slippa ladda in alla ljuden i minnet varje gång de ska exporteras. I framtiden kommer användaren att kunna välja exakt vilka av de sparade ljuden som skall exporteras, men för tillfället är det inte möjligt. Programmet skapar alla kataloger och ljudfiler som användaren specificerat. Allt visualiseras med hjälp av en mätare och processen kan när som helst avbrytas. De skapade filerna och katalogerna ligger dock kvar i filsystemet även om processen avbröts. En sak som kommer att implementeras i framtiden är att användaren själv kan specificera formatet på ljuden som skrivs till disk. Figur 16: Exportdialogen. Figur 17: Mätare för hur långt exporteringen kommit Minneshantering Minneshanteringen i Java visade sig vara ett problem eftersom programmet kraschar när Javamaskinens heap-space blev full. För att öka heap-storleken till önskad storlek, säg kanske 512 MB, behövs en speciell option ges till den virtuella Javamaskinen när programmet skall startas. Minnet behöver också rensas upp så fort ett ljudlager ska avallokeras. Att låta Javas automatiska skräphantering göra detta skulle ta flera minuter. Därför var det nödvändigt att göra ett explicit anrop till skräphanteraren vid sådana tillfällen. 24
33 7 Avslutande kommentarer Det har varit mycket lärorikt att designa och utveckla programmet. Den största utmaningen har helt klart varit ljudet. Det är också därför jag har valt att fokusera den här rapporten kring ljudhantering i Java. Det har också varit lärorikt att se hur olika ett program kan se ut och uppträda i olika operativsystem. Till exempel gick det åt fyra veckor att få ett program som fungerade smärtfritt på en Windowsmaskin att ens vara användbart på en Macintosh. Återigen var det ljudet som ställde till de mesta besvären. Att omvandla ljud både i samplingshastighet och bitdjup i realtid var något som jag både tyckte kändes onödigt och som försämrade prestandan på såväl uppspelningskvalitet som snabbhet. Utöver själva programmeringen har det också varit en intressant att slutföra programmet så att andra kan använda det. Steget från fungerande program i utvecklingsmiljö till en enda fristående körbar fil har varit längre än jag trodde. Att ha andra som utvärderar och testkör ens produkt är heller inget jag varit med om tidigare. Från det att Toontrack för första gången använde programmet i december 2006 har nya funktioner och buggfixar tagit mycket av min tid i cirka två månader framöver. Som det har visat sig efter att programmet tagits i bruk har det reducerat utvecklingstiden för en ny Toontrack-produkt väsentligt. Jobb som förut kunde ta flera månader att slutföra har nu kortats ner till runt 75% av tiden. Troligtvis kommer också slutresultatet att kanske bli bättre eftersom uppgiften att sortera alla filer kommer att bli enklare och kanske till och med roligare vilket leder till färre mänskliga misstag. Möjligheten att lättare gå tillbaks och hitta exakt vilka slag som kan tänkas ställa till problem torde göra att uppdateringar av produkter också kan göras enklare och snabbare. Min förhoppning är också att fler studenter vid Umeå universitet kan få upp intresset för ljud i Java eftersom jag har visat att det finns stora möjligheter däri. Java är inte bara ett programmeringsspråk för enkla och snabba lösningar utan kan även användas till seriösa applikationer med stora krav på prestanda. 25
34 Källförteckning 1. EZDrummer manual, 2006, Toontrack. Packeterad med EZDrummer från Toontrack, The Eclipse Foundation, SWT: The Standard Widget Toolkit, hämtad februari 2007 från 3. Eklund, Jakob (2005), Användarstudie av OpenAL, Examensarbete KTH avdelningen för numerisk analys och datalogi. Finns även på 05/eklund_jakob_05177.pdf 4. OpenAL, Cross Platform 3D-Audio, hämtad december 2006 från 5. Ross Bencina and Phil Burk, PortAudio - an Open-Source Cross- Platform Audio API, hämtad december 2006 från 6. Lantinga, Sam, Peter, Stephane och Gordon, Ryan, SDL mixer 1.2 hämtad december 2006 från 7. The MathWorks, Inc. (2006) Software License Agreement, hämtad februari 2007 från 8. Lewis, J.P. och Neumann, Ulrich (2004), Performance of Java versus C++, Computer Graphics and Immersive Technology Lab, University of Southern California, hämtad december 2006 från 26
35 9. Sun Microsystems (2002), Java Sound Programmer Guide. Hämtad oktober 2006 från ml 10. The Mathworks Inc. Hämtad mars 2007 från Bomers, Florian och Pfisterer, Matthias, Java Sound Resources Hämtad under hela hösten 2006 från Simple Direct Media Layer. Hämtat december 2006 från 27
36 28
37 Bilaga A: Designförslag från Toontrack 29
38
39
40
41
42
43
44
45
46
Projektfönstret I projektfönstret finns tidlinjen samt de olika spår som ditt projekt innehåller. Det är här du redigerar och arrangerar ljudklippen.
Soundtrack Pro Syftet med denna övning är att du ska få en förståelse för hur verktyget Soundtrack Pro är uppbyggt och fungerar. Vi kommer att gå igenom de grundläggande funktionerna och ett enkelt arbetsflöde
Introduktion till CUBASIS VST v 0.9.2 Patrik Eriksson 2002
Introduktion till CUBASIS VST v 0.9.2 Patrik Eriksson 2002 Cubasis är ett ljud- och musikarrangemangsprogram som kan hantera såväl samplat ljud som musikinformation via MIDI. Cubasis är en lättare version
55200 Inspelningsbar microfon
55200 Inspelningsbar microfon Lär känna Easi-Speak Innehåll: Inbyggd högtalare Mikrofon Volymknappar Hörlursuttag På-/av-knapp Statuslampa Röd inspelningsknapp Grön uppspelningsknapp USB-anslutning Föregående
Projektarbete 2: Interaktiv prototyp
Projektarbete 2: Interaktiv prototyp Jonatan Hilmarch (Grupp 13) 880427-5595 hilmarch@skip.chalmers.se Kurs: Människa-Datorinteraktion TIG061 HT 2010 Projekt 1 - en tillbakablick Enligt projektets systemdefinition
TTS är stolta över att ingå i
Garanti & Support Denna produkt är försedd med ett års garanti för fel som uppstår vid normal användning. Att missbruka enheten Easi-Speak Pro eller att öppna den gör garantin ogiltig. Allt arbete utöver
Innehållsförteckning. Om mjukvaran
Innehållsförteckning Om mjukvaran Installation av Audacity Konfigurera Windows Vista för USB-skivspelaren Konfigurera Windows XP för USB-skivspelaren Konfigurera Audacity på PC Konfigurera Audacity för
Studentguide Adobe Connect Pro
Studentguide Adobe Connect Pro 2009-11-10 Inloggning För att vara med i ett möte behöver du inte installera någon programvara utan allt som behövs på din dator är Adobe Flash Player. Det programmet finns
E-POST3 Ett lättanvänt e-postprogram med stöd för talsyntes
E-POST3 Ett lättanvänt e-postprogram med stöd för talsyntes Sida 2 av 2 Innehållsförteckning INNEHÅLLSFÖRTECKNING...3 REKOMMENDERAD UTRUSTNING...5 INSTALLATION...5 ANVÄNDARLÄGE I E-POST3...6 STARTSIDA...7
MANUAL FÖR VIDEOREDIGERING
MOVIE MAKER- MANUAL FÖR VIDEOREDIGERING Författad av Anna Sabelström i samarbete med Film Stockholm och Ungdomsstyrelsen FILM STOCKHOLM REGIONALT RESURSCENTRUM FÖR RÖRLIG BILD I STOCKHOLMS LÄN Kultur-
Svensk Bruksanvisning
Svensk Bruksanvisning Egenskaper Egenskaper: - Stor tydlig display med blå bakgrundsbelysning. - Klarar MP3 (MPEG 1/2 Layer2) och WMA uppspelning. - Digital röstinspelning. - USB lagring av datafiler.
MP3-spelare M-Any DAH1200 Nr 100060
MP3-spelare M-Any DAH1200 Nr 100060 Inkoppling och överföring Börja med att sätta i batteriet. Luckan sitter på undersidan och öppnas genom att man skjuter den åt sidan. Kom ihåg att vända polariteten
Migrera till Word 2010
I den här guiden Microsoft Microsoft Word 2010 skiljer sig rent utseendemässigt mycket, så vi har skapat den här guiden för att hjälpa dig att snabbare lära dig programmet. Här kan du läsa om de viktigaste
1. Använda MP3/WMA-spelaren
Använda /WMA-spelaren 1. Använda /WMA-spelaren Av säkerhetsskäl är vissa funktioner urkopplade då fordonet är i rörelse. Knappen SOURCE MENU RECALL (TA FRAM KÄLLMENYN) Knappar för byte av fil Knappen POWER
725G61 - Laboration 7 Implementation av ett API. Johan Falkenjack
725G61 - Laboration 7 Implementation av ett API Johan Falkenjack December 13, 2013 1 Inledning Hittills i kursen har vi tittat på grundläggande programmering och grundläggande objektorientering. I den
Antivirus Pro 2011. Snabbguide
Antivirus Pro 2011 Snabbguide Viktigt! På CD-fodralet finns den aktiveringskod som du behöver för att aktivera produkten. Förvara den på ett säkert ställe. Den här produkten får endast användas om det
USB DAC Bruksanvisning 2 SVENSKA. Din musik + vår passion
USB DAC Bruksanvisning 2 SVENSKA Din musik + vår passion Innehåll Anslutningar...3 Användarinstruktioner...4 LED-färger/blinkar...4 LED-färger...4 USB Class...4 För Mac...4 För Windows...5 Tekniska specifikationer...6
Betatestning - Solsystem
Betatestning - Solsystem Mikael Ågren, F03 Innehåll 1 Inledning 2 2 Frågorna 2 2.1 Är programmet konsekvent?................... 2 2.2 Behövs genvägar?......................... 2 2.3 Tillräcklig feedback?.......................
Introduktion och övningar
Introduktion och övningar 1. Inspelning av ljud Denna övning kommer att visa dig hur ljudinspelning fungerar i Sound Studio. Övningen visar hur man ändrar bitdjup och samplingsfrekvens vid ljudinspelning
Handbok Simond. Peter H. Grasch
Peter H. Grasch 2 Innehåll 1 Inledning 6 2 Använda Simond 7 2.1 Användarinställning.................................... 7 2.2 Nätverksinställning..................................... 9 2.3 Inställning
Skapa en pdf-fil med hög kvalitet, lämpad för tryckning Skapa pdf-filen i en PC med Windows Skapa pdf-filen i en Mac
Senast uppdaterad 2016-06-01 Biblioteket Skapa och redigera pdf-filer Vid elektronisk publicering av avhandlingar och studentarbeten (examensarbeten) ska du använda filformatet PDF (Portable Document Format).
ClaroRead Plus Mac Manual. Artikel.nr. 12501
ClaroRead Plus Mac Manual Artikel.nr. 12501 1 Välkommen till ClaroRead Plus Välkommen till ClaroRead Plus för Mac. ClaroRead Plus är till för att göra din dator mer lättanvänd. Programmet arbetar nära
Kom igång med din SMART Board. Det praktiska
Kom igång med din SMART Board Det praktiska Nu när ni fått er nya SMART Board på plats och ni vill börja använda den finns det ett par steg som man bör göra först för att få allt att fungera. I denna guide
Att använda bildhanteringsprogram, del 2
Att använda bildhanteringsprogram, del 2 Gå till Adobe Online (M) Markeringsram - (L) Lasso - (C) Beskärning - (J) Airbrush - (S) Klonstämpel - (E) Suddgummi - (R) Oskärpa - (A) Markering av bankomponenter
LäsFlyt Metodhandledning
LäsFlyt Metodhandledning Copyright Softogram AB LäsFlyt är skyddat i enlighet med upphovsmannarättslagen och programmet, bilderna, texterna liksom denna manual tillhör Softogram AB. LäsFlyt är ett registrerat
Lathund, till Photo Story, för skräckslagna lärare
Lathund, till Photo Story, för skräckslagna lärare Inledning: Photo Story är ett roligt och lättanvänt program. Muntligtframträdande går mot en ny dimension när eleverna slipper nervositeten över muntligt
Lära känna skrivbordet
Är det första gången du använder Windows 7? Den här versionen har mycket gemensamt med tidigare versioner av Windows, men du kan behöva hjälp med att få upp farten. Den här guiden innehåller praktisk information
Användarhandbok OE/OSSpeaker V.10.3
Användarhandbok OE/OSSpeaker V.10.3 OESpeaker Version 10.3 OSSpeaker Version 10.3 Status: 26.2.2007 Innehållsförteckning Installation av programmet 2 Inknappning av onlinekontroller 2 Inmatning av biografier
1 Nyheter i Filr 2.0 Desktop-programmet
Viktig information för Filr 2.0 Desktop Februari 2016 Filr 2.0 Desktop-programmet innehåller funktionen Filer på begäran som ger en konsoliderad eller virtuell översikt över alla filer på Filr-servern
ipod shuffle Användarhandbok
ipod shuffle Användarhandbok Innehåll 5 Kapitel 1: Om ipod shuffle 6 Nyheter i ipod shuffle 7 Kapitel 2: Grundläggande om ipod shuffle 7 ipod shuffle i överblick 8 Använda reglagen på ipod shuffle Controls
Handicom. Symbol for Windows. Blisseditor. Version 3.4
Handicom Symbol for Windows Version 3.4 Handicom, Nederländerna/Frölunda Data AB 2009 Innehåll Installation och licenser...2 1. Inledning...2 2. ns huvudfönster...2 2.1 Verktygsfältet...2 2.2 Matris...2
SPEECHMIKE TM 2.2 PROGRAMVARUHANDBOK PHI
SPEECHMIKE TM 2.2 PROGRAMVARUHANDBOK PHI SpeechMike Programvaruhandbok 2 COPYRIGHT 1997-2002 Philips Speech Processing. Med ensamrätt. Kopiering, helt eller delvis, är förbjudet utan skriftlig tillåtelse
Macromedia Flash MX 2004
Mittuniversitetet ITM Telefon 0771-97 50 00 Erik Öberg Macromedia Flash MX 2004 Visuell kommunikation Detta exemplar tillhör: VT 2005 Laborationskompendium för Macromedia Flash Uppgift 1 Texthanteringen
En handledning för studerande på Högskolan Kristianstad
Använda kurskonferenser i FirstClass En handledning för studerande på Åsa Kronkvist, augusti 2005 Innehåll Introduktion...3 Webbklient eller FirstClassklient?...3 Allt ligger online...3 Hitta rätt...4
Del I Nyckelfunktioner:
Diktafon A50 Del I Nyckelfunktioner: Extra lång inspelningstid, med röstanpassad ACT-formatering, som gör att du kan spela in längre än med en konventionell diktafon utan att sänka ljudkvaliteten. Röstaktiverad
Handbok KMouseTool. Jeff Roush Översättare: Stefan Asserhäll
Jeff Roush Översättare: Stefan Asserhäll 2 Innehåll 1 Inledning 5 2 Att använda KMouseTool 6 3 Kommandoreferens 7 3.1 Huvudfönstret i KMouseTool............................... 7 4 Tips 9 5 Vanliga frågor
Användar Guide. är ett varumärke av Google Inc.
Användar Guide Android TM är ett varumärke av Google Inc. - 2 - Tack för att du köpt en MINIX NEO X5mini. Följ denna guide för att ställa in din enhet. MINIX NEO X5mini är en revolutionerande smart media
Föreläsning 3.1: Datastrukturer, en översikt
Föreläsning.: Datastrukturer, en översikt Hittills har vi i kursen lagt mycket fokus på algoritmiskt tänkande. Vi har inte egentligen ägna så mycket uppmärksamhet åt det andra som datorprogram också består,
CVI ANALYZER V 1.2.0.X
Del nr 6159939235 Utgåva nr 07 Datum 01/2016 Sida 1 / 20 CVI ANALYZER V 1.2.0.X Bruksanvisning Software Part number CVI ANALYZER 1 user 6159276960 CVI ANALYZER 5 users 6159276970 CVI ANALYZER 25 users
Operativsystem. Informationsteknologi sommarkurs 5p, 2004. Agenda. Slideset 7. Exempel på operativsystem. Operativsystem
Informationsteknologi sommarkurs 5p, 2004 Mattias Wiggberg Dept. of Information Technology Box 337 SE751 05 Uppsala +46 18471 31 76 Collaboration Jakob Carlström Slideset 7 Agenda Exempel på operativsystem
Inspelning, redigering, publicering med Camtasia 7
Inspelning, redigering, publicering med Camtasia 7 Starta inspelningen... 2 Ljud... 2 Initiera inspelningen... 3 Under inspelningen... 3 Stressa inte att komma igång... 3 Presentera dig... 3 Ögonkontakt
Låt ipad bli fjärrkontroll för din Mac
Låt ipad bli fjärrkontroll för din Mac 7 Använd ipad som fjärrkontroll 7 Perfekt för en Mac kopplad till tv:n 7 Fjärrstyr Macens program. ipad som fjärrkontroll låter dig styra både OS X-funktioner och
9-1 Koordinatsystem och funktioner. Namn:
9- Koordinatsystem och funktioner. Namn: Inledning I det här kapitlet skall du lära dig vad ett koordinatsystem är och vilka egenskaper det har. I ett koordinatsystem kan man representera matematiska funktioner
Objektorienterad programmering
Objektorienterad programmering Emil Ahlqvist (c10eat@cs.umu.se) Didrik Püschel (dv11dpl@cs.umu.se) Johan Hammarström (c08jhm@cs.umu.se) Hannes Frimmel Moström (c10hml@cs.umu.se) 1 1. Introduktion 1.1 Objektorienterad
Tärna Folkhögskola 2010-06-03 IT-pedagogutbildningen Individuellt fördjupningsarbete Vt 2010 2010-06-03 IT I FÖRSKOLAN. Författare:Tove Andersson
Tärna Folkhögskola 2010-06-03 IT-pedagogutbildningen Individuellt fördjupningsarbete Vt 2010 2010-06-03 IT I FÖRSKOLAN Författare:Tove Andersson Innehåll Inledning:... 2 Syfte:... 2 Frågeställningar:...
FileMaker Pro 13. Använda Fjärrskrivbord med
FileMaker Pro 13 Använda Fjärrskrivbord med FileMaker Pro 13 2007-2013 FileMaker, Inc. Med ensamrätt. FileMaker, Inc. 5201 Patrick Henry Drive Santa Clara, Kalifornien 95054, USA FileMaker och Bento är
MagniLink imax. Bruksanvisning. Version 1.0. Bruksanvisning 7941647 MagniLink imax 1
Bruksanvisning MagniLink imax Version 1.0 LVI Low Vision International Verkstadsgatan 5 Tel: +46 (0) 470 727700 E-mail: info@lvi.se 352 46 Växjö Fax: +46 (0) 470 727725 Internet: www.lvi.se Bruksanvisning
FileCentral Desktop. Användarhandledning Version 1.0 2010-11-05
FileCentral Desktop Användarhandledning Version 1.0 2010-11-05 Inf of lex Connect AB Sankt Eriksgatan 58 SE-112 34 Stockholm Sweden Tel: 08-555 768 60 Fax 08-555 768 61 inf o@inf of lexconnect.se www.inf
Mirasys VMS 7.3. Workstation användarvägledning
Mirasys VMS 7.3 Workstation användarvägledning INNEHÅLLSFÖRTECKNING Innehållsförteckning... 2 Innan du börjar... 3 Logga in... 4 Användargränssnitt... 8 Navigeraren... 11 Kameror... 19 Audio... 35 Videoutgångar...
Upsättning av Shoutcast-sändning
Upsättning av Shoutcast-sändning Innan du börjar sända Krav # Dator med ett eller flera ljudkort. För bärbara datorer kan man köra med det inbyggda ljudkortet som oftast är av mindre bra kvalitet eller
SÅindex 5 i Microsoft Excel 2010
Installera/uppdatera/aktivera SÅindex 5 i Microsoft Excel 2010 Översikt SÅindex 5 är ett tillägg till Microsoft Excel. I SÅindex 5 finns en särskild fil som är en tilläggsfil (en addin). Filen heter Sindex5.xlam.
Macromedia. Flash 8 Grundkurs. www.databok.se
Macromedia Flash 8 Grundkurs www.databok.se Innehållsförteckning 1 Börja arbeta med Flash 8...1 Användningsområden...1 Bekanta dig med arbetsytan...2 Scen och tidslinje...3 Lager...3 Bibliotek...4 Verktygsfältet
HF0010. Introduktionskurs i datateknik 1,5 hp
HF0010 Introduktionskurs i datateknik 1,5 hp Välkommna - till KTH, Haninge, Datateknik, kursen och till första steget mot att bli programmerare! Er lärare och kursansvarig: Nicklas Brandefelt, bfelt@kth.se
Installationsanvisning för kursens programvara på egen dator
Installationsanvisning för kursens programvara på egen dator Två program, Java och DrJava, skall installeras på datorn. DrJava är en så kallad utvecklingsmiljö, ett program som underlättar att programmera
App-klient för smartphones... 2. Power BI... 3. Arbetsflöde... 4. CRM Online... 5. Webb-klienten... 6. Dokumenthantering... 7. Molnet...
Nyheter i Dynamics NAV 2016 Innehåll App-klient för smartphones... 2 Power BI... 3 Arbetsflöde... 4 CRM Online... 5 Webb-klienten... 6 Dokumenthantering... 7 Molnet... 8 Elektronisk fakturering... 9 App-klient
Jag rek. starkt att alla uppgraderar sin TomTom till version 5 eller högre då massor av nya funktioner och en betydande prestandaskillnad finns.
Installation av fartkameror i TomTom Installationstipset är skrivet för TomTom Navigator 3 eller version 5,TomTom Go Classic,ONE,300,500,700 (troligtvis även RIDER) eller TomTom Mobile samt en PC med Microsoft
Del 2 HANTERA MUSIKFILER. 5. Importera filer... 34 6. Skapa ordning i din musiksamling... 38 7. Skapa spellistor... 46 8. Bränna cd-skivor...
Del HANTERA MUSIKFILER. Importera filer... 6. Skapa ordning i din musiksamling... 8 7. Skapa spellistor... 6 8. Bränna cd-skivor... . IMPORTERA FILER När du använder samma ljudformat för alla dina musikfiler,
Examensarbete för högskoleexamen i medieteknik
Examensarbete för högskoleexamen i medieteknik Manual till introduktionsfilm Cecilia Sjöström ceciliasjostrom@hotmail.com 2012-08-29 Kursansvarig: Elin Johansson Övriga lärare: Stefan Berglund Sammanfattning
Programmering A C# VT 2010. Ett kompendie över Programmering A (50p) i c# Stefan Fredriksson 2010 02 08
Programmering A C# VT 2010 Ett kompendie över Programmering A (50p) i c# Stefan Fredriksson 2010 02 08 Innehåll Hjälp och referenser... 3 Kap 1 Introduktion... 3 Steg för steg... 3 Kapitel 2 Variabler...
AQ-Box med Winlog 2000 8-kanalers mätsystem samlar och bearbetar 8 givarsignaler i en PC
AQ-Box med Winlog 2000 8-kanalers mätsystem samlar och bearbetar 8 givarsignaler i en PC 8 differentiella kanaler (ingen gemensam jordanslutning) Klarar alla givare och sensorer med spännings- eller strömsignal
Sun Java W1100z och W2100z arbetsstationer: Versionsinformation
Sun Java W1100z och W2100z arbetsstationer: Versionsinformation Sun Microsystems, Inc. www.sun.com Artikelnr 817-7995-10 Oktober 2004, Version B Skicka kommentarer om dokumentet till: http://www.sun.com/hwdocs/feedback
Inledning till Wavesurfer av Christine Ericsdotter (Lingvistik, Stockholms universitet)
Inledning till Wavesurfer av Christine Ericsdotter (Lingvistik, Stockholms universitet) WaveSurfer är ett program för analys av tal utvecklat vid Centrum för talteknologi, Institutionen för tal, musik
Styra olika typer av objekt som animering, video, ljud och Flashfilm
Grunder och Filmklippsobjekt med animering Vi vill kunna visa olika typer av mediaobjekt i en och samma Flashfilm. Vi börjar med att titta på hur man kan visa och köra en animering samt stoppa och dölja
Elisabeth Bejefalk IT-Assistent Avesta kommun
Elisabeth Bejefalk IT-Assistent Avesta kommun Du ska nu få lära dig hur du enkelt kan göra ett bildspel i PowerPoint. Utifrån det du snart har lärt dig kan du sen göra mer avancerade bildspel genom att
Handbok Artikulate. Andreas Cord-Landwehr Ondrila Gupta Översättare: Stefan Asserhäll
Andreas Cord-Landwehr Ondrila Gupta Översättare: Stefan Asserhäll 2 Innehåll 1 Inledning 5 1.1 Inlärningsmetodiken.................................... 5 1.2 De första stegen i Artikulate................................
Space Invaders - Slutrapport
Projekt inda14 Sida 1 av 6 Space Invaders - Slutrapport A. Projektplanen Programbeskrivning Vi tänker göra en version av det gamla arkadspelet Space Invaders i java. Spelet går ut på att spelaren styr
Utskrift av inspelat samtal hos Arbetsförmedlingen
BJÖRN L BERGLUND UTSKRIFT AV SAMTAL HOS AF 1 (9) Utskrift av inspelat samtal hos Arbetsförmedlingen Samtalet ägde rum hos Arbetsförmedlingen i Sollentuna tisdag 13 juni 2006 kl. 11.00 Inspelningen är cirka
Innehållsförteckning... 1 Manual Cellip 365 Softphone... 2 1. Logga in... 2. 2. Samtalshantering... 2 3. Hänvisning... 6 4. Kontaktlista...
INNEHÅLLSFÖRTECKNING Innehållsförteckning... 1 Manual Cellip 365 Softphone... 2 1. Logga in... 2 2. Samtalshantering... 2 3. Hänvisning... 6 4. Kontaktlista... 7 5. Svarsgrupper... 9 6. Inställningar...
Användarhandbok för Nero MediaStreaming för MCE
Användarhandbok för Nero MediaStreaming för MCE Nero AG Information om upphovsrätt och varumärken Innehållet i denna användarhandbok är skyddat av upphovsrätt och tillhör Nero AG. Med ensamrätt. Användarhandboken
WordRead Plus för Mac
WordRead Plus för Mac Manual Artikelnummer: 3024018 www.icap.nu 1 Innehåll Välkommen till WordRead Plus... 3 WordRead Plus verktygsfält... 3 Teckensnitt... 5 Textfärg... 6 Bakgrundsfärg... 7 Avstånd...
IBM SmartCloud for Social Business. IBM SmartCloud Engage och IBM SmartCloud Connections Användarhandbok
IBM SmartCloud for Social Business IBM SmartCloud Engage och IBM SmartCloud Connections Användarhandbok IBM SmartCloud for Social Business IBM SmartCloud Engage och IBM SmartCloud Connections Användarhandbok
Effektpedal för elgitarr
EITF11 - Digitala Projekt Effektpedal för elgitarr Handledare: Bertil Lindvall Ivan Rimac (I05) Jimmy Lundberg (I08) 2011-05-10 Contents Bakgrund... 3 Kravspecifikation... 3 Kravspecifikation Effektpedal...
INT 3 F4. Bildkomprimering. Run Length Encoding. Medieteknik Del2. Komprimering, ljud och rörliga bilder. Olika algoritmer för bildkomprimering:
INT 3 F4 Medieteknik Del2 Komprimering, ljud och rörliga bilder DSV Peter Mozelius Bildkomprimering Olika algoritmer för bildkomprimering: Icke-förstörande komprimering RLE Run Length Encoding Huffman-kodning
NXT LEGO-robot laboration Programmering och felsökning av en LEGOrobot
KUNGLIGA TEKNISKA HÖGSKOLAN NXT LEGO-robot laboration Programmering och felsökning av en LEGOrobot Gabriel Vilén 30/8-2012 gvilen@kth.se Introduktionskurs i datateknik II1310 Sammanfattning Vi har programmerat
Introduktion till Adobe Acrobat Connect. I denna guide beskrivs hur man använder Adobe Connect samt användning av headset och webbkamera.
Introduktion till Adobe Acrobat Connect I denna guide beskrivs hur man använder Adobe Connect samt användning av headset och webbkamera. Innehåll Hur startar jag ett möte i Adobe Connect?... 3 Hur är ett
MARRATECH 6.0 QUICK GUIDE Studenter
Studenter Marratechs startsida på LTU: http://media.online.ltu.se:8000 Från portalen väljer du ett Marratechrum, t ex LTU Systemvetenskap 1 eller Alfa 106 INNEHÅLL A. MARRATECH 6.0 QUICK GUIDE... 2 B.
Vad utmärker ett bra gränssnitt?
Vad utmärker ett bra gränssnitt? Kommunikation med användarna Feedback och Pliancy Excise kontra Flow GUI = Graphical User Interface GUIn, eller grafiska gränssnitt hittar vi på alla sorters skärmar I
ViTex snabbguide. 1. Inläsning till ViTex från scanner eller PDF Läs in text via scanner Läs in text från en JPEG-bild eller ett PDF-dokument
ViTex snabbguide 1. Inläsning till ViTex från scanner eller PDF Läs in text via scanner Läs in text från en JPEG-bild eller ett PDF-dokument 2. Uppläsning i ViTex Ikoner för uppläsning Läs upp enstaka
Vid frågor kontakta oss på support@du.se eller ring oss på 023 77 87 87.
Hej! I denna guide kan du hitta de flesta förändringar som finns i den nya versionen (version 8) av Adobe Connect (hädanefter kallad Connect). Den är främst riktad till er som jobbat med Connect i den
Instruktion till Ljudbordsprogrammet.
Instruktion till Ljudbordsprogrammet. Innehållsförteckning: Systemkrav... 3 Ljudbordet... 4 Spela rikets sånger:... 4 Inspelare 1 och 2:... 5 Namn på inspelningen:... 5 MP3 information:... 5 Nivåavkänning:...
Slutrapport för projektet Programmeringsundervisning i skolor med webbaserad konstprogrammering Annika Silvervarg, Linköping universitet
Slutrapport för projektet Programmeringsundervisning i skolor med webbaserad konstprogrammering Annika Silvervarg, Linköping universitet Inledning Dagens barn och ungdomar är flitiga användare av datorer,
Kom igång. Version 3
Kom igång Version 3 Installation & Inställningar Om du läser den här filen, har du troligtvis redan tagit dig igenom installationsprocessen hos PMView Pro. Den här sektionen är tänkt att guida dig genom
1 Skapa Tabell...2. 2 Skapa Relationer...20. 3 Redigera Relationer...24. 4 Redigera Fält i Tabell...26. 5 Lägga till Poster i Tabell...
Kapitel 5 Tabell 1 Skapa Tabell...2 1.1 Tabellfönstret... 4 1.2 Fältegenskaper... 8 1.3 Primärnyckel... 11 1.4 Spara Tabell... 12 1.5 Tabellguiden... 12 2 Skapa Relationer...20 3 Redigera Relationer...24
GARAGEBAND En steg för steg guide hur du tar dig från idé till färdig låt.
GARAGEBAND En steg för steg guide hur du tar dig från idé till färdig låt. 1. Öppna appen Garageband Genom att klicka på symbolen Garageband öppnar du applikationen. 2. Skapa ett projekt Genom att klicka
Inledning...5. Systemkrav...7. För Windows...9
Innehållsförteckning Inledning.....................................5 Systemkrav...................................7 För Windows...................................9 Installera Photo Print För skrivare med
Nallelek Lärarvägledning
NALLELEK - LÄRA MERA PROGRAM AB Nallelek Lärarvägledning NALLELEK... 2 1.1 Programmet... 2 1.2 Övningar som stärker förmågan att iaktta bilder och se detaljer... 3 1.2.1 Pedagogiska tips... 3 1.3 Kategorisering
Personligare e-post Mejl med fokus på avsändaren
Personligare e-post Mejl med fokus på avsändaren 7 Fokuserar på avsändaren 7 Snyggt och rent gränssnitt 7 Hitta gamla mejl och bilagor Gör din e-post mer personlig med Det råder ingen brist på alternativ
Lathund GUL Lärare. Allmänt. Hur du presenterar Dig själv för kursdeltagarna. Hur du lägger upp din kontaktlista
Lathund GUL Lärare Allmänt I plattformen kallas din kurs för aktivitet Första gången du loggar in GUL så kommer du att få välja vilket språk du vill att plattformen skall ha. Därefter kommer du in i plattformen.
FileMaker. Köra FileMaker Pro 10 på Citrix Presentation Server
FileMaker Köra FileMaker Pro 10 på Citrix Presentation Server 2004 2009, FileMaker, Inc. Med ensamrätt. FileMaker, Inc. 5201 Patrick Henry Drive Santa Clara, Kalifornien 95054, USA FileMaker, filmappslogotypen,
1DV433 HT13. I vilken utsträckning har kursens innehåll och uppläggning gett förutsättningar för att du ska ha uppnått respektive lärandemål?
1DV33 HT13 Antal : I vilken utsträckning har kursens innehåll och uppläggning gett förutsättningar för att du ska ha uppnått respektive lärandemål? - ha fått grundläggande kunskaper om strukturerad programmering
Laboration 3 Grunderna i Ljudinspelning
Mitthögskolan Institutionen för Informationsteknologi och medier. Jan-Erik Jonsson 060-14 87 90 Laboration 3 Grunderna i Ljudinspelning Interaktiva multimedier v1.0 2001-12-07 lab_3_2001-12-07.doc Sida
Microsoft Windows 10 Grunder
WINDOWS 10 Grunder INLEDNING Mål och förkunskaper...5 Pedagogiken...5 Hämta övningsfiler...6 1 INTRODUKTION TILL WINDOWS Grundläggande om operativsystem...7 Starta och avsluta Windows 10...8 Välja kommandon...10
VIDEODAGBOKEN. Individuellt Mjukvaruutvecklingsprojekt. En dagbok i videoform online. Robert Forsgren (rf222ce) UD12 2013-06-05
VIDEODAGBOKEN En dagbok i videoform online. Individuellt Mjukvaruutvecklingsprojekt Robert Forsgren (rf222ce) UD12 2013-06-05 Abstrakt: Den här rapporten kommer ta upp mitt projekt Videodagboken, en dagbok
RealSimPLE: Pipor. Laborationsanvisningar till SimPLEKs pipa
RealSimPLE: Pipor Laborationsanvisningar till SimPLEKs pipa Vad händer när ljudvågor färdas genom ett rör? Hur kan man härma ljudet av en flöjt? I detta experiment får du lära dig mer om detta! RealSimPLE
Inledning. Metod. Val av maskin. Vanliga funktioner som lätt blir fel
Inledning Studenterna i Id-00 har fått i uppgift att analysera vars en apparat. Vår grupp har valt att analysera en mikrovågsugn, Whirlpool MT 257, som finns på en studentkorridor på Michael Hansens Kollegium
IT-körkort för språklärare. Modul 6: Video, del 2
IT-körkort för språklärare Modul 6: Video, del 2 Innehåll IT-körkort för språklärare... Fel! Bokmärket är inte definierat. Skapa ett projekt... 2 Spela in och ladda ner en video... 3 Redigering... 6 Övergångar...
P L A Y. Adobe Produktguide. Adobe Photoshop Elements 4.0 Adobe Premiere Elements 2.0
P L A Y Adobe Produktguide Adobe Photoshop Elements 4.0 Adobe Premiere Elements 2.0 Svensk programvara med svenska instruktioner! Ny version Adobe Photoshop Elements 4.0 Allt du behöver för att redigera,
Microsoft Windows 8 Grunder
WINDOWS 8 GRUNDER Inledning Mål och förkunskaper...5 Pedagogiken...5 Hämta övningsfiler...6 Del 1 1 Introduktion till Windows Grundläggande om operativsystem...7 Starta och avsluta Windows 8...8 Välja
Spela in och spara din PowerPointpresentation
Spela in och spara din PowerPointpresentation som en film Gör tillägg till filmen med Premiere Elements Microsoft Powerpoint är ett välbekant program för alla inom utbildningssektorn. Det som många inte
Guide för "RedaxPlot" dataöverföring och användning
Guide för "RedaxPlot" dataöverföring och användning Bild 1 Bild 2 Bild 4a Bild 4b Bild 3 Bild 5 Bild 6 Bild 7 Bild 8 Bild 9 Bild 10 Bild 11 Bild 12 Bild 13 Bild 14 Bild 15 Bild 16 Bild 17 SV Guide för
GYMKEEPER ANDREAS SÖDERSTRÖM
GYMKEEPER ANDREAS SÖDERSTRÖM 20120529 ABSTRAKT En post mortem på mitt ios-projekt. Utmaningen låg i att under 10 veckors tid sätta sig in i en plattform och programspråk jag aldrig använt förut. Jag har