ዝርዝር ሁኔታ:

የብሉቱዝ ኦዲዮ እና ዲጂታል የምልክት ሂደት - የአርዱዲኖ ማዕቀፍ 10 ደረጃዎች
የብሉቱዝ ኦዲዮ እና ዲጂታል የምልክት ሂደት - የአርዱዲኖ ማዕቀፍ 10 ደረጃዎች

ቪዲዮ: የብሉቱዝ ኦዲዮ እና ዲጂታል የምልክት ሂደት - የአርዱዲኖ ማዕቀፍ 10 ደረጃዎች

ቪዲዮ: የብሉቱዝ ኦዲዮ እና ዲጂታል የምልክት ሂደት - የአርዱዲኖ ማዕቀፍ 10 ደረጃዎች
ቪዲዮ: Hearing loss explained: Testing, equipment & communication during COVID-19 | Close to Home Ep. 27 2024, ህዳር
Anonim
Image
Image
የብሉቱዝ ኦዲዮ እና ዲጂታል የምልክት ሂደት - የአርዱዲኖ ማዕቀፍ
የብሉቱዝ ኦዲዮ እና ዲጂታል የምልክት ሂደት - የአርዱዲኖ ማዕቀፍ

ማጠቃለያ

ስለ ብሉቱዝ ሳስብ ሙዚቃን አስባለሁ ግን በሚያሳዝን ሁኔታ አብዛኛዎቹ ማይክሮ መቆጣጠሪያዎች ሙዚቃ በብሉቱዝ በኩል መጫወት አይችሉም። Raspberry Pi ይችላል ግን ያ ኮምፒተር ነው። በማይክሮ መቆጣጠሪያዎች ድምጽ በብሉቱዝ በኩል ለማጫወት በአርዱኖ ላይ የተመሠረተ ማዕቀፍ ማዘጋጀት እፈልጋለሁ። የማይክሮ መቆጣጠሪያዬን ጡንቻዎች ሙሉ በሙሉ ለማቃለል በእውነተኛ-ጊዜ ዲጂታል የምልክት ማቀነባበሪያ (DSP) ወደ ኦዲዮ (ከፍተኛ ማለፊያ ማጣሪያ ፣ ዝቅተኛ ማለፊያ ማጣሪያ እና ተለዋዋጭ ክልል መጭመቂያ) እጨምራለሁ። ከላይ ለቼሪ ፣ DSP ን በገመድ አልባ ለማዋቀር ሊያገለግል የሚችል የድር አገልጋይ እጨምራለሁ። የተከተተው ቪዲዮ የብሉቱዝ ኦዲዮ መሰረታዊ ነገሮችን በተግባር ያሳያል። እንዲሁም አንዳንድ ከፍተኛ ማለፊያ ማጣሪያን ፣ ዝቅተኛ ማለፊያ ማጣሪያን እና ተለዋዋጭ የክልል መጭመቅን ለማከናወን የድረ-ገፁን አገልጋይ በመጠቀም ያሳየኛል። ተለዋዋጭ የክልል መጭመቂያ የመጀመሪያ አጠቃቀም ሆን ብሎ ማዛባት እንደ ደካማ የግቤት ምርጫዎች ምሳሌን ያስከትላል። ሁለተኛው ምሳሌ ይህንን ማዛባት ያስወግዳል።

ለዚህ ፕሮጀክት ፣ ESP32 የምርጫ ማይክሮ መቆጣጠሪያ ነው። ዋጋው ከ £ 10 ያነሰ ሲሆን በባህሪያት በ ADCs ፣ DACs ፣ Wifi ፣ ብሉቱዝ ዝቅተኛ ኃይል ፣ ብሉቱዝ ክላሲክ እና 240 ሜኸ ባለሁለት ኮር አንጎለ ኮምፒውተር የተሞላ ነው። በመርከቡ ላይ ያለው DAC በቴክኒካዊ ድምጽ ማጫወት ይችላል ፣ ግን ጥሩ አይመስልም። በምትኩ ፣ የመስመር መውጫ ምልክትን ለማምረት የ Adafruit I2S ስቴሪዮ ዲኮደርን እጠቀማለሁ። አሁን ባለው የ HiFi ስርዓትዎ ገመድ አልባ ድምጽን ወዲያውኑ ለማከል ይህ ምልክት ወደ ማንኛውም የ HiFi ስርዓት ሊላክ ይችላል።

አቅርቦቶች

