⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 audio_cnv.c

📁 MIDI解码程序(用VC编写)
💻 C
📖 第 1 页 / 共 5 页
字号:
/*    TiMidity++ -- MIDI to WAVE converter and player    Copyright (C) 1999-2002 Masanao Izumo <mo@goice.co.jp>    Copyright (C) 1995 Tuukka Toivonen <tt@cgs.fi>    This program is free software; you can redistribute it and/or modify    it under the terms of the GNU General Public License as published by    the Free Software Foundation; either version 2 of the License, or    (at your option) any later version.    This program is distributed in the hope that it will be useful,    but WITHOUT ANY WARRANTY; without even the implied warranty of    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the    GNU General Public License for more details.    You should have received a copy of the GNU General Public License    along with this program; if not, write to the Free Software    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA    audio_cnv.c    Audio conversion for U-law, A-law, linear pcm 16-bit.    Final update: Thu Feb 22 1996*/#ifdef HAVE_CONFIG_H#include "config.h"#endif /* HAVE_CONFIG_H */#include "timidity.h"#include "audio_cnv.h"/* audio_cnv.c * audio U-law, A-law, linear pcm 16-bit conversions. * * Final update: Thu Feb 22 1996 */#define TABLE_SIZE8  256#define TABLE_SIZE14 16384const char u2c_table[TABLE_SIZE8] = {(char)0x82,	(char)0x86,	(char)0x8a,	(char)0x8e,	(char)0x92,	(char)0x96,	(char)0x9a,	(char)0x9e,(char)0xa2,	(char)0xa6,	(char)0xaa,	(char)0xae,	(char)0xb2,	(char)0xb6,	(char)0xba,	(char)0xbe,(char)0xc1,	(char)0xc3,	(char)0xc5,	(char)0xc7,	(char)0xc9,	(char)0xcb,	(char)0xcd,	(char)0xcf,(char)0xd1,	(char)0xd3,	(char)0xd5,	(char)0xd7,	(char)0xd9,	(char)0xdb,	(char)0xdd,	(char)0xdf,(char)0xe0,	(char)0xe1,	(char)0xe2,	(char)0xe3,	(char)0xe4,	(char)0xe5,	(char)0xe6,	(char)0xe7,(char)0xe8,	(char)0xe9,	(char)0xea,	(char)0xeb,	(char)0xec,	(char)0xed,	(char)0xee,	(char)0xef,(char)0xf0,	(char)0xf1,	(char)0xf1,	(char)0xf2,	(char)0xf2,	(char)0xf3,	(char)0xf3,	(char)0xf4,(char)0xf4,	(char)0xf5,	(char)0xf5,	(char)0xf6,	(char)0xf6,	(char)0xf7,	(char)0xf7,	(char)0xf8,(char)0xf8,	(char)0xf8,	(char)0xf9,	(char)0xf9,	(char)0xf9,	(char)0xf9,	(char)0xfa,	(char)0xfa,(char)0xfa,	(char)0xfa,	(char)0xfb,	(char)0xfb,	(char)0xfb,	(char)0xfb,	(char)0xfc,	(char)0xfc,(char)0xfc,	(char)0xfc,	(char)0xfc,	(char)0xfc,	(char)0xfd,	(char)0xfd,	(char)0xfd,	(char)0xfd,(char)0xfd,	(char)0xfd,	(char)0xfd,	(char)0xfd,	(char)0xfe,	(char)0xfe,	(char)0xfe,	(char)0xfe,(char)0xfe,	(char)0xfe,	(char)0xfe,	(char)0xfe,	(char)0xfe,	(char)0xfe,	(char)0xfe,	(char)0xfe,(char)0xff,	(char)0xff,	(char)0xff,	(char)0xff,	(char)0xff,	(char)0xff,	(char)0xff,	(char)0xff,(char)0xff,	(char)0xff,	(char)0xff,	(char)0xff,	(char)0xff,	(char)0xff,	(char)0xff,	(char)0xff,(char)0xff,	(char)0xff,	(char)0xff,	(char)0xff,	(char)0xff,	(char)0xff,	(char)0xff,	(char)0x00,(char)0x7e,	(char)0x79,	(char)0x75,	(char)0x71,	(char)0x6d,	(char)0x69,	(char)0x65,	(char)0x61,(char)0x5d,	(char)0x59,	(char)0x55,	(char)0x51,	(char)0x4d,	(char)0x49,	(char)0x45,	(char)0x41,(char)0x3e,	(char)0x3c,	(char)0x3a,	(char)0x38,	(char)0x36,	(char)0x34,	(char)0x32,	(char)0x30,(char)0x2e,	(char)0x2c,	(char)0x2a,	(char)0x28,	(char)0x26,	(char)0x24,	(char)0x22,	(char)0x20,(char)0x1f,	(char)0x1e,	(char)0x1d,	(char)0x1c,	(char)0x1b,	(char)0x1a,	(char)0x19,	(char)0x18,(char)0x17,	(char)0x16,	(char)0x15,	(char)0x14,	(char)0x13,	(char)0x12,	(char)0x11,	(char)0x10,(char)0x0f,	(char)0x0e,	(char)0x0e,	(char)0x0d,	(char)0x0d,	(char)0x0c,	(char)0x0c,	(char)0x0b,(char)0x0b,	(char)0x0a,	(char)0x0a,	(char)0x09,	(char)0x09,	(char)0x08,	(char)0x08,	(char)0x07,(char)0x07,	(char)0x07,	(char)0x06,	(char)0x06,	(char)0x06,	(char)0x06,	(char)0x05,	(char)0x05,(char)0x05,	(char)0x05,	(char)0x04,	(char)0x04,	(char)0x04,	(char)0x04,	(char)0x03,	(char)0x03,(char)0x03,	(char)0x03,	(char)0x03,	(char)0x03,	(char)0x02,	(char)0x02,	(char)0x02,	(char)0x02,(char)0x02,	(char)0x02,	(char)0x02,	(char)0x02,	(char)0x01,	(char)0x01,	(char)0x01,	(char)0x01,(char)0x01,	(char)0x01,	(char)0x01,	(char)0x01,	(char)0x01,	(char)0x01,	(char)0x01,	(char)0x01,(char)0x00,	(char)0x00,	(char)0x00,	(char)0x00,	(char)0x00,	(char)0x00,	(char)0x00,	(char)0x00,(char)0x00,	(char)0x00,	(char)0x00,	(char)0x00,	(char)0x00,	(char)0x00,	(char)0x00,	(char)0x00,(char)0x00,	(char)0x00,	(char)0x00,	(char)0x00,	(char)0x00,	(char)0x00,	(char)0x00,	(char)0x00};const char c2u_table[TABLE_SIZE8] = {(char)0xf0,	(char)0xe0,	(char)0xd8,	(char)0xd0,	(char)0xcc,	(char)0xc8,	(char)0xc4,	(char)0xc0,(char)0xbe,	(char)0xbc,	(char)0xba,	(char)0xb8,	(char)0xb6,	(char)0xb4,	(char)0xb2,	(char)0xb0,(char)0xaf,	(char)0xae,	(char)0xad,	(char)0xac,	(char)0xab,	(char)0xaa,	(char)0xa9,	(char)0xa8,(char)0xa7,	(char)0xa6,	(char)0xa5,	(char)0xa4,	(char)0xa3,	(char)0xa2,	(char)0xa1,	(char)0xa0,(char)0x9f,	(char)0x9f,	(char)0x9e,	(char)0x9e,	(char)0x9d,	(char)0x9d,	(char)0x9c,	(char)0x9c,(char)0x9b,	(char)0x9b,	(char)0x9a,	(char)0x9a,	(char)0x99,	(char)0x99,	(char)0x98,	(char)0x98,(char)0x97,	(char)0x97,	(char)0x96,	(char)0x96,	(char)0x95,	(char)0x95,	(char)0x94,	(char)0x94,(char)0x93,	(char)0x93,	(char)0x92,	(char)0x92,	(char)0x91,	(char)0x91,	(char)0x90,	(char)0x90,(char)0x8f,	(char)0x8f,	(char)0x8f,	(char)0x8f,	(char)0x8e,	(char)0x8e,	(char)0x8e,	(char)0x8e,(char)0x8d,	(char)0x8d,	(char)0x8d,	(char)0x8d,	(char)0x8c,	(char)0x8c,	(char)0x8c,	(char)0x8c,(char)0x8b,	(char)0x8b,	(char)0x8b,	(char)0x8b,	(char)0x8a,	(char)0x8a,	(char)0x8a,	(char)0x8a,(char)0x89,	(char)0x89,	(char)0x89,	(char)0x89,	(char)0x88,	(char)0x88,	(char)0x88,	(char)0x88,(char)0x87,	(char)0x87,	(char)0x87,	(char)0x87,	(char)0x86,	(char)0x86,	(char)0x86,	(char)0x86,(char)0x85,	(char)0x85,	(char)0x85,	(char)0x85,	(char)0x84,	(char)0x84,	(char)0x84,	(char)0x84,(char)0x83,	(char)0x83,	(char)0x83,	(char)0x83,	(char)0x82,	(char)0x82,	(char)0x82,	(char)0x82,(char)0x81,	(char)0x81,	(char)0x81,	(char)0x81,	(char)0x80,	(char)0x80,	(char)0x80,	(char)0x80,(char)0x00,	(char)0x00,	(char)0x00,	(char)0x00,	(char)0x01,	(char)0x01,	(char)0x01,	(char)0x01,(char)0x02,	(char)0x02,	(char)0x02,	(char)0x02,	(char)0x03,	(char)0x03,	(char)0x03,	(char)0x03,(char)0x04,	(char)0x04,	(char)0x04,	(char)0x04,	(char)0x05,	(char)0x05,	(char)0x05,	(char)0x05,(char)0x06,	(char)0x06,	(char)0x06,	(char)0x06,	(char)0x07,	(char)0x07,	(char)0x07,	(char)0x07,(char)0x08,	(char)0x08,	(char)0x08,	(char)0x08,	(char)0x09,	(char)0x09,	(char)0x09,	(char)0x09,(char)0x0a,	(char)0x0a,	(char)0x0a,	(char)0x0a,	(char)0x0b,	(char)0x0b,	(char)0x0b,	(char)0x0b,(char)0x0c,	(char)0x0c,	(char)0x0c,	(char)0x0c,	(char)0x0d,	(char)0x0d,	(char)0x0d,	(char)0x0d,(char)0x0e,	(char)0x0e,	(char)0x0e,	(char)0x0e,	(char)0x0f,	(char)0x0f,	(char)0x0f,	(char)0x0f,(char)0x10,	(char)0x10,	(char)0x11,	(char)0x11,	(char)0x12,	(char)0x12,	(char)0x13,	(char)0x13,(char)0x14,	(char)0x14,	(char)0x15,	(char)0x15,	(char)0x16,	(char)0x16,	(char)0x17,	(char)0x17,(char)0x18,	(char)0x18,	(char)0x19,	(char)0x19,	(char)0x1a,	(char)0x1a,	(char)0x1b,	(char)0x1b,(char)0x1c,	(char)0x1c,	(char)0x1d,	(char)0x1d,	(char)0x1e,	(char)0x1e,	(char)0x1f,	(char)0x1f,(char)0x20,	(char)0x21,	(char)0x22,	(char)0x23,	(char)0x24,	(char)0x25,	(char)0x26,	(char)0x27,(char)0x28,	(char)0x29,	(char)0x2a,	(char)0x2b,	(char)0x2c,	(char)0x2d,	(char)0x2e,	(char)0x2f,(char)0x30,	(char)0x32,	(char)0x34,	(char)0x36,	(char)0x38,	(char)0x3a,	(char)0x3c,	(char)0x3d,(char)0x3f,	(char)0x43,	(char)0x47,	(char)0x4b,	(char)0x4f,	(char)0x57,	(char)0x5f,	(char)0x6f};const char c2a_table[TABLE_SIZE8] = {(char)0xd5,	(char)0xc5,	(char)0xf5,	(char)0xfd,	(char)0xe5,	(char)0xe1,	(char)0xed,	(char)0xe9,(char)0x95,	(char)0x97,	(char)0x91,	(char)0x93,	(char)0x9d,	(char)0x9f,	(char)0x99,	(char)0x9b,(char)0x85,	(char)0x84,	(char)0x87,	(char)0x86,	(char)0x81,	(char)0x80,	(char)0x83,	(char)0x82,(char)0x8d,	(char)0x8c,	(char)0x8f,	(char)0x8e,	(char)0x89,	(char)0x88,	(char)0x8b,	(char)0x8a,(char)0xb5,	(char)0xb5,	(char)0xb4,	(char)0xb4,	(char)0xb7,	(char)0xb7,	(char)0xb6,	(char)0xb6,(char)0xb1,	(char)0xb1,	(char)0xb0,	(char)0xb0,	(char)0xb3,	(char)0xb3,	(char)0xb2,	(char)0xb2,(char)0xbd,	(char)0xbd,	(char)0xbc,	(char)0xbc,	(char)0xbf,	(char)0xbf,	(char)0xbe,	(char)0xbe,(char)0xb9,	(char)0xb9,	(char)0xb8,	(char)0xb8,	(char)0xbb,	(char)0xbb,	(char)0xba,	(char)0xba,(char)0xa5,	(char)0xa5,	(char)0xa5,	(char)0xa5,	(char)0xa4,	(char)0xa4,	(char)0xa4,	(char)0xa4,(char)0xa7,	(char)0xa7,	(char)0xa7,	(char)0xa7,	(char)0xa6,	(char)0xa6,	(char)0xa6,	(char)0xa6,(char)0xa1,	(char)0xa1,	(char)0xa1,	(char)0xa1,	(char)0xa0,	(char)0xa0,	(char)0xa0,	(char)0xa0,(char)0xa3,	(char)0xa3,	(char)0xa3,	(char)0xa3,	(char)0xa2,	(char)0xa2,	(char)0xa2,	(char)0xa2,(char)0xad,	(char)0xad,	(char)0xad,	(char)0xad,	(char)0xac,	(char)0xac,	(char)0xac,	(char)0xac,(char)0xaf,	(char)0xaf,	(char)0xaf,	(char)0xaf,	(char)0xae,	(char)0xae,	(char)0xae,	(char)0xae,(char)0xa9,	(char)0xa9,	(char)0xa9,	(char)0xa9,	(char)0xa8,	(char)0xa8,	(char)0xa8,	(char)0xa8,(char)0xab,	(char)0xab,	(char)0xab,	(char)0xab,	(char)0xaa,	(char)0xaa,	(char)0xaa,	(char)0xaa,(char)0x2a,	(char)0x2a,	(char)0x2a,	(char)0x2a,	(char)0x2b,	(char)0x2b,	(char)0x2b,	(char)0x2b,(char)0x28,	(char)0x28,	(char)0x28,	(char)0x28,	(char)0x29,	(char)0x29,	(char)0x29,	(char)0x29,(char)0x2e,	(char)0x2e,	(char)0x2e,	(char)0x2e,	(char)0x2f,	(char)0x2f,	(char)0x2f,	(char)0x2f,(char)0x2c,	(char)0x2c,	(char)0x2c,	(char)0x2c,	(char)0x2d,	(char)0x2d,	(char)0x2d,	(char)0x2d,(char)0x22,	(char)0x22,	(char)0x22,	(char)0x22,	(char)0x23,	(char)0x23,	(char)0x23,	(char)0x23,(char)0x20,	(char)0x20,	(char)0x20,	(char)0x20,	(char)0x21,	(char)0x21,	(char)0x21,	(char)0x21,(char)0x26,	(char)0x26,	(char)0x26,	(char)0x26,	(char)0x27,	(char)0x27,	(char)0x27,	(char)0x27,(char)0x24,	(char)0x24,	(char)0x24,	(char)0x24,	(char)0x25,	(char)0x25,	(char)0x25,	(char)0x25,(char)0x3a,	(char)0x3a,	(char)0x3b,	(char)0x3b,	(char)0x38,	(char)0x38,	(char)0x39,	(char)0x39,(char)0x3e,	(char)0x3e,	(char)0x3f,	(char)0x3f,	(char)0x3c,	(char)0x3c,	(char)0x3d,	(char)0x3d,(char)0x32,	(char)0x32,	(char)0x33,	(char)0x33,	(char)0x30,	(char)0x30,	(char)0x31,	(char)0x31,(char)0x36,	(char)0x36,	(char)0x37,	(char)0x37,	(char)0x34,	(char)0x34,	(char)0x35,	(char)0x35,(char)0x0a,	(char)0x0b,	(char)0x08,	(char)0x09,	(char)0x0e,	(char)0x0f,	(char)0x0c,	(char)0x0d,(char)0x02,	(char)0x03,	(char)0x00,	(char)0x01,	(char)0x06,	(char)0x07,	(char)0x04,	(char)0x05,(char)0x1a,	(char)0x18,	(char)0x1e,	(char)0x1c,	(char)0x12,	(char)0x10,	(char)0x16,	(char)0x14,(char)0x6a,	(char)0x6e,	(char)0x62,	(char)0x66,	(char)0x7a,	(char)0x72,	(char)0x4a,	(char)0x5a};

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -