Wednesday, December 9, 2009

Progress Senior Project - 12/9/2009

Today I just work more for my MIDI part. Now my program can play different patch sound. This Example is the sound of flute and xylophone, it can play simultaneously. This song is combining of 2 different song for show that it can play 2 line in 1 track.

I think, before new year we just waiting for OCR part from my friend. T T


Saturday, December 5, 2009

Progress Senior Project - 12/5/2009

Today I just made my song can play rhythm and melody simultaneously. I use melody as channel 0 and the drum as channel 9

Mary has a little lamp <<<[listen]>>>

I still have some problem about this, because the rest sign (-) need to play the previous note continuously but I can't make it yet.

Laodungdern <<<[listen]>>>


Next, I need the soundbank of Thai flute. My senior friend said he has one, so my next problem is how can I use it properly. If someone know the method, please tell me. I hope I can finish this part within new year... (_/|\_ สาธุ)


Tuesday, December 1, 2009

Progress Senior Project - 12/1/2009

This week, we seperate the work into 2 part. First the OCR thing, I let my friend take care of it and second is MIDI.

Today, I just write program to generate the sound, that's Marry have a little lamp. You know what, I heard that Thomas Edison made the first recording of the human voice in 1877 with this song. I don't know why I selected this song but when I work with the sound or playing music, I always start with this song. By the way, next I'm going to make the song able to have the rest sign (-) and then make the rhythm. Actually, I think I already done this part but my problem is how to use the Thai sound bank. I hope I can finish this part within this weekend. So let see the flow...

Oh! we forgot to tell you that we decided to work with Python because I already learn about image processing by using Python. For making python can work with midi, I use midipython library (link http://www.mxm.dk/products/public/pythonmidi) and for image processing, I use openCV library (link http://opencv.willowgarage.com/wiki/).

As I tell you on the Progress report last month, after we have the music characters then we make sound from it. Midi represent the sound by the number and sequence like
  • midi.note_on(channel=0, note=do)
So to make the sound we have to define the number of note (from ลฺ till ซํ)
  • 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 (ซํ)
Then we make the event for the song and generate into sound.
  • midi.update_time(time)
    midi.note_on(channel, note)
    midi.update_time(time+sequence)
    midi.note_off(channel, note)
Sound easy, isn't it? I think so but the important point of this project is OCR. Now we just work on blob coloring. I hope that we can recognize the character soon.

Now I feel like I have done a little bit farther. ^^ And oh! this is my first MIDI song -> http://www.mediafire.com/?iymjnwzjncz I hope it would be better next time.


Tuesday, October 13, 2009

Star map

This is my final project about Advance Database subject.

We are going to do Star Map, which used the spatial database platform. This project will show the star in the selected period. The user selects the date and time. Then the result will show by the probable of the stars that you can see in the selected period. The system will store the star map, group of the star name and the magnitude of each star (the brightness).

I got 14/15 point for this project. (still feel like how can i got such a lot of this score) For the program, I think it was pretty cool but in term of technique I think it wasn't good enough. The picture that I use, it was create from drawing program (yes I draw it by myself to show every day) and the database I have my friend to point all of the star in the map, we have about 300 stars in database. To query, we fixed the star point and query the area that define by selected date instead of move the star into the appear area. And we change the name from Star map into Thailand Star map at midnight because we can show only the map in Thailand and only for midnight of everyday. (At the presentation, we have only the 1st and 16th of each month. We can't do the entire on time)

Another guy who work in the same project as me, it's very very good.... He wrote program to draw the map by calculate each star and his map was very beautiful. How dare I work in the same project as him. His grade was reduce because he always late in the class. (OMG!)

Final

We finish the final exam... fweeeewww

I've already know my grade for 2 subject. (Actually only 1 but I think another one I should get "A" Hehe) I got a B for Advance database and I hope I'd get a A for Academic writing.

At Advance database final examination day, I feel very blur from the guy next to me. He's smoker. Hate him! I almost be the cheater because I took the exam. paper out side the exam. room with me. O_o I very blurred. @ @ next time please make sure that your breath is not smell so bad.

