問題タブ [lame]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
node.js - MP3 をループするには?
MP3 をループするには?
これを使って MP3 を再生しますが、一度しか再生されません。
MP3を連続再生したい。
使用:
bash - bash で ffmpeg を使用する
ディレクトリ内で.wavファイルをmp3(ラメV0プリセット付き)にトランスコードするbashスクリプトを作成しようとしています。これが私がこれまでに持っているものです
最初のdo行で拡張子が切り取られているため、後でファイル名を使用できます。
単一のファイルで ffmpeg コマンドをテストしましたが、それをforループに含めると、(最後のトラックで) 次のエラーが発生します。
lame行に余分な引数がある理由、または ffmpeg が「10」という名前のファイルのみを参照している理由がわかりません。足りないものはありますか?
助けてくれてありがとう
php - PHP から LAME を使用して WAV を MP3 に変換する
PHP スクリプトを使用してその場で MP3 に変換したい WAV データがあります。WAV ファイルはスクリプトに由来するため、ファイルとして開始されません。
次のようなものを実行できます。
しかし、これには、まず in.wav をディスクに書き込み、ディスクから .mp3 を読み取り、終了したらクリーンアップする必要があります。私はそれをしないほうがいいです。代わりに、wav ファイルを $wav に保存しています。これを LAME で実行して、出力されたデータが $mp3 に保存されるようにしたいと考えています。
FFMPEG PHP ライブラリへの参照を見てきましたが、可能であれば、このタスクのために追加のライブラリをインストールする必要は避けたいと考えています。
ios - icecast サーバーに複数パケットのデータを書き込めません
私はmp3でエンコードし、ソケット接続を使用してicecastサーバーに書き込みます。しかし問題は、新しいバッファが生成されているにもかかわらず、エンコードされたバイトに変換された新しいバッファが server に書き込まれていないことです。
audio - SoX mp3 圧縮の「品質」オプションの効果は何ですか?
SoX を使用して、いくつかの異なる形式のオーディオ ファイルを mp3 に変換しています。docsによると、 -C引数を使用して、ビットレートや品質などの圧縮オプションを指定できます。品質は小数点以下です。次に例を示します。
sox input.wav -C 128.01 output.mp3
(最高品質、低速)
sox input.wav -C 128.99 output.mp3
(最低品質、高速)
2 番目の音はひどい音だと思っていましたが、2 つの音の音質はまったく同じでした。その場合、パフォーマンスが非常に遅い理由や、圧縮をより高い「品質」に設定することで何が得られるのかわかりません。
高品質の圧縮と低品質の圧縮を使用することに本当の違いや利点があるかどうか、誰か教えてください。
PS各出力ファイルのファイルサイズも確認しましたが、どちらもまったく同じサイズです。しかし、ハッシュすると、各ファイルは異なるハッシュで出力されます。
ruby - ruby - IO.popen が機能しない stdin と stdout のエンコーディングが不十分
私はパイプ、IO.popen
特にRubyで作業してきましたが、理解できない問題に遭遇しました。flac
プロセスからプロセスへのバイナリデータをファイルに書き込もうとしてlame
います。私が使用しているコード構造は以下のとおりです。
しかし、うまくいきません。の実行後flac
、スクリプトはハングし、lame
アイドル状態のままになります (プロセッサはまったく使用されません)。エラーや例外は発生しません。
Windows 7 で cygwin ruby パッケージ ( 1.9.3p429 (2013-05-15) [i386-cygwin] ) を使用して cygwin を使用しています。
私は何か間違ったことをしているに違いありません。どんな助けも大歓迎です。ありがとう!
エクストラ #1
オーディオファイルをトランスコードlame
するためにプラットフォームに依存しない(もちろんルビーのサポートは限定されています)を作成しようとしているため、プロセスからバイナリデータをパイプインおよびパイプアウトしたいと考えています.Windowsバイナリはlame
Windowsのパス名のみをサポートし、cygwinの.
編集#1
IO.popen
Windows でプロセスをブロックすることに関する既知の問題があり、これが当てはまる可能性があるいくつかの場所を読みました (URL を保存しなかったので、ブラウザーの履歴で検索してみます) 。
RubyOpen3.popen3
やを含む他のライブラリをいじってみOpen4
ましたが、上記のコード構造と非常によく似たコード構造に従っているため、lame
プロセスは依然としてハングし、応答しません。
編集#2
Windowsの制限と、ファイルから標準入力へのストリーミングデータの使用をどのように妨げるかについて説明しているこの記事を見つけました。cmd.exe
これをテストするために、コードを次のようにリファクタリングしましたが、lame
結局のところ、stdin 書き込みでフリーズします。その行を削除(コメントアウト)すると、lame
プロセスが実行されます(「サポートされていないオーディオ形式」の警告が表示されます)。おそらく、この記事で述べたことで、ここで私の問題を説明できるかもしれません。
編集#3
(最初の回答で)パイプの実装は信頼できないと述べたこのスタックオーバーフローを見つけました。cygwin
これはおそらく、実際には Windows に関連するものではなく (少なくとも直接的には)、cygwin とそのエミュレーションに関連している可能性があります。代わりに、 icyの回答に基づいて、次のコードを使用することを選択しました。
c#-4.0 - Lameを使用してmp3への混合波ストリーム
複数の mp3 ファイルと wave ファイルを組み合わせて、最終的に 1 つの MP3 を作成しようとしています。
例: 5 つのソース ファイル (3 つの mp3 ファイル、2 つの wave ファイル)
各ストリームの入力を WaveMixerStream32 に渡し、最終的に Wave32To16Stream を使用して変換します
この最終ストリームを MP3 に変換する必要があります。このために、LAME を使用し、ストリームを EncodeMixedStreamAsMp3 に渡します。これは、「無効なファイル形式」というエラーを返します。
調査の結果、混合ウェーブ ストリームで RIFF ヘッダーが欠落していることがわかりました。
複数のソース (MP3 と WAVE) に基づいて生成された混合ウェーブ ストリームに RIFF を追加する方法は?
ios - iOS の AudioQueueServices サンプルの助けを借りて ( LAME を使用して) オーディオ リニア pcm を mp3 に変換します。
私は iOS 開発の初心者です。iOS で LinearPCM を MP3 にエンコードしています。AudioToolbox フレームワークと Lame を使用して、マイクからの生の PCM データを MP3 にエンコードしようとしています。 . エンコードされたストリームに存在するノイズと歪みだけが得られます。AudioQueue を正しくセットアップしたかどうか、またエンコードされたバッファを正しいワットで処理したかどうかはわかりません...オーディオ録音をセットアップするための私のコード:
サンプル プロジェクトhttps://github.com/vecter/Audio-Queue-Services-Example
次に、AudioQueue コールバック関数が lame_encode_buffer を呼び出し、エンコードされたバッファをファイルに書き込みます。
データの追加
ここで何が悪いのか誰にもアドバイスできますか?
他に、既に完了したサンプル プロジェクトを投稿しますか?