ተስፋ እናደርጋለን ፣ አብዛኛዎቹ ሰሪዎች የዳቦ ሰሌዳዎች ፣ መዝለያዎች ፣ የዩኤስቢ ኬብሎች ፣ የኃይል አቅርቦት ብረቶች ብረት ይኖራቸዋል እና በ ESP32 እና በስቴሪዮ ዲኮደር ላይ 15 ፓውንድ ብቻ ማውጣት አለባቸው። ካልሆነ ሁሉም የሚፈለጉት ክፍሎች ከዚህ በታች ተዘርዝረዋል።

  • ESP32 - በ ESP32 -PICO -KIT እና TinyPico ላይ የተፈተነ - £ 9.50/ £ 24
  • Adafruit I2S ስቴሪዮ ዲኮደር - £ 5.51
  • የዳቦ ሰሌዳ - እያንዳንዳቸው 3 - 5 ፓውንድ
  • ዝላይ ሽቦዎች - 3 ፓውንድ
  • ባለገመድ የጆሮ ማዳመጫዎች/የ Hi -Fi ስርዓት - £ kafba
  • የግፊት ራስጌዎች ወይም ብረት ብረት - £ 2.10 / £ 30
  • የማይክሮ ዩኤስቢ ገመድ - £ 2.10/ £ 3
  • 3.5 ሚሜ ወደ RCA አያያዥ/ 3.5 ሚሜ መሰኪያ ወደ መሰኪያ (ወይም ድምጽ ማጉያዎ የሚፈልገውን ሁሉ) - £ 2.40/ £ 1.50
  • የዩኤስቢ የኃይል አቅርቦት - £ 5

ደረጃ 1 ግንባታ - የዳቦ ሰሌዳ

ግንባታ - የዳቦ ሰሌዳ
ግንባታ - የዳቦ ሰሌዳ

ESP32-PICO-KIT ን ከገዙት ቅድመ-ተሽጦ ስለሚመጣ ማንኛውንም ፒን መሸጥ የለብዎትም። በቀላሉ በዳቦ ሰሌዳው ላይ ያድርጉት።

ደረጃ 2 - ግንባታ - የግፊት ራስጌዎች/መሸጫ

ግንባታ - የግፊት ራስጌዎች/ብየዳ
ግንባታ - የግፊት ራስጌዎች/ብየዳ
ግንባታ - የግፊት ራስጌዎች/ብየዳ
ግንባታ - የግፊት ራስጌዎች/ብየዳ

የመሸጫ ብረት ካለዎት በአዳፍሬቱ ድር ጣቢያ ላይ በተሰጡት መመሪያዎች መሠረት ፒኖቹን ወደ ስቴሪዮ ዲኮደር ይሸጡ። በሚጽፉበት ጊዜ ብየዳዬ ብረት ሥራዬ ላይ ተዘግቶ ነበር። ለጊዜያዊ የሽያጭ ብረት መክፈል ስላልፈለግኩ አንዳንድ የግፊት ራስጌዎችን ከፒሞሮኒ እቆርጣለሁ። እነሱ ወደ ስቴሪዮ ዲኮደር እንዲስማሙ ብዬ እቆርጣቸዋለሁ። ይህ በጣም ጥሩው መፍትሄ አይደለም (እና ራስጌዎቹ ጥቅም ላይ እንዲውሉ የታሰቡት አይደለም) ግን ለሽያጭ ብረት በጣም ርካሹ አማራጭ ነው። የተቆረጠውን ራስጌ ወደ ዳቦ ሰሌዳ ላይ ያስገቡ። ለዲኮደር 1 መስመር ከ 6 ፒኖች ብቻ ያስፈልግዎታል። ለመረጋጋት ሌላ ስድስት ወደ ሌላኛው ጎን ማከል ይችላሉ ፣ ግን ይህ ለዚህ የፕሮቶታይፕ ስርዓት አስፈላጊ አይደለም። ራስጌዎቹን ወደ ውስጥ ለማስገባት ካስማዎች ቪን ፣ 3 vo ፣ gnd ፣ wsel ፣ din እና bclk ናቸው።

ደረጃ 3 - ግንባታ - የኃይል ቁልፎቹን ሽቦ

ግንባታ - የኃይል ቁልፎቹን ሽቦ
ግንባታ - የኃይል ቁልፎቹን ሽቦ

