Làm thế nào tôi có thể chia một tập tin mp3?


35

Tôi có một tệp mp3 lớn xuất phát từ việc trích xuất một đĩa CD đầy đủ. Tôi muốn chia nó thành một tập tin cho mỗi bài hát. Sẽ thật tuyệt vời khi tìm thấy một phần mềm có thể tự động phân chia tệp, phát hiện bắt đầu và kết thúc của mỗi bài hát.

Thêm nền:

Tôi đã thử mp3splt và audacity. Người đầu tiên thất bại trong việc tự động phát hiện các bài hát và sự táo bạo dường như không thể làm được.

Tôi muốn ghi các bài hát vào đĩa CD (định dạng mp3) để phát sau đó trong đài phát thanh xe hơi của tôi. Nó sẽ không hỗ trợ bất kỳ thứ gì lạ mắt, thậm chí nó không có đầu nối USB.


Là cd ban đầu là một splob lớn của một tập tin, hoặc nó có các bản nhạc riêng lẻ khi nó trong một máy nghe nhạc cd?
djeikyb


Chỉ cần sử dụng một .cuetệp để tải tệp này và phát từng bản nhạc là một tùy chọn khác.
earthmeLon

Audacity có thể phát hiện các bài hát bằng cách xác định khoảng lặng giữa chúng. Tuy nhiên, tốt hơn là nên chia chúng với mp3splt để chúng không được giải mã + mã hóa lại. Xem quy trình làm việc của tôi như một câu trả lời dưới đây.
FairMiles

Câu trả lời:


14

Bạn có thể chia mp3 lớn của mình thành các phần nhỏ bằng cách sử dụng chức năng "split" hoặc "split new" trong audacity, sau đó có thể di chuyển tách phần âm thanh mà bạn muốn trộn vào một tệp khác để xuất nó.

Trong ảnh chụp màn hình tiếp theo, tôi đã tạo một Bản nhạc stereo mới để đặt âm thanh tách thành một bản nhạc khác (chỉ cho mục đích trực quan), sau đó tôi chuyển phần thứ hai của âm thanh sang bản nhạc đó và tôi đã chọn một phần âm thanh có thể được xuất thành một tập tin mới.

nhập mô tả hình ảnh ở đây

Bạn không phải chia âm thanh để xuất phần âm thanh thành một tệp khác, bạn chỉ cần chọn âm thanh và chọn "Xuất lựa chọn" trong Menu Tệp.

Trong ảnh chụp màn hình tiếp theo tôi đang làm như tôi đã nói trong các từ trên.

nhập mô tả hình ảnh ở đây

Nếu bạn chưa có CD, có thể trích xuất âm thanh với một tệp cho mỗi bài hát bằng cách sử dụng "Máy ép âm thanh", điều này sẽ cho phép bạn chọn cách trích xuất phương tiện từ CD. Bằng cách này, bạn sẽ có một tệp mp3 cho mỗi bài hát. Và nhiệm vụ trộn tất cả các bài hát vào một tệp lớn sẽ dễ dàng đạt được bởi Audacity, chỉ trong trường hợp bạn cần làm như vậy.

Máy ép âm thanh có thể được cài đặt qua synap hoặc bằng cách truy cập vào trang web tại: http://burtonini.com/blog/computers/sound-juicer

Một ảnh chụp màn hình được đặt ở đây để bạn thấy Máy ép âm thanh hoạt động. (Xin lỗi, tôi không có CD để trích xuất ngay bây giờ, vì vậy danh sách phát trống)

nhập mô tả hình ảnh ở đây


48

Audacity là BAD cho điều đó - vì nó mã hóa lại mp3 và chất lượng bị hạ cấp. Tôi sử dụng ffmpeg để cắt mp3 - Tôi tin rằng nó không thực hiện mã hóa lại:

  • thời gian bắt đầu, thời lượng:

    ffmpeg -i InputFile -vn -acodec copy -ss 00:00:00 -t 00:01:32 OutputFile
    
  • thời gian bắt đầu, thời gian kết thúc:

    ffmpeg -i InputFile -vn -acodec copy -ss 00:00:00 -to 00:01:32 OutputFile
    

người ta cũng có thể bao gồm mili giây với ví dụ 00:00:00.000.


Xin vui lòng xem ý kiến ​​để trả lời máy bay phản lực.
Javier Rivera

Người ta cho rằng có thể nghe thấy một mã chuyển tiền bị mất khi phát lại từ âm thanh nổi trên xe hơi, nhưng đây sẽ là cách để sử dụng, bất kể sử dụng.
Nit

2
FYI những đối số này sẽ CÒN hoạt động với "avconv", nếu bạn đang ở một bản phân phối đã thay thế ffmpeg bằng libav. Thông báo trước là bạn phải đặt đối số -ss trước đối số -i. Ngoài ra, lưu ý rằng đối số đến -t là thời lượng, không tìm kiếm thời gian.
ACK_stoverflow

@Adobe Tôi thích cách tiếp cận này. Bạn có biết nếu bạn có thể chỉ định mức độ chi tiết của mili giây? Tôi có nhu cầu cắt bỏ phần đầu tiên của một số mp3 mà tất cả bắt đầu với cùng một chuỗi không mong muốn.
frakman1

@ frakman1 bạn có nghĩa là chỉ định mili giây? Như thế này: ffmpeg -i a.ogg -ss 00:01:02.500 -t 00:01:03.250 -c copy x2.ogg( nguồn )
Adobe

32

Bạn nói rằng bạn đã thử mp3splt nhưng bạn đã đọc toàn bộ trang này chưa?

Tôi yêu cầu bởi vì -schế độ im lặng có thể lấy tham số để giúp nó xác định im lặng.

