Stap 1: Hoe ga ik over het breken van de audio en een achtergrondverhaal.
Inspiratie
Heb een fan van sites zoals instructables voor een lange tijd en herhaaldelijk zag dat waren er projecten gericht op het genereren van geluid of muziek van een microcontroller werd ik zeker dat someday ik zal rond te krijgen proberen deze coole dingen zelf.
Ik heb gewerkt op audio projecten vóór maar dit is de eerste keer dat ik heb gegaan van mijn manier om het maken van de instrumenten die nodig zijn om te maken het gemakkelijk reproduceerbaar.
Een van mijn vorige projecten moest gebruiken een goedkope DDS-module uit china, de frequentie wijzigen en vervolgens detecteren met behulp van een SDR (Software defined radio) op LSB (Lower side band) en het tetris-muziek gespeeld. Hoe dan ook. Ik dwaal af lol.
Meestal deze projecten hadden gemeen dat ze verplicht 8 output pinnen en weerstanden te vormen een DAC, die vrij ontzagwekkend is en klinkt heel mooi... Er waren maar een paar projecten die behandeld 1-bits-audio slechts 1 digitale I/O pin voor het genereren van het geluid als het nodig is in wezen een blokgolf. Ik viel in liefde met dit idee als gevolg van hoe het klinkt omdat wanneer ik muziek produceren ik ben geneigd te gebruiken een heleboel vervorming en het vervult me met warme fuzzy gevoelens!
Hier we beslissen wat we hopen te bereiken, ik hoopte te bereiken een downsampling van een audio-opname van 24-bits tot 1-bits... Ik probeerde te vinden in een instrument om dit te doen maar worstelde en uiteindelijk gaf het op en begon het schrijven van mijn eigen. Nu moet ik zeggen dat om dit proces te vereenvoudigen en omdat ik snijden een audio monster moest te krijgen van het deel dat ik eigenlijk wilde spelen, ik audacity gebruikt voor het exporteren van een bestand met de volgende parameters:
- niet-ondertekende 8 bit
- RAW (kop-minder)
Natuurlijk bewerkten ik ook het audiokanaal rechterhand voordat u exporteert omdat ik alleen geïnteresseerd in een mono audio monster te behandelen was.
Parseren van het bestand
Het koele ding over deze geëxporteerde bestand is dat het zeer gemakkelijk te behandelen als elke byte van het bestand vertegenwoordigt één volledige monster van audio, zoals in... hoeveel energie of hoe luid dat bepaalde moment van geluid is.
Een 8-bits of 1-byte monster is eigenlijk alleen maar een waarde van de geluidssterkte tussen 0 en 255, waardoor u een mogelijke waaier van 256 waarden.
Dan vermindert mijn programma dat neer van 256 mogelijke waarden tot 2. In- of uitschakelen.
De enige waarschuwing die die u hebt om een beslissing te nemen, wat het op en wat is weggegooid door de schakeling op vandoor.
Mijn besluit is het kiezen van een plaats die ongeveer in het midden van de 256 waarden is. Stel, omwille van de argumenten dat we kiezen voor 128 als de afgesneden punt, als een geluidsvoorbeeld niet luid genoeg om te bereiken ten minste 128 is weggegooid en beschouwd als af en dat is opgeborgen als 0.
Als het monster echter voldoende amplitude piek boven de 128 heeft zeggen we oke dat wij zijn van mening dat op genoeg dus we opzij een waarde 1.