Wat is een chipcorder?
Dit begrip is ooit de door de chipfabrikant ISD (nu onderdeel van Nuvoton) verzonnen merknaam voor een chip waarin u, met één druk op een knop, een gesproken boodschap kunt inlezen en nadien die boodschap, met één druk op een tweede knop, weer kunt afspelen via een op de chip aangesloten luidsprekertje. Bekende chip's van deze serie, zoals de ISD1806, hebben een beperkt geheugen, waardoor u slechts een vijftal seconden audio kunt opnemen. Bovendien is de sampling-rate vrij laag zodat er van alle en nog wat valt aan te merken op de kwaliteit van het geluid.
Wat kunt u met zo'n chipcorder?
Een chipcorder is een ideaal stuk speelgoed voor de elektronica hobbyist. U kunt er tal van speelse toepassingen voor verzinnen, zoals:
- Een cadeautje voorzien van een ingesproken felicitatie die wordt afgespeeld als het feestvarken het pakje opent.
- Een zelfgebouwde stoomlocomotief, bijvoorbeeld de UGEARS 70058 3D (een aanrader), voorzien van het typische geluid dat zo'n loc produceert.
- Een zelfbouw inbraakalarm voorzien van de mogelijkheid dat het apparaat hondengeblaf produceert als een PIR-sensor een alarmmelding geeft.
De YSJ-120S, een Chinese chipcorder
Voor amper € 1,53 (AliExpress) koopt u een kleine kant-en-klare module van amper 30 mm bij 28 mm. Daarop zit een chip-on-board versie van een IC uit de ISD-serie onder een zwarte 'blob', de volledige schakeling om dit IC in te lezen en uit te lezen en ... wat heel belangrijk is, een tweede chip die een 1 MB flash-geheugen blijkt te zijn waardoor u niet minder dan 120 seconden audio op de module kunt opnemen in hoge kwaliteit.
De kleine module YSJ-120S waarmee u 120 seconden audio kunt opnemen en afspelen. (© AliExpress) |
Een gedetailleerde beschrijving van de YSJ-120S
In de onderstaande foto hebben wij de voor- en de achterzijde van deze module verenigd. Naast de 'blob' waaronder de chipcorder chip is verborgen ziet u een FT25H08S. Dat is een flash-geheugen met een omvang van 1.025 kB. Onder deze chip zit nog een 2TY transistor, die wel een basisweerstand (R15) heeft, maar waarvan de emitter niet is aangesloten (R10). Ook de collector gaat naar drie weerstanden R4, R7 en R12, die leeg zijn op het printje.
Aan de ingangskant ziet u dat de 'hete' kant van de microfoon zowel naar een condensator C6 gaat als naar een weerstand R3 van 4,7 kΩ. Wij nemen aan dat deze weerstand dient voor de polarisatie van een elektret-microfoon en dat u zo'n kapseltje dus rechtstreeks op de ingang kunt aansluiten.
Aan de onderkant van de module ziet u vier pad's PE, PL, RE en RL. Hierop moet u vier drukknopjes aansluiten voor het bedienen van de opneem- en weergeef-mogelijkheden van de module. Aan de bovenkant moet u de voeding aansluiten tussen GND en B+ en een 8 Ω tot 32 Ω luidsprekertje tussen de twee SPK-pad's. Houd er rekening mee dat geen van deze SPK-gaatjes aan de massa ligt en dat de luidspreker dus zweeft ten opzichte van de massa! Belangrijk als u de SPK-uitgangen wilt aansluiten op bijvoorbeeld de LINE-ingang van een versterker! Wij komen daar later nog op terug.
Helaas is het onmogelijk het schema helemaal te reconstrueren omdat uiteraard onbekend is hoe de COB-chip onder de 'blob' op het printje is aangesloten.
De voor- en achterzijde van de YSJ-120S. (© 2021 Jos Verstraten) |
De onderstaande specificaties hebben wij bij elkaar gesprokkeld uit de diverse beschrijvingen van de module:
- Voedingsspanning: 3,0 Vdc ~ 5,0 Vdc
- Standby stroomverbruik: kleiner dan 5 μA bij 3,6 V voeding
- Opnametijd: 120 s max.
- Opname formaat: ADPCM
- Sampling rate: 16 kHz
- Sampling resolutie: 14 bit
- Uitgangsvermogen: 0,6 W in 8 Ω
- Luidspreker impedantie: 8 Ω ~ 32 Ω
Een opmerking over deze specificaties
Misschien valt u hetzelfde op wat ons opviel bij het lezen van de specificaties. Samplen met 14 bit bij een rate van 16 kHz? En dan al de samples van 120 seconden opname in een geheugen van 1 MB persen? Dat kan toch niet! Bij lineaire sampling zou dat inderdaad niet kunnen. Volgens de specificaties werkt de module echter met 'ADPCM'. Dat is het letterwoord van 'Adaptive Differential Pulse-Code Modulation'. Dit systeem werkt heel anders dan het systeem dat bijvoorbeeld bij de audio-CD wordt toegepast. Bij de audio-CD wordt gesampled met een vaste sampling frequentie (44,1 kHz) en is ieder sample even breed (16 bit). Bij ADPCM hangt het aantal bits en de sampling rate af van het verloop van het signaal. Varieert dit erg snel van waarde, dan wordt snel en met veel bits gesampled. Varieert de amplitude van het signaal niet erg, dan wordt met weinig bits en lage rate gewerkt. Dank zij dit principe zou het inderdaad best mogelijk zijn om 120 seconden audio in 1 MB onder te brengen. Die 16 kHz en 14 bit van de specificaties moeten waarschijnlijk als maximale waarden worden beschouwd.
Het aansluitschema van de YSJ-120S
In de onderstaande figuur hebben wij het aansluitschema van de module overzichtelijk samengevat. De functie van de vier drukknoppen is als volgt:
- RL:
De module neemt audio op zolang u deze drukknop indrukt. - RE:
De module start met het opnemen na een druk op deze knop en neemt op tot u deze drukknop weer indrukt. Als de maximale opnametijd voorbij is voordat u de tweede keer hebt gedrukt, houdt de module automatisch op met opnemen en gaat naar standby. - PL:
De module geeft weer zolang u deze knop indrukt. - PE:
De module start met het weergeven na een druk op deze knop en stopt als u deze drukknop weer indrukt. Als het opgenomen geluidsfragment eerder afgelopen is, stopt de module automatisch met het weergegeven en gaat naar standby.
De aansluitgegevens van de YSJ-120S. (© 2021 Jos Verstraten) |
Omdat wij uiteraard benieuwd zijn naar de kwaliteit van zo'n goedkope module, hebben wij de YSJ-120S in eerste instantie aangesloten op onze sinusgenerator en de module een sinusje met een frequentie van 1 kHz laten samplen. Als belasting hebben wij een weerstandje van 32 Ω tussen de SPK-pad's gesoldeerd en daar onze oscilloscoop op aangesloten. Om een kortsluiting van een van de luidspreker uitgangen naar de massa via onze meetapparatuur te verhinderen hebben wij hierbij gebruik gemaakt van onze nieuwste lab-aanwinst, een DP1007 differentiële probe van Micsig. Beide ingangen van deze probe hebben een weerstand naar de massa van 4 MΩ, zodat beide luidsprekeruitgangen van de module veilig hierop aangesloten kunnen worden.
Tot onze grote verbazing is over de belasting geen 1 kHz sinus te meten, maar een blokpuls, zie de onderstaande foto.
Het signaal tussen de SPK-uitgangen van de module. (© 2021 Jos Verstraten) |
Het is duidelijk: de module werkt met pulsbreedte modulatie (PWM) en het omzetten van deze digitale pulstrein in een analoog LF-signaal wordt overgelaten aan de inductieve belasting en de mechanische traagheid van de luidspreker. Een cursor-meting op de oscilloscoop geeft een indruk van de frequentie van het PWM-signaal, die ligt rond 2,7 MHz.
Meten van de frequentie van het PWM-signaal op de uitgang. (© 2021 Jos Verstraten) |
Een gevolg van dit systeem is dat er geen vervormingsmetingen zijn te verrichten, wij moeten het dus stellen met zeer subjectieve auditieve beoordeling van het resultaat.
Muziek digitaliseren
Als tweede test hebben wij de LINE-uitgang van onze PC aangesloten op de audio-ingang van de module en via 'WinAmp' wat muziek opgenomen. Wat opvalt is dat de module een zeer gevoelige ingang heeft. Wij moeten een weerstandsdeler van 10 kΩ / 47 kΩ tussen de LINE-uitgang van de PC en de ingang van de module opnemen en de volume-instelling van 'WinAmp' in de middenpositie zetten om het geheel niet te oversturen. U kunt de module natuurlijk via een logaritmische potentiometer van 10 kΩ op de LINE aansluiten en op deze manier experimenteren met het goede ingangsniveau. Om de kwaliteit van de weergave te beoordelen gebruiken wij een koptelefoon. Na wat experimenteren met de volume-instelling van 'WinAmp' was het oordeel over de weergegeven muziek: 'niet slecht!'.
De maximale opnameduur
Wij hebben wat muzieksamples opgenomen (voor zij die alles willen weten: uit het album The Wall van Pink Floyd) en komen op een maximale opnameduur van 2 minuten en 16 seconden. Dat komt dus mooi overeen met wat de specificaties beloven.
De YSJ-120S als alarmgenerator in een inbraakalarm
U kunt muziek opnemen via de beschreven manier of via een elektret microfoontje gesproken meldingen in de module opslaan. Leuk is echter de module te laden met speciale geluidseffecten, zoals het geluid van een stoomtrein. Als voorbeeld hebben wij verondersteld dat de module deel gaat uitmaken van een inbraakalarm dat hondengeblaf produceert als een van de PIR-sensoren een alarm geeft. Hoe de module hierop kan aanspreken is duidelijk. Stuur met de alarmuitgang van de PIR-sensor een klein reed-relais en verbind de reed-contacten van dit relais met de PE en GND pad's van de module. Nu komt het er nog op aan indrukwekkend en afschrikwekkend hondengeblaf in het flash-geheugen in te lezen.
Het internet is vol met sites waarvan u, al dan niet tegen betaling, geluidsamples kunt downloaden. U kunt bijvoorbeeld even rondkijken op Soundfishing waar wij een mooie sample vinden onder de naam 'dog bark 01'. U kunt dit monster gratis downloaden met als gevolg een 126 kB groot bestand 'sf_dog_barking_07.mp3'. Ondanks de omvang levert dit MP3-bestand slechts iets meer dan zes seconden geluid op. Dat is veel te weinig en vandaar dat wij dit bestand gaan bewerken.
Het bestand openen in 'Audacity'
Wij hebben nog een oeroude versie 1.2.6 van 'Audacity' op onze PC staan, een van de bekendste en beroemdste open source geluidsbewerkingsprogramma's die voor Windows bestaan. De laatste nieuwe versie is 3.0.0 en u kunt deze downloaden van Audacityteam.
U kunt nu het MP3-bestand in dit programma laden. Het blaffende hondenbestand ziet u nu als oscillogram in het werkvenster van het programma, zie de onderstaande figuur.
Het soundsample in het werkvenster van 'Audacity'. (© 2021 Jos Verstraten) |
Het bestand bewerken in 'Audacity'
U kunt nu alle effecten en gereedschappen die in 'Audacity' ter beschikking staan op het sample gaan toepassen. De bedoeling is dat u een sample van een twintigtal seconden krijgt waarbij iedereen die het sample hoort onmiddellijk denkt dat er een geloofwaardige bloeddorstige hond achter de voordeur te wachten staat. Dat is iets moeilijker dan het lijkt en u bent er best wel een tijdje zoet mee.
Belangrijkste tip: vermijd herhalingen, want die maken het geluid onmiddellijk ongeloofwaardig. Zorg er ook voor dat er tussen de hondengeluiden geen ruis te horen valt, want ook dan valt u onmiddellijk door de mand.
U start met via het menu 'Genereren' en de optie 'Stilte' een extra duur van twintig seconden achter het sample te plakken. Die twintig seconden zijn nu dus leeg en u kunt door delen van het sample te kopiëren dit deel opvullen met geblaf. Dat doet u door het segment met ingedrukte muisknop te selecteren en via het menu 'Bewerken' en de optie 'Kopiëren' dit fragment in het geheugen op te nemen. Nadien zet u de cursor ergens in het stiltegebied en kopieert de blaf via 'Bewerken' en 'Plakken'. U kunt een blaf ook versterken via het menu 'Effect' en de opties 'Versterken' of 'Bass Boost'.
Na wat geëxperimenteer zijn de dertig seconden gevuld met een geluidsample dat geloofwaardig een zeer boze hond nabootst, zie de onderstaande figuur.
Het soundsample in verlengd tot ongeveer dertig seconden. (© 2021 Jos Verstraten) |
Het sample inlezen in de YSJ-120S
Tot slot kunt u het zelf gemaakte sample in de module inlezen. Dat doet u op de reeds beschreven manier door de module via een potentiometer op de LINE-uitgang van uw PC aan te sluiten en het sample af te spelen in 'WinAmp' of soortgelijk programma.
Het geluid van de YSJ-120S versterken
Met het 0,6 W uitgangsvermogen van de module bootst u uiteraard geen boze grote hond na. U moet dus een versterkertje op de uitgang van de module aansluiten. Die zijn voor een paar centen te kust en te keur te koop via de bekende Chinese postorderbedrijven. Daar doen zich echter twee problemen voor:
- Het PWM-signaal op de uitgang.
- De zwevende uitgangen.
Beide problemen zijn op te lossen door tussen de SPK-uitgangen van de module en de ingang van een LF-versterker een klein audio scheidingstrafootje op te nemen. Een bekend type is 'EI14-600:600', zie de onderstaande afbeelding. Deze is volledig symmetrisch, heeft twee identieke wikkelingen met een weerstand van 140 Ω, een impedantie van 600 Ω bij 1 kHz en een inductie van 290 mH. De trafo kost slechts € 1,00 en zorgt ervoor dat de twee SPK-uitgangen van de module niet worden kortgesloten naar de massa. Bovendien zorgen de impedanties van beide wikkelingen ervoor dat het snel schakelende PWM-signaal op de SPK-uitgangen wordt omgezet in iets dat meer op een traditioneel audio-signaal lijkt.
Het gebruik van een scheidingstrafootje bij de koppeling van de module aan een versterker. (© 2021 Jos Verstraten) |
De onderdelen C1, D1 en R1 zorgen ervoor dat u de YSJ-120S module uit de voedingsspanning van de versterker kunt voeden. De waarde van de weerstand R1 is uiteraard afhankelijk van de voedingsspanning van de versterker.
3 x YSJ-120S module