latency = ค่าความหน่วง
ในทางดนตรี(อิเล็กโทรนิก)หมายถึง ระยะเวลาระหว่าง input จน output เป็นเสียง
บน iOS appดนตรี ทั้งหลาย กดปุ๊ปเสียงออกเลย นั่นคือ latency = 0
แต่ในความเป็นจริง มันอาจจะมี แต่น้อยกว่า มิลลิวิ เราก็ไม่สามารถรู้สึกถึงได้
แต่บน Android นั้น หลายๆ appดนตรี ไม่ว่าจะ solo , drums kit, piano
เวลาเล่นจะรู้สึกถึงว่าเสียงมันออกช้ากว่าที่ควรจะเป็น จนไม่สามารถเล่นให้รักษาจังหวะได้
จะว่าแล้วแต่สเปกเครื่องก็ไม่น่าจะใช้ เพราะลองมาหลายรุ่น ก็พบ latency เหมือนๆกัน
มีโอกาสไหมที่android จะเล่น appดนตรีได้ลื่นๆ แบบ iOS
ขอบคุณครับ
ถ้า Android มันจะมี fragment
inkirby Sat, 18/02/2012 - 20:24
ถ้า Android มันจะมี fragment ขนาดนี้...
ก็คงทำให้มัน latency ต่ำๆ กับทุกตัวไม่ได้หรอกครับ...
ผมว่าจะลองเขียนโปรแกรมทดลองดู
mr_tawan Sat, 18/02/2012 - 23:07
ผมว่าจะลองเขียนโปรแกรมทดลองดูเหมือนกันว่ามันทำได้ระดับใกล้เคียงได้มั้ย เดี๋ยวรอได้ Galaxy Nexus มาลองก่อน 555
ปล. iOS ผมคิดว่า latency น่าจะราว ๆ 33ms มั้ง เท่าที่เคยเล่น มันก็ไม่ได้ทันทีทันใดหรอกครับ
ผมใช้ตั้งแต่ galaxy spica ยัน
xxa Sun, 19/02/2012 - 14:50
ผมใช้ตั้งแต่ galaxy spica ยัน galaxy nexus จนถึงตอนนี้ latency ก็ยังมีอยู่ ลองแอพเปียโนหลายๆ อันก็ให้ผลไม่ต่างกัน
เพิ่งค้นเจอ 2บทความนี้
myung Sun, 19/02/2012 - 23:01
เพิ่งค้นเจอ 2บทความนี้ ถึงกับอึ้ง
http://www.synthtopia.com/content/2011/12/03/developer-it-is-not-possible-to-play-music-on-an-android-phone/
http://www.rossbencina.com/code/dave-sparks-on-android-audio-latency-at-google-io-2011
ยังไม่ใช่อนาคตอันใกล้แน่ๆ สำหรับ android กับ appดนตรี
T.T
อย่างน้อย ๆ App
mr_tawan Mon, 20/02/2012 - 00:49
In reply to เพิ่งค้นเจอ 2บทความนี้ by myung
อย่างน้อย ๆ App ดนตรีบางพวกก็ไม่จำเป็นต้องใช้เสียงนะครับ 555+
เช่นของผมเป็นต้น https://market.android.com/details?id=com.playground_soft.chord สนใจก็ไปโหลดมาเล่นได้ครับ (ขออนุญาตโฆษณา)
ปล. โปรแกรมอื่นที่ทำได้ดีกว่าก็มีครับ แต่เสียตังค์น่ะ :D
ต้องลง asio4all 55555
kurodo99 Mon, 20/02/2012 - 12:36
ต้องลง asio4all 55555 ล่อเล่นๆ wp7 ก็มีปัญหานี้เหมือนกัน
แฮะๆ เห็น asio4all
myung Mon, 20/02/2012 - 20:25
In reply to ต้องลง asio4all 55555 by kurodo99
แฮะๆ เห็น asio4all มาตั้งนานเพิ่งรู้ว่าเอาไว้แก้ latency
ปัจจุบันคอมมันแรงจนไม่ต้องใช้แล้วใช่ป่ะครับ
ไม่ใช่ครับ :P ตัว Sound API
mr_tawan Tue, 21/02/2012 - 00:09
In reply to แฮะๆ เห็น asio4all by myung
ไม่ใช่ครับ :P
ตัว Sound API สมัยก่อนมันจะผ่านกระบวนการหลาย ๆ อย่าง จนทำให้เกิด Latency เกิดขึ้นมาก จนกระทั่งบ.ที่ทำ App ด้านดนตรีโดยตรงอย่าง Steinberg (ซึ่งตอนหลังถูก Yamaha ซื้อกิจการไป) เห็นว่ามันใช้ไม่ได้ ก็เลยออกแบบมาตรฐาน ASIO ออกมา โดยไม่ผ่านกระบวนการที่ว่าข้างบนทำให้ Latency มันลดลงอย่างเห็นได้ชัด (จาก >100ms เหลือ <10ms) โดยมีข้อแม้ว่า driver ต้องรองรับ (ซึ่งตรงนี้ HW อาจจะมีส่วนช่วยด้วย)
ส่วน ASIO4ALL มันเกิดจากว่า Sound Card บ้าน ๆ ส่วนใหญ่ไม่มี ASIO ครับ เขาเลยทำไดร์เวอร์ขึ้นมาโดยใช้เทคนิค kernel streaming มั้ง (ผมเคยอ่านรายละเอียดมาแล้วลืมไปหมดละ) ทำให้ลด Latency ได้เหมือนกัน
เมื่อก่อนหน้านี้ อีกทางเลือกนึงที่เห็นบ่อย ก็คือใช้ DirectSound (อันนี้สนับสนุนโดย Microsoft) ซึ่งค่ายใหญ่ ๆ ที่เข้ามาใช้เจ้าแรก ๆ คือ Twelvetone ที่ตอนหลังเปลี่ยนชื่อเป็น Cakewalk (และหลัีงจากนั้นก็โดน Roland ซื้อกิจการไป) แต่ดูเหมือนว่าจะไม่ค่อยมีผู้ผลิตเอากับ DS ด้วย สุดท้ายก็เลยหายไปในที่สุด และ ซอฟท์แวร์ของ Cakewalk ก็เปลี่ยนมาใช้ ASIO แทนไป กลายเป็นมาตรฐานอุตสาหกรรม
ส่วนทาง Microsoft เอง ตั้งแต่ขึ้น Windows Vista ก็ได้ปรับปรุึงเรื่อง Audio API ให้ดีขึ้นมาก แต่ในระดับโปรก็ไม่มีใครใช้อยู่ดี 55 ช่างน่าสงสาร (ต่างกับ CoreAudio ลิบ)
ปล. จริง ๆ ฝั่ง Steinberg ก็มีตัวไดร์เวอร์ที่เป็น ASIO->DirectSound adapter ติดมากับซอฟท์แวร์ตัวเองแทบทุกตัว แต่ว่ามันไม่เวิร์คเอาซะเลย latency ก็ >100ms ทั้งนั้น !
ปลล. ตอนนี้ สองค่ายข้างบน เป็นส่วนนึงของบ.ญี่ปุ่นที่ทำ Synth ขายทั้งนั้นเลยแฮะ
โอ้ว ขอบคุณครับ
myung Thu, 23/02/2012 - 22:01
In reply to ไม่ใช่ครับ :P ตัว Sound API by mr_tawan
โอ้ว ขอบคุณครับ
รอการพัฒนา
NgOrXz Tue, 21/02/2012 - 10:23
รอการพัฒนา