Linux コマンドを使用してオーディオ形式を変換および結合する方法

Linux コマンドを使用してオーディオ形式を変換および結合する方法

FFmpeg flacをインストールする

eric@ray:~$ sudo apt install FFmpeg flac

lame faacをインストールする

eric@ray:~$ sudo apt install lame faac

.ape拡張子のビデオをm4a(mp4)形式に変換する

1. まず、ffmpegコマンドまたはflacコマンドを使用してmav形式に変換し、次にlameを使用してwavをmp4形式に変換します。

eric@ray:~/Music$ ffmpeg -i Gracie-Theme.ape Gracie-Theme.wav

##または eric@ray:~/Music$ flac -d Gracie-Theme.flac Gracie-Theme.wav

2. lameコマンドを使用してMP3に圧縮する

##lame コマンドを使用: VBR 動的ビット レート圧縮を使用します。0 は最高品質、9 は最低品質、デフォルトは 4 です。

eric@ray:~/Music$ lame -v Gracie-Theme.wav

##または、faac エンコーディングを使用して m4a (mp4) または mp3 形式のファイルを取得します。100 は最高品質が 100% であることを意味します。 

eric@ray:~/Music$ faac -w -q 100 Gracie-Theme.wav -o Gracie-Theme.mp4

3. ffmpeg を使用して圧縮し、m4a 形式を取得することもできます。

#ここではffmpegの組み込みaacエンコーディングを使用し、ビットレートを320kに固定します

eric@ray:~/Music$ ffmpeg -i Gracie-Theme.wav -strict experimental -c:a aac -b:a 320k Gracie-Theme.m4a

#ffmpeg を使って 1 つのコマンドで解凍と圧縮を行うこともできます: -map_metadata は曲のメタデータ (名前、歌手など) を保持することを意味します。eric@ray:~/Music$ ffmpeg -i Gracie-Theme.flac -ab 320k -map_metadata 0 Gracie-Theme.m4a

4. バッチスクリプト

#!/bin/bash

*.ape 形式のファイルの場合;
する
ffmpeg -i "$FILE" temp.wav;
lame -b 320 temp.wav "${FILE%.*}.mp3";
rm temp.wav
終わり

複数の曲を含むape/flacファイルの場合

この場合、通常はキュー ファイルがあり、アルバム名、歌手名、各曲の名前、ape/flac ファイルの時間範囲が含まれます。まず上記の方法を使用してファイル全体を MP3 形式に変換し、次に mp3splt ツールを使用して分割します。

cue ファイルを mp3 に分割します。

eric@ray:~/Music$mp3splt -c song.cue -o @n.@t song.mp3

共通パラメータ:

@a: 歌手名

@b: アルバムタイトル

@t:曲名

@n: トラック番号

オーディオの統合

# オーディオの結合(2つのオーディオが重なる)

eric@ray:~/Music$ffmpeg -i first.mp3 -i second.mp3 -filter_complex amix=inputs=2:duration=first:dropout_transition=2 -f mp3 third.mp3

#2 つのオーディオの結合 eric@ray:~/Music$ffmpeg -i d1.mp3 -i d2.mp3 -filter_complex '[0:0] [1:0] concat=n=2:v=0:a=1 [a]' -map [a] j5.mp3

#3 つのオーディオの結合 eric@ray:~/Music$ffmpeg -i title.wav -i content.WAV -i end.wav -filter_complex '[0:0] [1:0] [2:0] concat=n=3:v=0:a=1 [a]' -map [a] synthesis.wav

参考文献

FFmpeg および AAC エンコーディング ガイド https://trac.ffmpeg.org/wiki/Encode/AAC

オーディオ形式の変換とスプライシングを実現する上記の Linux コマンド メソッドは、エディターが皆さんと共有する内容のすべてです。参考になれば幸いです。また、123WORDPRESS.COM をサポートしていただければ幸いです。

以下もご興味があるかもしれません:
  • LinuxテキストファイルとWINテキストファイルの改行形式変換コマンドの詳しい説明

<<:  Linux システムが VMware にインストールされているかどうかを確認する方法

>>:  JavaScript 組み込みの日付と時刻の書式設定のサンプル コード

推薦する

MySQL 5.7 でブロックポジショニング DDL の問題を解決する

前回の記事「MySQL テーブル構造の変更、メタデータ ロックを知っておく必要があります」では、MD...

ウェブページ HTML 順序付きリスト ol と順序なしリスト ul

データを整理するためのリストWeb ページの表示を制御する多数の HTML タグを学習した後、読者は...

マスタークラスタに再参加する k8s ノードの実装

1. ノードを削除するkubectl delete node node01を実行します。 2. この...

MySQL テーブル フィールドの時間設定のデフォルト値

アプリケーションシナリオデータ テーブルでは、アプリケーションは各データがいつ作成されたかを記録する...

スタイリッシュなウェブページデザインを作成する方法(グラフィックチュートリアル)

「壮大」という言葉は、おそらく現代のデザイナーが最も聞きたくない言葉でしょう。デザイナー:「デザイン...

CSS3 でテキストマーキーを実装するためのサンプルコード

背景何が起こったかというと、Luzhu は偶然、宇宙で最高の外部スピーカーを備えた携帯電話について知...

HTML 適応テーブル方式

<body style="scroll:no"> <テーブルの...

Linuxの一般的なコマンドでLinuxのmoreコマンドを使用する方法

more は、最もよく使用されるツールの 1 つです。最も一般的な使用方法は、出力コンテンツを表示し...

Vueスロットの実装原理についての簡単な説明

目次1. サンプルコード2. 現象を通して本質を見抜く3. 実施原則4. 親コンポーネントのコンパイ...

MySQLテーブル名の大文字と小文字を区別しない設定方法の詳細な説明

デフォルトでは、Linux の MySQL はテーブル名の大文字と小文字を区別します。 MySQL ...

MySQL で 2 つのデータベース テーブル構造を比較する方法

開発およびデバッグのプロセスでは、新しいコードと古いコードの違いを比較する必要があります。比較には、...

MySQL フェイルオーバー ノート: アプリケーション対応設計の詳細な説明

1. はじめに周知のように、データベース ミドルウェアの読み取り/書き込み分離のアプリケーション シ...

Linux (Ubuntu 18.04) に vim エディタをインストールする方法

デスクトップ システムをダウンロードするには、Ubuntu の公式 Web サイト (https:/...

MySQL SQL ステートメント分析とクエリ最適化の詳細な説明

パフォーマンスの問題のあるSQL文を取得する方法1. ユーザーからのフィードバックを通じてパフォーマ...

html+css3で実装されたログインインターフェース

成果を達成するまずHTMLを使って基本的なフレームワークを構築します <本文> <...