Skip to content Skip to navigation Skip to collection information

Connexions

You are here: Home » Content » ELEC 301 Projects Fall 2006 » Results, Achievements and Shortcomings of our Implementation

Navigation

Table of Contents

Lenses

What is a lens?

Definition of a lens

Lenses

A lens is a custom view of the content in the repository. You can think of it as a fancy kind of list that will let you see content through the eyes of organizations and people you trust.

What is in a lens?

Lens makers point to materials (modules and collections), creating a guide that includes their own comments and descriptive tags about the content.

Who can create a lens?

Any individual member, a community, or a respected organization.

What are tags? tag icon

Tags are descriptors added by lens makers to help label content, attaching a vocabulary that is meaningful in the context of the lens.

This content is ...

Affiliated with (What does "Affiliated with" mean?)

This content is either by members of the organizations listed or about topics related to the organizations listed. Click each link to see a list of all content affiliated with the organization.
  • Rice University ELEC 301 Projects

    This collection is included inLens: Rice University ELEC 301 Project Lens
    By: Rice University ELEC 301

    Click the "Rice University ELEC 301 Projects" link to see all content affiliated with them.

  • Rice Digital Scholarship

    This collection is included in aLens by: Digital Scholarship at Rice University

    Click the "Rice Digital Scholarship" link to see all content affiliated with them.

Also in these lenses

  • Lens for Engineering

    This collection is included inLens: Lens for Engineering
    By: Sidney Burrus

    Click the "Lens for Engineering" link to see all content selected in this lens.

Recently Viewed

This feature requires Javascript to be enabled.
Reuse / Edit
x

Collection:

Module:

Add to a lens
x

Add collection to:

Add module to:

Add to Favorites
x

Add collection to:

Add module to:

 

Results, Achievements and Shortcomings of our Implementation

Module by: Alan Gostin. E-mail the author

Summary: This module provides example inputs and outputs of the piano note detection algorithm using our implementation. It also discusses what our algorithm and implementation do well and what they do inadequately.

The culmination of our efforts resulted in a wide array of both achievements and shortcomings. We discovered many detection techniques that could be coded and implemented easily and effectively. Conversely, there were many nuances and non-ideal behaviors exhibited in even the most simple of piano pieces that a talented musician would have trouble detecting, let alone a program in Matlab.

Achievements

  • High precision in hit detection for reasonably paced songs up to eighth notes
  • High success-rate in note detection for single notes played at a time
  • Effective quantization from frequency to note for well-tuned pianos
  • Very precise note-length determination for all notes actually detected and analyzed

Shortcomings

  • Faults in piano and non-ideal behavior can cause anomalies in output
    • Poor tuning causes note-detection errors
    • Residual ringing after key-release can cause notes to appear longer in duration
  • Chord detection, especially in octaves, is imprecise: some overlapping notes escape detection
  • Poor note-hit detection in “busy” songs
  • Overlapping note-hits causes single, held notes to appear as multiple shorter notes

Examples

We used many different songs to test our algorithm, but these three examples effectively illustrate the above points. The songs are a chromatic scale starting at C5, Mary had a Little Lamb, and the beginning of Pachelbel's Canon in D.

Each example contains the original recording in the top left, a matrix representation of the generated sheet music on the right, and a computer-generated song playing the sheet music in the bottom left. In other words, the generated music is what would be heard if someone were to play the sheet music we generate.

To read the matrix form on the right, read left to right, then top to bottom. Each row contains a set of notes that are played simultaneously, followed by the length of the note. After playing those note(s), proceed to the next line and play those notes. At no time should two notes from different rows both be played.

Here, the melody of this simple scale is deciphered perfectly. The only errors being that the previous notes ring through twice (marked in red), and the last note's length was unable to be determined due to the lengthy silence at the end of the recording (marked in blue).

Table 2: Mary had a Little Lamb
The original recording MaryA4.png
The generated music

Again, this simple song was deciphered perfectly except for previous notes ringing through (marked in red), and the failure to find the last note's length due to the silence at the end of the recording (marked in blue).

Table 3: Pachelbel's Canon in D
The original recording pachelbel30.png
The generated music

This song shows the greatest shortcoming of our implementation, which is difficulty detecting chords. Again, note that the melody and the note lengths were deciphered perfectly. However, when the quieter, higher harmony begins to play, it does not get picked up (marked in green). Finally, the repeated F#/Gb2 at the end shows how overlapping notes cause a longer note to appear as two shorter notes.

Collection Navigation

Content actions

Download module as:

Add:

Collection to:

My Favorites (?)

'My Favorites' is a special kind of lens which you can use to bookmark modules and collections. 'My Favorites' can only be seen by you, and collections saved in 'My Favorites' can remember the last module you were on. You need an account to use 'My Favorites'.

| A lens I own (?)

Definition of a lens

Lenses

A lens is a custom view of the content in the repository. You can think of it as a fancy kind of list that will let you see content through the eyes of organizations and people you trust.

What is in a lens?

Lens makers point to materials (modules and collections), creating a guide that includes their own comments and descriptive tags about the content.

Who can create a lens?

Any individual member, a community, or a respected organization.

What are tags? tag icon

Tags are descriptors added by lens makers to help label content, attaching a vocabulary that is meaningful in the context of the lens.

| External bookmarks

Module to:

My Favorites (?)

'My Favorites' is a special kind of lens which you can use to bookmark modules and collections. 'My Favorites' can only be seen by you, and collections saved in 'My Favorites' can remember the last module you were on. You need an account to use 'My Favorites'.

| A lens I own (?)

Definition of a lens

Lenses

A lens is a custom view of the content in the repository. You can think of it as a fancy kind of list that will let you see content through the eyes of organizations and people you trust.

What is in a lens?

Lens makers point to materials (modules and collections), creating a guide that includes their own comments and descriptive tags about the content.

Who can create a lens?

Any individual member, a community, or a respected organization.

What are tags? tag icon

Tags are descriptors added by lens makers to help label content, attaching a vocabulary that is meaningful in the context of the lens.

| External bookmarks

Reuse / Edit:

Reuse or edit collection (?)

Check out and edit

If you have permission to edit this content, using the "Reuse / Edit" action will allow you to check the content out into your Personal Workspace or a shared Workgroup and then make your edits.

Derive a copy

If you don't have permission to edit the content, you can still use "Reuse / Edit" to adapt the content by creating a derived copy of it and then editing and publishing the copy.

| Reuse or edit module (?)

Check out and edit

If you have permission to edit this content, using the "Reuse / Edit" action will allow you to check the content out into your Personal Workspace or a shared Workgroup and then make your edits.

Derive a copy

If you don't have permission to edit the content, you can still use "Reuse / Edit" to adapt the content by creating a derived copy of it and then editing and publishing the copy.