Мне нужно разбить большую коллекцию файлов WAV на более мелкие сегменты и преобразовать их в 16-битные 16-битные монофонические файлы WAV. Чтобы сегментировать файлы WAV, я скачал класс WavFile
со следующего сайта: Класс WavFile . Я немного подправил его, чтобы пропустить произвольное количество кадров. Используя этот класс, я создал класс WavSegmenter
, который будет читать исходный wav-файл и копировать кадры между временем x и временем y в новый wav-файл. Время начала и время окончания я могу получить из предоставленного XML-файла, и я могу получить кадры, используя sample rate * time
. Моя проблема в том, что я не знаю, как преобразовать частоты выборки из 44 100 в 16 000.
В настоящее время я ищу Java Sound API для этого. Изначально я не обращался к нему, потому что я долго находил руководства, но если это лучший из существующих вариантов, я готов их пройти. Я все еще хотел бы знать, есть ли другой способ сделать это, все же. Наконец, я хотел бы знать, должен ли я полностью адаптировать Java API Sound и отбросить класс WavFile
, который я сейчас использую. Для меня это звучит хорошо, но я бы хотел быть уверенным.
Заранее большое спасибо за потраченное время.