በመግፊያው ራስጌዎች (ቪን ፣ 3 ቪ ፣ ጂንዲ ፣ ዊልሰን ፣ ዲን እና ቢክሊክ ፒን) ላይ ስቴሪዮ ዲኮደርን ያስቀምጡ እና በጥብቅ አብረው ይግፉት። እንደገና ፣ ይህ በጥሩ ሁኔታ በብረት ብረት መከናወን አለበት ፣ ግን ማሻሻል ነበረብኝ። በዚህ አስተማሪ ውስጥ ያሉት ሁሉም ሽቦዎች ሰማያዊ እንደሆኑ ያስተውላሉ። ያኔ ምንም የጅብል ሽቦ ስላልነበረኝ 1 ረዥም ሽቦን ወደ ትናንሽ ቁርጥራጮች እቆርጣለሁ። እንዲሁም እኔ colourblind ነኝ እና ስለ ሽቦው ቀለም ግድ የለኝም። የኃይል ቁልፎች እንደሚከተለው ተያይዘዋል።

3v3 (ESP32) -> በስቴሪዮ ዲኮደር ላይ ቪን ማድረግ

gnd (ESP32) -> በስቴሪዮ ዲኮደር ላይ gnd

ደረጃ 4 - ግንባታ - I2S ሽቦ

ግንባታ - I2S ሽቦ
ግንባታ - I2S ሽቦ

የብሉቱዝ ድምጽን ከ ESP32 ወደ ስቴሪዮ ዲኮደር ለመላክ I2S የተባለውን የዲጂታል ግንኙነት ዘዴ እንጠቀማለን። ስቴሪዮ ዲኮደር ይህንን ዲጂታል ምልክት ወስዶ ወደ ተናጋሪ ወይም ወደ HiFi ሊሰካ ወደሚችል የአናሎግ ምልክት ይለውጠዋል። I2S 3 ገመዶችን ብቻ ይፈልጋል እና ለመረዳት ምክንያታዊ ቀጥተኛ ነው። አዲስ ቢት መተላለፉን ለማመልከት የቢት ሰዓት (bclk) መስመር ከፍ እና ዝቅ ይላል። ያ ቢት የ 0 ወይም 1 እሴት እንዳለው እና የግራ ወይም የቀኝ ሰርጥ እየተላለፈ መሆኑን ለማመልከት የውሂብ መውጫው መስመር (ዶት) ከፍ ወይም ዝቅ ይላል። እያንዳንዱ ማይክሮ መቆጣጠሪያ I2S ን አይደግፍም ነገር ግን ESP32 2 I2S መስመሮች አሉት። ይህ ለዚህ ፕሮጀክት ግልፅ ምርጫ ያደርገዋል።

ሽቦው እንደሚከተለው ነው

27 (ESP32) -> wsel (ስቴሪዮ ዲኮደር)

25 (ESP32) -> ዲን (ስቴሪዮ ዲኮደር)

26 (ESP32) -> bclk (ስቴሪዮ ዲኮደር)

ደረጃ 5 የ BtAudio ቤተ -መጽሐፍትን መጫን

የ BtAudio ቤተ -መጽሐፍትን በመጫን ላይ
የ BtAudio ቤተ -መጽሐፍትን በመጫን ላይ
የ BtAudio ቤተ -መጽሐፍትን በመጫን ላይ
የ BtAudio ቤተ -መጽሐፍትን በመጫን ላይ

እርስዎ አስቀድመው ካልጫኑዋቸው አርዱዲኖ አይዲኢ እና አርዱዲኖ ኮር ለ ESP32 ይጫኑ። አንዴ ከጫኑዋቸው የ Github ገጽን ይጎብኙ እና ማከማቻውን ያውርዱ። በስዕሉ ስር ባለው አርዱinoኖ አይዲኢ ውስጥ >> ቤተመፃሕፍት ያካትቱ >> ‹. ZIP ቤተ -መጽሐፍት አክል› ን ይምረጡ። ከዚያ የወረደውን ዚፕ ፋይል ይምረጡ። ይህ የእኔን የ btAudio ቤተ -መጽሐፍት ወደ አርዱዲኖ ቤተ -መጽሐፍትዎ ማከል አለበት። ቤተመጽሐፍት ለመጠቀም በአርዲኖ ንድፍ ውስጥ ተገቢውን ራስጌ ማካተት አለብዎት። ይህንን በሚቀጥለው ደረጃ ያዩታል።

ደረጃ 6 የ BtAudio ቤተ -መጽሐፍትን መጠቀም

