FLAC

จากวิกิพีเดีย สารานุกรมเสรี
ข้ามไปที่การนำทาง ข้ามไปที่การค้นหา

ฟรีตัวแปลงสัญญาณเสียงแบบไม่สูญเสีย
FLAC logo vector.svg
FLAC 1.3.3 screenshot.png
ผู้พัฒนามูลนิธิ Xiph.Org , Josh Coalson, Erik de Castro Lopo
เปิดตัวครั้งแรก20 กรกฎาคม 2544 ; 20 ปีที่แล้ว ( 2001-07-20 )
ปล่อยที่มั่นคง
1.3.3 [1] / 4 สิงหาคม 2562 ; 2 ปีที่แล้ว ( 4 สิงหาคม 2562 )
ที่เก็บ
ระบบปฏิบัติการข้ามแพลตฟอร์ม
พิมพ์ตัวแปลงสัญญาณ
ใบอนุญาตเครื่องมือบรรทัดคำสั่ง: GNU GPL
Libraries: BSD
เว็บไซต์xiph .org /flac
ฟรีตัวแปลงสัญญาณเสียงแบบไม่สูญเสีย
นามสกุลไฟล์
.flac
ประเภทสื่ออินเทอร์เน็ต
เสียง/flac
ตัวระบุประเภทเครื่องแบบ (UTI)org.xiph.flac
ตัวเลขมหัศจรรย์แฟลกซี[2]
ประเภทของรูปแบบเครื่องเสียง
มาตรฐานxiph .org /flac /format .html
เปิดรูปแบบ ?ใช่[3]

FLAC ( / F ลิตรæ k / ; ฟรี Lossless แปลงสัญญาณเสียง ) เป็นรูปแบบเสียงการเข้ารหัสสำหรับlossless อัดของเสียงดิจิตอลที่พัฒนาโดยมูลนิธิ Xiph.Orgและยังเป็นชื่อของโครงการซอฟต์แวร์ฟรีผลิตเครื่องมือ FLAC ที่ที่ แพ็คเกจซอฟต์แวร์อ้างอิงที่มีการใช้งานตัวแปลงสัญญาณเสียงดิจิตอลที่ถูกบีบอัดโดยอัลกอริธึมของ FLAC สามารถลดขนาดลงได้ระหว่าง 50 ถึง 70 เปอร์เซ็นต์ของขนาดดั้งเดิม[4]และแตกไฟล์เป็นสำเนาของข้อมูลเสียงต้นฉบับที่เหมือนกัน

FLAC เป็นรูปแบบเปิดกับค่าภาคหลวงฟรีใบอนุญาตและดำเนินการอ้างอิงซึ่งเป็นซอฟต์แวร์ฟรี FLAC รองรับการแท็กข้อมูลเมตาปกอัลบั้มและการค้นหาอย่างรวดเร็ว

ประวัติ

การพัฒนาเริ่มขึ้นในปี 2543 โดย Josh Coalson [5]รูปแบบบิตสตรีมหยุดนิ่งเมื่อ FLAC เข้าสู่ขั้นตอนเบต้าด้วยการเปิดตัวเวอร์ชัน 0.5 ของการใช้งานอ้างอิงเมื่อวันที่ 15 มกราคม พ.ศ. 2544 เวอร์ชัน 1.0 ได้รับการเผยแพร่เมื่อวันที่ 20 กรกฎาคม พ.ศ. 2544 [5]

เมื่อวันที่ 29 มกราคม พ.ศ. 2546 มูลนิธิ Xiph.Orgและโครงการ FLAC ได้ประกาศการรวมตัวของ FLAC ภายใต้แบนเนอร์ Xiph.org Xiph.org เป็นบ้านที่รูปแบบการบีบฟรีอื่น ๆ เช่นVorbis , Theora , Speexและบทประพันธ์ [5] [6] [7]

เวอร์ชัน 1.3.0 ได้รับการเผยแพร่เมื่อวันที่ 26 พฤษภาคม พ.ศ. 2556 ซึ่งเป็นจุดที่การพัฒนาถูกย้ายไปยังที่เก็บ git ของ Xiph.org [8]

องค์ประกอบ