I think, that time should be the Electric Engineering student. Hope no more for next time. Thanks

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


////////////////////////////////////////////////////////////////////////////////////////

Thai music notation Platform


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.


Table 2.1 The notation representation
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)


2) Duration The duration of the Thai note is indicated by measures of the duration. 2.1) Measure Measure performs as beat in international music. It will move forward slow and fast constantly. Every note recording line contains 8 music rooms where the rhythm always will be placed in the end of Thai note in each music rooms.

1
2
3
4
5
6
7
8

2.2) Note arrangement Each music room includes 4 sub-unit beats..
1234
1234
1234
1234
1234
1234
1234
1234



In Thai music notation system, each Thai music note and each symbol –(minus) equal 1 length of rhythm. 


-- equals –ด 
-ด equals รด
--ด equals -รด 
ม-ด equals -มด
-ม-ด equals -มรด 


When the symbol - (minus) is placed on the end of any letter it will extend the sound of the notes 1 sub-unit beat. 


For example: 


ม/---ช/---ล/-ซ-ล/ 

Me---Sol----La---Sol---La 

1234/1234/12/121/ 


Both Thai music note and symbol – (music) can swap their positions follow the melody of the music. Therefore, the symbol arrangement can be in many forms as you can see in an example below.


Case1 : 1 note per room


/---ซ / --- ม / --- ร / ---ด / 


Case2 : 2 notes per room


/ -ล-ล / -ม-ล / -ล-ซ / -ม-ล/ 


Case3 : 3 notes per room


/ -มซม / -ดมร / -มซด / -ลลล /


Case4 : 4 notes per room


/ ซลดร / มรดล / ชลดร / รรรร /

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.

Wednesday, July 29, 2009

[Senior Project] Project Proposal

Introduction

Nowadays, Thai musical Technologies are not released much, although many innovations are created, but most of them do not involve about Thai Cultural. Thus for promoting Thai Music to be known widely, we develop software for reading Thai Music Notation to facilitate users.

This project is created to facilitate for users who want to learn about Thai Music. Thai Music Notations is presented in form of Thai Characters. For program processing, program gets input in form of image file from scanning actual notations. After that, it will passed through Optical Character Recognition (OCR) to transform data to characters and display especially inform of sound by generating e and instruction sound to play the note following the songs.

OCR is a program that is developed to transform from images to characters. English version of OCR can recognize efficiency about 99%, but in Thai version still low integrity. This project is applied to be more useful apart from reading only Thai characters.

Objective

1. To apply the knowledge about OCR to implement project

2. To develop software to reading Thai Music Notation

3. To conserve Thai Cultural with using technologies



Thursday, July 23, 2009

Quality Management


Quality Management

About Quality

>Focus on product or service: ability to satisfy (ความพอใจ), requirement and expectations of customer

>Product quality-technical characteristics: Performance, reliability, durability, serviceability and conformance Styling, feeling, sound and even smell

.Service quality-process is its capability (ปริมาณ) to produce products or service

Product categories

- Goods

- Software

- Service

Quality Evolution

1. Before the industrial revolution; craftman and artisans > checking product obviously)

2. After the industrial Revolution; cuality is conformance to specification

Eli Whitney (ผู้ผลิต Cotton Gin) –proposed “interchangeable manufacture concept”

Frederick W. Taylor – improve industrial by using Taylor’s 4 principle of scientific management. Inspection had developed into a separate task perform by specialize inspectors.

3. After the World War II

Walter A. Shewhart; created a method for quality control (QC) for production using statistical methods

W.Edwards Deming; applied statistical process control methods in the war and successfully improving

2 major forces emerged that have had a profound (ลึกซึ้ง) on quality

    • The Japanese revolution in quality- ก่อนหน้าสงครามโลก ทั่วโลกได้รู้ว่าสินค้าของญี่ปุ่นมีคุณภาพต่ำ ดังนั้น ญี่ปุ่นจึงต้องมีการพัฒนาสินค้าโดยการ

> The upper managers personally took charge of leading the revolution

> All levels and func. Received training in the quality disciplines(การฝึกฝน)