የ BtAudio ቤተ -መጽሐፍትን በመጠቀም
የ BtAudio ቤተ -መጽሐፍትን በመጠቀም
የ BtAudio ቤተ -መጽሐፍትን በመጠቀም
የ BtAudio ቤተ -መጽሐፍትን በመጠቀም

አንዴ ከተጫነ የእርስዎን ESP32 ከኮምፒዩተርዎ ጋር በማይክሮ ዩኤስቢ በኩል ያገናኙት እና ከዚያ በ 3.5 ሚሜ ሽቦዎ የስቴሪዮ ዲኮደርዎን ወደ ድምጽ ማጉያዎ ያገናኙ። ንድፉን ከመጫንዎ በፊት በአርዱዲኖ አርታኢ ውስጥ አንዳንድ ነገሮችን መለወጥ ያስፈልግዎታል። ሰሌዳዎን ከመረጡ በኋላ በመሳሪያዎች >> ክፍልፍል መርሃ ግብር ስር የክፋይ መርሃግብሩን ማረም እና “አይ ኦቲኤ (ትልቅ APP)” ወይም “አነስተኛ SPIFFS (ትልቅ APPS ከ OTA)” መምረጥ ያስፈልግዎታል። ይህ አስፈላጊ ነው ምክንያቱም ይህ ፕሮጀክት ሁለቱንም በጣም ማህደረ ትውስታ ከባድ ቤተ -መጻሕፍት የሆኑትን WiFi እና ብሉቱዝን ይጠቀማል። አንዴ ይህን ካደረጉ በኋላ የሚከተለውን ንድፍ ወደ ESP32 ይስቀሉ።

#ያካትቱ

// የድምፅ መሣሪያውን ስም ያዘጋጃል btAudio audio = btAudio ("ESP_Speaker"); ባዶነት ማዋቀር () {// የድምፅ መረጃን ወደ ESP32 audio.begin () ያስተላልፋል ፤ // የተቀበለውን መረጃ ለ I2S DAC int bck = 26 ያወጣል። int ws = 27; int dout = 25; audio. I2S (bck ፣ dout ፣ ws); } ባዶነት loop () {}

ንድፉ በሰፊው በ 3 ደረጃዎች ሊከፈል ይችላል-

  1. የእርስዎን ESP32 «የብሉቱዝ ስም» የሚያዘጋጅ ዓለም አቀፍ የ btAudio ነገር ይፍጠሩ
  2. በ btAudio:: start method አማካኝነት ድምጽን ለመቀበል ESP32 ን ያዋቅሩ
  3. የ I2S ፒኖችን በ btAudio:: I2S ዘዴ ያዘጋጁ።

በሶፍትዌሩ በኩል ያ ነው! አሁን ማድረግ ያለብዎት የብሉቱዝ ግንኙነቱን ከእርስዎ ESP32 ጋር ማስጀመር ነው። በስልክዎ/ላፕቶፕዎ/MP3 ማጫወቻዎ ላይ ለአዳዲስ መሣሪያዎች ብቻ ይቃኙ እና “ESP_Speaker” ብቅ ይላል። አንዴ ሁሉም ነገር እየሰራ መሆኑን (የሙዚቃ ተውኔቶች) ደስተኛ ከሆኑ በኋላ ESP32 ን ከኮምፒዩተርዎ ማለያየት ይችላሉ። በዩኤስቢ የኃይል አቅርቦት ኃይል ይስጡት እና እርስዎ የሰቀሉበትን የመጨረሻ ኮድ ያስታውሳል። በዚህ መንገድ ፣ የእርስዎን ESP32 ከ HiFi ስርዓትዎ በስተጀርባ ተደብቆ ለዘላለም መተው ይችላሉ።

ደረጃ 7 DSP - ማጣሪያ

ተቀባዩን በዲጂታል የምልክት ማቀነባበሪያ ማስፋፋት

