Sonorizare locomotiva

Gyuri

Active Member
Trenulist
14 Septembrie 2010
129
1
Cluj-Napoca
LOCATION
Cluj-Napoca
De curand am finalizat modulul de sunet, si as vrea sa impartasesc cu voi rezultatele.



si cum trupa mea preferata este Judas Priest, va prezint prima locomotiva Heavy Metal



Criticile si comentariile sunt binevenite.

Gyuri
 

sogard_2003

Well-Known Member
Trenulist
19 Ianuarie 2016
3.612
5
Bucuresti
LOCATION
Bucuresti
Detalii !? ce face modulul de sunet mai exact - de la intrare pana la iesire - ? are procesor, memorie pt sunete ceva ? sau e un amplificator ? Putere ? Impedanta ? Merge legat la orice decodor ?

Despre Judas in locomotiva .... neah ! Mai bine pe scena ! Rock you ! :aplauze: :skul:
 

dac

Well-Known Member
Trenulist
15 Septembrie 2007
1.298
1
Bucuresti
LOCATION
Bucuresti
Gyuri a spus:
si cum trupa mea preferata este Judas Priest, va prezint prima locomotiva Heavy Metal...Gyuri
Imi si imaginez mecanicu' agitandu-si pletele: "breakin' the law, breakin' the law' :evil:

Banuiesc ca e un modul pt. interfata SUSI, right ?
 

Gyuri

Active Member
Trenulist
14 Septembrie 2010
129
1
Cluj-Napoca
LOCATION
Cluj-Napoca
Incerc sa raspund la toti:

Modulul contine (functional) un procesor, o memorie seriala pe SPI, si un etaj de iesire de tip jumatete de punte (half bridge). Practic se poate cupla fie cu orice decodor de locomotiva (pe iesirile de Common si AUX), fie chiar si la decodoare de lumini, decodoare de functii. Sau poate fi actionat chiar si manual. Are o intrare Common (care evident se conecteaza la Common de la decodor) si 4 intrari de comanda (care se pot comanda de catre iesirile AUX ale decodoarelor).

Modulul nu are nevoie de un decodor cu interfata SUSI. Bineinteles, nu are functiile unui decodor Dietz, sau Loksound. Dar nici nu asta era ideea. Am dorit realizarea unui decodor relativ simplu, dar cu performante audio bune (cred am reusit, cel putin eu sunt foarte multumit de sunetul produs. apropos, cutia de rezonanta este capacul unei sticle PET de apa minerala).

Cum se vede/aude in filmulet, modulul poate reda diferite mesaje audio, durata totala este de 120 secunde. Dar acest total se poate imparti in mai multe mesaje scurte, care se pot reda fie separat, fie consecutiv (sau chiar in bucla). Selectia acestora se face din intrarile modulului.

Am destul de multe locomotive, multe dintre ele din categoria hobby ( 200-400 lei), am si locomotive mai scumpe, dar nu am dotat dintre ele pana acum decat 3 cu module de sunet. 2 Dietz, si un Loksound. Bineinteles, aceste locomotive au fost din categoria high end, 2 loco cu abur Trix, si unul Rivarossi. Pentru celalalte locomotive am zis ca nu sacrific bani pentru modulul de sunet. De fapt costul sonorizarii se ridica in multe cazuri peste pretul de cost al locomotivei.

Asa ca idee de baza a fost sa concep un modul de sunet, cu performante acceptabile, dar la costuri cat mai mici, astfel incat sa-mi pot sonoriza colectia de locomotive. In cazul multor locomotive o sa fiu multumit sa implementez o functie de goarna, specific modelului bineinteles.

In cazul locomotivelor care au deja instalat un decodor relativ simplu, cu o iesire AUX, se va putea comanda doar un mesaj audio, pentru comanda mai multor mesaje este nevoie de mai multe iesiri AUX pe decodor. Eu o sa-mi montez si in cladiri asemenea decodoare pe care le voi actiona cu decodoare de functii (care au 4 iesiri). Probabil o sa urmeze si un frate mai mare al decodorului, care se va putea comanda pe DCC, dar asta poate mai incolo.

Mesajele audio ce se inscriu in memoria flash pot fi inscrise de pe PC prin intermediul unei interfete.

Gyuri
 

dac

Well-Known Member
Trenulist
15 Septembrie 2007
1.298
1
Bucuresti
LOCATION
Bucuresti
:aplauze: Genial !!!

Este ideal pt. sunete conexe: deschideri usi vagoane, zgomote industriale, anunturi la megafonul garii, rumoare peron, fosnet de frunze si pasari prin paduri, etc...

Spune-mi te rog ce format intern au fisierele audio (sampling, bits/sample) si cum le transformi in sunet (modul D/A sau iesire clasa D).
 

Gyuri

Active Member
Trenulist
14 Septembrie 2010
129
1
Cluj-Napoca
LOCATION
Cluj-Napoca
pe PC se pot prelua mai multe formate audio (decoamdata WAV si MP3), intern formatul este LPCM, un fel de WAV modificat. Iesirea este PWM cu o seminpunte si celula de filtru trece jos.

Ce am realizat pana acum, sa redau un sunet de fond (ventilator de exemplu) pe o functie, iar apeland o alta functie, peste acest sunet de fond redau si goarna (cu un mic truc). Dar nu am mai multe canale audio (din pacate), procesorul l-am ales unul cat mai simplu, si nu ar avea capacitate si pentru mixare. Goarna peste sunetul de ventilator din aceste motive este de fapt mixat pe PC, si inregistrat ca mesaj audio separat in modulul de sunet.
 

