Musikklesing for maskiner

“Dammit Jim, jeg er en hacker, ikke en musiker!”, For å paraxrase McCoy Scotty fra den originale Star Trip-serien. Vel, noen av oss er også musikere, noen, som meg, er likevel hack-musikere, så vel som noen ikke ville forstå et helt notat fra en diskantklemme. Men nå, så vel som da er musikken du vil ha i typen noter, så vel som du trenger å konvertere det til noe ditt hack kan spille. Hvis du er heldig, kan du oppdage programvare som vil sjekke ut notene for deg, så vel som spytte ut en MIDI eller WAV-fil. Eller, akkurat som min håndkledde musikkspiller, må du kanskje sjekke ut bare tilstrekkelig av musikken selv for å konvertere musikalske notater til frekvenser for noe som en 555 timers chip. Vi dykker i begge situasjoner her.

Hvis du ikke kan sjekke ut musikk, må du fortsatt være i stand til å få tak i hva vi sier. Men i situasjonen blir du forvirret, vi har tatt med en ekstremt rask introduksjon nær slutten av denne artikkelen.

Optisk musikkgjenkjenning (OMR)

MusicXML Note Eksempel
Du har mest sannsynlig hørt om OCR, optisk tegngjenkjenningsprogramvare, som konverterer ord på papir til en digital form. Vel, det er også musikk OCR, eller mye mer nøyaktig OMR, optisk musikkgjenkjenningsprogramvare. Du peker på en kamera på en side med noter som fanger et bilde, eller gir programvareapplikasjonen et bildedata eller en PDF som består av notene, så vel som den konverterer det til musikk som du kan høre ved å trykke på en knapp , eller lagre til en MIDI- eller WAV-data for avspilling fra andre steder.

For å prøve det, oppdaget jeg en høy kvalitet en kalt Sharpheye 2.68 som hadde en 30-dagers, gratis prøveperiode. Det er i stand til å lagre musikken som en MIDI-fil, MusicXML, så vel som i NIFF-format. Utklippet av MusicXML vist her er av det musikalske notatet, A, så vel som en kvart notat. Som du vil se, gjør SharpEye en utmerket jobb, gitt en ren, svart og hvitt bilde. Det leverer også de nødvendige redigeringsverktøyene for å fikse eventuelle anerkjennelsesfeil.

Greensleeves fanget i sollys, så vel som i Sharpheye
For min aller første test tok jeg et bilde i sollys av den aller første linjen fra Tune Greensleeves. Jeg brakte bildet til GIMP for å sikre at jeg kanskje konverterer den til en TIFF-fil, med tanke på at Sparpeye leser i bare BMP, så vel som TIFF-filer. Men jeg gjorde ingen forbedring. Jeg åpnet da bildet i Sharpheye, så vel som fortalte det å “lese bilde”. Dette er det optiske musikkgjenkjenningsstrinnet. Sluttresultatet var akkurat det du ser i øyeblikksbildet her, feilfri, så vel som med bare riktig musikk. I stillbildet jeg har klikket på en av notatene, den som er rødt, for å vise at dette er redigerbart musikk, så vel som ikke bare et statisk bilde. Hvis du klikker på avspillingsknappen, spilte det feilfritt.

Jeg reddet det som en MIDI-fil. Imidlertid spesifiserer MIDI-data nøyaktig hvordan du spiller musikken, sammen med notatene, så vel som ikke består av lyden selv. Så jeg konverterte den til et lydspor ved hjelp av Anvil Studio før jeg lagret musikken til en WAV-fil, som du kan lytte til nedenfor. For enhver som ønsker å gjøre dette i ambolt, kan du på et minimum gjøre data – Åpne Tune, samt data – Eksporter blandet lyd.

Audio Playerhttps: //hackaday.com/wp-content/uploads/2017/05/greensleeves_sunlight.wav

00:00.
00:00.
00:00.

Fanget dårlig musikk så vel som i Sharpheye
Disse OMR-programmene krever rene bilder eller PDF-filer av musikken i kjøp for å gjenkjenne dem godt. For eksempel har eksemplet vist ovenfor noen skygging til venstre som gjorde Sharpheye ikke i stand til å sjekke ut den delen. Bildet er også dårlig fokusert, noe som utløste det for å få mye feil i den nederste delen. Musikken med den gule bakgrunnen er Sharpheye som viser nøyaktig hvordan det ser musikken før du gjør anerkjennelsen.

Den dårlige musikken etter fiksering
Som mange OMR-programmer, er SharpEye ikke ment som et musikknotasjonsverktøy. Det setter ikke notater for deg, eller endre posisjonene når du legger til en CLEF. Imidlertid gir det deg tilstrekkelige redigeringsverktøy til riktige anerkjennelsesfeil, så vel som det er det jeg gjorde for å legge til tilbake området som ble skygget, i tillegg til å legge til notatene det savnet på bunnen. Jeg har også satt inn de 3/4 gangsignaturene, som ikke var i originalen, vurderer at det var et bilde tatt i midten av en poengsum. Med de løsningene virker det bare rett.

Audio PlayerHTTPS: //hackaday.com/wp-content/uploads/2017/05/bad_music_fixed.wav

00:00.
00:00.
00:00.

På dette punktet kan du lagre det som en MIDI-data, så vel som deretter konvertere den til en WAV eller MP3, så vel som overføre det til HACK. Eller, hvis du vil i tillegg finjustere musikken, lagre den som en musicxml-data, så vel som tonn det i din foretrukne musikknotasjonsprogramvare, for eksempel, for eksempel, for å redigere.