โครงการ FLAC ประกอบด้วย:

  • รูปแบบการสตรีม
  • รูปแบบคอนเทนเนอร์อย่างง่ายสำหรับสตรีม หรือที่เรียกว่า FLAC (หรือNative FLAC )
  • libFLAC ไลบรารีของตัวเข้ารหัสและตัวถอดรหัสอ้างอิง และอินเทอร์เฟซข้อมูลเมตา
  • libFLAC++ ซึ่งเป็นwrapper เชิงวัตถุรอบ libFLAC
  • flac, โปรแกรมบรรทัดคำสั่งที่ใช้ libFLAC เพื่อเข้ารหัสและถอดรหัส FLAC streams
  • metaflac, ตัวแก้ไขข้อมูลเมตาบรรทัดคำสั่งสำหรับไฟล์ .flac และสำหรับการใช้ReplayGain
  • ปลั๊กอินอินพุตสำหรับเครื่องเล่นเพลงต่างๆ ( Winamp , XMMS , foobar2000 , musikCubeและอีกมากมาย)
  • ด้วยการรวมตัวกันของ Xiph.org รูปแบบคอนเทนเนอร์Oggเหมาะสำหรับการสตรีม (เรียกอีกอย่างว่าOgg FLAC )

ข้อมูลจำเพาะของรูปแบบสตรีมสามารถทำได้โดยทุกคนโดยไม่ได้รับอนุญาตล่วงหน้า (Xiph.org ขอสงวนสิทธิ์ในการตั้งค่าข้อกำหนด FLAC และรับรองการปฏิบัติตาม) และทั้งรูปแบบ FLAC หรือวิธีการเข้ารหัสหรือถอดรหัสใดๆ ที่นำมาใช้จะไม่ครอบคลุมอยู่ในสิทธิบัตรใดๆ . ดำเนินการอ้างอิงเป็นซอฟต์แวร์ฟรี รหัสที่มาสำหรับ libFLAC และ libFLAC ++ อยู่ภายใต้ใบอนุญาต BSDและแหล่งข้อมูลสำหรับflac, metaflacและปลั๊กอินที่มีอยู่ภายใต้ใบอนุญาตสาธารณะทั่วไป

ในเป้าหมายที่ระบุไว้ โครงการ FLAC สนับสนุนให้นักพัฒนาไม่ใช้คุณลักษณะป้องกันการคัดลอก ( DRM ) ใดๆ [9]

การออกแบบ

แหล่งที่มาของเสียงที่เข้ารหัสเป็น FLAC มักจะลดลงเหลือ 50–70% ของขนาดดั้งเดิม คล้ายกับรูปแบบที่ไม่สูญเสียข้อมูลอื่น ๆ แม้ว่าขนาดสุดท้ายจะขึ้นอยู่กับความหนาแน่นและแอมพลิจูดของเพลงที่ถูกบีบอัด และสำหรับเพลงบางเพลง ขนาดไฟล์สามารถเป็นได้ ลดลงมากถึง 80% [4]

