私が持っているように最近学んだこと、エンコードされたflacデータをSTDOUTに送信することによって生成されたflacファイルには、一部のメタデータ、特に記録長に関する情報がありません。
このデータを遡及して追加できますか?wavでデコードしてデータを再エンコードする必要はありません。(データはwavファイルに比べて大きすぎます、flacはwavで幸せにデコードされますが、エラーが発生し、その後のflacへの再エンコードを拒否しますか?役に立つ場合は、録音の正確な長さを知っています。
ちょっと気になりました:7日間のオーディオ録音をflacからwavに、その逆にデコードして再エンコードすると、これが起こります。
flac --decode test.flac
flac 1.3.1, Copyright (C) 2000-2009 Josh Coalson, 2011-2014 Xiph.Org Foundation
flac comes with ABSOLUTELY NO WARRANTY. This is free software, and you are
welcome to redistribute it under certain conditions. Type `flac' for details.
test.flac: WARNING, cannot check MD5 signature since it was unset in the STREAMINFO
done
test.flac: ERROR: stream is too big to fit in a single WAVE file
これで、VLCでうまく再生され、適切な長さ情報を含むwavファイルが作成されました。録音してみてください:
flac test.wav --best --output-name="test2.flac"
flac 1.3.1, Copyright (C) 2000-2009 Josh Coalson, 2011-2014 Xiph.Org Foundation
flac comes with ABSOLUTELY NO WARRANTY. This is free software, and you are
welcome to redistribute it under certain conditions. Type `flac' for details.
test.wav: ERROR: 'data' chunk has size of 0
ベストアンサー1
私が見つけた唯一の解決策は、soxを使用してすべてを再エンコードすることです。
sox test.flac test_full.flac --show-progress
これにより、録音全体を取得してデコードしてから、flacで再エンコードします。非効率的ですが、まだ作業を完了します。 10分のコーディング時間を節約できるより良いソリューションがある場合は、自由に別の回答を追加してください。