ሁሉንም ደረጃዎች ከተከተሉ (እና ምንም አልተውኩም) አሁን ለ HiFi ስርዓትዎ ሙሉ በሙሉ የሚሰራ የብሉቱዝ መቀበያ አለዎት። ይህ አሪፍ ቢሆንም ማይክሮ መቆጣጠሪያውን በእውነቱ ወደ ገደቡ አይገፋውም። ESP32 በ 240 ሜኸ የሚሠሩ ሁለት ኮርሶች አሉት። ያ ማለት ይህ ፕሮጀክት ከተቀባይነት እጅግ የላቀ ነው። ከዲጂታል ሲግናል ፕሮሰሰር (DSP) ጋር የብሉቱዝ መቀበያ የመሆን አቅም አለው። ዲኤስፒዎች በእውነቱ በእውነተኛ ጊዜ በምልክት ላይ የሂሳብ ሥራዎችን ያካሂዳሉ። አንድ ጠቃሚ ክዋኔ ዲጂታል ማጣሪያ ይባላል። ከፍተኛ-ማለፊያ ወይም ዝቅተኛ የማለፊያ ማጣሪያ እየተጠቀሙ እንደሆነ ላይ በመመርኮዝ ይህ ሂደት ከተወሰነ የመቁረጫ ድግግሞሽ በታች ወይም በላይ ባለው ምልክት ውስጥ ድግግሞሾችን ያዳክማል።

ባለከፍተኛ ማለፊያ ማጣሪያዎች

ከፍተኛ-ማለፊያ ማጣሪያዎች ከአንድ የተወሰነ ባንድ በታች ድግግሞሾችን ያዳክማሉ። ከ earlevel.com ኮድ ላይ በመመርኮዝ ለአርዱዲኖ ስርዓቶች የማጣሪያ ቤተ -መጽሐፍት ገንብቻለሁ። ዋናው ልዩነት የከፍተኛ ደረጃ ማጣሪያዎችን በቀላሉ ለመገንባት እንዲቻል የመደብ አወቃቀሩን ቀይሬያለሁ። ከፍ ያለ የትዕዛዝ ማጣሪያዎች ከመቁረጥዎ ባሻገር ድግግሞሾችን በበለጠ ውጤታማ ያደርጉታል ፣ ግን እነሱ የበለጠ ስሌት ይፈልጋሉ። ሆኖም ፣ አሁን ባለው ትግበራ ፣ ለእውነተኛ-ጊዜ ድምጽ 6 ኛ ትዕዛዝ ማጣሪያዎችን እንኳን መጠቀም ይችላሉ!

ዋናውን ዙር ካልቀየርን በስተቀር ንድፉ በቀደመው ደረጃ ከተገኘው ጋር ተመሳሳይ ነው። ማጣሪያዎቹን ለማንቃት የ btAudio:: createFilter ዘዴን እንጠቀማለን። ይህ ዘዴ 3 ክርክሮችን ይቀበላል። የመጀመሪያው የማጣሪያ ካስኬዶች ብዛት ነው። የማጣሪያ cascades ብዛት የማጣሪያው ቅደም ተከተል ግማሽ ነው። ለ 6 ኛ ትዕዛዝ ማጣሪያ ፣ የመጀመሪያው ክርክር 3. መሆን አለበት ፣ ለ 8 ኛ ትዕዛዝ ማጣሪያ ፣ ይሆናል 4. ሁለተኛው ክርክር የማጣሪያ መቆራረጥ ነው። በእውነቱ በእውነቱ ላይ አስደናቂ ውጤት እንዲኖረው ይህንን ወደ 1000Hz አዘጋጃለሁ። በመጨረሻም ፣ ከሦስተኛው ክርክር ጋር ያለውን የፋይለር ዓይነት እንገልፃለን። ይህ ለከፍተኛ ማለፊያ ማጣሪያ እና ለዝቅተኛ ማጣሪያ ማጣሪያ ማለፊያ መሆን አለበት። ከዚህ በታች ያለው ስክሪፕት የዚህን ድግግሞሽ መቀነስ በ 1000Hz እና 2Hz መካከል ይቀይራል። በመረጃው ላይ አስደናቂ ውጤት መስማት አለብዎት።

#ያካትቱ

btAudio audio = btAudio ("ESP_Speaker"); ባዶነት ማዋቀር () {audio.begin (); int bck = 26; int ws = 27; int dout = 25; audio. I2S (bck ፣ dout ፣ ws); } ባዶነት loop () {መዘግየት (5000); audio.createFilter (3, 1000, highpass); መዘግየት (5000); audio.createFilter (3, 2, highpass); }

ዝቅተኛ ማለፊያ ማጣሪያዎች