ตัวเข้ารหัสแหล่งที่มา

  • รูปแบบ FLAC สนับสนุนเฉพาะจำนวนเต็มตัวอย่างไม่ได้จุดลอยตัว สามารถรองรับความละเอียดบิตPCM ได้ ตั้งแต่ 4 ถึง 32 บิตต่อตัวอย่างอัตราการสุ่มตัวอย่างใดๆตั้งแต่ 1  Hzถึง 65,535 Hz โดยเพิ่มทีละ 1 Hz หรือจาก 10 Hz ถึง 655,350 Hz ที่เพิ่มทีละ 10 Hz และจำนวนช่องสัญญาณใดก็ได้ตั้งแต่ 1 ถึง 8 [10]จนถึงปัจจุบัน (เวอร์ชัน 1.3.3 ของตัวเข้ารหัสอ้างอิง) การเข้ารหัส FLAC ถูกจำกัดไว้ที่ 24 บิตต่อตัวอย่าง เนื่องจากไม่มีตัวเข้ารหัสสำหรับ 32 บิตต่อตัวอย่าง (11)
  • ช่องสามารถจัดกลุ่มในบางกรณีเช่นสเตอริโอและ 5.1 แชนแนลเซอร์ราวด์ที่จะใช้ประโยชน์จากความสัมพันธ์ interchannel เพื่อเพิ่มการบีบอัด
  • เช็คซัมCRCใช้สำหรับระบุเฟรมที่เสียหายเมื่อใช้ในโปรโตคอลการสตรีม ไฟล์ยังมีแฮชMD5 ที่สมบูรณ์ของเสียง PCM ดิบในส่วนหัวของข้อมูลเมตาของSTREAMINFO FLAC อนุญาตให้มีพารามิเตอร์ Riceระหว่าง 0 ถึง 16
  • FLAC ใช้การทำนายเชิงเส้นเพื่อแปลงตัวอย่างเสียง มีสองขั้นตอนคือตัวทำนายและการเข้ารหัสข้อผิดพลาด ตัวทำนายสามารถเป็นหนึ่งในสี่ประเภท (Zero, Verbatim, Fixed Linear และ Finite Impulse Response [ พิรุธ ] (FIR) เชิงเส้น) ความแตกต่างระหว่างตัวทำนายและข้อมูลตัวอย่างจริงคำนวณและเรียกว่าค่าคงเหลือ การตกค้างจะถูกเก็บไว้อย่างมีประสิทธิภาพโดยใช้Golomb ข้าวเข้ารหัส นอกจากนี้ยังใช้การเข้ารหัสระยะรันสำหรับกลุ่มตัวอย่างที่เหมือนกัน เช่น ข้อความที่ไม่มีการโต้ตอบ

ข้อมูลเมตา

  • FLAC สนับสนุนReplayGain
  • สำหรับการติดแท็ก, FLAC ใช้ระบบเดียวกับความเห็น Vorbis (12)
  • libFLAC API ถูกจัดระเบียบเป็นสตรีม สตรีมที่ค้นหาได้ และไฟล์ (แสดงรายการตามลำดับการเพิ่มสิ่งที่เป็นนามธรรมจากบิตสตรีม FLAC พื้นฐาน)
  • แอปพลิเคชัน FLAC ส่วนใหญ่จะจำกัดตัวเองให้เข้ารหัส/ถอดรหัสโดยใช้ libFLAC ที่อินเทอร์เฟซระดับไฟล์

ระดับการบีบอัด

libFLAC ใช้พารามิเตอร์ระดับการบีบอัดที่แตกต่างกันตั้งแต่ 0 (เร็วที่สุด) ถึง 8 (ช้าที่สุด) ไฟล์ที่บีบอัดนั้นสมบูรณ์แบบเสมอ การแสดงข้อมูลต้นฉบับโดยไม่สูญเสียข้อมูล แม้ว่ากระบวนการบีบอัดจะเกี่ยวข้องกับการแลกเปลี่ยนระหว่างความเร็วและขนาด แต่กระบวนการถอดรหัสนั้นค่อนข้างเร็วเสมอและไม่ขึ้นอยู่กับระดับของการบีบอัด [13] [14]

ตามเกณฑ์มาตรฐาน .WAV ที่ทำงานด้วย Athlon XP 2400+ [15] การใช้อัตราที่สูงกว่าระดับเริ่มต้น −5 จะใช้เวลามากขึ้นในการเข้ารหัสโดยไม่ทำให้ประหยัดพื้นที่อย่างแท้จริง

ตัวเลือกการบีบอัด ต้นฉบับ บีบอัด ระยะเวลา อัตราส่วน เวลาเข้ารหัส อัตราการเข้ารหัส ถอดรหัสเวลา อัตราการถอดรหัส
−0 2.030 GiB 1.435 GiB 03:18:21 70.67% 01:29 134× 01:24 141×
−5 2.030 GiB 1.334 GiB 03:18:21 65.72% (−4.95)% 03:44 53× (ช้ากว่า 2.5×) 01:36 124×
−6 2.030 GiB 1.334 GiB 03:18:21 65.71% (−4.96, −0.01)% 03:51 52× (ช้ากว่า 2.6×) 01:36 124×
−7 2.030 GiB 1.333 GiB 03:18:21 65.67% (-5, −0.04)% 07:47 25× (ช้ากว่า 5.3×) 01:36 123×
−8 2.030 GiB 1.329 GiB 03:18:21 65.47% (−5.2, −0.2)% 10:17 น 19× (ช้ากว่า 7×) 01:40 120×
−8 -A tukey(0.5) -A flattop 2.030 GiB 1.328 GiB 03:18:21 65.40% (−5.27, −0.07)% 16:39 12× (ช้ากว่า 11×) 01:35 125×

