手机铃声格式规范,midi格式规范 |
| 作者:佚名 来源:天堂鸟 发布时间:2005-7-8 15:18:00 |
|
um 125 telephone ring 118 melodic tom 126 helicopter 119 synth drum 127 applause 120 reverse cymbal 128 gunshot **** table 2 - general midi percussion key map **** (assigns drum sounds to note numbers. midi channel 10 is for percussion) midi drum sound midi drum sound key key 35 acoustic bass drum 59 ride cymbal 2 36 bass drum 1 60 hi bongo 37 side stick 61 low bongo 38 acoustic snare 62 mute hi conga 39 hand clap 63 open hi conga 40 electric snare 64 low conga 41 low floor tom 65 high timbale 42 closed hi-hat 66 low timbale 43 high floor tom 67 high agogo 44 pedal hi-hat 68 low agogo 45 low tom 69 cabasa 46 open hi-hat 70 maracas 47 low-mid tom 71 short whistle 48 hi-mid tom 72 long whistle 49 crash cymbal 1 73 short guiro 50 high tom 74 long guiro 51 ride cymbal 1 75 claves 52 chinese cymbal 76 hi wood block 53 ride bell 77 low wood block 54 tambourine 78 mute cuica 55 splash cymbal 79 open cuica 56 cowbell 80 mute triangle 57 crash cymbal 2 81 open triangle 58 vibraslap **** table 3 - general midi minimum sound module specs **** voices: a minimum of either 24 fully dynamically allocated voices available simultaneously for both melodic and percussive sounds or 16 dynamically allocated voices for melody plus eight for percussion. channe": general midi mode supports all sixteen midi channe". each channel can play a variable number of voices (polyphony). each channel can play a different instrument (timbre). keybased percussion is always on channel 10. instruments: a minimum of sixteen different timbres playing various instrument sounds. a minimum of 128 preset for intruments (midi program numbers). note on/note off: octabe registration: middle c(c3) = midi key 60. all voices including percussion respond to velocity. controllers: controller # description 1 modulation 7 main volume 10 pan 11 expression 64 sustain 121 reset all controllers 123 all notes off registered description parameter # 0 pitch bend sensitivity 1 fine tuning 2 coarse tuning additional channel messages: channel pressure (aftertouch) pitch bend power-up defaults: pitch bend amount = 0 pitch bend sensitivity = +-2 semitones volume = 90 all other controllers = reset (after electronic musician, 8/91 issue) ------------------------------ DEC.CPP ------------------------------------ /* file dec.cpp by Dustin Caldwell (dustin@gse.utah.edu) */ #include <dos.h> #include <stdio.h> #include <stdlib.h> void helpdoc(); main() { FILE *fp; unsigned char ch, c; if((fp=fopen(_argv[1], "rb"))==NULL) /* open file to read */ { printf("cannot open file %s\n",_argv[1]); helpdoc(); exit(-1); } c=0; ch=fgetc(fp); while(!feof(fp)) /* loop for whole file */ { printf("%u\t", ch); /* print every byte's decimal equiv. */ c++; if(c>8) /* print 8 numbers to a line */ { c=0; printf("\n"); } ch=fgetc(fp); } fclose(fp); /* close up */ } void helpdoc() /* print help message */ { printf("\n Binary File Decoder\n\n"); printf("\n Syntax: dec binary_file_name\n\n"); printf("by Dustin Caldwell (dustin@gse.utah.edu)\n\n"); printf("This is a filter program that reads a binary file\n"); printf("and prints the decimal equivalent of each byte\n"); printf("tab-separated. This is mostly useful when piped \n"); printf("into another file to be edited manually. eg:\n\n"); printf("c:\>dec sonata3.mid > son3.txt\n\n"); printf("This will create a file called son3.txt which can\n"); printf("be edited with any ascii editor. \n\n"); printf("(rec.exe may a"o be useful, as it reencodes the \n"); printf("ascii text file).\n\n"); printf("Have Fun!!\n"); } ---------------------------- REC.CPP ---------------------------------- /* File rec.cpp by Dustin Caldwell (dustin@gse.utah.edu) */ #include <dos.h> #include <stdio.h> #include <ctype.h> #include <stdlib.h> void helpdoc(); main() { FILE *rfp, *wfp; unsigned char ch, c; char s[20]; if((rfp=fopen(_argv[1], "r"))==NULL) /* open the read file */ { printf("cannot open file %s \n",_argv[1]); helpdoc(); exit(-1); } if((wfp=fopen(_argv[2], "wb"))==NULL) /* open the write file */ { printf("cannot open file %s \n",_argv[1]); helpdoc(); exit(-1); } c=0; ch=fgetc(rfp); while(!feof(rfp)) /* loop for whole file */ { if(isalnum(ch)) /* only 'see' valid ascii chars */ { c=0; while(isdigit(ch)) |
| [] [返回上一页] [打 印] |
|
文章评论 |
