跳到主要內容

臺灣博碩士論文加值系統

(18.97.14.91) 您好!臺灣時間:2025/02/11 19:39
字體大小: 字級放大   字級縮小   預設字形  
回查詢結果 :::

詳目顯示

: 
twitterline
研究生:林致群
研究生(外文):Chih-Chun Lin
論文名稱:虛擬鋼琴教師
論文名稱(外文):An Intelligent Virtual Piano Tutor
指導教授:劉興民
指導教授(外文):Damon Shing-Min Liu
學位類別:碩士
校院名稱:國立中正大學
系所名稱:資訊工程所
學門:工程學門
學類:電資工程學類
論文種類:學術論文
畢業學年度:94
語文別:英文
論文頁數:55
中文關鍵詞:指法虛擬鋼琴師
外文關鍵詞:fingering problemvirtual pianist
相關次數:
  • 被引用被引用:2
  • 點閱點閱:468
  • 評分評分:
  • 下載下載:57
  • 收藏至我的研究室書目清單書目收藏:1
為了幫助鋼琴初學者能夠順利的學習鋼琴,一個稱職的鋼琴教師需要教導學生有關彈奏一首曲子的所有知識,這其中包括了彈琴的動作與指法,還有諸如一些情感表達的部份。在這篇論文當中,我們設計了一套虛擬鋼琴教師的系統來幫助鋼琴的初學者,嘗試解決有關動作與指法的問題。在動作方面,我們利用電腦圖學的技術建立虛擬鋼琴教師來示範給學習者摹仿。而指法的部份,則是所有初學者必須面對最困難的部份之一,初學者總是無法決定該用哪個指頭來彈哪個音符,儘管如此,卻仍舊存在如何選擇方法來判定一個指法序列的品質好壞。最常見的方式,便是訂定一套評分的法則,並依據這些法則對這些指法評分,累加的結果即可作為評斷指法好壞的標準,然後再依據這個標準,求取最佳解,使用的方法通常是動態規劃(Dynamic Programming)或是以圖學的方法來求最短路徑。

在這篇論文當中,我們發表了一項新的位元化(bitwise)即時指法產生演算法,我們採用了Parncutt所定義的十二項評分法則,並且採用圖學的最短路徑演算法求解最佳指法。同時為了降低計算的複雜度,我們開發出了一套能有效修除(pruning)不必要邊(edges)的位元化資料結構與演算法,大幅的加快指法產生演算法的效率。最後我們不只將指法的結果以文字方式輸出,並且創造了一個虛擬的鋼琴教師,將經由指法分析過後的結果彈奏出來,讓初學者能夠透過摹仿的方式來學習。在產生虛擬鋼琴教師的動畫時,我們使用反向動力學 (Inverse Kinematics)的方法來產生關鍵影格,並在最後輸出在OpenGL視窗上時才依據時間參數內差產生出當時的動畫頁。

這篇論文主要的特點在於我們發表了一項即時的位元化指法產生演算法,再加上有效的位元化修除演算法,大幅降低計算最短路徑時的複雜度。除此之外,我們提供了一項完整的圖形化使用者介面,並使用3D動畫的技術,將結果以虛擬鋼琴教師的方式展示出來。
Aiming to instruct the novice in good playing of musical instruments, tutors need to teach the students how to practice certain fingering for certain notes sequence, which typically is the most difficult skill for a beginner to learn. Although it is not easy for a novice to get the “good” fingering for one note sequence at the beginning, it exists rules to determinate quality of these fingerings. The most common method is to define the scoring rule to accumulate the cost and solves the optimization problem, using dynamic programming or graph-based system. Others speed up the counting using expert system, generic algorithm, or neural network. Some hybrid methods have also been proposed in recent years, but there is one common significant drawback, i.e., none can solve fingering problem in real-time.

In this paper, we propose a novel bitwise real-time algorithm solving the fingering problem. This is a graph-based fingering generating algorithm with edge pruning technique in it. For evaluating function, we adopt the 12 cost rules defined by Parncutt in Music Perception, Summer 1997, Vol. 14, No. 4, 341-382, and solve the optimization problem. In order to accelerate computing process of finding the shortest path, we also propose an efficient pruning algorithm reducint graph size. After solving the figering problem, we illustrate this fingering results not only using the “text mode” but also using a 3D pianist model to show students how to play this music. To animate the virtual pianist, we adopt the Inverse Kinematics algorithm to generate playing motion for every note, and interpolate previous generated key frames to maintain a constant frame rate.

