Конвертировать звуковой файл в WAV с определенным битрейтом и вырезать определенную часть файла - PullRequest
0 голосов
/ 07 июля 2011

У меня есть звуковой файл (в основном mp3, но он может быть любого битрейта). Мне нужно метод, чтобы извлечь указанную часть входного файла (не более 40 секунд) в 8-битный моно WAV-вывод Буду признателен за любую помощь или совет в выборе библиотеки Java для этого.

Ответы [ 2 ]

2 голосов
/ 07 июля 2011

Вы можете использовать JavaLayer для декодирования mp3 в wav.Вырезать 40-секундный клип из wav не должно быть проблемой.

Здесь вы можете найти некоторые советы о микшировании стерео и моно: http://www.jsresources.org/examples/SingleChannelStereoConverter.html

Преобразование 16-битного звука в 8-bit просто удаляет старшие 8 бит: Преобразование 16-битного pcm в 8 бит

EDIT : Подробнее об извлечении 40-секундных частей:

Выходные данные декодера представляют собой образцы PCM.если ваш вход 16-битный стерео 44100 Гц, то каждый кадр 16 бит * 2 канала = 4 байта, каждая секунда 44100 * 4 байта.Пропустите столько выходных байтов, сколько вам нужно, до начала нужной части, затем сбросьте 44100 * 4 * 40 байт за 40 секунд.Вы даже можете микшировать в моно, а затем сокращать до 8 бит по ходу.

0 голосов
/ 07 июля 2011

Я видел много ссылок для конвертации в противоположном смысле, о которых вы спрашиваете. Я имею в виду, что вы обычно получаете информацию для конвертации WAV в MP3 с использованием Java, но, возможно, вы можете получить некоторую идею, попробовав Java Media Framework API(JMF)

http://www.oracle.com/technetwork/java/javase/tech/index-jsp-140239.html.

Они объявили о новой поддержке MP3

http://www.oracle.com/technetwork/java/javase/download-137625.html

, возможно, вы можете найти альтернативу для преобразования MP3в WAV.

извините, я не могу помочь с чем-то конкретным

Emecas

...