เปรียบเทียบกับรูปแบบอื่น

FLAC ถูกออกแบบมาเฉพาะสำหรับการบรรจุที่มีประสิทธิภาพของข้อมูลเสียงซึ่งแตกต่างจากอัลกอริทึมแบบ lossless วัตถุประสงค์ทั่วไปเช่นยุบซึ่งจะใช้ในการไปรษณีย์และgzip แม้ว่า ZIP อาจลดขนาดไฟล์เสียงคุณภาพซีดีลง 10–20% แต่ FLAC สามารถลดขนาดข้อมูลเสียงได้ 40–50% โดยใช้ประโยชน์จากลักษณะของเสียง

จุดแข็งทางเทคนิคของ FLAC เมื่อเทียบกับรูปแบบที่ไม่มีการสูญเสียอื่นๆ อยู่ที่ความสามารถในการสตรีมและถอดรหัสได้อย่างรวดเร็ว โดยไม่ขึ้นกับระดับการบีบอัด

เนื่องจาก FLAC เป็นรูปแบบที่ไม่สูญเสียข้อมูล จึงเหมาะสำหรับรูปแบบไฟล์เก็บถาวรสำหรับเจ้าของซีดีและสื่ออื่นๆ ที่ต้องการเก็บคอลเลคชันเสียงของตนไว้ หากสื่อต้นฉบับสูญหาย เสียหาย หรือชำรุด สำเนาไฟล์ FLAC ของแทร็กเสียงจะช่วยให้แน่ใจว่าสำเนาของข้อมูลต้นฉบับที่เหมือนกันทุกประการสามารถกู้คืนได้ตลอดเวลา การกู้คืนที่แน่นอนจากสำเนาที่สูญหาย (เช่นMP3 ) ของข้อมูลเดียวกันนั้นเป็นไปไม่ได้ FLAC ที่ไม่มีการสูญเสียหมายความว่าเหมาะอย่างยิ่งสำหรับการแปลงรหัสเช่น เป็น MP3 โดยไม่มีการสูญเสียคุณภาพการแปลงรหัสที่เกี่ยวข้องตามปกติระหว่างรูปแบบที่สูญเสียรูปแบบหนึ่งกับรูปแบบอื่นแฟ้มคิวสามารถเลือกที่จะสร้างขึ้นเมื่อริปซีดี หากซีดีถูกอ่านและริพไปเป็นไฟล์ FLAC ได้อย่างสมบูรณ์ ไฟล์ CUE จะอนุญาตให้เขียนซีดีเพลงในภายหลังที่เหมือนกันในข้อมูลเสียงของซีดีต้นฉบับ รวมถึงลำดับแทร็กและpregapแต่ไม่รวมข้อความซีดีและข้อมูลเพิ่มเติมอื่นๆ เช่น เนื้อเพลงและกราฟิกCD+G (12)

การนำไปใช้และการนำไปใช้

การใช้งานอ้างอิงของ FLAC ถูกนำมาใช้เป็นไลบรารีตัวเข้ารหัสและตัวถอดรหัสหลักflacของ libFLAC โดยโปรแกรมหลักที่แจกจ่ายได้คือการใช้งานอ้างอิงของ libFLAC API นี้แปลงสัญญาณ API ยังมีอยู่ใน C ++ เป็น libFLAC ++ การดำเนินการอ้างอิงของ FLAC รวบรวมบนแพลตฟอร์มจำนวนมากรวมทั้งส่วนใหญ่ใช้ระบบปฏิบัติการยูนิกซ์ (เช่นSolaris , BSD ) และUnix เหมือน (รวมถึงลินุกซ์ ), Microsoft Windows , BeOSและOS / 2ระบบปฏิบัติการ มีระบบสร้างสำหรับautoconf / automake , MSVC ,Watcom CและXcode ขณะนี้ไม่มีการสนับสนุนแบบมัลติคอร์ใน libFLAC แต่ยูทิลิตี้เช่นGNU แบบขนานและส่วนหน้าแบบกราฟิกต่างๆ สามารถใช้เพื่อสร้างตัวเข้ารหัสได้หลายอินสแตนซ์