The major significances of this paper are solving fingering problem in real-time and good fingering graph pruning algorithm. Moreover, we develop an integrated graphical user interface that allows input either from an external file in MIDI audio format, or from unpredictable MIDI events received using MIDI device. Our virtual pianist therefore provides an effective means to learning piano playing for novices.
1 Introduction 1
1.1 Motivation and Objective . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2 Significance of the Work . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.3 System Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.4 Organization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2 Related Works 8
2.1 Artificial Intelligence for Computer Music . . . . . . . . . . . . . . . 8
2.2 Fingering Problem . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.3 Character Animation . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.4 Hand Animation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
3 Methodology 11
3.1 Fingering Generation . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
3.1.1 SFG: Slicing Fingering Generation . . . . . . . . . . . . . . . 11
3.2 Pianist Animation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
3.2.1 Model Construction . . . . . . . . . . . . . . . . . . . . . . . . 16
3.2.2 Motion Control . . . . . . . . . . . . . . . . . . . . . . . . . . 21
3.2.3 Variation with Time . . . . . . . . . . . . . . . . . . . . . . . 26
3.2.4 Whole Process Review . . . . . . . . . . . . . . . . . . . . . . 27
3.2.5 Keyboard Animation . . . . . . . . . . . . . . . . . . . . . . . 30
4 Implementation Detail and Related Techniques 32
4.1 System Implementation . . . . . . . . . . . . . . . . . . . . . . . . . . 32
4.2 Linux System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
4.3 ALSA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
4.4 MIDI Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
4.5 FBX SDK and FBX Scene Format . . . . . . . . . . . . . . . . . . . 36
4.6 Thread Programming and Play Back Control . . . . . . . . . . . . . . 39
4.7 Qt and GUI design . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
5 Experimental Results and Analysis 41
6 Conclusion and Future Work 47
6.1 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
6.2 Future Work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
A Qt Example Code 49
B MIDI Test File 50
[1] I. Albrecht, J. Haber, and H.-P. Seidel. Construction and animation of anatomically
based human hand models. Eurographics/SIGGRAPH Symposium on Computer
Animation, pages 98–109, July 2003.
[2] O. Arikan and D. A. Forsyth. Interactive motion generation from examples.
ACM SIGGRAPH 2002, 21(3):483–490, 2002.
[3] Autodesk R°. Autodesk fbx.
http://usa.autodesk.com/adsk/servlet/index?id=6837478&siteID=
123112.
[4] D. Back. Standard midi-file format spec. 1.1, updated 1999.
http://www.music.mcgill.ca/~ich/classes/mumt306/
StandardMIDIfileforma%t.html.
[5] A. Balestrino, G. De Maria, and L. Sciavicco. Robust control of robotic manipulators.
In Proceedings of the 9th IFAC World Congress, volume 5, pages
2435–2440, 1984.
[6] J. Bloomenthal. Introduction to Implicit Surfaces. Morgan Kaufmann, August
1997.
[7] M. Brown. What is gimbal lock and why does it occur?
http://www.anticz.com/eularqua.htm.
[8] S. R. Buss. Introduction to inverse kinematics with jacobian transpose, pseudoinverse
and damped least squares methods. April 2004. Unpublished, available
at
http://www.math.ucsd.edu/~sbuss/ResearchWeb/ikmethods/iksurvey.
pdf.
[9] S. Dixon. On the computer recognition of solo piano music. Interfaces: Australasian
Computer Music Conference, Brisbane, Australia, pages 31–37, 2000.
[10] G. ElKoura and K. Singh. Handrix: Animating the human hand. Proceedings of
the 2003 ACM Eurogaphics/SIGGRAPH Symposium on Computer Animation,
pages 110–119, 2003.
[11] M. Gleicher, H. J. Shin, L. Kovar, and A. Jepsen. Snap-Together motion: Assembling
run-time animations. Symposium on Interactive 3D Graphics, pages
181–188, 2003.
[12] M. Hart, R. Bosch, and E. Tsai. Finding optimal piano fingerings. The UMAP
Journal, 21(2):167–177, 2000.
[13] H. Heijink and R.G.J. Meulenbroek. A model-based study of left-hand fingering
on the classical guitar. Proceedings of the 3rd International Conference on
Methods and Techniques in Behavioral Research, 2000.
[14] M. Summerfield J. Blanchette. C++ GUI programming with Qt 3. Prentice Hall
Professional Technical Reference, 2004.
[15] P. Jacobs. Refinements to the ergonomic model for keyboard fingering of parncutt,
sloboda, clark, raekallio, and desain. Music Perception, 18(4):505–511,
2001.
[16] J. Kim, F. Cordier, and N. Magnenat-Thalmann. Neural network-based violinist’s
hand animation. Computer Graphics International (CGI), pages 37–41,
July 2000.
[17] T.-H. Kim, S. I. Park, and S. Y. Shin. Rhythmic-motion synthesis based on
motion-beat analysis. ACM Transactions on Graphics(TOG), 22(3):392–401,
July 2003.
[18] J. Landsmeer. Studies in the anatomy of articulation. In Actamorphologica
Neerlando-Scandinavia, volume 3, pages 287–303, 1961.
[19] J. Lee, J. Chai, and P. S. A. Reitsma. Interactive control of avatars animated
with human motion data. Proceedings of ACM SIGGRAPH 2002, pages 491–500,
July 2002. Annual Conference Series.
[20] K.-H. Lee and K. Kroemer. A finger model with constant tendon moment arms.
Proc. Human Factors and Ergonomics Society 37th Annual Meeting, pages 710–
714, 1993.
[21] C. C. Lin and D. S. M. Liu. An intelligent virtual piano tutor. In ACM International
Conference on Virtual Reality Continuum and its Applications, pages
353–356, Hong Kong, June 2006.
[22] N. Magnenat-Thalmann, R. Laperriere, and D. Thalmann. Joint-dependent local
deformations for hand animation and object grasping. Proceedings on Graphics
interface ’88 Edmonton, Alberta, Canada., pages 26–33, 1988.
[23] M. Meredith and S. Maddock. Motion capture file formats explained. Technical
report, Department of Computer Science, University of Sheffielf, 2001. Technical
Report CS-01-11.
[24] R. Parncutt, J. A. Sloboda, M. Raekallio E. F. Clarke, and P. Desain. An
ergonomic model of keyboard fingering for melodic fragments. Music Perception,
14(4):341–382, 1997.
[25] N. S. Pollard and V. B. Zordan. Physically based grasping control from example.
Eurographics/ACM SIGGRAPH Symposium on Computer Animation,
pages 311–318, 2005.
[26] D. Radicioni, L. Anselma, and V. Lombardo. A segmentation-based prototype
to compute string instruments fingering. Proceedings of the Conference on Interdisciplinary
Musicology(CIM04), 2004.
[27] C. Roads. Research in music and artificial intelligence. Computing Surveys,
17(2):163–190, 1985.
[28] S. Sayegh. Fingering for string instruments with the optimum path paradigm.
Computer Music Journal, 13(3):76–84, 1989.
[29] K. Shoemake. Animating rotation with quaternion curves. In SIGGRAPH 1985,
volume 19, pages 245–254, July 1985. San Francisco.
[30] D. Tolani, A. Goswami, and N. I. Badler. Real-time inverse kinematics techniques
for anthropomorphic limbs. In Graphical Models, volume 62, pages 353–388, 2000.
[31] D. R. Tuohy and W. D. Potter. A genetic algorithm for the automatic generation
of playable guitar tablature. In International Computer Music Conference
ICMC’05, September 2005. Barcelona, Spain.
[32] F. Vexo. Virtual human music performers simulation based on musical input
and knowledge on emotional content and behaviour. Ph.D. thesis, 2001. Virtual
Reality Lab, Swiss Federal Institute of Techology(EPFL).
[33] A. B. Viana. Technological improvements in the siedp. IX Brazilian Symposium
on Computer Music, August 2003. Held in Campinas, SP.
[34] A. B. Viana, J. H. F. Cavalcanti, and P. J. Alsina. Intelligent system for piano
fingering learning aid. ICARCV98 - Fifth International Conference on Control,
Automation, Robotics and Vision, SINGAPORE, 1998.
[35] A. Watt and M. Watt. Advanced Animation and Rendering Techniques, chapter
16 Animating Articulated Structures, pages 369–384. Addison-Wesley Professional,
1st edition, October 1992.
[36] E. W. Weisstein. Euler angles. From MathWorld–A Wolfram Web Resource.
http://mathworld.wolfram.com/EulerAngles.html.
[37] Wikipedia. Fedora core — wikipedia, the free encyclopedia.
http://en.wikipedia.org/w/index.php?title=Fedora_Core&oldid=
63895911
, 2006. [Online; accessed 17-July-2006].
[38] W. A. Wolovich and H. Elliot. A computational technique for inverse kinematics.
In Proceedings 23rd IEEE Conference on Decision and Control, pages 1359–1363,
1984.
[39] Y. Yasumuro, Q. Chen, and K. Chihara. Three-dimensional modeling of the
human hand with motion constraints. Image and Vision Computing, 17(2):149–
156, 1999.
QRCODE
 
 
 
 
 
                                                                                                                                                                                                                                                                                                                                                                                                               
第一頁 上一頁 下一頁 最後一頁 top