тут главное понять как работает эм-эр-зе и все остальные системы пожатия с потерей данных.
физика примерно такова. есть разложение в ряд фурье, которое дает частотное представление сигнала.
вообще при помощи корелляции раскладывать сигнал можно в любой ряд, НО ряд фурье дает т.н. ортогональность преобразований. то есть при помощи обратного преобразования мы получим исходный сигнал. ряд фурье определяется длиной преобразования. допустим если мы преобразовываем 1024 семпла сигнал с семплрейтов в 44100Hz, то самая нижняя частота будет 44100/1024=43Hz, следующая - в два раза больше (86Hz), следующая в 3 раза больше (129Hz) и т.д. половина частот будет находится выше частоты нойквиста и образовывать "фантомные частоты". их можно отбросить...
не суть. в результате мы заместо 1024 семплов получим 512 пар коэффициентов для набора частот 43, 86, 129, 172, 215, 258, 301 и т.д. это коэффициенты принято обозначать как Re и Im. Re - амплитуда на частот, Im - фаза на частоте. тут нужно заметить, что количество информации для кодирования сигнала не изменилось. как было 1024 значений, так и осталось. НО для битрейта в 128kpps нам надо оставить всего то 10% (!!!) процентов исходной информации. а как это сделать?
мягкий ход конем N1:
как мы уже знаем, частоты в ряду фурье идут линейно. соответственно максимальное разрешение мы получим именно на ВЧ. вот кусок ряда фурье для 1024 точек для ВЧ - 18189Hz, 18232Hz, 18275Hz, 18318Hz, 18361Hz и т.д. памятую, что что частота нойквиста для 44100 = 22050Hz и как правильно сказал Юрий Иванович что человек редко слышит выше 16-18kHz, да и нефих там случшать (в этом мире ничего не может колебаться с такой частотой) можно сделать вывод, что если мы просто отсечем все что выше 16kHz то треть информации (16-22.05khz) будет излишней и просто обнулив ее мы экономим дисковое пространство не затрагивая при этом "рабочий диапазон".
причем увеливая размер выборки (допустим 2048 или 4096) количество "отсекаемой информации" увеличивается.
жесткий ход конем N2:
но нам мало! 30% сжатия - это ниочем! надо жать 90%. а как? в этом случае мы лезем в "рабочий диапазон" (20-16000). в данном случае нам поможет такая особенность слуха как "слуховая маскировка". смысл этого явления в том, что если один сигнал перекрывает другой по спектру и громче его, то мы не слышим первый сигнал. это когда ты разговариваешь с собеседником и мимо проходит поезд. ты перестаешь слышать что говорит собеседник, так как шум поезда маскирует его голос. то есть, если на какой то частоте мы имеем большую амплитуду сигнала, а на соседних - малую, то мы можем просто отсечь соседние частоты (обнулим значения Im и Re) опять сьекономив место на диске.
то есть кодек берет допустим 24 идущих подряд частоты, выбирает из них 2 с максимальной амплитудой, а остальные - просто херит. само собой, что алгоритм чуть сложнее, но смысл его именно в этом.
жесткий ход конем N3.
есть еще один способ сьекономить дисковое пространство. это понизить разрешающую способность. допустим вы имеете изначальный битрейт 16bit. то есть каждая частота в ряду будет кодироватся двумя значениями по 16 bit каждое. из этих значений мы можем точно вычислить амплитуду и фазу нужного синуса. НО можно уменьшить битность значений допустим до 8 bit. но при этом точность фазы и амплитуды сильно пострадает. НО нам больше важна амплида, нежели фаза. поэтому можно пересчитать коэффициенты так чтобы амплитуда вычислялась максимально точно, а фаза - как получится. не знаю, применяет ли кто нибудь этот способ для кодирования аудиоданных, он больше нашел применение в сжатии картинок.
ИТОГО: зачем же я писал всю эту научную хрень? собственно, чтобы дать ответ на самый первый вопрос. если посмотреть методы сжатия, то я бы предпочел порезанный до 16kHz сигнал прореженному или с пониженной разрядностью. ИМХО само собой.