> Quality improvement projects were undertaken on a continuing basis at a revolutionary pace (มีการพัฒนาตลอดเวลา)

    • The prominence of product quality in the public mind- สร้างลักษณะเดิ่นของสินค้า เช่น liability cases, concern about the environment and the awareness of the role of quality (พวกอาวุธ และการส่งสินค้าในเขตที่ไม่สงบ)

> ญี่ปุ่นจึงใช่ทฤษฏีต่างๆเช่นของ Shewhart, deming and Juran สำหรับพัฒนาเศรษฐกิจ

> นอกจากจะมีการพัฒนาการผลิตสินค้าด้วยวิธีทางเศรษฐกิจแล้ว ยังมีอีกกระบวนการหนึ่ง ได้ถูกคิดขึ้นมาด้วย ก็คือ Quality control หรือว่า Quality Assurance เพราะเนื่องจากว่า จะดูว่าใครทำงานดี จะต้องดูที่สินค้าที่ผลิตออกมา quality was a management responsibility

> Quality is customer satisfaction

Customer Satisfaction define

  • Product features have a major effect on sales income (คุณลักษณะของผลิตภัณฑ์)
  • Freedom form deficiencies (ปราศจากข้อบกพร่อง)

4. Globalization; Product-out concept to Market in concept

(Product out – Product, Market in – Customer)

พวกการใช้ q กับ Q โดย Q ใหญ่จะเป็นการมองหัวข้อ โดยรวมทั้งหมด เช่น product ก็จะดูทั้งหมดของ ที่มี เช่น goods, services หรือ Industries ก็จะดูพวก all industries; manufacturing, service, government whether for profit or not. และ q เล็ก จะมองแค่ส่วนเล็กๆ ย่อยๆ

Customer

1. External customer – รวมไปถึง intermediate processors; merchants, people who connection to the product; government regulatory bodies

2. Internal customer – divisions of company; components for an assembly but others that are affected

Quality of work life (QWL)

1. Needs: Work of employee

2. Expectations: SMP

- Safety

- Security

- Morale

- Labor Productivity

Quality of products (customer’s view)

1. Needs: Products; hardware, information, service

2. Expectations: QCS or QCD

- Quality of product

- Cost

- Schedule or delivery

Quality Management – Process of identifying and administering the activities needed to achieve.

- 2 component of manage> Planning, control

Quality trilogy> QP, QI, QC

1. Quality planning; activities necessary to define and specify the intended quality

- Product design, process design and manufacturing, engineering, process control, production inspection and test

2. Quality control; make sure that products meet all requirement

3. Quality improvement; identify improvement needs and opportunities to define and implement

ISO 9004:2000, QFD, Kaizen, Zero defect Program, Six Sigma, PDCA, Quality circle, Taguchi method etc.


Wednesday, July 22, 2009

[Senior Project] Project Detail

Thai Music Notation Reader

Advisor Prof. Kurt Rudhal

Member

Miss Patama Ranchune

Student ID 49270621

Miss Sitanan Nipatvaranan

Student ID 49270650

Project Detail

Thai Music Notation Reader is a program which is implemented for generating Thai Music Notation and transforms to sound. Initially,image processing is utilized in reading Thai Music Notation using OCR which will compare generated notations with the music notations in database.Afterthat, Thai Music sound which matchs with the notation will be played.

To explain Thai Music Notation Reader, we seperate basic information into 3 parts which are easy to understand.

§ Thai Music Notation Behavior

- Thai Music Notations are represented by 7 Thai characters. --> ด ร ม ฟ ซ ล ท (Do Re Me Fa Sol La Ti)
- Quadruple meter (4 accents) are used in separating.
- There are 3 ranks of sound speed (fast, normal and slow)that can define by small cup-shaped symbols called "Ching" accent.
- The octave tone defined by dot(.) behind and below the characters.

§ Program Functions

- Read notation in sequence using OCR.
- Define sound speed.
- Selects the musical sound.
- Selects the language (Thai/English)in user interface.

§ Optional

- Be able to use with USB MIDI controller.
- Be able to play serveral musics simutaneously.