📄 audio_cnv.c
字号:
/* 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 + -