Dưới đây là một ví dụ trang man với các tham số tùy chọn:

mp3splt -s -p th=-50,nt=10 album.mp3
  • th: mức ngưỡng (dB) được coi là im lặng
  • nt số lượng bài hát

Ngoài ra còn có -cchế độ truy vấn cơ sở dữ liệu CDDB. Nếu đây là CD đã biết, bạn có thể lấy danh sách bản nhạc từ trực tuyến. Điều này cũng sẽ đặt tên theo dõi chính xác và (tôi nghĩ) nó thậm chí sẽ thiết lập các thẻ.

Nó là một công cụ vô cùng mạnh mẽ và là một trong những lựa chọn tốt nhất của bạn để bảo vệ chất lượng ... Vì vậy, đừng viết ngay lập tức.


2
Không. Sự thật là tôi chỉ sử dụng GUI mp3split-gtk. Tôi sẽ nhìn họ.
Javier Rivera

Xui xẻo. Tùy chọn duy nhất không có sẵn trong GUI là cung cấp cho nó số lượng bản nhạc. Nhưng nó chỉ bỏ qua nó và tìm thấy cùng một số bài hát từ GUI.
Javier Rivera

9

bạn có thể thử một cái gì đó như:

ffmpeg -i /path/music.mp3 -t 00:10:00 -ss 00:20:00 -acodec copy /path/save.mp3


Chắc chắn, nhưng tôi sẽ cần phải tìm thủ công từng thời gian bài hát. Sẽ nhanh hơn để làm điều đó với sự táo bạo, ít nhất là tôi có thể nhìn thấy sóng.
Javier Rivera

Nếu bạn muốn viết kịch bản thì ffmpeg có thể giúp
jchook

2

mp3splt hoạt động tốt. Làm thế nào tốt phụ thuộc vào những gì bạn phải bắt đầu với và những gì bạn mong đợi cho kết quả. Thêm đầu vào = đầu ra nhiều hơn. Nếu bạn biết số lượng bài hát có trong các tệp mp3 lớn, điều này giúp cho bạn biết số lượng tệp đầu ra là chính xác. Bạn PHẢI có các phần im lặng giữa các bài hát của mình trong tệp mp3 lớn. Chìa khóa cho mp3splt là tìm giá trị chính xác cho "th". Nếu "th" quá thấp, bạn có thể có quá nhiều đầu ra, vì vậy tất cả các bài hát của bạn đều bị phân mảnh. Nếu quá cao, các bài hát của bạn sẽ không bị chia tách và bạn có thể có nhiều hơn 1 bài hát cho mỗi lần chia. Giả sử bạn có một tệp lớn và không có gì khác: ví dụ: không có chỉ mục cho tiêu đề hoặc thời gian.

Tệp lớn của tôi có tên là "artist.ogg" Đây là lệnh tôi đã sử dụng:

mp3splt -s -p th = -40 artist.ogg

Điều này dẫn đến 34 bài hát được phân chia chính xác, mỗi bài được đặt tên theo kiểu ser_s là artist_silence_01.ogg -xx.ogg, v.v.

Một lần nữa, nếu bạn có quá nhiều phần tách, hãy thử "th = -48". Nếu quá ít, hãy thử "th = -36".

Từ các tệp đầu ra này, bây giờ bạn sẽ cần đổi tên chúng thành tên bài hát bạn muốn và thêm nhãn vào thuộc tính tệp. [Tôi biết không có macro cho việc này, vì vậy phải là một quy trình thủ công].

hi vọng điêu nay co ich.

cập nhật PS. Cho đến nay, mp3splt hoạt động cho các tệp mp3 và ogg. Tôi chưa có thành công nào cho các tập tin m4a.



1

Câu trả lời sau đây về stack overflow có lẽ có liên quan:

https://stackoverflow.com/questions/36074224/how-to-split-video-or-audio-by-silent-parts

Tóm tắt câu trả lời này, bạn có thể sử dụng ffmpeg để xác định các vùng im lặng:

ffmpeg -i "input.mov" -af silencedetect=noise=-30dB,d=0.5 -f null - 2> vol.txt

Và sau đó phân tách các tệp bằng công thức của Adobe:

ffmpeg -i InputFile -vn -acodec copy -ss 00:00:00 -t 00:01:32 OutputFile

Điều này sẽ yêu cầu một chút phân tích về phần của bạn


0

Tôi đã nhận được kết quả chất lượng (mặc dù không hoàn toàn tự động) với Audacity + mp3splt.

Nếu bạn không có .cuehoặc một .cddbtệp có giới hạn bài hát (ví dụ: đó không phải là album được công nhận), bạn có thể:

  1. Dán nhãn thủ công bản nhạc trong Audacity như được giải thích trong hướng dẫn sử dụng , có thể được trợ giúp bởi tính năng tự động im lặng trước đó (với Phân tích> Công cụ tìm kiếm im lặng, xem tại đây ) để đoán lần đầu tiên về các lần phá vỡ khét tiếng
  2. Xuất nhãn (với Tệp> Xuất Nhãn, xem tại đây ) thành tệp văn bản đơn giản và
  3. Đưa tệp .txt vào mp3splt theo tùy chọn -A(dưới dạng mp3splt -A labels.txt Album.mp3).

Nó sẽ nhanh chóng (không giải mã + mã hóa lại) xuất ra một tệp cho mỗi phân đoạn bằng cách sử dụng mỗi tên nhãn làm tên tệp.

Chỉ cần cẩn thận sử dụng nhãn vùng (và không phải nhãn điểm , xem tại đây ) để đánh dấu điểm bắt đầu và kết thúc của mỗi bài hát trong Audacity.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.