lokomoto

Active Member
2 Mai 2008
97
2
Arad
YAHOO
lokomotodcc
LOCATION
Arad
Toata stima Gyuri pentru realizare, e un pas inainte si ma bucur ca ai spart gheata in domeniul asta.
Doresc sa te intreb, evident daca nu cer prea mult pentru ce varianta de microcontroler ai optat (Microchip sau Atmel) si ce frecventa are modul PWM?.
Te intreb deoarece si eu cochetez cu idea ta insa e prea devreme pentru a expune un rezultat concret, am inceput de la coada la cap,
printr-un sniffing asupra lui lokprogramer atat la intrare (serial RS232) cat si la iesire in linie (track). Am reusit dupa multa bataie de cap sa extrag fisierul hex
prin care se face update de firmare la decodor. De aici incolo doar timp suficient mai necesit, pentru a face reverse engineering la codul sursa.

Apropo, sunetele wav din proiectul loksound se pot extrage din fisierul .esu care este defapt un .xml mascat :), insa fisiere wav sunt inglobate
fara headerele specifice, deci mai ramane sa stii doar frecventa de sampling pentru esantioane (pe 8bit care defapt, ai sa constati ca au valori maxime pe 7 bit).
Spor la mesterit si sa auzim de bine.
 

Gyuri

Active Member
Trenulist
14 Septembrie 2010
129
1
Cluj-Napoca
LOCATION
Cluj-Napoca
@Andrei: joi-vineri, montez cateva exemplare pe varianta finala (sper) de cablaj. In a doua parte a lunii Noiembrie modulul va fi disponibil. Probabil pana atunci vor fi disponibile cateva bucati ca si mostre (va tin la curent).

@lokomoto:folosesc un Atmel tiny, pwm-ul ~80 kHz. Fata de solutia lui ESU, la modulul acesta iesirea este deja pcm. Esu iese cu semnal analog, cu 4 canale (la loksound 3.5), le mixeaza extern, si intra intr-un amplif analog (care se incalzeste de-a binelea). Mostrele de sunet sunt de slaba calitate, sunetele sunt inecate in multe cazuri in zgomot, si distorsionate (clipping). La versiunea 4 au modificat putin, ies pe 8 canale analogice, mixeaza extern, si printr-un AD serial intra intr-un amplificator in clasa D. Au scapat de incalzire, si fata de versiunea anterioara, si mostrele de sunet sunt de calitate mult mai buna. Frecventa waw-urilor din Esu este de 15625 Hz (8 biti, mono). Eu din procesor intru direct intr-o jumatate de punte (un mosfet cu canal n, si unul cu canal p), si folosesc pe urma o celula gamma (L-C) pentru filtrare, inainte de difuzor.

Daca avansezi cu dezasamblarea, tine-ma si pe mine la curent :wink:

Gyuri
 

dac

Well-Known Member
Trenulist
15 Septembrie 2007
1.298
1
Bucuresti
LOCATION
Bucuresti
Sunetele ESU sunt LPCM, 8bit, mono, 15525 Hz, valoare care corespunde duratei si marimii fisierelor. Interesant este faptul ca in LokProgrammer QIG (din 2005) apare aceasta valoare, in timp ce Reference Manual (din 2009) precizeaza 15625 :!:
Ma intreb daca nu cumva LokSound-urile mai recente play-aza accelerat sunete esantionate initial la 15525 :?:

@gyuri
Pt. DIY-isti, faci tu un gest frumos si publici 'open source' schema si firmware-ul ?
Ma gandesc ca nu sunt multi cei care sa 'se distreze' cu SMD-uri, deci nu cred ca ar avea mare impact (non)comercial. Cu siguranta insa ar fi apreciat, asa cum salutam cu totii initiativa lui Paco !
 

lokomoto

Active Member
2 Mai 2008
97
2
Arad
YAHOO
lokomotodcc
LOCATION
Arad
Salutare,
multumesc in primul rand de lamuriri,... din ce spui tu deduc ca ai optat pentru un sampling rate
de pana in 16 kByte/s, adica tot la 5 duty cycle-uri ale PWM-ului schimbi esantionul PCM ;).
Fisierul wav il incarci cu headere s-au direct doar datele?
Sper ca nu te pun acuma sa dai prea mult din casa ;)
Spor in continuare,....asteptam poze cu modului finalizat.
 

dac

Well-Known Member
Trenulist
15 Septembrie 2007
1.298
1
Bucuresti
LOCATION
Bucuresti
Probabil ca frecventa PWM este 20MHz / 256 = 78125 Hz, iar cea PCM 78125 / 5 = 15625 Hz (ca la ESU).

Banuiesc ca in memorie sunt incarcate doar datele audio si exista pointere catre fiecare inceput / sfarsit de fisier.

Si uite asa ii facem noi 'reverse engineering' inainte chiar sa apara pe piata. :D
 

lokomoto

Active Member
2 Mai 2008
97
2
Arad
YAHOO
lokomotodcc
LOCATION
Arad
Salutare,
O noutate care cu siguranta si-ar gasi locul pe o diorama si nu numai:

http://sierra.ro/High-quality-WT588D-16p-voice-module-p5959p.html

Cred ca un asemenea produs de dimensiuni reduse poate aprinde imaginatia si
poate aduce un plus de realism dioramei.
Fac precizarea, in cazul in care cineva ar fi tentat sa se gandeasca, ca nu reprezint interesele vreunui unui comerciant.