Saturday, December 5, 2009
Progress Senior Project - 12/5/2009
Tuesday, December 1, 2009
Progress Senior Project - 12/1/2009
- midi.note_on(channel=0, note=do)
- a3=57 (ลฺ)
- b3=59 (ทฺ)
- c3=60 (ด)
- d3=62 (ร)
- e3=64 (ม)
- f3=65 (ฟ)
- g3=67 (ซ)
- a4=69 (ล)
- b4=71 (ท)
- c4=72 (ดํ)
- d4=74 (รํ)
- e4=76 (มํ)
- f4=77 (ฟํ)
- g4=79 (ซํ)
- midi.update_time(time)
midi.note_on(channel, note)
midi.update_time(time+sequence)
midi.note_off(channel, note)
Tuesday, October 13, 2009
Star map
Final
Monday, September 28, 2009
Project Proposal
We have added some information about the OCR and MIDI theory. We also have the platform of reading Thai music notation too.
[download]Progress report[front page]: http://docs.google.com/fileview?id=0B-Ls4RhAgiHeNmY0YjdiMzUtMGMxOC00NzcyLWFiNWMtNTYwZDNiNWJhZWNi&hl=en
Progress report: http://docs.google.com/fileview?id=0B-Ls4RhAgiHeMThjZDI3NTItNjJmNy00ZTQ3LThkYTItZTE5ZTJmZmQxMWY5&hl=en
////////////////////////////////////////////////////////////////////////////////////////
2.1 Thai Music Notation Thai music notes can be represented by using symbols to define the voice manners. The 3 basic symbol sets consist of 1. Pitch of the note. 2. Duration of the note. 3. Other special symbols. 1) Pitch Pitch of Thai music is determined by 7 characters of Thai language plus pitch (.) which is placed below the characters to represent low voice, and the a high-point (.) which is placed over the characters to represent high voice as you can see in the table below.
Low voice
|
General Thai music voice
|
High voice
|
ดฺ (Low Dole)
|
ด (Dole)
|
ดํ (High Dole)
|
รฺ (Low Re)
|
ร (Re)
|
รํ (High Re)
|
มฺ (Low Me)
|
ม (Me)
|
มํ (High Me)
|
ฟฺ (Low Fa)
|
ฟ (Fa)
|
ฟํ (High Fa)
|
ซฺ (Low Sol)
|
ซ (Sol)
|
ซํ (High Sol)
|
ลฺ (Low La)
|
ล (La)
|
ลํ (High La)
|
ทฺ (Low Si)
|
ท (Si)
|
ทํ (High Si)
|
1
|
2
|
3
|
4
|
5
|
6
|
7
|
8
|
1234
|
1234
|
1234
|
1234
|
1234
|
1234
|
1234
|
1234
|
Wednesday, September 2, 2009
[SSC] Follow us
Tuesday, August 4, 2009
[Senior Project] OCR [1]
OCR
There is several ways to use image processing on OCR program, but we decided to use these 2 algorithms.
1. Blob Coloring
We are using Blob coloring technique for OCR. Once an image has been segmented into as number of regions using thresholding or another method, it is often useful to identify each of the connected components in the image. The process of assigning each distinct region unique identifiers is called blob coloring. Blob coloring program uses a simple recursive search algorithm to find all points connected a starting point. Several program options enable the user to search for white objects on black backgrounds or vice versa, and vary the definition of "connected" to use 4 neighbors or 8 neighbors. (But we use 4 neighbors)
Blob coloring algorithm has two passes. In the first pass, colors are assigned to image pixels by using 4 neighbors, L-shaped mask. Color equivalences are established and stored, when needed. In the second pass, the pixels of each connected region are labeled with a unique color by using the color equivalences obtained in the first pass.
After we have the color equivalences of all character, we draw the crop line of each character for define the character.
2. Matching with database
For the database character, we have 7 character of each tone and define the ration of width and height and group them by the result. (More than 1, 0-1, less than 1) Because it can simplify for compare with the scanned text.
After we have cropped character, for each character we find the ratio of width and height. When we have the ratio of scanned character, then we match the character with the database character in the same group of ratio. (From this algorithm, we can eliminate some character from database) After that, we use sum square error for recognize the most similar character between scanned texts and database.