Eksperimenter med bildeforbehandling

Jeg benyttet en flatbed-skanner for å skanne en full side av sangen Scarborough Fair – som denne gangen inkluderer lyrics – til en PDF file. Since SharpEye doesn’t checked out PDF data I very first packed it into GIMP as well as saved it as a TIFF file. SharpEye had issues reading it, so I went back to GIMP, saved it as a high high quality JPG instead, packed that back into GIMP, as well as exported that as a TIFF file. For some unknown reason, SharpEye might checked out that one.

Even then, the recognition worked poorly, missing big pieces of the music. I suspected that was since the music was grey on white. I utilized the Levels tool in GIMP to convert it to black on white as well as the recognition worked far much better this time.

Scarborough fair in SharpEye
Before doing the recognition, I had to tell SharpEye that the lyrics might be discovered above the staves considering that by default it looks for them below. In the snapshot, the original picture is the music with the yellow background. As you can see, there were some errors in the lyrics, however the text is editable. In the snapshot I’ve chosen “win’”, which must be “goin’”. notice also, that the lines of acknowledged music are laid out horizontally instead of vertically as you discover on a typical sheet of paper as well as as they are in the original image. however the result seems just fine.

Audio Player

00:00.
00:00.
00:00.

You can discover a listing of other optical music recognition programs on Wikipedia, SmartScore being the one that has been around the longest in one type of another, starting in 1991. There’s likewise a SharpEye SDK which, from the list, is utilized by a few different products. There are even apps for iPads, iPhones as well as Android phones which you can discover demos of on YouTube. searching for “music scanner” seems to turn up a few great as well as poor ones.

Converting notes to Frequencies

What if you have the sheet music in front of you as well as your hack is one that takes the private notes as well as converts each directly to an appropriate sound? WAV as well as MP3 data won’t work considering that those contain already converted music.

Musical note frequencies as well as 555 timer circuit
The method to do it is basic really. Each music note has a corresponding frequency. For a preferred note, your circuit requirement only cycle a speaker at that note’s frequency. as well as a basic method to supply that frequency is utilizing a 555 timer circuit in astable mode like the one shown. In the circuit, the output frequency is figured out by capacitor C, and resistors R1 as well as R2. You can clearly see that dependency by checking out the frequency formula for the 555 timer’s output.

Resistances for musical notes as well as 555 timer circuit
A normal method of manipulating that formula is to utilize a fixed value for R2, as well as then to add a different resistance to it for every desired frequency, as shown in the customized circuit. For now let’s insert a variable resistor Rn. In the diagram you can see that we very first added Rn to the frequency formula, as well as that we then rearranged the formula to fix for Rn instead. plug that formula into a spreadsheet as well as you can come up with the needed resistor values for the preferred music notes.

Hand cranked 555 timer music player
An example of this circuit being utilized is in this hand cranked music player. The musical notes are encoded as holes in a loop of paper. The setting of the hole along the width of the paper figures out which of 13 possible notes is played. The length of the hole controls the length of time the note is played.

555 timer music player circuit
The circuit diagram for the music player shows the exact same 555 timer circuit however with Rn replaced by 13 different resistors whose values were calculated utilizing the formula for Rn. However, only one resistor is utilized by the circuit at any type of time. exactly how is that done?

Each of those 13 resistors is soldered to one of 13 copper plates. sitting on top of each copper plate is a copper wire. The paper slides between the plate as well as the wire. only when there’s a hole in the paper between the cable as well as the plate do they make electrical contact. That brings the corresponding resistor into the circuit, as well as the 555 outputs the right frequency for the preferred musical note. In the diagram we’re highlighting the electrical path if a hole is between D3’s cable as well as copper plate.

A extremely quick introduction To reading Music

Before we end this article, here’s the guaranteed very little introduction to reading sheet music, just sufficient to comprehend this article.

How to checked out music for piano
A basic method to begin is by checking out the secrets on a piano. Each key represents a musical note, denoted by a letter from A to G. You can always find C since it’s the white crucial to the left of any type of set of two black keys. There are only seven letters from A to G, however look carefully at the keyboARD, så vel som du vil se at mønsteret av svart samt hvite hemmeligheter gjentar etter hver syv hvite nøkler.

På papir, kalt noter, består moderne musikknotasjon av grupper av horisontale linjer som kalles staver (singularet er personell eller stav). Tegn representerer notatene, så vel som den sirkulære delen av tegnet er satt enten på en linje eller mellom to linjer. Den vertikale innstillingen av tegnet på personellet forteller deg hvilket notat det er. Hvilket tegn er det forteller deg nøyaktig hvor lenge å holde notatet.

Det er mye mer til det, men nå kan du sjekke ut tilstrekkelig noter med å følge sammen med dette innlegget, så vel som i det minste rammet de ideelle hemmelighetene på et piano. Denne anbefalingen ser ut som en respektabel en for hvis du vil grave dypere.

EndNote.

Vi har møtt notene et par ganger her på Hackaday. [Dino] Gjorde nøyaktig samme type musikalsk notat-til-frekvensomregning vi dekket, men utnyttet Arduino’s tone () -funksjonen for å spille dem til en høyttaler for sitt nyttårsaften. [Zulko] utnyttet Python, så vel som Fourier Transformers for å lage noter i noter når han ønsket å spille det han oppdaget kodet på en perforert papirrulle.

Og på det notatet (stønn), hvilke musikalske antics har du prøvd? Har du hatt å tilby med noter i noen form for hacks? Vennligst del dem med oss ​​i kommentarene nedenfor.