FLAC เล่นการสนับสนุนในอุปกรณ์เสียงแบบพกพาและระบบเสียงโดยเฉพาะมี จำกัด เมื่อเทียบกับรูปแบบเช่น MP3 [16]หรือการบีบอัดPCM สนับสนุน FLAC จะรวมโดยเริ่มต้นในวินโดวส์ 10 , Android , BlackBerry 10และJollaอุปกรณ์

ในปี 2014 บริษัทอุปกรณ์อิเล็กทรอนิกส์เคลื่อนที่หลังการขายหลายแห่งได้เปิดตัวโซลูชั่นมัลติมีเดียที่รองรับ FLAC ซึ่งรวมถึงซีรีส์ NEX จาก Pioneer Electronics และ VX404 และ NX404 จาก Clarion

สหภาพยุโรปแพร่ (EBU) ได้นำรูปแบบ FLAC สำหรับการกระจายของเสียงที่มีคุณภาพสูงผ่านเครือข่าย Euroradio ของตน [17]ของ Windows ระบบปฏิบัติการได้ให้การสนับสนุนการรวม FLAC พื้นเมืองตั้งแต่การแนะนำของระบบปฏิบัติการวินโดวส์ 10 [18]ระบบปฏิบัติการ Androidได้ให้การสนับสนุนการเล่น FLAC พื้นเมืองตั้งแต่รุ่น 3.1 [19] [20] macOS High SierraและiOS 11 เพิ่มการรองรับการเล่น FLAC ดั้งเดิม [21]

ท่ามกลางคนอื่น ๆPonoเครื่องเล่นเพลงและบริการสตรีมมิ่งที่ใช้รูปแบบ FLAC [22] [23] Bandcampยืนกรานที่จะอัปโหลดรูปแบบแบบไม่สูญเสียข้อมูล และมี FLAC เป็นตัวเลือกในการดาวน์โหลด [24]มูลนิธิวิกิมีเดียสนับสนุนแหล่งที่มาเปิดฟรีและออนไลน์ECMAScriptเครื่องมือ FLAC สำหรับเบราว์เซอร์ที่สนับสนุนที่จำเป็นHTML5คุณสมบัติ [25]

รองรับ FLAC โดยระบบปฏิบัติการที่แตกต่างกัน
Microsoft Windows macOS ลินุกซ์ Android BlackBerry OS iOS
รองรับตัวแปลงสัญญาณ ใช่ ใช่ ใช่ ใช่ ใช่ ใช่
รองรับคอนเทนเนอร์ FLAC (.flac)
Matroska (.mka, .mkv)
FLAC (.flac)
รูปแบบเสียงหลัก (.caf)
FLAC ( .flac )
Matroska (.mka, .mkv)
Ogg (.oga)
FLAC (.flac) FLAC (.flac) FLAC (.flac)
รูปแบบเสียงหลัก (.caf)
หมายเหตุ การสนับสนุนที่แนะนำใน Windows 10 การสนับสนุนที่แนะนำใน High Sierra FLAC อาจจะต้องมีการติดตั้งขึ้นอยู่กับการจัดจำหน่าย การสนับสนุนที่นำมาใช้ใน Android 3.1 การสนับสนุนที่นำมาใช้ใน BlackBerry OS 5.0 การสนับสนุนที่นำมาใช้ใน iOS 11 (แต่ขึ้นอยู่กับฮาร์ดแวร์ที่ใช้)

รองรับคอนเทนเนอร์อื่น ๆ โดยไม่ขึ้นกับระบบปฏิบัติการที่ใช้ ขึ้นอยู่กับซอฟต์แวร์การเล่นที่ใช้

ดูเพิ่มเติม

