ครั้งแรก:
เข้าใจความแตกต่างระหว่างนั้นการเข้ารหัสและรูปแบบภาชนะ http://en.wikipedia.org/wiki/Digital_container_format
รูปแบบคอนเทนเนอร์เป็นรูปแบบข้อมูลที่ "ห่อหุ้ม" ข้อมูลที่เข้ารหัสอื่น ๆ มันมักจะมี "ข้อมูลเมตา" เกี่ยวกับข้อมูลที่เข้ารหัสหรือมีวิธีการจัดเก็บสตรีมข้อมูลที่เข้ารหัสแยกหลายรายการหรืออะไรทำนองนั้น
การเข้ารหัสที่ผลิตโดยตัวแปลงสัญญาณเป็น "เนื้อ" ที่แท้จริงของกระแสข้อมูล
ตัวอย่างที่พบได้บ่อยที่สุดคือรูปแบบ "Ogg / Vorbis" Ogg เป็นรูปแบบคอนเทนเนอร์และ Vorbis เป็นการเข้ารหัส ดังนั้นคุณมีไฟล์ที่มีรูปแบบ Ogg และภายในมีถังเล็ก ๆ เหล่านี้ที่มีข้อมูลที่เข้ารหัส ภายในที่เก็บข้อมูลแต่ละชุดจะมีสตรีมข้อมูลที่เข้ารหัส Vorbis และไม่มีอะไรอื่นอีก บนถังอาจมีการประทับตราชื่อของศิลปินและชื่อเพลงเป็นต้น
ดังนั้นกลับไปที่เทคโนโลยี:
หากคุณมีเพลงในรูปแบบ lossy อยู่แล้วเช่น mp3 หรือ ogg / vorbis การแปลงเป็นรูปแบบ lossless จะกินเนื้อที่ดิสก์ (มาก) เนื้อที่และจะไม่ดีขึ้นอย่างแน่นอน - จะไม่ปรับปรุงคุณภาพของ เสียงใด ๆ คุณไม่สามารถสร้างความจงรักภักดีได้เมื่อมันสูญหายไปแล้ว นอกเสียจากคุณกำลังเขียนอินเทอร์เฟซ GUI ใน Visual Basic บนรายการทีวียอดนิยมบางรายการที่เรียกว่า CSI แต่นั่นไม่ใช่ความเป็นจริง
หากคุณมีเพลงในรูปแบบ lossless อื่น ๆ และคุณต้องการแปลงเป็น FLAC คุณสามารถทำได้
ระวังการขว้างปาคำว่า "WAV" Wav ไม่ต้องขาดทุน จริงๆแล้ว WAV เป็นเพียงคอนเทนเนอร์สำหรับรูปแบบที่เป็นไปได้ต่างๆ มันเหมือนกับ AVI ในแง่นั้น คุณสามารถมี lossless WAV ได้หากเป็นเพียงข้อมูลดิบ PCM แต่คุณสามารถฝังข้อมูล MPEG-1 Layer III (lossy) ลงในไฟล์ WAV ได้
เป็นไปได้ที่จะสูญเสียข้อมูลเมื่อทำการแปลงจากรูปแบบที่ไม่สูญเสียรูปแบบหนึ่งไปเป็นรูปแบบอื่นหากคุณลดความน่าเชื่อถือของข้อมูล ตัวอย่างเช่นถ้าคุณแปลงสตรีมข้อมูล PCM 16 บิตที่ไม่ได้ลงชื่อที่ 48000 Hz เป็นสตรีมข้อมูล PCM 8 บิตที่ 44100 Hz คุณจะสูญเสียความจงรักภักดีในสองวิธี: ตัวอย่างจะถูกรวมเข้าด้วยกันจาก 48000 เหลือเพียง 44100 ต่อ วินาที (ทำให้สูญเสียข้อมูล) และข้อมูลจะต้องถูกผสมลงเพื่อให้พอดีกับข้อมูลเป็น 8 บิตแทนที่จะเป็น 16 ต่อตัวอย่างซึ่งจะทำให้คุณภาพเสียหายอย่างมาก
สตรีมเสียงดิจิตอลทุกแบบแม้กระทั่งที่เข้ารหัสโดยตัวเข้ารหัสแบบบีบอัด (แบบ lossy หรือ lossless) มี "คุณสมบัติรูปแบบตัวอย่าง" ต่อไปนี้ซึ่งเป็นองค์ประกอบสำคัญที่อธิบายคุณสมบัติของสตรีม:
ตัวอย่างความกว้างบิตและความลึกบิตเช่น 8 บิต, 16 บิต ฯลฯ ความกว้างบิตและความลึกแตกต่างกันเล็กน้อยและยังมีเล็ก ๆ น้อย ๆ endian / ใหญ่ -dian (ซึ่งไม่ส่งผลกระทบต่อคุณภาพ) และลงนามหรือไม่ได้ลงนาม ส่งผลกระทบต่อคุณภาพ แต่จะส่งผลต่อวิธีที่ตัวเข้ารหัส / ตัวถอดรหัสเกี่ยวข้องกับข้อมูล) จุดสำคัญที่ต้องจำคือ "บิตมากกว่าดีกว่า" ดังนั้น 32 บิตดีกว่า 16 บิตเป็นต้น
ความถี่หรือที่เรียกว่าอัตราการสุ่มตัวอย่าง มากขึ้นดีกว่าเพราะคุณมี "ตัวอย่าง" ของการเล่นเสียงต่อวินาที ลองจินตนาการถึงการแปรงนิ้วของคุณอย่างรวดเร็วบนสำรับไพ่และดูไพ่ที่ผ่านไปอย่างเบลอ - นั่นคือสิ่งที่เกิดขึ้นในระบบเสียงดิจิตอล แต่ละตัวอย่างเป็นการ์ดและหากคุณมีการ์ดที่บินได้มากขึ้นต่อวินาทีเสียงจะราบรื่นยิ่งขึ้น เช่นคุณจะสังเกตเห็นว่าคุณเพิ่งพลิกไพ่ 5 ใบต่อวินาที แต่มันจะเบลอถ้าคุณพลิกไพ่หลายพันใบต่อวินาที มากกว่านั้นดีกว่าเพราะมันเป็นธรรมชาติและใกล้เคียงกับความเป็นจริงมากขึ้นซึ่งเป็นแบบอะนาล็อกและการแบ่งอย่างไม่สิ้นสุด (ดีลงไปที่หน่วยพลังค์ แต่เป็นที่ถกเถียงกัน
"Lossless" เพียงหมายความว่าถ้าคุณใช้รูปแบบตัวอย่างที่เหมือนกันหรือดีกว่าในเอาต์พุตที่คุณใช้ในอินพุตคุณจะไม่สูญเสียข้อมูลใด ๆ
ดังนั้นถ้าคุณไปจากรูปแบบตัวอย่าง 16 บิตถึง 32 บิตคุณจะไม่สูญเสียข้อมูล แต่ถ้าคุณเปลี่ยนจาก 32 บิตเป็น 16 บิตคุณจะสูญเสียข้อมูล
ดังนั้นคำตอบสำหรับคำถามของคุณว่าการใช้ FLAC นั้นสมเหตุสมผลหรือไม่นั้นขึ้นอยู่กับแหล่งข้อมูล: ถ้าคุณมีไฟล์ WAV แบบ 64- บิตที่ถูกบันทึกไว้ในรูปแบบตัวอย่างนั้นด้วย 192000 Hz (aka 192KHz) และคุณแปลงเป็น " รูปแบบตัวอย่าง FLAC มาตรฐานขนาด 16 บิตและ 44.1 KHz คุณจะสูญเสียข้อมูลจำนวนหนึ่งตัน แต่ถ้าไฟล์ WAV ของคุณเป็น 8 บิตมีเพียง 22100 ตัวอย่างต่อวินาทีและคุณแปลงเป็น 16-bit FLAC ด้วย 44100 ตัวอย่างต่อวินาทีคุณจะไม่สูญเสียข้อมูล และคุณอาจท้ายเพิ่มขนาดไฟล์ขึ้นอยู่กับว่าการบีบอัดแบบไม่บีบอัดหรือรูปแบบตัวอย่างขนาดเล็กจะชนะ
รูปแบบตัวอย่างจะมีผลต่อปริมาณพื้นที่ไฟล์ที่ใช้ดังนั้นบิต "ใหญ่" และอัตราการสุ่มตัวอย่าง "เร็ว" จะใช้พื้นที่มากขึ้น
เท่าที่มีความกังวลในทางปฏิบัติและหูมนุษย์: คุณจะไม่สังเกตเห็นว่าคุณแปลงต้นฉบับที่มีความเที่ยงตรงสูงเป็น 16- บิต 44.1KHz FLAC แต่คุณจะไม่สังเกตเห็นการปรับปรุงหากคุณแปลง MP3 เป็น FLAC ดังนั้นคุณต้องประเมินรูปแบบตัวอย่างของแหล่งข้อมูลของคุณก่อนที่คุณจะตัดสินใจทำ
ตอนนี้ฉันได้ให้ข้อมูลทั้งหมดแก่คุณแล้วต่อไปนี้เป็นคำตอบที่ตรงและไม่มีคำตอบสำหรับคำถามของคุณ:
ฉันมีคำถามสองสามข้อเกี่ยวกับเสียง lossless ฉันกำลังพิจารณาที่จะริพคอลเล็คชั่นเพลงทั้งหมดของฉันเป็น lossless .flac แต่ฉันต้องการที่จะเข้าใจบางสิ่งเกี่ยวกับมันก่อน
ถ้าคอลเล็คชั่นเพลงของคุณอยู่ในแผ่นซีดีและคุณต้องการที่จะคัดลอกมาที่ FLAC นั่นเป็นความคิดที่ดีมากสำหรับฉัน เสียงคุณภาพซีดีจะอยู่ที่ 44.1 KHz และที่ 16 บิตต่อตัวอย่าง ตรงนี้ตรงกับการตั้งค่าเริ่มต้นของ FLAC (อย่างน้อยค่าเริ่มต้นในโปรแกรมเปลี่ยนไฟล์ที่ฉันใช้) ดังนั้นคุณจะไม่สูญเสียข้อมูลใด ๆ และจะเหมือนกันกับข้อมูลอินพุตเมื่อถอดรหัส
หากฉันมีไฟล์ที่เป็น. flac และฉันต้องการทำให้เป็นเช่นนั้นพูด. wav ฉันจะทำสิ่งนี้เพื่อไม่ให้สูญเสียคุณภาพได้อย่างไร ถ้าฉันขยายมันฉันรู้ว่าฉันจะไม่สูญเสียคุณภาพ การแปลง. flac เป็น .wav เหมือนกับการคลายการบีบอัดหรือไม่
คุณสามารถแปลงเป็นไฟล์. wav ด้วยรูปแบบตัวอย่างเดียวกันหรือกว้างกว่าข้อมูลอินพุตและคุณจะไม่สูญเสียคุณภาพใด ๆ
เมื่อเครื่องเล่นสื่อเล่นเสียงในไฟล์ flac ของคุณจะเป็นการถอดรหัสข้อมูล flac เป็นรูปแบบ PCM ก่อนที่จะส่งข้อมูล PCM นั้นไปยังการ์ดเสียง มันจะขยายไปยังข้อมูลเดียวกันที่แน่นอนที่เข้าไป ดังนั้นหากข้อมูล 16-bit 44.1 KHz PCM เข้าไปนั่นคือสิ่งที่จะออกมาและไปที่ลำโพงของคุณ
ข้อแตกต่างระหว่างกิจกรรมนี้และการแปลงเสียงเป็นไฟล์ WAV คือเมื่อคุณแปลงเป็นไฟล์ WAV จะต้องสร้างคอนเทนเนอร์ WAV ด้วยฟิลเลอร์บิตที่เหมาะสมเป็นต้นและยังช่วยให้คุณเลือกรูปแบบตัวอย่าง ของไฟล์ WAV แต่สมมติว่ารูปแบบตัวอย่างเหมือนกันดังนั้นความแตกต่างเพียงอย่างเดียวระหว่างไฟล์ FLAC และ WAV ของคุณจะเป็นขนาดไฟล์: ไฟล์ WAV จะมีขนาดใหญ่กว่ามาก
รูปแบบนี้ใช้กับรูปแบบ. ape ด้วยหรือไม่ ฉันมีการบันทึกโดเมนสาธารณะไม่กี่แห่งที่ฉันได้ดาวน์โหลดในรูปแบบ.. แต่ฉันต้องการให้เป็น. flac จะ. การ. flac เป็นไปได้โดยไม่ใช้. wav เป็นคนกลาง ฉันต้องการให้แน่ใจว่าไม่มีแม้แต่น้อยจะหายไปในทางใดทางหนึ่ง
ไม่มีก็ไม่ได้ที่จะทำเช่นนี้โดยไม่ต้องใช้บางรูปแบบ PCM เป็นคนกลาง แต่ใช่มันเป็นไปได้ที่จะทำโดยไม่ต้องใช้ไฟล์ WAV สังเกตความแตกต่าง PCM datastream ไฟล์ WAV หากความแตกต่างไม่ชัดเจนสำหรับคุณให้อ่านจุดเริ่มต้นโพสต์ของฉันอีกครั้ง หากคุณต้องการให้แน่ใจว่า "ไม่สูญเสียแม้แต่น้อย" คุณจะต้องตรวจสอบไฟล์ APE ของคุณและเข้าใจว่ามีรูปแบบตัวอย่างใดบ้างและตรวจสอบให้แน่ใจว่าตัวเข้ารหัส FLAC ของคุณถูกตั้งค่าให้เข้ารหัสสำหรับการตั้งค่าเดียวกัน
ภายในโปรแกรมแปลงเสียงจะถอดรหัสจากรูปแบบต้นฉบับไปเป็นรูปแบบตัวอย่าง PCM แบบไม่สูญเสียบางส่วนจากนั้นนำตัวอย่าง PCM เหล่านั้นและเข้ารหัสในรูปแบบปลายทางอีกครั้ง
นอกจากนี้หากมีคำแนะนำใด ๆ ที่อธิบายถึงโลกแห่งการสูญเสียอย่างไร้ที่ติใคร ๆ ก็เต็มใจที่จะแชร์ลิงก์หรือไม่? :)
ในความคิดของฉันวิธีที่ดีที่สุดในการเรียนรู้คือการทำ หากคุณใช้เวลาในการเรียนรู้กรอบ Gstreamer วิธีใช้และความหมายของ tunables ต่างๆของรูปแบบตัวอย่างและวิธีสร้างไพพ์คุณจะออกมาด้วยความเข้าใจที่แข็งแกร่งของเสียงดิจิตอล ลองดูสิ http://gstreamer.freedesktop.org/นอกจากนี้คุณยังสามารถคว้า Gstreamer SDK จากhttp://code.entropywave.com/gstreamer-sdk/ (รองรับ Windows) และทดลองใช้ gst-launch-0.10 โดยไม่ต้องรวบรวมอะไรเลย จากแหล่งที่มา
สิ่งที่เปิดเผยบางประการ:
gst-inspect-0.10 vorbisenc gst-inspect-0.10 vorbisdec gst-inspect-0.10 audioconvert gst-inspect-0.10 audioresample
จากนั้นเรียนรู้เกี่ยวกับหมวกสร้างท่อ ฯลฯ และคุณจะเคลื่อนไหวไปพร้อม
* หมายเหตุ: ฉันรู้ว่าฉันไม่ได้อธิบายว่า PCM คืออะไร Wikipedia ทำงานได้ดีกว่านี้: http://en.wikipedia.org/wiki/Pulse-code_modulation