ዝቅተኛ የማለፊያ ማጣሪያዎች የከፍተኛ ማለፊያ ማጣሪያዎችን ተቃራኒ ያደርጋሉ እና ከተወሰነ ድግግሞሽ በላይ ድግግሞሾችን ያፍናሉ። ሦስተኛውን ክርክር ወደ ዝቅተኛ ማለፊያ መለወጥ ከሚያስፈልጋቸው በስተቀር እንደ ከፍተኛ ማለፊያ ማጣሪያዎች በተመሳሳይ መንገድ ሊተገበሩ ይችላሉ። ከዚህ በታች ላለው ንድፍ እኔ ከ 2000Hz እስከ 20000Hz መካከል ያለውን ዝቅተኛ የማለፊያ መቆራረጥን እቀያይራለሁ። ተስፋ እናደርጋለን ፣ ልዩነቱን ይሰማሉ። ዝቅተኛ ማለፊያ ማጣሪያ 2000Hz በሚሆንበት ጊዜ በጣም የተደባለቀ መሆን አለበት።

#ያካትቱ

btAudio audio = btAudio ("ESP_Speaker"); ባዶነት ማዋቀር () {audio.begin (); int bck = 26; int ws = 27; int dout = 25; audio. I2S (bck ፣ dout ፣ ws); } ባዶነት loop () {መዘግየት (5000); audio.createFilter (3, 2000, lowpass); መዘግየት (5000); audio.createFilter (3, 20000, lowpass); }

ደረጃ 8 - DSP - ተለዋዋጭ ክልል መጭመቂያ

ዳራ

ተለዋዋጭ የክልል መጭመቂያ የድምፅን ድምጽ እንኳን ለማውጣት የሚሞክር የምልክት ማቀነባበሪያ ዘዴ ነው። እሱ ከተወሰነ ደፍ በላይ ፣ ከፍ ወዳለ ጸጥ ወዳለ ደረጃ ከፍ የሚሉ ጮክ ያሉ ድምፆችን ይጭናል ፣ ከዚያም እንደ አማራጭ ሁለቱንም ያጎላል። ውጤቱም የበለጠ የበለጠ የማዳመጥ ተሞክሮ ነው። እኔ በጣም ጮክ ባለ የጀርባ ሙዚቃ እና በጣም ጸጥ ያሉ ድምፃዊ ትዕይንቶችን እየተመለከትኩ ሳለ ይህ በእውነት ጠቃሚ ሆነ። በዚህ ሁኔታ ፣ ድምጹን ማሳደግ ብቻ አልረዳም ምክንያቱም ይህ የበስተጀርባ ሙዚቃን ያሰፋዋል። በተለዋዋጭ ክልል መጭመቂያ ፣ ጮክ ያለ የጀርባ ሙዚቃን ወደ ድምፃዊው ደረጃ መቀነስ እና ሁሉንም ነገር በትክክል መስማት እችል ነበር።

ኮዱ

ተለዋዋጭ የክልል መጭመቂያ ድምጽን ዝቅ ማድረግ ወይም ምልክቱን መገደብን ብቻ አያካትትም። ከዚህ የበለጠ ብልህ ነው። ድምፁን ዝቅ ካደረጉ ጸጥ ያሉ ድምፆች እንዲሁ ጮክ ያሉ ይሆናሉ። በዚህ ዙሪያ አንድ መንገድ ምልክቱን መገደብ ነው ፣ ግን ይህ ከባድ መዛባት ያስከትላል። ተለዋዋጭ የክልል መጭመቂያ ምልክቱን ደፍረው/ቢቆርጡ አንድ የሚያገኘውን ማዛባት ለመቀነስ ለስላሳ ደፍ እና ማጣሪያን ያጠቃልላል። ውጤቱም ጮክ ያሉ ድምፆች ያለ ማዛባት “ተቆርጠው” እና ጸጥ ያሉ እንደነበሩ የሚቀሩበት ምልክት ነው። ከዚህ በታች ያለው ኮድ በሦስት የተለያዩ የመጨመቂያ ደረጃዎች መካከል ይለዋወጣል።

  1. ማዛባት ከተዛባ ጋር
  2. መጭመቅ ያለ ማዛባት
  3. መጭመቂያ የለም

#ያካትቱ

btAudio audio = btAudio ("ESP_Speaker"); ባዶነት ማዋቀር () {audio.begin (); int bck = 26; int ws = 27; int dout = 25; audio. I2S (bck ፣ dout ፣ ws); } ባዶነት loop () {መዘግየት (5000); audio.compress (30, 0.0001, 0.0001, 10, 10, 0); መዘግየት (5000); audio.compress (30, 0.0001, 0.1, 10, 10, 0); መዘግየት (5000); audio.decompress (); }

