Piero V.

Creare un file SWF per riprodurre un suono

Mi servirebbe un effetto sonoro per una pagina web perciò la scelta migliore è purtroppo il flash.

Con l’estensione ming di php e il codice di gazbming.com ho potuto creare questo file php che salva il file prova.swf che riproduce il file MP3 prova.mp3:

<?php

  Ming_setScale(20.0000000);

  $m = new SWFMovie();
  $m->setDimension(1, 1);
  $m->setBackground(0x00, 0x00, 0x00);

  $m->setRate(31);

  $mp3=fopen('prova.mp3', 'rb');

  $numofframes=$m->streamMp3($mp3);
  while($numofframes-->0){
    $m->nextFrame();
  }

  #header('Content-type: application/x-shockwave-flash');
  #$m->output();
  set_time_limit(3600);
  $m->save('prova.swf');

Per chiarezza: la quartultima e la terzultima riga sono commentate perché darebbero l’output su schermo.

Ciò che fa questo codice è creare un movie SWF di dimensioni 1×1 e sfondo nero, riprodurre il file prova.mp3 e salvare il movie prodotto nel file prova.swf.

La penultima riga è solo di precauzione: ho provato con una canzone da 4 minuti e la prima volta mi ha dato errore perché i 30 secondi erano passati, poi ho aggiunto un limite di un’ora (3600 secondi) e non ho più avuto problemi.

Il test lo dovrete fare in locale quasi al 100% perché non penso che molti provvedano a dare l’estensione ming di PHP e perché è più comodo avere un file generato una volta per alleggerire il webserver.

Ringrazio di nuovo il sito sopra citato e spero vi sia di aiuto.

Come taggare i file musicali (+ comando per convertire gli ogg in mp3)

Dopo che tempo fa avevo rippato dei cd, volevo metterli sul mio iPod, però i file erano in Ogg, mentre l’iPod non vuole ogg ma mp3 (o altri formati).

Prima di tutto ecco come convertire (da shell posix ovviamente!):

Attenzione: questo comando eliminerà il file ogg originale! Per fare sì che non lo elimini, togliere rm “$i” “`basename “$i” .ogg`.wav”;.

for i in *.ogg; do ogg123 --device=wav --file="`basename "$i" .ogg`.wav" "$i"; lame "`basename "$i" .ogg`.wav" "`basename "$i" .ogg`.mp3"; rm "$i" "`basename "$i" .ogg`.wav"; done;

vi serve il pacchetto con ogg123 e lame.

Purtroppo però così perdete i tag.

SoundJuicer mi aveva fatto in automatico con MusicBrainz, così io ho utilizzato picard, il prodotto di music brainz, e Linux PRO di agosto mi era capitato a fagiuolo…

Installatelo dal vostro gestore di pacchetti oppure compilatelo o scaricate i file binari/installer dal sito ufficiale (Linux/Mac/Windows).

Poi apritelo.

Io ho adoperato 3 pannelli rispetto ai 2 di default: quello dei file. … [Leggi il resto]

Maledetto WMA

Il wma è proprio il peggior codec che esista per la portabilità!

Intanto perché è della microsoft, poi perché niente te le converte…

Anche su Windows c’è il problema di un buon software per convertirli.

Comunque, tornando al problema, mi serviva convertirli perché l’iPod non supporta wma.

Comunque ho trovato come soluzione l’uso di mplayer e lame naturalmente… Tutto software libero (GPL o LGPL).

Se vi trovate anche voi così vi dono un comando preso da linuxquestions:

# Rippa con Mplayer, codifica con LAME
for i in *.wma ; do mplayer -vo null -vc dummy -af resample=44100 -ao pcm:waveheader "$i" && lame -m s audiodump.wav -o "`basename "$i" .wma`.mp3"; done

Ecco il tutto…

Comunque per chi fosse interessato e usa Windows: Mplayer io l’ho preso da Any Video Converter, mentre LAME l’ho preso da RareWares.

Ora andrò a cercare anche bash per Windows…