Tôi đã có tệp .mp3 và cần chuyển đổi tệp đó thành tệp wav 1 kênh 8kHz 8 bit, có ai biết làm thế nào tôi có thể làm điều đó với mplayer không? Nếu không, bất kỳ công cụ dòng lệnh nào khác tôi có thể sử dụng?
Tôi đã có tệp .mp3 và cần chuyển đổi tệp đó thành tệp wav 1 kênh 8kHz 8 bit, có ai biết làm thế nào tôi có thể làm điều đó với mplayer không? Nếu không, bất kỳ công cụ dòng lệnh nào khác tôi có thể sử dụng?
Câu trả lời:
ffmpeg nên làm công việc. Dòng này sẽ chuyển đổi thành tập tin wav 8kHz 1 kênh.
ffmpeg -i input.mp3 -ar 8000 -ac 1 output.wav
http://ffmpeg.org/ffmpeg-doc.html#SEC11
Tôi không chắc chắn về yêu cầu 8 bit - bạn đang đề cập đến điều gì? Đó không phải là bitrate chắc chắn?
què , bộ mã hóa WAV sang MP3 dòng lệnh, cũng có thể giải mã MP3 thành WAV bằng công --decode
tắc.
mpg321 input.mp3 -w output.wav
Khi tôi thử què, nó đã sai thời lượng (thời gian phát) trong tệp đầu ra, trong khi với mpg321 thì nó lại xuất hiện chính xác.
SoX cũng có thể làm điều này; giả sử SoX của bạn được biên dịch với hỗ trợ MP3, tất cả những gì bạn cần là
sox input.mp3 -c 1 -r 8000 -1 output.wav
... mặc dù bạn có thể gặp phải các vấn đề cắt, trong trường hợp đó bạn muốn chơi với các hiệu ứng vol
và / hoặc mixer
để giảm âm lượng của các kênh đầu vào trước khi quá trình lấy mẫu lại xảy ra.
Nếu không có SoX hỗ trợ MP3, trước tiên hãy sử dụng bộ giải mã MP3 để chuyển đổi MP3 sang WAV, sau đó lệnh trên trở thành:
sox input.wav -c 1 -r 8000 -1 output.wav
mplayer -srate 8000 -vo null -vc null -ao pcm:fast:file="$fn.wav" "$fn"
Điều này cũng sẽ hoạt động để trích xuất đoạn âm thanh từ video và bất kỳ trình phát tệp phương tiện nào khác được định cấu hình để xử lý.