ተለዋዋጭ የክልል መጭመቂያ ውስብስብ እና የ btAudio:: compress ዘዴዎች ብዙ መለኪያዎች አሉት። እዚህ እሞክራቸዋለሁ (በቅደም ተከተል)

  1. ደፍ - ኦዲዮው የሚቀንስበት ደረጃ (በዲሲቢል ይለካል)
  2. የጥቃት ጊዜ - የመድረሻ ገደቡ ካለፈ በኋላ መጭመቂያው ሥራ ለመጀመር የሚወስደው ጊዜ
  3. የመልቀቂያ ጊዜ - መጭመቂያው ሥራውን ለማቆም የሚወስደው ጊዜ።
  4. የመቀነስ ሬሾ - ኦዲዮ የተጨመቀበት ምክንያት።
  5. የጉልበት ስፋት - መጭመቂያው በከፊል በሚሠራበት ደፍ ዙሪያ (በዲቢቢሎች ውስጥ) (የበለጠ የተፈጥሮ ድምጽ)።
  6. ከታመቀ በኋላ (ምልክቱን ጨምሯል/ቀንስ) ወደ ምልክቱ የተጨመረው (ዲሲቢሎች)

በመጭመቂያ የመጀመሪያ አጠቃቀም ውስጥ በጣም የሚሰማው ማዛባት ደፍ በጣም ዝቅተኛ ስለሆነ እና የጥቃቱ ጊዜ እና የመልቀቂያ ጊዜ በጣም አጭር በመሆናቸው ከባድ የመገደብ ባህሪን ያስከትላል። ይህ በሁለተኛው ጉዳይ የመልቀቂያ ጊዜን በመጨመር በግልፅ ይፈታል። ይህ በመሠረቱ መጭመቂያው በጣም ለስላሳ በሆነ መንገድ እንዲሠራ ያደርገዋል። እዚህ ፣ 1 ልኬትን መለወጥ በድምፅ ላይ እንዴት አስደናቂ ውጤት ሊኖረው እንደሚችል ብቻ አሳይቻለሁ። በተለያዩ መለኪያዎች ለመሞከር አሁን የእርስዎ ተራ ነው።

ትግበራ (አስማታዊ ሂሳብ - አማራጭ)

ተለዋዋጭ የክልል መጭመቂያውን መተግበር ፈታኝ ሆኖ አግኝቼዋለሁ። ስልተ-ቀመር ምልክቱን ከያዙ በኋላ የ 16 ቢት ኢንቲጀርን ወደ ዲሲቤል መለወጥ እና ከዚያ ወደ 16-ቢት ኢንቲጀር መለወጥ ይፈልጋል። አንድ የኮድ መስመር የስቴሪዮ ውሂብን ለማካሄድ 10 ማይክሮ ሰከንድ እየወሰደ መሆኑን አስተውያለሁ። በ 44.1 ኪኸዝ ስቴሪዮ ኦዲዮ ናሙና ለ DSP 11.3 ማይክሮ ሰከንዶች ብቻ ሲተው ይህ ተቀባይነት የሌለው ቀርፋፋ ነው… ሆኖም ፣ አነስተኛ የመፈለጊያ ጠረጴዛን (400 ባይት) እና በኔትወን የተከፋፈሉ ልዩነቶች ላይ የተመሠረተ የመቀየሪያ አሰራርን በማጣመር በ 0.2 ማይክሮ ሰከንዶች ውስጥ ወደ 17 ቢት ትክክለኛነት ማግኘት እንችላለን።. በእውነቱ ፍላጎት ላላቸው ሁሉ የፒዲኤፍ ሰነድ ከሂሳብ ሁሉ ጋር አያይዣለሁ። ውስብስብ ነው ፣ ማስጠንቀቂያ ተሰጥቶዎታል!

ደረጃ 9 - የ Wifi በይነገጽ

የ Wifi በይነገጽ
የ Wifi በይነገጽ
የ Wifi በይነገጽ
የ Wifi በይነገጽ

አሁን በእውነተኛ ጊዜ DSP ን ማሄድ የሚችል የብሉቱዝ መቀበያ አለዎት። በሚያሳዝን ሁኔታ ፣ ማንኛውንም የ DSP መለኪያዎች ለመለወጥ ከፈለጉ ከእርስዎ HiFi ማለያየት ፣ አዲስ ንድፍ ይስቀሉ እና ከዚያ እንደገና ያገናኙት። ይህ ግራ የሚያጋባ ነው። ይህንን ለማስተካከል ከኮምፒዩተርዎ ጋር ሳይገናኙ ሁሉንም የ DSP መለኪያዎች ለማርትዕ የሚጠቀሙበት የድር አገልጋይ አዘጋጅቻለሁ። የድር አገልጋዩን ለመጠቀም ንድፍ ከዚህ በታች ነው።