อ้างอิง

  1. ^ "FLAC 1.3.3 (4 ส.ค. 2562)" .
  2. ^ โคลสัน, จอช. "FLAC - รูปแบบ" . สืบค้นเมื่อ4 เมษายน 2556 . "fLaC" ตัวทำเครื่องหมายสตรีม FLAC ใน ASCII หมายถึงไบต์ 0 ของสตรีมคือ 0x66 ตามด้วย 0x4C 0x61 0x43
  3. ^ "PlayOgg!" . มูลนิธิซอฟต์แวร์เสรี 17 มีนาคม 2553 . สืบค้นเมื่อ1 ตุลาคม 2556 .
  4. ^ "มองไปที่อัตราส่วนการบีบอัด Flac" สตีเวน พีเจียน. สืบค้นเมื่อ10 พฤษภาคม 2018 .
  5. ^ a b c "ข่าว" . แฟลก. สืบค้นเมื่อ31 สิงหาคม 2552 .
  6. ^ "FLAC ร่วม Xiph.org" มูลนิธิ Xiph.org 29 มกราคม 2546 . สืบค้นเมื่อ31 สิงหาคม 2552 .
  7. ^ แพลนท์, เอ็มเม็ตต์. "FLAC เข้าร่วม Xiph!" . มูลนิธิ Xiph.org เก็บถาวรจากต้นฉบับเมื่อ 29 พฤษภาคม 2551 . สืบค้นเมื่อ31 สิงหาคม 2552 .
  8. ^ "FLAC – บันทึกการเปลี่ยนแปลง" . มูลนิธิ Xiph.org สืบค้นเมื่อ15 ตุลาคม 2556 .
  9. ^ "นักพัฒนา" . แฟลก. สืบค้นเมื่อ15 ตุลาคม 2556 .
  10. ^ "รูปแบบ" . แฟลก. สืบค้นเมื่อ20 พฤษภาคม 2560 .
  11. ^ https://xiph.org/flac/changelog.html
  12. ^ a b "คำถามที่พบบ่อย" . แฟลก. สืบค้นเมื่อ23 กันยายน 2557 .
  13. ^ "CUETools FLAC เข้ารหัสเปรียบเทียบ" CUETools Wiki . สืบค้นเมื่อ27 พฤษภาคม 2556 .
  14. ^ "การตั้งค่าการเข้ารหัส" . JRiver Media Center สืบค้นเมื่อ27 พฤษภาคม 2556 .
  15. ^ "การเปรียบเทียบตัวแปลงสัญญาณ Lossless" . Synthetic-soul.co.uk เก็บถาวรจากต้นฉบับเมื่อ 2 กุมภาพันธ์ 2552 . สืบค้นเมื่อ26 พฤศจิกายน 2559 .
  16. ^ "ลิงค์" . แฟลก. สืบค้นเมื่อ24 มีนาคม 2552 .
  17. ^ "ระบบ EBU Musipop คืออะไร" . อีบียู .
  18. ^ "เสียง snobs ชื่นชมยินดี: Windows 10 จะมีการสนับสนุน FLAC ทั้งระบบ" พีซีเวิลด์. สืบค้นเมื่อ10 กรกฎาคม 2558 .
  19. ^ "รูปแบบสื่อที่รองรับ Android" . แอนดรอย .คอม 4 สิงหาคม 2554 . สืบค้นเมื่อ27 กุมภาพันธ์ 2555 .
  20. ^ "ฉบับที่ 1461 - หุ่นยนต์ - FLAC คำขอเพิ่มประสิทธิภาพการสนับสนุนไฟล์" Google Code สืบค้นเมื่อ5 สิงหาคม 2554 .
  21. ^ "iOS 11 นำการเล่น lossless FLAC เสียง iPhone และ iPad" idownloadblog.comครับ 9 มิถุนายน 2560 . สืบค้นเมื่อ26 กันยายน 2560 .
  22. ^ "คำถามที่พบบ่อย" . ponomusic.com . 14 มีนาคม 2557 . สืบค้นเมื่อ14 มีนาคม 2557 .
  23. ^ "บ้าน" . Qobuz.com . สืบค้นเมื่อ10 เมษายน 2557 .
  24. ^ "ทำไมเพลงของฉันไม่อัปโหลด" . แบนด์แคมป์. สืบค้นเมื่อ21 มิถุนายน 2558 .
  25. ^ ริลเก้ (2015). "JavaScript FLAC de- และการเข้ารหัส" สืบค้นเมื่อ9 กุมภาพันธ์ 2558 .

ลิงค์ภายนอก