1 / 13

geluid, MIDI

geluid, MIDI. Een (vaste) melodie spelen op de PC speaker MIDI variable-length integers interpreteren. Geluid maken (werkt alleen op XP!). #include <windows.h> Beep( Frequency, Milliseconds ); _sleep( Milliseconds );. noten : naam (= toon hoogte). noten : duur. nootnaam  frequentie.

Download Presentation

geluid, MIDI

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. geluid, MIDI • Een (vaste) melodie spelen op de PC speaker • MIDI variable-length integers interpreteren Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology

  2. Geluid maken (werkt alleen op XP!) #include <windows.h> Beep( Frequency, Milliseconds ); _sleep( Milliseconds ); Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology

  3. noten : naam (= toon hoogte) Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology

  4. noten : duur Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology

  5. nootnaam  frequentie Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology

  6. een geinitialiseerd array int Prime[ 9 ] = { 1, 2, 3, 5, 7, 11, 13, 17, 19 }; int Square[] = { 1, 4, 9, 16, 25, 36 }; Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology

  7. een geinitialiseerd array (2) typedef struct { char naam[ 10 ]; float cijfer; } Student; Student Info[] = { { "hans", 6.7 }, { "johan", 3.2 }, { "michiel", 7.8 }, { "", 0.0 } }; Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology

  8. gebruik van #define (1) play( 4567, 400 ); play( 4793, 200 ); play( 4567, 400 ); play( 4793, 200 ); play( 4567, 400 ); play( 4793, 200 ); Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology

  9. gebruik van #define (2) #define A 4567 #define B 4793 #define HALF 400 #define KWART 200 play( A, HALF ); play( B, KWART ); play( A, HALF ); play( B, KWART ); play( A, HALF ); play( B, KWART ); Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology

  10. Opdracht 1 Maak een functie die je aanroept met • het MIDI noot nummer • de duur in milliseconden De functie moet dus het noot nummer vertalen naar de frequentie. De functie moet (voor debugging) ook de noot naam, nummer en duur afdrukken. Schrijf hiermee een programma dat een liedje laat horen. Gebruik #defines voor de lengtes (duur) van noten en eventueel voor de noten zelf. Gebruik een geinitialiseerd array om het liedje op te slaan. Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology

  11. MIDI variable-length integer format • 7 ‘data’ bits per byte • hoogste bit 0 voor ‘laatste’ byte • maximum is 4 bytes (dus 4x7=28 bits) Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology

  12. MIDI variable-length integer format Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology

  13. Opdracht 2 Schrijf een functie met de volgende definitie: int MIDI_Int( unsigned char **p ); Deze functie wordt aangeroepen met een pointer naar een pointer naar een (reeks) MIDI variable-length integers. De functie lees de eerste MIDI integer, veschuift de pointer tot net na die integer, en geeft die integer waarde terug. Test je functie. Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology

More Related