Differences

This shows you the differences between two versions of the page.

Link to this comparison view

pm:prj2023:avaduva:arduino-ipod [2023/05/27 13:48]
cosmin.petolea
pm:prj2023:avaduva:arduino-ipod [2023/05/27 15:27] (current)
cosmin.petolea
Line 114: Line 114:
   * Audio Frequency = 16000 Hz   * Audio Frequency = 16000 Hz
   * Audio Channels = Mono   * Audio Channels = Mono
 +
 +Pentru a seta acest format audio în mod automat melodiilor, am creat un script de Python care primește folder-ul de melodii în orice format (mp3, flac etc.) și le setează ca mai sus.
 +=== Script Python WAV ===
 +<code python>
 +from pydub import AudioSegment
 +import os
 +
 +path = input("​Path:​ ")
 +if not os.path.exists("​wav_out"​):​
 +    os.mkdir("​wav_out"​)
 +
 +def convert_audio(file):​
 +    audio = AudioSegment.from_file(os.path.join(path,​ file))
 +
 +    # Set channels to mono
 +    audio = audio.set_channels(1)
 +
 +    # Set frame_rate (frequency) to 16000
 +    audio = audio.set_frame_rate(16000)
 +
 +    # Set sample_width (bit resolution) to 8
 +    audio = audio.set_sample_width(1) ​ # 1 byte = 8 bit
 +
 +    # Save the result
 +    audio.export(os.path.join("​wav_out",​ os.path.splitext(file)[0] + "​.wav"​),​ format="​wav"​)
 +
 +if __name__ == '​__main__':​
 +    files = [filename for filename in os.listdir(path) if
 +                 ​os.path.isfile(os.path.join(path,​ filename))]
 +    for file in files:
 +        convert_audio(file)
 +</​code>​
  
 Pentru a pune fișierele pe SD, ele trebuiesc formatate astfel încât să poată fi interpretate de codul arduino. Pentru a facilita acest lucru, am creat un script de Python care primește path-ul către un director, extrage toate fișierele WAV și creează un nou folder în acel director care conține versiunea formatată a fișierelor,​ pregătită pentru copiere pe SD. Pentru a pune fișierele pe SD, ele trebuiesc formatate astfel încât să poată fi interpretate de codul arduino. Pentru a facilita acest lucru, am creat un script de Python care primește path-ul către un director, extrage toate fișierele WAV și creează un nou folder în acel director care conține versiunea formatată a fișierelor,​ pregătită pentru copiere pe SD.
-=== Script Python ===+=== Script Python ​Formatare ​===
 <code python> <code python>
 import re import re
Line 155: Line 187:
  
 ===== Rezultate Obţinute ===== ===== Rezultate Obţinute =====
 +
 +Demo: https://​drive.google.com/​file/​d/​1WAYAqx93Ky4MkJhvtuAF9bdixta-ynb7/​view?​usp=sharing
  
 ===== Concluzii ===== ===== Concluzii =====
Line 170: Line 204:
  
 ===== Download ===== ===== Download =====
 +
 +{{:​pm:​prj2023:​avaduva:​petolea_cosmin_335cb.zip|}}
  
 ===== Jurnal ===== ===== Jurnal =====
-07.05.2023 - Adăugare documentație +07.05.2023 - Adăugare documentație\\ 
-19.05.2023 - Completat hardware +19.05.2023 - Completat hardware\\ 
-25.05.2023 - Completat Software +25.05.2023 - Completat Software\\ 
-27.05.2023 - Finalizat Documentație+27.05.2023 - Finalizat Documentație\\
  
 ===== Bibliografie/​Resurse ===== ===== Bibliografie/​Resurse =====
pm/prj2023/avaduva/arduino-ipod.1685184504.txt.gz · Last modified: 2023/05/27 13:48 by cosmin.petolea
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0