คือว่าผมทำโปรเจคเกี่ยวกับ Speech Recognition ตอนนี้ลองเขียนใน matlab ได้ในระดับหนึ่ง และกำลังจะ implement ลง c++ แต่ว่าเจอคำสั่ง wavrecord wavread พวกนี้ ก็เลยงง ผมลองหาใน google แล้วยังไม่เจอคำตอบที่แน่ชัด ใครทราบช่วยตอบด้วยครับ
ขอบคุณครับ
ถ้าบน Windows ก็จะมีของ DirectSound, XAudio, แล้วก็พวกชุดคำสั่งของ Win32 เอง (MME ?) ล่ะครับ
ว่าแต่จะเอา Lib ประเภทไหนล่ะครับ ?
มีหลายตัวอยู่ครับ ผมเคยใช้ Bass (แต่ไม่ได้เอามาทำ recognition นะ)
Working with Audio in C++ (http://stackoverflow.com/questions/726924/working-with-audio-in-c)
เท่าที่รู้มา Mathlab มันสร้าง shared lib ให้ C++ เรียกใช้ได้ด้วยรึเปล่า? ถ้าทำได้ วิธีอาจจะสะดวกกว่า เพราะส่วนใหญ่ C++ audio lib พวกนี้มันก็ทำได้เพียงอ่านขึ้นมาได้เป็น samples แต่ส่วนที่เป็นการทำ recognition ก็ต้องหาวิธี implement เอง
มีหลายตัวครับ
ถ้าเอาแค่ input/output ติดต่อกับ device ต่างๆ ผ่านทาง DirectSound, MMC แนะนำ PortAudio ครับ ตัวนี้ไม่มี codec ให้ใช้นะครับ ทำงานกับ PCM Wave Form ได้ดีทีเดียวครับ แต่เป็น c open source ธรรมดา แต่ cross platform ครับ
อีกตัวหนึ่ง เก่าแล้ว แต่น่าจะถูกใจคอ c++ มากกว่า ก็ค้อง Audiere (http://audiere.sourceforge.net) ครับ source code ไม่ได้มีการพัฒนาสักพักหนึ่งแล้ว คงไม่รับกับ feature ใหม่ๆมากนัก แต่ก็ cross platform นะครับ
ตัวต่อมาก็ BASS ครับ (http://www.un4seen.com) ตัวนี้ครบเครื่องครับ มี codec ให้ใช้ในตัว แต่ไม่ open source ครับ เวลาใช้ก็ต้องพก DLL ไปด้วย
สุดท้ายก็ FMOD ครับ ตัวนี้ก็คล้ายๆ BASS ล่าสุดเห็นใร FMODEX ออกมาด้วย ผมเองยังไม่เคยลอง แต่ดูผ่านๆ ก็น่าจะทำอะไรได้เยอะอยู่ครับ
SDL ก็ครอบคลุมดีครับ เอาไว้ทำเกม :P
จริงๆ อีกตัวที่แนะนำ ก็เป็น OpenAL แต่มันเป็น 3D Audio API ที่มีแต่ Input กับ Output โล้น ๆ เท่านั้นเหมือนกันครับ
ขอบคุณมากๆครับ สวัสดีปีใหม่นะครับ
เอ่อ
คือว่าตอนนี้ใช้ Bass ครับแล้ว
จะ wavread ยังไงครับ
คือการที่อ่านไฟล์เป็นเมทริกอะครับ
http://www.koders.com/cpp/fid4021EB2CCC90AC2A52642FE71C3F77AAF5D91EF5.aspx?s=tree
ลองดูนะครับ คงช่วยได้บ้าง ปกติก็ผมก็เก็บ sampling มาโดยตรงที่ array เลย แต่ตัวอย่างนี่มันผ่าน direct sound นะครับ
ถ้าบน Windows ก็จะมีของ DirectSound, XAudio, แล้วก็พวกชุดคำสั่งของ Win32 เอง (MME ?) ล่ะครับ
ว่าแต่จะเอา Lib ประเภทไหนล่ะครับ ?
มีหลายตัวอยู่ครับ ผมเคยใช้ Bass (แต่ไม่ได้เอามาทำ recognition นะ)
Working with Audio in C++ (http://stackoverflow.com/questions/726924/working-with-audio-in-c)
เท่าที่รู้มา Mathlab มันสร้าง shared lib ให้ C++ เรียกใช้ได้ด้วยรึเปล่า? ถ้าทำได้ วิธีอาจจะสะดวกกว่า เพราะส่วนใหญ่ C++ audio lib พวกนี้มันก็ทำได้เพียงอ่านขึ้นมาได้เป็น samples แต่ส่วนที่เป็นการทำ recognition ก็ต้องหาวิธี implement เอง
มีหลายตัวครับ
ถ้าเอาแค่ input/output ติดต่อกับ device ต่างๆ ผ่านทาง DirectSound, MMC แนะนำ PortAudio ครับ ตัวนี้ไม่มี codec ให้ใช้นะครับ ทำงานกับ PCM Wave Form ได้ดีทีเดียวครับ แต่เป็น c open source ธรรมดา แต่ cross platform ครับ
อีกตัวหนึ่ง เก่าแล้ว แต่น่าจะถูกใจคอ c++ มากกว่า ก็ค้อง Audiere (http://audiere.sourceforge.net) ครับ source code ไม่ได้มีการพัฒนาสักพักหนึ่งแล้ว คงไม่รับกับ feature ใหม่ๆมากนัก แต่ก็ cross platform นะครับ
ตัวต่อมาก็ BASS ครับ (http://www.un4seen.com) ตัวนี้ครบเครื่องครับ มี codec ให้ใช้ในตัว แต่ไม่ open source ครับ เวลาใช้ก็ต้องพก DLL ไปด้วย
สุดท้ายก็ FMOD ครับ ตัวนี้ก็คล้ายๆ BASS ล่าสุดเห็นใร FMODEX ออกมาด้วย ผมเองยังไม่เคยลอง แต่ดูผ่านๆ ก็น่าจะทำอะไรได้เยอะอยู่ครับ
SDL ก็ครอบคลุมดีครับ เอาไว้ทำเกม :P
จริงๆ อีกตัวที่แนะนำ ก็เป็น OpenAL แต่มันเป็น 3D Audio API ที่มีแต่ Input กับ Output โล้น ๆ เท่านั้นเหมือนกันครับ
ขอบคุณมากๆครับ สวัสดีปีใหม่นะครับ
เอ่อ
คือว่าตอนนี้ใช้ Bass ครับแล้ว
จะ wavread ยังไงครับ
คือการที่อ่านไฟล์เป็นเมทริกอะครับ
http://www.koders.com/cpp/fid4021EB2CCC90AC2A52642FE71C3F77AAF5D91EF5.aspx?s=tree
ลองดูนะครับ คงช่วยได้บ้าง ปกติก็ผมก็เก็บ sampling มาโดยตรงที่ array เลย
แต่ตัวอย่างนี่มันผ่าน direct sound นะครับ