Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    [Java Sound API]generazione di un tono

    Salve.
    Sto continuando a rileggere il tutorial di queste API, fornito al seguente indirizzohttp://java.sun.com/docs/books/tutor...accessing.html
    e volevo cercare di realizzare un programma che mi permettesse di misurare il ritardo tra l'invio di un impulso alle casse del portatile, per poi riessere acquisite dal microfono e valutare qui il tempo di arrivo.

    Ho trovato al seguente indirizzo un programma che fa in parte quello che mi interessa, ovvero cattura l'audio da microfono e lo ributta nelle casse direttamente e cosi via. Il programma si trova a questa pagina http://www.jsresources.org/examples/AudioLoop.html

    Quello che non ho ancora capito, è come fare se voglio generare un tono invece che acquisire dal microfono.. cavoli sto un pò sbiellando con queste API.

    Qualcuno mi può dare qualche suggerimento?
    Non riesco a trovare nulla di un po semplice. Sul sito di www.developer.com, ci sono due esempi interessanti per catturare e riprodurre l'audio, ma quando arrivo al punto di voler scrivere qualche riga di codice, mi trovo in "braghe di tela"
    --
    "It is DIFFICULT to get a man to understand something when his SALARY depends upon his NOT UNDERSTANDING IT." Upton Sinclaire
    --
    HP compaq nx6125, AMD Turion 1.6, ATI RADEON XPRESS 200M chipset, ATI MOBILITY RADEON X300, 1GB RAM, Broadcom 802.11a/b/g WLAN, Bluetooth, 60GB drive, dual booting XP Home/Gusty G., router Negtgear DG834G v3

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,254

    Re: [Java Sound API]generazione di un tono

    Originariamente inviato da Rocoat82
    Quello che non ho ancora capito, è come fare se voglio generare un tono invece che acquisire dal microfono..
    Dipende da cosa vuoi riprodurre. Intendo dire se vuoi semplicemente riprodurre un file audio/MIDI oppure se devi generare tu a runtime la forma d'onda da riprodurre. In quest'ultimo caso devi calcolare i singoli campioni usando ad esempio Math.sin() insieme ad altri calcoli per generare una certa forma d'onda.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    Java Versions Cheat Sheet

  3. #3
    No voglio generare io i singoli campioni.

    In quest'ultimo caso devi calcolare i singoli campioni usando ad esempio Math.sin() insieme ad altri calcoli per generare una certa forma d'onda.
    Infatti ho trovato qualche esempio che faceva questa cosa, ma non capisco bene come utilizzarli. Devo seguire la stessa procedura che utilizzo per acquisire da microfono?
    --
    "It is DIFFICULT to get a man to understand something when his SALARY depends upon his NOT UNDERSTANDING IT." Upton Sinclaire
    --
    HP compaq nx6125, AMD Turion 1.6, ATI RADEON XPRESS 200M chipset, ATI MOBILITY RADEON X300, 1GB RAM, Broadcom 802.11a/b/g WLAN, Bluetooth, 60GB drive, dual booting XP Home/Gusty G., router Negtgear DG834G v3

  4. #4
    Sono riuscito a risolvere il mio problema.
    Ho trovato sul forum della SUN>Java Sound, un esempio di codice di come si fa a generare un tono.

    Praticamente si generano i campioni della sinusoide, in base alla frequenza che si imposta e alla durata del tono; è possibile specificare anche un valore di ampiezza per il tono.

    Poi basta scrivere (sdl.write() per l'esempio in esame) su una SoureDataLine, il contenuto del buffer che memorizza il valore campionato dalla sinusoide.
    --
    "It is DIFFICULT to get a man to understand something when his SALARY depends upon his NOT UNDERSTANDING IT." Upton Sinclaire
    --
    HP compaq nx6125, AMD Turion 1.6, ATI RADEON XPRESS 200M chipset, ATI MOBILITY RADEON X300, 1GB RAM, Broadcom 802.11a/b/g WLAN, Bluetooth, 60GB drive, dual booting XP Home/Gusty G., router Negtgear DG834G v3

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.