1 и 0 для аудио файла в Java - PullRequest
       56

1 и 0 для аудио файла в Java

0 голосов
/ 09 августа 2011

У меня в настоящее время есть String, который содержит 1 и 0.Я хочу сделать аудиофайл из этой строки, желательно в формате .WAV, используя Java.Как мне это сделать?Существуют ли какие-либо API для написания байтов для создания .WAV?какие-нибудь учебники / блоги?

Заранее спасибо!ура!

Ответы [ 2 ]

1 голос
/ 20 августа 2011

Я думаю, что вам лучше всего взглянуть на интерфейс TargetDataLine .Я предполагаю, что вы уже способны конвертировать ваши строки в массив byte [].Этот байтовый массив можно рассматривать как эквивалент необработанных аудиоданных, но я понятия не имею, будет ли он звучать как-нибудь интересно.С форматом .wav вы можете использовать 16-битную кодировку (два байта на выборку) или 8-битную, я полагаю, в зависимости от размера ваших символов.

Но, учитывая, что 44100 выборок наво-вторых, это одна из самых распространенных скоростей, я хотел бы отметить, что для этого потребуется МНОГО текста за очень короткое время, если каждый образец представляет собой букву!

Функции «ключа» в TargetDataLineиндекс в этот массив, и метод read (), который использует этот индекс в качестве метода read (), вызывается неоднократно.Метод read () должен возвращать до байтов байтового значения при каждом вызове.

Одним из методов, которые вам также потребуется реализовать, будет getFormat ().Я использую следующий код в простом синтезаторе " Термен ", чтобы выводить байты из плавающих таблиц (используя "волновую таблицу" из примерно 1000 плавающих чисел для одной итерации звуковой волны) в стерео, 16-битный, 44100 кадров в секунду, формат с прямым порядком байтов .wav для SourceDataLine для воспроизведения.

@Override
public AudioFormat getFormat() 
{
    AudioFormat af = new AudioFormat(
        AudioFormat.Encoding.PCM_SIGNED, 
        44100, 16, 2, 4, 44100, false);
    return af;
}

Вы можете узнать больше из Учебников по Java.В частности, я хотел бы взглянуть на разделы «Настройка TargetDataLine» и «Чтение из TargetDataLine» в учебном пособии Capturing Audio .

Но также, возможно, в самом начале звуковые учебные пособия , где обсуждается природа звуковых данных, будут очень стоить вашего времени.

1 голос
/ 09 августа 2011

Этот является сторонним звуковым API Java, он содержит множество примеров , которые могут быть вам полезны. И Sun Java API, вы можете изучить здесь .

Вот Вопрос стека об API звука Java.

...