#ያካትቱ

#btAudio audio = btAudio ("ESP_Speaker") ያካትቱ; webDSP ድር; ባዶነት ማዋቀር () {Serial.begin (115200); audio.begin (); int bck = 26; int ws = 27; int dout = 25; audio. I2S (bck ፣ dout ፣ ws); // በእርስዎ WiFi መታወቂያ እና የይለፍ ቃል const char* ssid = "SSID" ይተኩ ፤ const char* password = "PASSWORD"; web.begin (ssid ፣ የይለፍ ቃል እና ኦዲዮ); } ባዶነት loop () {web._server.handleClient (); }

ኮዱ የድር ገጹን ለመድረስ ሊጠቀሙበት ለሚችሉት ESP32 የአይፒ አድራሻ ይመድባል። ይህንን ኮድ ለመጀመሪያ ጊዜ ሲያሄዱ ከኮምፒዩተርዎ ጋር ማያያዝ አለብዎት። በዚያ መንገድ በተከታታይ ማሳያዎ ላይ ለእርስዎ ESP32 የተመደበውን የአይፒ አድራሻ ማየት ይችላሉ። ይህንን ድረ -ገጽ ለመድረስ ከፈለጉ በቀላሉ ይህንን የአይፒ አድራሻ ወደ ማንኛውም የድር አሳሽ ያስገቡ (በ chrome ላይ ተፈትኗል)።

አሁን ብሉቱዝ እና I2S ን ለማንቃት ዘዴን ማወቅ አለብን። ዋናው ልዩነት የዌብ ዲኤስፒ ዕቃን መጠቀም ነው። ይህ ነገር የእርስዎን Wifi SSID እና የይለፍ ቃል እንደ ክርክር እንዲሁም ለ btAudio ነገር ጠቋሚ ይወስዳል። በዋናው loop ውስጥ ፣ እኛ ከድረ -ገፁ ገቢ መረጃን እንዲያዳምጥ እና ከዚያ የ DSP ግቤቶችን እንዲያዘምን የዌብዲኤስፒ ነገርን እናገኛለን። እንደ መዝጊያ ነጥብ ፣ ሁለቱም ብሉቱዝ እና ዋይፋይ በ ESP32 ላይ አንድ ዓይነት ሬዲዮ እንደሚጠቀሙ ልብ ሊባል ይገባል። ይህ ማለት በድረ -ገጹ ላይ ግቤቶችን ካስገቡበት ጊዜ ጀምሮ መረጃው ወደ ESP32 ሲደርስ እስከ 10 ሰከንዶች ድረስ መጠበቅ ሊኖርብዎት ይችላል።

ደረጃ 10 የወደፊት ዕቅዶች

ተስፋ እናደርጋለን ፣ በዚህ ትምህርት ሰጪነት እንደተደሰቱ እና አሁን ብሉቱዝ ኦዲዮ እና DSP በእርስዎ HiFi ላይ ተጨምረዋል። ሆኖም ፣ በዚህ ፕሮጀክት ውስጥ ለእድገቱ ብዙ ቦታ አለ ብዬ እገምታለሁ እና የምወስዳቸውን አንዳንድ የወደፊት አቅጣጫዎችን ለመጠቆም ፈልጌ ነበር።

  • የ Wifi ኦዲዮ ዥረትን ያንቁ (ለተሻለ የኦዲዮ ጥራት)
  • የድምፅ ትዕዛዞችን ለማንቃት I2S ማይክሮፎን ይጠቀሙ
  • በ Wi -Fi ቁጥጥር እኩልነት ያዳብሩ
  • ቆንጆ ያድርጉት (የዳቦ ሰሌዳ ጥሩ የምርት ዲዛይን አይጮህም)

እነዚህን ሀሳቦች ለመተግበር ስገባ የበለጠ አስተማሪዎችን እሠራለሁ። ወይም ምናልባት ሌላ ሰው እነዚህን ባህሪዎች ተግባራዊ ያደርጋል። ያ ሁሉንም ነገር ክፍት ምንጭ ማድረጉ ደስታ ነው!

የሚመከር: