Generate brief tone asynchronously

I'm developing a behavioral task on a Windows PC using LabVIEW.  I'm measuring some human reaction times, and am willing to live with Windows' "time uncertainty" (there is nothing else running on this PC, which is not connected to the network, while I'm running this task).
As part of the task, I want to play a brief sound (typically 500 msec) using a low (200 Hz), middle (300 Hz), or high (500 Hz) tone.  I modified the Generate Sound example in LabVIEW (8.6) to do this.  However, while the tone is playing, the sub-VI in which it is embedded is "blocked" (throwing off the ability to time what the user is doing, i.e. did he press the right key, and when?).
Is there a way to precompute a sound (say 500 msec of a 500 Hz sine wave, sampling rate of 5000 Hz = 2500 points), hand it off to a "sound-player", and come right back?  The sound would then play asynchronously, ending when it "got to the end" of the waveform, and the basic logic of the program would not be "stalled".
Alternatively, since my "play a sound" VI does work (even if it "blocks" me temporarily), is there a way to call it asynchronously?  Most of my program is currently running as a Queued State Machine, with one of the states being, for example, "Success" (entered when the subject "does it right").  What I do in this state is generate a "reward message" ("Good Job"), play a "reward tone", and transition to the next state.  I don't want to "stick around" in this state until the tone finishes, hence the need to have it play asynchronously.  [Hmm -- VI server?  Amazing how ideas pop into your head when you are trying to explain to someone else what it is you are trying to do ...].
I'm going to try the VI Server idea that just occurred to me.  Any other good suggestions greatly appreciated.
Bob Schor
Solved!
Go to Solution.

The sub-VI should not be blocking you.  Or I didn't understand whay you meant by that...
It may be an implementation issue. 
Can you post your code so that we can have a look at it?
R

Similar Messages

  • How to generate a tone

    This should be a trivial question but I can't seem to find the answer!
    I want to generate a tone of a given frequency for a specified duration. For example, I want to generate a tone of 440Hz for 0.6 of a second.
    In the documents I can see on the Apple developer site, I can see how to do this if I have a whole set of .WAV files which I can then read, edit and play, but this seems to be way off the mark for what I want to do.
    In Garageband I can get a tone for as long as I press a "keyboard" key, so there must be some way to actually generate the tone but I don't seem to be able to find this information within all of the other audio capabilities.
    Thanks
    Susan

    You could always fill some audio queue buffers with the appropriate sine wave (math function sin(), or complex recursion or precalculated table lookup for much better performance). Increment each sample's phase by 2piF/Fs, and multiply the resulting sinewave by a volume level, for a duration*Fs number of samples. Remember to save the current phase between queue buffers and to maybe ramp down the level of the first and last few sinewave cycles to prevent clicks and pops.
    .

  • Example: Code to generate audio tone

    This code shows how to generate and play a simple sinusoidal audio tone using the javax.sound.sampled API (see the generateTone() method for the details).
    This can be particularly useful for checking a PCs sound system, as well as testing/debugging other sound related applications (such as an audio trace app.).
    The latest version should be available at..
    <http://www.physci.org/test/sound/Tone.java>
    You can launch it directly from..
    <http://www.physci.org/test/oscilloscope/tone.jar>
    Hoping it may be of use.
    package org.physci.sound;
    import javax.sound.sampled.AudioFormat;
    import javax.sound.sampled.AudioSystem;
    import javax.sound.sampled.SourceDataLine;
    import javax.sound.sampled.LineUnavailableException;
    import java.awt.BorderLayout;
    import java.awt.Toolkit;
    import java.awt.Image;
    import java.awt.event.ActionListener;
    import java.awt.event.ActionEvent;
    import javax.swing.JFrame;
    import javax.swing.JPanel;
    import javax.swing.JButton;
    import javax.swing.JSlider;
    import javax.swing.JCheckBox;
    import javax.swing.SwingUtilities;
    import javax.swing.UIManager;
    import javax.swing.border.TitledBorder;
    import java.net.URL;
    Audio tone generator, using the Java sampled sound API.
    @author andrew Thompson
    @version 2007/12/6
    public class Tone extends JFrame {
      static AudioFormat af;
      static SourceDataLine sdl;
      public Tone() {
        super("Audio Tone");
        // Use current OS look and feel.
            try {
                UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
                SwingUtilities.updateComponentTreeUI(this);
            } catch (Exception e) {
                System.err.println("Internal Look And Feel Setting Error.");
                System.err.println(e);
        JPanel pMain=new JPanel(new BorderLayout());
        final JSlider sTone=new JSlider(JSlider.VERTICAL,200,2000,441);
        sTone.setPaintLabels(true);
        sTone.setPaintTicks(true);
        sTone.setMajorTickSpacing(200);
        sTone.setMinorTickSpacing(100);
        sTone.setToolTipText(
          "Tone (in Hertz or cycles per second - middle C is 441 Hz)");
        sTone.setBorder(new TitledBorder("Frequency"));
        pMain.add(sTone,BorderLayout.CENTER);
        final JSlider sDuration=new JSlider(JSlider.VERTICAL,0,2000,1000);
        sDuration.setPaintLabels(true);
        sDuration.setPaintTicks(true);
        sDuration.setMajorTickSpacing(200);
        sDuration.setMinorTickSpacing(100);
        sDuration.setToolTipText("Duration in milliseconds");
        sDuration.setBorder(new TitledBorder("Length"));
        pMain.add(sDuration,BorderLayout.EAST);
        final JSlider sVolume=new JSlider(JSlider.VERTICAL,0,100,20);
        sVolume.setPaintLabels(true);
        sVolume.setPaintTicks(true);
        sVolume.setSnapToTicks(false);
        sVolume.setMajorTickSpacing(20);
        sVolume.setMinorTickSpacing(10);
        sVolume.setToolTipText("Volume 0 - none, 100 - full");
        sVolume.setBorder(new TitledBorder("Volume"));
        pMain.add(sVolume,BorderLayout.WEST);
        final JCheckBox cbHarmonic  = new JCheckBox( "Add Harmonic", true );
        cbHarmonic.setToolTipText("..else pure sine tone");
        JButton bGenerate = new JButton("Generate Tone");
        bGenerate.addActionListener( new ActionListener() {
            public void actionPerformed(ActionEvent ae) {
              try{
                generateTone(sTone.getValue(),
                  sDuration.getValue(),
                  (int)(sVolume.getValue()*1.28),
                  cbHarmonic.isSelected());
              }catch(LineUnavailableException lue){
                System.out.println(lue);
        JPanel pNorth = new JPanel(new BorderLayout());
        pNorth.add(bGenerate,BorderLayout.WEST);
        pNorth.add( cbHarmonic, BorderLayout.EAST );
        pMain.add(pNorth, BorderLayout.NORTH);
        pMain.setBorder( new javax.swing.border.EmptyBorder(5,3,5,3) );
        getContentPane().add(pMain);
        pack();
        setLocation(0,20);
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        setLocationRelativeTo(null);
        String address = "/image/tone32x32.png";
        URL url = getClass().getResource(address);
        if (url!=null) {
          Image icon = Toolkit.getDefaultToolkit().getImage(url);
          setIconImage(icon);
      /** Generates a tone.
      @param hz Base frequency (neglecting harmonic) of the tone in cycles per second
      @param msecs The number of milliseconds to play the tone.
      @param volume Volume, form 0 (mute) to 100 (max).
      @param addHarmonic Whether to add an harmonic, one octave up. */
      public static void generateTone(int hz,int msecs, int volume, boolean addHarmonic)
        throws LineUnavailableException {
        float frequency = 44100;
        byte[] buf;
        AudioFormat af;
        if (addHarmonic) {
          buf = new byte[2];
          af = new AudioFormat(frequency,8,2,true,false);
        } else {
          buf = new byte[1];
          af = new AudioFormat(frequency,8,1,true,false);
        SourceDataLine sdl = AudioSystem.getSourceDataLine(af);
        sdl = AudioSystem.getSourceDataLine(af);
        sdl.open(af);
        sdl.start();
        for(int i=0; i<msecs*frequency/1000; i++){
          double angle = i/(frequency/hz)*2.0*Math.PI;
          buf[0]=(byte)(Math.sin(angle)*volume);
          if(addHarmonic) {
            double angle2 = (i)/(frequency/hz)*2.0*Math.PI;
            buf[1]=(byte)(Math.sin(2*angle2)*volume*0.6);
            sdl.write(buf,0,2);
          } else {
            sdl.write(buf,0,1);
        sdl.drain();
        sdl.stop();
        sdl.close();
      public static void main(String[] args){
        Runnable r = new Runnable() {
          public void run() {
            Tone t = new Tone();
            t.setVisible(true);
        SwingUtilities.invokeLater(r);
    }

    JLudwig wrote:
    Any reason why you call getSourceDataLine() twice? ..Oh wait, I know this one (..snaps fingers. yes) it is because I am a mor0n, and forgot the class level (static) attribute declared earlier in the source when I (re)declared the local attribute and called getSourceDatLine (which was redundant, given the next line, which as you point out also called getSourceDataLine).
    There are (at least) two ways to correct this problem.
    1) Remove the class level attribute and the second call.
    2) Remove the local attribute as well as the first call (all on the same code line).
    Method 1 makes more sense, unless you intend to refactor the code to only instantiate a single SDL for however many times the user presses (what was it? Oh yeah..) 'Generate Tone'.
    My 'excuse' for my odd programming is that this was 'hacked down' from a longer program to form an SSCCE. I should have paid more attention to the fine details (and perhaps run a lint checker on it).
    Thanks for pointing that out. I guess from the fact you spotted it, that you have already corrected the problem. That you thought to report it, gives me confidence that you 'will go far (and be well thought of, besides)' in the open source community.
    ..This is quite handy, thank you.You're welcome. Thanks for letting us know about the error (OK - the pointless redundancy). Thanks to your report, other people who see this code later, will not have to wonder what (the heck) I was thinking when I did that.
    Another thing I noted, now I run the source on a 400MHz laptop (it's hard times, here) is that the logic could be improved. At the speeds that my laptop can feed data into the SDL, the sound that comes out the speakers approximates the sound of flatulence (with embedded static, as a free bonus!).
    Edit 1: Changed one descriptive word so that it might get by the net-nanny.
    Edited by: AndrewThompson64 on Mar 27, 2008 11:09 PM

  • How to use PXIe-5673e to continously generate dual-tone waveform?

    Hi, everyone!
     I want to use PXIe-5673e to continously generate dual-tone waveform, and I have see some examples of RFSG, but I still don't know which one to use, can someone help me? 
    Thank you very much!!

    See if this example VI helps
    Ches this one too

  • Generate a tone burst

    Hei
    I am trying to generate a tone burst signal. It is a 5 cycles sine wave (with a hanning window). See the attached document.
    I am using a NI 5401 with the function generator NiFGEN.
    I only need to generate this signal one time. I can't manage to get only one signal, the NiFGEN repeat this signal.
    Somebody have any clues about this?
    Thanks
    Olivier
    Attachments:
    untitled.bmp ‏961 KB

    Hi,
    May be niFgen_Sweep_generator_example.vi located in the Labview library can help you... I do not have the board to test it but it seems that you can set the duration of your generation. Maybe you can use a sequence structure to generate one period and on the others periods generate a DC = 0V.
    Hope it will help you,
    Regards
    David D.

  • CS5/6 Media Encoder Export in MP4/QT/M2TS und AC3/AAC/MP2 Ton asynchron

    Wir haben bei einigen Tests festgestellt, dass der Export aus CS6 (und auch CS5) in fast allen multiplexten Formaten mit komprimiertem Audioton, z.B. MP4, Quicktime mit AAC oder M2TS mit AC3 asynchron zum Original wird. Dies ist uns bisher nicht aufgefallen, jedoch bei näherer Betrachtung und direktem Vergleich mussten wir feststellen, dass der Ton bis zu 1/2 Videoframe nach hintern verschoben ist.
    wir haben verschiedene Export Format ausprobiert und diese wieder in das Projekt eingefügt und in die Export Sequenz unter das Original gelegt. Alle bisher getesteten Formate mit PCM Ton bleiben synchron, aber alle Formate mit komprimiertem Ton haben einen Versatz (siehe Bild). Den Versatz bemerkt man unter Umständen nicht sofort, im direkten Vergleich ist er aber deutlich erkennbar.
    Im Grunde sind damit alle Exporte in den gängigen Multiplex-Formaten unbrauchbar.

    Habe das eben auf meinem älteren Laptop mit CS 4 geprüft mit dem selben Ergebnis. Nur pcm-Export ist synchron.
    OldAlf

  • Bild zu Ton asynchron in Premiere Pro CS6

    Hallo alle miteinander,
    Beim Importieren von Videodateien z.b. einer 2h Fernaufnahme sind Bild und Ton oft asynchron. Die Asynchronität ist schon im Quell-Fenster zu bemerken. (Typ der Aufnahmen: MPEG-Film, Dateigröße: 3,0 GB,  Bildgröße: 720 x 576, Framerate: 25,00, Audioformat der Quelle: 48000 Hz  - komprimiert - Stereo, Gesamtdauer: 01:35:37:23,  Pixel-Seitenverhältnis: 1,4587)
    Wenn ich die Fernaufnahme mit dem VLC Player abspiele, ist alles synchron.
    Wobei dies nicht immer auftritt. Von  10 Aufnahmen sind, ist bei ca. 5 Aufnahmen i.o., ca. 3 Aufnahmen ist der Ton dem Bild voraus, und zwar über die Gesamtlänge gleichmäßig und ca. 2 Aufnahmen ist der Ton dem Bild voraus, und zwar über die Gesamtlänge sehr ungleichmäßig.
    Woran kann das liegen?
    Danke im Voraus
    Thomas

    Öhm... 9 MBit Datenrate? Wer soll das abspielen? Da verschlucken sich selbst gute Marken-DVD-Spieler. Völliger Humbug, solche abstrusen Werte zu verwenden. Kommerzielle DVDs haben im Schnitt 5 oder 6 MBit. Allein die Hohe Datenrate allein trägt schon zum Problem bei - um gute Qualität zu kriegen, muss man den Encoder zwingen. Hat er zu viel Luft, arbeitet er eben weniger genau. Und natürlich 2Pass VBR verwenden. Ansonsten kann man dazu relativ wenig sagen, aber möglicherweise wird hier schon beim Capture was verratzt - nur weil es über die Videoausgabe gut aussieht heißt ja nicht, dass es der SPezifikation entspricht. Kann man aber ohen Screenshots und Referenzbilder nicht mal ansatzweise beurteilen.
    Mylenium

  • Refer a Friend is generating a ton of Spam

    It seems the Refer a Friend on my site is being used to generate a pile of SPAM.  I have the CAPTCHA on the form but it doesn't seem to be doing a great job of preventing abuse of the form.  How can I stop this?

    Thanks Christine.
    Testing the form current the captcha appears working.  I also noticed that the last spam was a week ago so not sure if any changes have been made on your end since I see the option to "enforce captcha for refer friend" is currently enabled within your site. 
    Site settings -> captcha
    I would recommend monitoring this and if you notice another influx of spam entries after today please open a support case referencing this thread and we'll dig deeper on what might be causing this. 
    Admin -> help & support (to log a case)
    Kind regards,
    -Sidney

  • An incoming call from VoIP. The SPA122 generate Dial Tone after the far end hung up rather busy tone.

    Hi All!
    I have a problem with the SPA122 telephony adapter, uncorrectly process the subscriber signaling at the end of the call.
    1) Outbound call from FXS port SPA122 . When a remote caller hangs up first , the subscriber SPA122 Reorder Tone played with a delay specified in the Reorder Delay. This circuit is working properly.
    2 ) Incoming call from VoIP to the SPA122. When a remote caller hangs up first , subscriber on the FXS port of the SPA122 hears silence ~ 3-4 seconds , then SPA122 plays Dial Tone, as if he had just picked up the phone and he 's going to call . No signal lights out (Busy Tone or Reorder Tone) will not play .
    Config is attached.
    Model: SPA122, LAN, 2 FXS
    Hardware Version: 1.0.0 Boot Version: 1.0.1 (Oct 6 2011 - 20:04:00)
    Firmware Version: 1.3.2-XU (014) Jul 2 2013
    Recovery Firmware: 1.0.2 (001)
    WAN MAC Address: 6C:20:56:55:3A:B6
    Host Name: SPA122
    Domain Name: (none)
    Serial Number: CCQ16450LG3
    However, other VoIP terminals registered to Huawei, including older versions of the Linksys SPA2102 work in these scenarios correctly.
    Where to kick it?

    [2] is misconfiguration on your's side. You have CPC turned on, but no CPC capable device. Set CPC Duration to zero to turn off CPC.
    By the way, wrong forum for your question. You should consider to move it to space.

  • Bild Ton asynchron in iTunes und auf dem iPad

    Hallo,
    in mp4 konvertierte Videos laufen unter dem Windows Media Player fehlerfrei. In iTunes und auf dem iPad laufen die meisten Filme, nicht alle, in Bild unf Ton nicht synchron. Die Klangverbesserung ist deaktiviert. Woran kann das liegen?
    Vielen Dank

    Hi Racer
    Das ist üblich so bei den Apps, nicht immer sind Updates gut, das ist sehr Wichtig, wenn du siehst daß das App Fehlerfrei funkt und keine Störungen sind, geht alles was du machst, sehe ich eigentlich auch kein Grund um Upzudaten.
    Nun zu deinem Problem, Tipp von mir so wie ich das gemacht habe: App Deinstallieren dann bist du auch Apgemeldet.
    Facebook nutze ich auf dem Flash Browser "Puffin" Mit Apps kann ich nix anfangen, die sind oft fehlerhaft.
    Probier das mal und gib bescheit ob es geklappt hat
    Gruß Michael

  • How can I generate tones with usb 6008 using analog out?... tia sal2

    Greetings All
    I've been looking at the example Sim Phone.vi that comes with labview and would like to generate similar tones out of our usb 6008 device. I can get a very faint sound out of our usb 6008 using the example Gen Multi Volt Updates-SW Timed.vi Does anyone know the best way to alter Sim Phone.vi to have the sound come out of the Analog output of our usb 6008 device. ( I have a small speaker connected to the Analog out on our USB 6008)
    PS: we are using labview 7.1
    Does anyone know the Analog output frequency range of the usb-6008? Is this possible?
    TIA
    Attachments:
    Gen Mult Volt Updates-SW Timed.vi ‏78 KB

    Hi sal2,
    As stated earlier you could most certainly use the USB device to generate sound, but that would be at a max update rate of 150 Hz. While according to Nyquist theorem you could get frequency information for signals below 75 Hz, you may notice that the quality of the data in that spectrum to be very low due to having so few samples.
    While technically possible to produce you really should look for a device with a faster Analog Output update rate. I would look for a device that supports Analog Output at least 10x the maximum frequency that you want the user to hear. Some great, yet lower cost products, would be the M-Series line of products. They would give you the performance that is really needed in the type of application that you are talking about.
    If you still want to use the USB Device, then you would need to use code similar to that found in the example Gen Mult Volt Updates-SW Timed (Found here: C:\Program Files\National Instruments\LabVIEW 7.1\examples\daqmxbase\Dynamic\ao).
    Best of luck getting your system together,
    Otis
    Training and Certification
    Product Support Engineer
    National Instruments

  • Create procedure is generating too many archive logs

    Hi
    The following procedure was run on one of our databases and it hung since there were too many archive logs being generated.
    What would be the answer? The db must remain in archivelog mode.
    I understand the nologging concept, but as I know this applies to creating tables, views, indexes and tablespaces. This script is creating procedure.
    CREATE OR REPLACE PROCEDURE APPS.Dfc_Payroll_Dw_Prc(Errbuf OUT VARCHAR2, Retcode OUT NUMBER
    ,P_GRE NUMBER
    ,P_SDATE VARCHAR2
    ,P_EDATE VARCHAR2
    ,P_ssn VARCHAR2
    ) IS
    CURSOR MainCsr IS
    SELECT DISTINCT
    PPF.NATIONAL_IDENTIFIER SSN
    ,ppf.full_name FULL_NAME
    ,ppa.effective_date Pay_date
    ,ppa.DATE_EARNED period_end
    ,pet.ELEMENT_NAME
    ,SUM(TO_NUMBER(prv.result_value)) VALOR
    ,PET.ELEMENT_INFORMATION_CATEGORY
    ,PET.CLASSIFICATION_ID
    ,PET.ELEMENT_INFORMATION1
    ,pet.ELEMENT_TYPE_ID
    ,paa.tax_unit_id
    ,PAf.ASSIGNMENT_ID ASSG_ID
    ,paf.ORGANIZATION_ID
    FROM
    pay_element_classifications pec
    , pay_element_types_f pet
    , pay_input_values_f piv
    , pay_run_result_values prv
    , pay_run_results prr
    , pay_assignment_actions paa
    , pay_payroll_actions ppa
    , APPS.pay_all_payrolls_f pap
    ,Per_Assignments_f paf
    ,per_people_f ppf
    WHERE
    ppa.effective_date BETWEEN TO_DATE(p_sdate) AND TO_DATE(p_edate)
    AND ppa.payroll_id = pap.payroll_id
    AND paa.tax_unit_id = NVL(p_GRE, paa.tax_unit_id)
    AND ppa.payroll_action_id = paa.payroll_action_id
    AND paa.action_status = 'C'
    AND ppa.action_type IN ('Q', 'R', 'V', 'B', 'I')
    AND ppa.action_status = 'C'
    --AND PEC.CLASSIFICATION_NAME IN ('Earnings','Alien/Expat Earnings','Supplemental Earnings','Imputed Earnings','Non-payroll Payments')
    AND paa.assignment_action_id = prr.assignment_action_id
    AND prr.run_result_id = prv.run_result_id
    AND prv.input_value_id = piv.input_value_id
    AND piv.name = 'Pay Value'
    AND piv.element_type_id = pet.element_type_id
    AND pet.element_type_id = prr.element_type_id
    AND pet.classification_id = pec.classification_id
    AND pec.non_payments_flag = 'N'
    AND prv.result_value &lt;&gt; '0'
    --AND( PET.ELEMENT_INFORMATION_CATEGORY LIKE '%EARNINGS'
    -- OR PET.element_type_id IN (1425, 1428, 1438, 1441, 1444, 1443) )
    AND NVL(PPA.DATE_EARNED, PPA.EFFECTIVE_DATE) BETWEEN PET.EFFECTIVE_START_DATE AND PET.EFFECTIVE_END_DATE
    AND NVL(PPA.DATE_EARNED, PPA.EFFECTIVE_DATE) BETWEEN PIV.EFFECTIVE_START_DATE AND PIV.EFFECTIVE_END_DATE --dcc
    AND NVL(PPA.DATE_EARNED, PPA.EFFECTIVE_DATE) BETWEEN Pap.EFFECTIVE_START_DATE AND Pap.EFFECTIVE_END_DATE --dcc
    AND paf.ASSIGNMENT_ID = paa.ASSIGNMENT_ID
    AND ppf.NATIONAL_IDENTIFIER = NVL(p_ssn, ppf.NATIONAL_IDENTIFIER)
    ------------------------------------------------------------------TO get emp.
    AND ppf.person_id = paf.person_id
    AND NVL(PPA.DATE_EARNED, PPA.EFFECTIVE_DATE) BETWEEN ppf.EFFECTIVE_START_DATE AND ppf.EFFECTIVE_END_DATE
    ------------------------------------------------------------------TO get emp. ASSIGNMENT
    --AND paf.assignment_status_type_id NOT IN (7,3)
    AND NVL(PPA.DATE_EARNED, PPA.EFFECTIVE_DATE) BETWEEN paf.effective_start_date AND paf.effective_end_date
    GROUP BY PPF.NATIONAL_IDENTIFIER
    ,ppf.full_name
    ,ppa.effective_date
    ,ppa.DATE_EARNED
    ,pet.ELEMENT_NAME
    ,PET.ELEMENT_INFORMATION_CATEGORY
    ,PET.CLASSIFICATION_ID
    ,PET.ELEMENT_INFORMATION1
    ,pet.ELEMENT_TYPE_ID
    ,paa.tax_unit_id
    ,PAF.ASSIGNMENT_ID
    ,paf.ORGANIZATION_ID
    BEGIN
    DELETE cust.DFC_PAYROLL_DW
    WHERE PAY_DATE BETWEEN TO_DATE(p_sdate) AND TO_DATE(p_edate)
    AND tax_unit_id = NVL(p_GRE, tax_unit_id)
    AND ssn = NVL(p_ssn, ssn)
    COMMIT;
    FOR V_REC IN MainCsr LOOP
    INSERT INTO cust.DFC_PAYROLL_DW(SSN, FULL_NAME, PAY_DATE, PERIOD_END, ELEMENT_NAME, ELEMENT_INFORMATION_CATEGORY, CLASSIFICATION_ID, ELEMENT_INFORMATION1, VALOR, TAX_UNIT_ID, ASSG_ID,ELEMENT_TYPE_ID,ORGANIZATION_ID)
    VALUES(V_REC.SSN,V_REC.FULL_NAME,v_rec.PAY_DATE,V_REC.PERIOD_END,V_REC.ELEMENT_NAME,V_REC.ELEMENT_INFORMATION_CATEGORY, V_REC.CLASSIFICATION_ID, V_REC.ELEMENT_INFORMATION1, V_REC.VALOR,V_REC.TAX_UNIT_ID,V_REC.ASSG_ID, v_rec.ELEMENT_TYPE_ID, v_rec.ORGANIZATION_ID);
    COMMIT;
    END LOOP;
    END ;
    So, how could I assist our developer with this, so that she can run it again without it generating a ton of logs ? ?
    Thanks
    Oracle 9.2.0.5
    AIX 5.2

    The amount of redo generated is a direct function of how much data is changing. If you insert 'x' number of rows, you are going to generate 'y' mbytes of redo. If your procedure is destined to insert 1000 rows, then it is destined to create a certain amount of redo. Period.
    I would question the <i>performance</i> of the procedure shown ... using a cursor loop with a commit after every row is going to be a slug on performance but that doesn't change the fact 'x' inserts will always generate 'y' redo.

  • Tone Generation

    I have a swear word I need to beep out of a video in PP5. If I bring the audio into Soundbooth, how can I generate a tone to beep out the word?
    TIA
    Dean

    Wow... thanks for the instant reply! I've looked at systemsounds, but I want to be able to play a complete musical scale, note by note. For example, if the user moves a slider up, I want the sound to start a middle C and go up, as if whistling or something like that.
    Rick

  • About CUCM 9.1 Ringback Tone

    Hi Sir,
    How can I change the Ringback tone on the CUCM 9.1?
    Is there any one change it?
    Please giving me some responses, thanks!!!
    Regards,
    Nicky

    Tones are controlled by locale files, http://docwiki.cisco.com/wiki/Cucm-phone-locale-installers. 
    "A network locale covers the specific localization needs of a country,  these include telephone dial and ringing tones and those that are  required by a gateway to generate local tones on the network (whether it  is for IP networks or Time Division Multiplexing networks on the Public  Switched Telephone Network) and network annunciators that are played  via a gateway."

  • Problem with SPA232D + SPA302D ringback tones??

    I recently installed a new SPA232D ATA and SPA302D DECT handset onto our office network, which already uses a trusty SPA525G2 desk phone. Both the SPA525 and the SPA232 register with a hosted SIP provider on separate lines. I don't have any other phones (analgoue or otherwise) connected to the SPA232. After configuring the device and entering a bunch of regional settings, most things with the new phone work as expected.
    However, when I use the SPA302 handset (via the SPA232) to call the SPA525, I hear an odd ringback tone that sounds only once followed by silence until the call is picked up or goes to VM. The destination phone continues to ring and can be picked up as normal to initiate the call. Also, the tone is different from the ringback tones entered into the regional settings of either device. Calling other phones and other numbers (outside my SIP account) result in ringback tones that are correct for our region. I did a very quick syslog capture with wireshark and I see a 100->183->200 SIP sequence on these calls, whereas other calls seem to show a 100->180->200 sequence. I didn't see any 182s. Not sure if that is important.
    Any idea what might cause this?
    Also, a couple of other minor problems reagrding the SPA232D + SPA302D combo:
    - The SPA232 will not automatically register to the SIP service after a reset or power cycle, and makes no attempt to reconnect after the intial failure. It will register immediately, however, if the voice component is restarted after a config change in the http GUI. I have set network delay to 0, but noticed no difference.
    - The SPA232 (or SPA302) seems to ignore most regional settings. Changes to tone frrequencies and cadences in the config make no difference to the tones heard through the SPA302. Do these need to somehow be resynced with the handset?
    Any thoughts greatly appreciated.
    With thanks,
    Nick

    the ringback tones entered into the regional settings of either device. Calling other phones and other numbers (outside my SIP account) result in ringback tones that are correct for our region. I did a very quick syslog capture with wireshark and I see a 100->183->200 SIP sequence on these calls, whereas other calls seem to show a 100->180->200 sequence. I didn't see any 182s. Not sure if that is important.
    It IS important. The 180 code is "generate ringback tone locally" command. The callers phone will create ringback tone according it's (regional) configuration. The 183 code is "I will sent you ringback tone as audio" - so local phone generate no tone, just play what it come via audio channel from called device or target exchange to it.
    So you need to check configuration of exchange that connect call from SPA232D to SPA525 (e.g. call with broken ringback tone).

Maybe you are looking for

  • On Approval, page cannot be displayed

    Dear All, I have a issue where the Leave is forwarded to the Approver, it is showing in the Approver UWL also, but when on launching/opening it, "page cannot be displayed" in a new window. What could be the reason for the same. Also pl clarify the be

  • Keychain Login keeps popping up, what do I do?

    Every time I use my MacPro lately, a message keeps popping up asking me for my keychain login for different applications like Itunes and Chrome. It even pops up every 10 or so minutes when I'm using it. I tried deleting everything from Keychain acces

  • Accidently deleted AIM account how do I get it back

    Because I wanted to use a new AIM screename as my account I deleted AIM in Preferences under Accounts. Now I can't re-create it. How do I use my AIM account with iChat? The only option it offers under accounts is Bonjour.

  • Remove password on ios7

    I set up a password on ios7 and want to disable it.  How do I?

  • Can't delete ical account

    I tried unsuccessfully to find a solution to this issue on the web but the only thing that seemed to keep popping up was issues with Mobile Me and synching. My problem was with a 10.6.8 client trying to connect to a 10.6.8 iCal server. Tried creating