Tôi có một lô lớn của file tôi muốn chạy công nhận về việc sử dụng CMU Sphinx 4. Sphinx đòi hỏi các định dạng sau:Chuyển đổi file audio cho CMU Sphinx 4 đầu vào
- 16 khz
- 16 bit
- mono
- ít về cuối nhỏ
file của tôi là một cái gì đó giống như 44100 khz, 32 bit stereo file mp3. Tôi đã thử sử dụng Tritonus, và sau đó là phiên bản cập nhật JavaZoom, để chuyển đổi sử dụng mã từ bakuzen. Tuy nhiên, AudioSystem.getAudioInputStream(File)
ném một số UnsupportedAudioFileException
và tôi không thể tìm ra lý do tại sao, vì vậy tôi đã tiếp tục.
Bây giờ tôi đang thử ffmpeg. Các lệnh ffmpeg -i input.mp3 -ac 1 -ab 16 -ar 16000 output.wav
có vẻ như nó nên làm các trick (trừ ít endian), nhưng khi tôi kiểm tra đầu ra với Audacity, nó vẫn còn nhãn nó là "32-bit float". Lệnh tôi tìm thấy trên this site cũng sử dụng -acodec pcm_s16le
, mà từ tên của nó dường như được xuất ra 16 bit chút endian; tuy nhiên, Audacity vẫn cho tôi biết đầu ra là 32 bit float
.
Bất cứ ai có thể cho tôi biết cách chuyển đổi tệp âm thanh sang định dạng theo yêu cầu của CMU Sphinx 4?
Cảm ơn bạn, đây có vẻ là định dạng đúng. Tuy nhiên, các tệp đầu ra của tôi vẫn không chạy với Sphinx 4. Có thể phải hỏi @Nikolay Shmyrev trực tiếp ... –
Định dạng đã đúng. Tập tin của tôi chỉ không có vùng năng lượng bằng không, vì vậy một khi tôi thêm hoà sắc vào lối vào, mọi thứ hoạt động tốt. –
@NateGlenn Tôi không biết điều đó có nghĩa là gì, nhưng tốt để biết bạn đã làm việc đó. – LordNeckbeard